// Copyright 2024 Google LLC All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code was autogenerated. Do not edit directly.
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: sdk.proto
// Protobuf C++ Version: 6.31.1

#ifndef sdk_2eproto_2epb_2eh
#define sdk_2eproto_2epb_2eh

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

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6031001
#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_bases.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/api/annotations.pb.h"
#include "protoc-gen-openapiv2/options/annotations.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_sdk_2eproto AGONES_EXPORT

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 AGONES_EXPORT TableStruct_sdk_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
AGONES_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_sdk_2eproto;
}  // extern "C"
namespace agones {
namespace dev {
namespace sdk {
class Duration;
struct DurationDefaultTypeInternal;
AGONES_EXPORT extern DurationDefaultTypeInternal _Duration_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Duration_class_data_;
class Empty;
struct EmptyDefaultTypeInternal;
AGONES_EXPORT extern EmptyDefaultTypeInternal _Empty_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Empty_class_data_;
class GameServer;
struct GameServerDefaultTypeInternal;
AGONES_EXPORT extern GameServerDefaultTypeInternal _GameServer_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_class_data_;
class GameServer_ObjectMeta;
struct GameServer_ObjectMetaDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMetaDefaultTypeInternal _GameServer_ObjectMeta_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_class_data_;
class GameServer_ObjectMeta_AnnotationsEntry_DoNotUse;
struct GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_class_data_;
class GameServer_ObjectMeta_LabelsEntry_DoNotUse;
struct GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_LabelsEntry_DoNotUse_class_data_;
class GameServer_Spec;
struct GameServer_SpecDefaultTypeInternal;
AGONES_EXPORT extern GameServer_SpecDefaultTypeInternal _GameServer_Spec_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Spec_class_data_;
class GameServer_Spec_Health;
struct GameServer_Spec_HealthDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Spec_HealthDefaultTypeInternal _GameServer_Spec_Health_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Spec_Health_class_data_;
class GameServer_Status;
struct GameServer_StatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_StatusDefaultTypeInternal _GameServer_Status_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_class_data_;
class GameServer_Status_Address;
struct GameServer_Status_AddressDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_AddressDefaultTypeInternal _GameServer_Status_Address_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_Address_class_data_;
class GameServer_Status_CounterStatus;
struct GameServer_Status_CounterStatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_CounterStatusDefaultTypeInternal _GameServer_Status_CounterStatus_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_CounterStatus_class_data_;
class GameServer_Status_CountersEntry_DoNotUse;
struct GameServer_Status_CountersEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_CountersEntry_DoNotUseDefaultTypeInternal _GameServer_Status_CountersEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_CountersEntry_DoNotUse_class_data_;
class GameServer_Status_ListStatus;
struct GameServer_Status_ListStatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_ListStatusDefaultTypeInternal _GameServer_Status_ListStatus_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_ListStatus_class_data_;
class GameServer_Status_ListsEntry_DoNotUse;
struct GameServer_Status_ListsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_ListsEntry_DoNotUseDefaultTypeInternal _GameServer_Status_ListsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_ListsEntry_DoNotUse_class_data_;
class GameServer_Status_PlayerStatus;
struct GameServer_Status_PlayerStatusDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_PlayerStatusDefaultTypeInternal _GameServer_Status_PlayerStatus_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_PlayerStatus_class_data_;
class GameServer_Status_Port;
struct GameServer_Status_PortDefaultTypeInternal;
AGONES_EXPORT extern GameServer_Status_PortDefaultTypeInternal _GameServer_Status_Port_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_Port_class_data_;
class KeyValue;
struct KeyValueDefaultTypeInternal;
AGONES_EXPORT extern KeyValueDefaultTypeInternal _KeyValue_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull KeyValue_class_data_;
}  // namespace sdk
}  // namespace dev
}  // namespace agones
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace agones {
namespace dev {
namespace sdk {

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


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

class AGONES_EXPORT KeyValue final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.KeyValue) */ {
 public:
  inline KeyValue() : KeyValue(nullptr) {}
  ~KeyValue() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR KeyValue(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const KeyValue& default_instance() {
    return *reinterpret_cast<const KeyValue*>(
        &_KeyValue_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(KeyValue& a, KeyValue& b) { a.Swap(&b); }
  inline void Swap(KeyValue* 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(KeyValue* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit KeyValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  KeyValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const KeyValue& from);
  KeyValue(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, KeyValue&& from) noexcept
      : KeyValue(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kKeyFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // string key = 1;
  void clear_key() ;
  const ::std::string& key() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_key(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_key();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_key();
  void set_allocated_key(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_key() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_key(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_key();

  public:
  // string value = 2;
  void clear_value() ;
  const ::std::string& value() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_value(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_value();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_value();
  void set_allocated_value(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_value() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_value(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_value();

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.KeyValue)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 40,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 KeyValue& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr key_;
    ::google::protobuf::internal::ArenaStringPtr value_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull KeyValue_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_Port final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.Port) */ {
 public:
  inline GameServer_Status_Port() : GameServer_Status_Port(nullptr) {}
  ~GameServer_Status_Port() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_Port(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status_Port& default_instance() {
    return *reinterpret_cast<const GameServer_Status_Port*>(
        &_GameServer_Status_Port_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(GameServer_Status_Port& a, GameServer_Status_Port& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status_Port* 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(GameServer_Status_Port* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status_Port* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status.Port"; }

 protected:
  explicit GameServer_Status_Port(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status_Port(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status_Port& from);
  GameServer_Status_Port(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status_Port&& from) noexcept
      : GameServer_Status_Port(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kPortFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  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:
  // int32 port = 2;
  void clear_port() ;
  ::int32_t port() const;
  void set_port(::int32_t value);

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

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.Port)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 50,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status_Port& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::int32_t port_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_Port_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_PlayerStatus final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.PlayerStatus) */ {
 public:
  inline GameServer_Status_PlayerStatus() : GameServer_Status_PlayerStatus(nullptr) {}
  ~GameServer_Status_PlayerStatus() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_PlayerStatus(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status_PlayerStatus& default_instance() {
    return *reinterpret_cast<const GameServer_Status_PlayerStatus*>(
        &_GameServer_Status_PlayerStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(GameServer_Status_PlayerStatus& a, GameServer_Status_PlayerStatus& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status_PlayerStatus* 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(GameServer_Status_PlayerStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status_PlayerStatus* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status.PlayerStatus"; }

 protected:
  explicit GameServer_Status_PlayerStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status_PlayerStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status_PlayerStatus& from);
  GameServer_Status_PlayerStatus(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status_PlayerStatus&& from) noexcept
      : GameServer_Status_PlayerStatus(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIdsFieldNumber = 3,
    kCountFieldNumber = 1,
    kCapacityFieldNumber = 2,
  };
  // repeated string ids = 3;
  int ids_size() const;
  private:
  int _internal_ids_size() const;

  public:
  void clear_ids() ;
  const ::std::string& ids(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_ids(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ids(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_ids();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_ids(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& ids() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_ids();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_ids() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_ids();

  public:
  // int64 count = 1;
  void clear_count() ;
  ::int64_t count() const;
  void set_count(::int64_t value);

  private:
  ::int64_t _internal_count() const;
  void _internal_set_count(::int64_t value);

  public:
  // int64 capacity = 2;
  void clear_capacity() ;
  ::int64_t capacity() const;
  void set_capacity(::int64_t value);

  private:
  ::int64_t _internal_capacity() const;
  void _internal_set_capacity(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.PlayerStatus)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 57,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status_PlayerStatus& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> ids_;
    ::int64_t count_;
    ::int64_t capacity_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_PlayerStatus_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_ListStatus final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.ListStatus) */ {
 public:
  inline GameServer_Status_ListStatus() : GameServer_Status_ListStatus(nullptr) {}
  ~GameServer_Status_ListStatus() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_ListStatus(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status_ListStatus& default_instance() {
    return *reinterpret_cast<const GameServer_Status_ListStatus*>(
        &_GameServer_Status_ListStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(GameServer_Status_ListStatus& a, GameServer_Status_ListStatus& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status_ListStatus* 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(GameServer_Status_ListStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status_ListStatus* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status.ListStatus"; }

 protected:
  explicit GameServer_Status_ListStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status_ListStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status_ListStatus& from);
  GameServer_Status_ListStatus(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status_ListStatus&& from) noexcept
      : GameServer_Status_ListStatus(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kValuesFieldNumber = 2,
    kCapacityFieldNumber = 1,
  };
  // repeated string values = 2;
  int values_size() const;
  private:
  int _internal_values_size() const;

  public:
  void clear_values() ;
  const ::std::string& values(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_values(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_values(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_values();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_values(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& values() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_values();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_values() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_values();

  public:
  // int64 capacity = 1;
  void clear_capacity() ;
  ::int64_t capacity() const;
  void set_capacity(::int64_t value);

  private:
  ::int64_t _internal_capacity() const;
  void _internal_set_capacity(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.ListStatus)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 58,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status_ListStatus& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> values_;
    ::int64_t capacity_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_ListStatus_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_CounterStatus final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.CounterStatus) */ {
 public:
  inline GameServer_Status_CounterStatus() : GameServer_Status_CounterStatus(nullptr) {}
  ~GameServer_Status_CounterStatus() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_CounterStatus(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status_CounterStatus& default_instance() {
    return *reinterpret_cast<const GameServer_Status_CounterStatus*>(
        &_GameServer_Status_CounterStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(GameServer_Status_CounterStatus& a, GameServer_Status_CounterStatus& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status_CounterStatus* 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(GameServer_Status_CounterStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status_CounterStatus* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status.CounterStatus"; }

 protected:
  explicit GameServer_Status_CounterStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status_CounterStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status_CounterStatus& from);
  GameServer_Status_CounterStatus(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status_CounterStatus&& from) noexcept
      : GameServer_Status_CounterStatus(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCountFieldNumber = 1,
    kCapacityFieldNumber = 2,
  };
  // int64 count = 1;
  void clear_count() ;
  ::int64_t count() const;
  void set_count(::int64_t value);

  private:
  ::int64_t _internal_count() const;
  void _internal_set_count(::int64_t value);

  public:
  // int64 capacity = 2;
  void clear_capacity() ;
  ::int64_t capacity() const;
  void set_capacity(::int64_t value);

  private:
  ::int64_t _internal_capacity() const;
  void _internal_set_capacity(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.CounterStatus)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status_CounterStatus& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t count_;
    ::int64_t capacity_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_CounterStatus_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status_Address final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.Address) */ {
 public:
  inline GameServer_Status_Address() : GameServer_Status_Address(nullptr) {}
  ~GameServer_Status_Address() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_Address(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status_Address& default_instance() {
    return *reinterpret_cast<const GameServer_Status_Address*>(
        &_GameServer_Status_Address_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(GameServer_Status_Address& a, GameServer_Status_Address& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status_Address* 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(GameServer_Status_Address* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status_Address* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status.Address"; }

 protected:
  explicit GameServer_Status_Address(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status_Address(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status_Address& from);
  GameServer_Status_Address(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status_Address&& from) noexcept
      : GameServer_Status_Address(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kTypeFieldNumber = 1,
    kAddressFieldNumber = 2,
  };
  // string type = 1;
  void clear_type() ;
  const ::std::string& type() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_type(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_type();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type();
  void set_allocated_type(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_type() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_type(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_type();

  public:
  // string address = 2;
  void clear_address() ;
  const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.Address)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 60,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status_Address& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr type_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_Address_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Spec_Health final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec.Health) */ {
 public:
  inline GameServer_Spec_Health() : GameServer_Spec_Health(nullptr) {}
  ~GameServer_Spec_Health() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Spec_Health(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Spec_Health& default_instance() {
    return *reinterpret_cast<const GameServer_Spec_Health*>(
        &_GameServer_Spec_Health_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(GameServer_Spec_Health& a, GameServer_Spec_Health& b) { a.Swap(&b); }
  inline void Swap(GameServer_Spec_Health* 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(GameServer_Spec_Health* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Spec_Health* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Spec.Health"; }

 protected:
  explicit GameServer_Spec_Health(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Spec_Health(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Spec_Health& from);
  GameServer_Spec_Health(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Spec_Health&& from) noexcept
      : GameServer_Spec_Health(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDisabledFieldNumber = 1,
    kPeriodSecondsFieldNumber = 2,
    kFailureThresholdFieldNumber = 3,
    kInitialDelaySecondsFieldNumber = 4,
  };
  // bool disabled = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_disabled() ;
  bool disabled() const;
  void set_disabled(bool value);

  private:
  bool _internal_disabled() const;
  void _internal_set_disabled(bool value);

  public:
  // int32 period_seconds = 2;
  void clear_period_seconds() ;
  ::int32_t period_seconds() const;
  void set_period_seconds(::int32_t value);

  private:
  ::int32_t _internal_period_seconds() const;
  void _internal_set_period_seconds(::int32_t value);

  public:
  // int32 failure_threshold = 3;
  void clear_failure_threshold() ;
  ::int32_t failure_threshold() const;
  void set_failure_threshold(::int32_t value);

  private:
  ::int32_t _internal_failure_threshold() const;
  void _internal_set_failure_threshold(::int32_t value);

  public:
  // int32 initial_delay_seconds = 4;
  void clear_initial_delay_seconds() ;
  ::int32_t initial_delay_seconds() const;
  void set_initial_delay_seconds(::int32_t value);

  private:
  ::int32_t _internal_initial_delay_seconds() const;
  void _internal_set_initial_delay_seconds(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec.Health)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Spec_Health& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    bool disabled_;
    ::int32_t period_seconds_;
    ::int32_t failure_threshold_;
    ::int32_t initial_delay_seconds_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Spec_Health_class_data_;
// -------------------------------------------------------------------

class GameServer_ObjectMeta_LabelsEntry_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>;
  GameServer_ObjectMeta_LabelsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_ObjectMeta_LabelsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit GameServer_ObjectMeta_LabelsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_sdk_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 65,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_LabelsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class GameServer_ObjectMeta_AnnotationsEntry_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>;
  GameServer_ObjectMeta_AnnotationsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_ObjectMeta_AnnotationsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit GameServer_ObjectMeta_AnnotationsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_sdk_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 70,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Empty final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.Empty) */ {
 public:
  inline Empty() : Empty(nullptr) {}

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Empty(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Empty& default_instance() {
    return *reinterpret_cast<const Empty*>(
        &_Empty_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(Empty& a, Empty& b) { a.Swap(&b); }
  inline void Swap(Empty* 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(Empty* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  Empty* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<Empty>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const Empty& from) {
    ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const Empty& from) {
    ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }

  public:
  bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.Empty"; }

 protected:
  explicit Empty(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Empty(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Empty& from);
  Empty(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Empty&& from) noexcept
      : Empty(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_();

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

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.Empty)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 0,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Empty& from_msg);
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Empty_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Duration final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.Duration) */ {
 public:
  inline Duration() : Duration(nullptr) {}
  ~Duration() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Duration(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Duration& default_instance() {
    return *reinterpret_cast<const Duration*>(
        &_Duration_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(Duration& a, Duration& b) { a.Swap(&b); }
  inline void Swap(Duration* 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(Duration* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Duration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Duration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Duration& from);
  Duration(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Duration&& from) noexcept
      : Duration(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSecondsFieldNumber = 1,
  };
  // int64 seconds = 1;
  void clear_seconds() ;
  ::int64_t seconds() const;
  void set_seconds(::int64_t value);

  private:
  ::int64_t _internal_seconds() const;
  void _internal_set_seconds(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.Duration)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Duration& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t seconds_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Duration_class_data_;
// -------------------------------------------------------------------

class GameServer_Status_ListsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  GameServer_Status_ListsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_ListsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit GameServer_Status_ListsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_GameServer_Status_ListsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_sdk_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 55,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_ListsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class GameServer_Status_CountersEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  GameServer_Status_CountersEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status_CountersEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit GameServer_Status_CountersEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_GameServer_Status_CountersEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_sdk_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 58,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_CountersEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Spec final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec) */ {
 public:
  inline GameServer_Spec() : GameServer_Spec(nullptr) {}
  ~GameServer_Spec() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Spec(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Spec& default_instance() {
    return *reinterpret_cast<const GameServer_Spec*>(
        &_GameServer_Spec_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(GameServer_Spec& a, GameServer_Spec& b) { a.Swap(&b); }
  inline void Swap(GameServer_Spec* 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(GameServer_Spec* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Spec* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Spec"; }

 protected:
  explicit GameServer_Spec(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Spec(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Spec& from);
  GameServer_Spec(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Spec&& from) noexcept
      : GameServer_Spec(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Health = GameServer_Spec_Health;

  // accessors -------------------------------------------------------
  enum : int {
    kHealthFieldNumber = 1,
  };
  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  bool has_health() const;
  void clear_health() ;
  const ::agones::dev::sdk::GameServer_Spec_Health& health() const;
  [[nodiscard]] ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE release_health();
  ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NONNULL mutable_health();
  void set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE value);
  ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE unsafe_arena_release_health();

  private:
  const ::agones::dev::sdk::GameServer_Spec_Health& _internal_health() const;
  ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NONNULL _internal_mutable_health();

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Spec& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE health_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Spec_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_ObjectMeta final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.ObjectMeta) */ {
 public:
  inline GameServer_ObjectMeta() : GameServer_ObjectMeta(nullptr) {}
  ~GameServer_ObjectMeta() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_ObjectMeta(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_ObjectMeta& default_instance() {
    return *reinterpret_cast<const GameServer_ObjectMeta*>(
        &_GameServer_ObjectMeta_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(GameServer_ObjectMeta& a, GameServer_ObjectMeta& b) { a.Swap(&b); }
  inline void Swap(GameServer_ObjectMeta* 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(GameServer_ObjectMeta* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_ObjectMeta* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.ObjectMeta"; }

 protected:
  explicit GameServer_ObjectMeta(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_ObjectMeta(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_ObjectMeta& from);
  GameServer_ObjectMeta(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_ObjectMeta&& from) noexcept
      : GameServer_ObjectMeta(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kAnnotationsFieldNumber = 8,
    kLabelsFieldNumber = 9,
    kNameFieldNumber = 1,
    kNamespaceFieldNumber = 2,
    kUidFieldNumber = 3,
    kResourceVersionFieldNumber = 4,
    kGenerationFieldNumber = 5,
    kCreationTimestampFieldNumber = 6,
    kDeletionTimestampFieldNumber = 7,
  };
  // map<string, string> annotations = 8;
  int annotations_size() const;
  private:
  int _internal_annotations_size() const;

  public:
  void clear_annotations() ;
  const ::google::protobuf::Map<std::string, std::string>& annotations() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL mutable_annotations();

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

  public:
  // map<string, string> labels = 9;
  int labels_size() const;
  private:
  int _internal_labels_size() const;

  public:
  void clear_labels() ;
  const ::google::protobuf::Map<std::string, std::string>& labels() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL mutable_labels();

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

  public:
  // string name = 1;
  void clear_name() ;
  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 namespace = 2;
  void clear_namespace_() ;
  const ::std::string& namespace_() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_namespace_(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_namespace_();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_namespace_();
  void set_allocated_namespace_(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_namespace_() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_namespace_(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_namespace_();

  public:
  // string uid = 3;
  void clear_uid() ;
  const ::std::string& uid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_uid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_uid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_uid();
  void set_allocated_uid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_uid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_uid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_uid();

  public:
  // string resource_version = 4;
  void clear_resource_version() ;
  const ::std::string& resource_version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_resource_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_resource_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_resource_version();
  void set_allocated_resource_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_resource_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_resource_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_resource_version();

  public:
  // int64 generation = 5;
  void clear_generation() ;
  ::int64_t generation() const;
  void set_generation(::int64_t value);

  private:
  ::int64_t _internal_generation() const;
  void _internal_set_generation(::int64_t value);

  public:
  // int64 creation_timestamp = 6;
  void clear_creation_timestamp() ;
  ::int64_t creation_timestamp() const;
  void set_creation_timestamp(::int64_t value);

  private:
  ::int64_t _internal_creation_timestamp() const;
  void _internal_set_creation_timestamp(::int64_t value);

  public:
  // int64 deletion_timestamp = 7;
  void clear_deletion_timestamp() ;
  ::int64_t deletion_timestamp() const;
  void set_deletion_timestamp(::int64_t value);

  private:
  ::int64_t _internal_deletion_timestamp() const;
  void _internal_set_deletion_timestamp(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.ObjectMeta)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 9,
                                   2, 102,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_ObjectMeta& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::MapField<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>
        annotations_;
    ::google::protobuf::internal::MapField<GameServer_ObjectMeta_LabelsEntry_DoNotUse, std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>
        labels_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr namespace__;
    ::google::protobuf::internal::ArenaStringPtr uid_;
    ::google::protobuf::internal::ArenaStringPtr resource_version_;
    ::int64_t generation_;
    ::int64_t creation_timestamp_;
    ::int64_t deletion_timestamp_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_ObjectMeta_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer_Status final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status) */ {
 public:
  inline GameServer_Status() : GameServer_Status(nullptr) {}
  ~GameServer_Status() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer_Status(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer_Status& default_instance() {
    return *reinterpret_cast<const GameServer_Status*>(
        &_GameServer_Status_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(GameServer_Status& a, GameServer_Status& b) { a.Swap(&b); }
  inline void Swap(GameServer_Status* 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(GameServer_Status* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GameServer_Status* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "agones.dev.sdk.GameServer.Status"; }

 protected:
  explicit GameServer_Status(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer_Status(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer_Status& from);
  GameServer_Status(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer_Status&& from) noexcept
      : GameServer_Status(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Address = GameServer_Status_Address;
  using Port = GameServer_Status_Port;
  using PlayerStatus = GameServer_Status_PlayerStatus;
  using CounterStatus = GameServer_Status_CounterStatus;
  using ListStatus = GameServer_Status_ListStatus;

  // accessors -------------------------------------------------------
  enum : int {
    kPortsFieldNumber = 3,
    kCountersFieldNumber = 5,
    kListsFieldNumber = 6,
    kAddressesFieldNumber = 7,
    kStateFieldNumber = 1,
    kAddressFieldNumber = 2,
    kPlayersFieldNumber = 4,
  };
  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  int ports_size() const;
  private:
  int _internal_ports_size() const;

  public:
  void clear_ports() ;
  ::agones::dev::sdk::GameServer_Status_Port* PROTOBUF_NONNULL mutable_ports(int index);
  ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>* PROTOBUF_NONNULL mutable_ports();

  private:
  const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>& _internal_ports() const;
  ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>* PROTOBUF_NONNULL _internal_mutable_ports();
  public:
  const ::agones::dev::sdk::GameServer_Status_Port& ports(int index) const;
  ::agones::dev::sdk::GameServer_Status_Port* PROTOBUF_NONNULL add_ports();
  const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>& ports() const;
  // map<string, .agones.dev.sdk.GameServer.Status.CounterStatus> counters = 5;
  int counters_size() const;
  private:
  int _internal_counters_size() const;

  public:
  void clear_counters() ;
  const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>& counters() const;
  ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>* PROTOBUF_NONNULL mutable_counters();

  private:
  const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>& _internal_counters() const;
  ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>* PROTOBUF_NONNULL _internal_mutable_counters();

  public:
  // map<string, .agones.dev.sdk.GameServer.Status.ListStatus> lists = 6;
  int lists_size() const;
  private:
  int _internal_lists_size() const;

  public:
  void clear_lists() ;
  const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>& lists() const;
  ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>* PROTOBUF_NONNULL mutable_lists();

  private:
  const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>& _internal_lists() const;
  ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>* PROTOBUF_NONNULL _internal_mutable_lists();

  public:
  // repeated .agones.dev.sdk.GameServer.Status.Address addresses = 7;
  int addresses_size() const;
  private:
  int _internal_addresses_size() const;

  public:
  void clear_addresses() ;
  ::agones::dev::sdk::GameServer_Status_Address* PROTOBUF_NONNULL mutable_addresses(int index);
  ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>* PROTOBUF_NONNULL mutable_addresses();

  private:
  const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>& _internal_addresses() const;
  ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>* PROTOBUF_NONNULL _internal_mutable_addresses();
  public:
  const ::agones::dev::sdk::GameServer_Status_Address& addresses(int index) const;
  ::agones::dev::sdk::GameServer_Status_Address* PROTOBUF_NONNULL add_addresses();
  const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>& addresses() const;
  // string state = 1;
  void clear_state() ;
  const ::std::string& state() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_state(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_state();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_state();
  void set_allocated_state(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_state() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_state(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_state();

  public:
  // string address = 2;
  void clear_address() ;
  const ::std::string& address() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_address();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_address();
  void set_allocated_address(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_address() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_address(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_address();

  public:
  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  bool has_players() const;
  void clear_players() ;
  const ::agones::dev::sdk::GameServer_Status_PlayerStatus& players() const;
  [[nodiscard]] ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE release_players();
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NONNULL mutable_players();
  void set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE value);
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE unsafe_arena_release_players();

  private:
  const ::agones::dev::sdk::GameServer_Status_PlayerStatus& _internal_players() const;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NONNULL _internal_mutable_players();

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 7,
                                   7, 66,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer_Status& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port > ports_;
    ::google::protobuf::internal::MapField<GameServer_Status_CountersEntry_DoNotUse, std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        counters_;
    ::google::protobuf::internal::MapField<GameServer_Status_ListsEntry_DoNotUse, std::string, ::agones::dev::sdk::GameServer_Status_ListStatus,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        lists_;
    ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Address > addresses_;
    ::google::protobuf::internal::ArenaStringPtr state_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE players_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_Status_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT GameServer final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer) */ {
 public:
  inline GameServer() : GameServer(nullptr) {}
  ~GameServer() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GameServer(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const GameServer& default_instance() {
    return *reinterpret_cast<const GameServer*>(
        &_GameServer_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 16;
  friend void swap(GameServer& a, GameServer& b) { a.Swap(&b); }
  inline void Swap(GameServer* 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(GameServer* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit GameServer(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GameServer(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GameServer& from);
  GameServer(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GameServer&& from) noexcept
      : GameServer(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using ObjectMeta = GameServer_ObjectMeta;
  using Spec = GameServer_Spec;
  using Status = GameServer_Status;

  // accessors -------------------------------------------------------
  enum : int {
    kObjectMetaFieldNumber = 1,
    kSpecFieldNumber = 2,
    kStatusFieldNumber = 3,
  };
  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  bool has_object_meta() const;
  void clear_object_meta() ;
  const ::agones::dev::sdk::GameServer_ObjectMeta& object_meta() const;
  [[nodiscard]] ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE release_object_meta();
  ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NONNULL mutable_object_meta();
  void set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE value);
  ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE unsafe_arena_release_object_meta();

  private:
  const ::agones::dev::sdk::GameServer_ObjectMeta& _internal_object_meta() const;
  ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NONNULL _internal_mutable_object_meta();

  public:
  // .agones.dev.sdk.GameServer.Spec spec = 2;
  bool has_spec() const;
  void clear_spec() ;
  const ::agones::dev::sdk::GameServer_Spec& spec() const;
  [[nodiscard]] ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE release_spec();
  ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NONNULL mutable_spec();
  void set_allocated_spec(::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_spec(::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE value);
  ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE unsafe_arena_release_spec();

  private:
  const ::agones::dev::sdk::GameServer_Spec& _internal_spec() const;
  ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NONNULL _internal_mutable_spec();

  public:
  // .agones.dev.sdk.GameServer.Status status = 3;
  bool has_status() const;
  void clear_status() ;
  const ::agones::dev::sdk::GameServer_Status& status() const;
  [[nodiscard]] ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE release_status();
  ::agones::dev::sdk::GameServer_Status* PROTOBUF_NONNULL mutable_status();
  void set_allocated_status(::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_status(::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE value);
  ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE unsafe_arena_release_status();

  private:
  const ::agones::dev::sdk::GameServer_Status& _internal_status() const;
  ::agones::dev::sdk::GameServer_Status* PROTOBUF_NONNULL _internal_mutable_status();

  public:
  // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 GameServer& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE object_meta_;
    ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE spec_;
    ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE status_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_sdk_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull GameServer_class_data_;

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




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


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

// Empty

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

// KeyValue

// string key = 1;
inline void KeyValue::clear_key() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.key_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& KeyValue::key() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.key)
  return _internal_key();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void KeyValue::set_key(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.key_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.key)
}
inline ::std::string* PROTOBUF_NONNULL KeyValue::mutable_key()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_key();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.key)
  return _s;
}
inline const ::std::string& KeyValue::_internal_key() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.key_.Get();
}
inline void KeyValue::_internal_set_key(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.key_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL KeyValue::_internal_mutable_key() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.key_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE KeyValue::release_key() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.key)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.key_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.key_.Set("", GetArena());
  }
  return released;
}
inline void KeyValue::set_allocated_key(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.key_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.key_.IsDefault()) {
    _impl_.key_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.key)
}

// string value = 2;
inline void KeyValue::clear_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& KeyValue::value() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.value)
  return _internal_value();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void KeyValue::set_value(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.value)
}
inline ::std::string* PROTOBUF_NONNULL KeyValue::mutable_value()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_value();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.value)
  return _s;
}
inline const ::std::string& KeyValue::_internal_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.value_.Get();
}
inline void KeyValue::_internal_set_value(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL KeyValue::_internal_mutable_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.value_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE KeyValue::release_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.value)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.value_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.value_.Set("", GetArena());
  }
  return released;
}
inline void KeyValue::set_allocated_value(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.value_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.value)
}

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

// Duration

// int64 seconds = 1;
inline void Duration::clear_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.seconds_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::int64_t Duration::seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.Duration.seconds)
  return _internal_seconds();
}
inline void Duration::set_seconds(::int64_t value) {
  _internal_set_seconds(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.Duration.seconds)
}
inline ::int64_t Duration::_internal_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.seconds_;
}
inline void Duration::_internal_set_seconds(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.seconds_ = value;
}

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

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

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

// GameServer_ObjectMeta

// string name = 1;
inline void GameServer_ObjectMeta::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& GameServer_ObjectMeta::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_ObjectMeta::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.name)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.name)
  return _s;
}
inline const ::std::string& GameServer_ObjectMeta::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GameServer_ObjectMeta::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_ObjectMeta::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_ObjectMeta::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _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:agones.dev.sdk.GameServer.ObjectMeta.name)
}

// string namespace = 2;
inline void GameServer_ObjectMeta::clear_namespace_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.namespace__.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& GameServer_ObjectMeta::namespace_() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  return _internal_namespace_();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_ObjectMeta::set_namespace_(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.namespace__.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_namespace_()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_namespace_();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  return _s;
}
inline const ::std::string& GameServer_ObjectMeta::_internal_namespace_() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.namespace__.Get();
}
inline void GameServer_ObjectMeta::_internal_set_namespace_(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.namespace__.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_namespace_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.namespace__.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_ObjectMeta::release_namespace_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.namespace__.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.namespace__.Set("", GetArena());
  }
  return released;
}
inline void GameServer_ObjectMeta::set_allocated_namespace_(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.namespace__.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.namespace__.IsDefault()) {
    _impl_.namespace__.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.namespace)
}

// string uid = 3;
inline void GameServer_ObjectMeta::clear_uid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.uid_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& GameServer_ObjectMeta::uid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.uid)
  return _internal_uid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_ObjectMeta::set_uid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.uid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.uid)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_uid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_uid();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.uid)
  return _s;
}
inline const ::std::string& GameServer_ObjectMeta::_internal_uid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.uid_.Get();
}
inline void GameServer_ObjectMeta::_internal_set_uid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.uid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_uid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.uid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_ObjectMeta::release_uid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.uid)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.uid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.uid_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_ObjectMeta::set_allocated_uid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.uid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.uid_.IsDefault()) {
    _impl_.uid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.uid)
}

// string resource_version = 4;
inline void GameServer_ObjectMeta::clear_resource_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.resource_version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::std::string& GameServer_ObjectMeta::resource_version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  return _internal_resource_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_ObjectMeta::set_resource_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.resource_version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_resource_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_resource_version();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  return _s;
}
inline const ::std::string& GameServer_ObjectMeta::_internal_resource_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.resource_version_.Get();
}
inline void GameServer_ObjectMeta::_internal_set_resource_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.resource_version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_resource_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.resource_version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_ObjectMeta::release_resource_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* released = _impl_.resource_version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.resource_version_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_ObjectMeta::set_allocated_resource_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.resource_version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.resource_version_.IsDefault()) {
    _impl_.resource_version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
}

// int64 generation = 5;
inline void GameServer_ObjectMeta::clear_generation() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.generation_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline ::int64_t GameServer_ObjectMeta::generation() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.generation)
  return _internal_generation();
}
inline void GameServer_ObjectMeta::set_generation(::int64_t value) {
  _internal_set_generation(value);
  _impl_._has_bits_[0] |= 0x00000010u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.generation)
}
inline ::int64_t GameServer_ObjectMeta::_internal_generation() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.generation_;
}
inline void GameServer_ObjectMeta::_internal_set_generation(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.generation_ = value;
}

// int64 creation_timestamp = 6;
inline void GameServer_ObjectMeta::clear_creation_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.creation_timestamp_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline ::int64_t GameServer_ObjectMeta::creation_timestamp() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
  return _internal_creation_timestamp();
}
inline void GameServer_ObjectMeta::set_creation_timestamp(::int64_t value) {
  _internal_set_creation_timestamp(value);
  _impl_._has_bits_[0] |= 0x00000020u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
}
inline ::int64_t GameServer_ObjectMeta::_internal_creation_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.creation_timestamp_;
}
inline void GameServer_ObjectMeta::_internal_set_creation_timestamp(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.creation_timestamp_ = value;
}

// int64 deletion_timestamp = 7;
inline void GameServer_ObjectMeta::clear_deletion_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.deletion_timestamp_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline ::int64_t GameServer_ObjectMeta::deletion_timestamp() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
  return _internal_deletion_timestamp();
}
inline void GameServer_ObjectMeta::set_deletion_timestamp(::int64_t value) {
  _internal_set_deletion_timestamp(value);
  _impl_._has_bits_[0] |= 0x00000040u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
}
inline ::int64_t GameServer_ObjectMeta::_internal_deletion_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.deletion_timestamp_;
}
inline void GameServer_ObjectMeta::_internal_set_deletion_timestamp(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.deletion_timestamp_ = value;
}

// map<string, string> annotations = 8;
inline int GameServer_ObjectMeta::_internal_annotations_size() const {
  return _internal_annotations().size();
}
inline int GameServer_ObjectMeta::annotations_size() const {
  return _internal_annotations_size();
}
inline void GameServer_ObjectMeta::clear_annotations() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.annotations_.Clear();
}
inline const ::google::protobuf::Map<std::string, std::string>& GameServer_ObjectMeta::_internal_annotations() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.annotations_.GetMap();
}
inline const ::google::protobuf::Map<std::string, std::string>& GameServer_ObjectMeta::annotations() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
  return _internal_annotations();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_annotations() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.annotations_.MutableMap();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_annotations()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
  return _internal_mutable_annotations();
}

// map<string, string> labels = 9;
inline int GameServer_ObjectMeta::_internal_labels_size() const {
  return _internal_labels().size();
}
inline int GameServer_ObjectMeta::labels_size() const {
  return _internal_labels_size();
}
inline void GameServer_ObjectMeta::clear_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.labels_.Clear();
}
inline const ::google::protobuf::Map<std::string, std::string>& GameServer_ObjectMeta::_internal_labels() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.labels_.GetMap();
}
inline const ::google::protobuf::Map<std::string, std::string>& GameServer_ObjectMeta::labels() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
  return _internal_labels();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL GameServer_ObjectMeta::_internal_mutable_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.labels_.MutableMap();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL GameServer_ObjectMeta::mutable_labels()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
  return _internal_mutable_labels();
}

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

// GameServer_Spec_Health

// bool disabled = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void GameServer_Spec_Health::clear_disabled() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.disabled_ = false;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline bool GameServer_Spec_Health::disabled() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.disabled)
  return _internal_disabled();
}
inline void GameServer_Spec_Health::set_disabled(bool value) {
  _internal_set_disabled(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.disabled)
}
inline bool GameServer_Spec_Health::_internal_disabled() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.disabled_;
}
inline void GameServer_Spec_Health::_internal_set_disabled(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.disabled_ = value;
}

// int32 period_seconds = 2;
inline void GameServer_Spec_Health::clear_period_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.period_seconds_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int32_t GameServer_Spec_Health::period_seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
  return _internal_period_seconds();
}
inline void GameServer_Spec_Health::set_period_seconds(::int32_t value) {
  _internal_set_period_seconds(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
}
inline ::int32_t GameServer_Spec_Health::_internal_period_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.period_seconds_;
}
inline void GameServer_Spec_Health::_internal_set_period_seconds(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.period_seconds_ = value;
}

// int32 failure_threshold = 3;
inline void GameServer_Spec_Health::clear_failure_threshold() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.failure_threshold_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline ::int32_t GameServer_Spec_Health::failure_threshold() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
  return _internal_failure_threshold();
}
inline void GameServer_Spec_Health::set_failure_threshold(::int32_t value) {
  _internal_set_failure_threshold(value);
  _impl_._has_bits_[0] |= 0x00000004u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
}
inline ::int32_t GameServer_Spec_Health::_internal_failure_threshold() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.failure_threshold_;
}
inline void GameServer_Spec_Health::_internal_set_failure_threshold(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.failure_threshold_ = value;
}

// int32 initial_delay_seconds = 4;
inline void GameServer_Spec_Health::clear_initial_delay_seconds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.initial_delay_seconds_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline ::int32_t GameServer_Spec_Health::initial_delay_seconds() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
  return _internal_initial_delay_seconds();
}
inline void GameServer_Spec_Health::set_initial_delay_seconds(::int32_t value) {
  _internal_set_initial_delay_seconds(value);
  _impl_._has_bits_[0] |= 0x00000008u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
}
inline ::int32_t GameServer_Spec_Health::_internal_initial_delay_seconds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.initial_delay_seconds_;
}
inline void GameServer_Spec_Health::_internal_set_initial_delay_seconds(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.initial_delay_seconds_ = value;
}

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

// GameServer_Spec

// .agones.dev.sdk.GameServer.Spec.Health health = 1;
inline bool GameServer_Spec::has_health() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.health_ != nullptr);
  return value;
}
inline void GameServer_Spec::clear_health() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.health_ != nullptr) _impl_.health_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::agones::dev::sdk::GameServer_Spec_Health& GameServer_Spec::_internal_health() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::agones::dev::sdk::GameServer_Spec_Health* p = _impl_.health_;
  return p != nullptr ? *p : reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec_Health&>(::agones::dev::sdk::_GameServer_Spec_Health_default_instance_);
}
inline const ::agones::dev::sdk::GameServer_Spec_Health& GameServer_Spec::health() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.health)
  return _internal_health();
}
inline void GameServer_Spec::unsafe_arena_set_allocated_health(
    ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.health_);
  }
  _impl_.health_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec_Health*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:agones.dev.sdk.GameServer.Spec.health)
}
inline ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE GameServer_Spec::release_health() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::agones::dev::sdk::GameServer_Spec_Health* released = _impl_.health_;
  _impl_.health_ = 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 ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NULLABLE GameServer_Spec::unsafe_arena_release_health() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Spec.health)

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::agones::dev::sdk::GameServer_Spec_Health* temp = _impl_.health_;
  _impl_.health_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NONNULL GameServer_Spec::_internal_mutable_health() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.health_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::agones::dev::sdk::GameServer_Spec_Health>(GetArena());
    _impl_.health_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec_Health*>(p);
  }
  return _impl_.health_;
}
inline ::agones::dev::sdk::GameServer_Spec_Health* PROTOBUF_NONNULL GameServer_Spec::mutable_health()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000001u;
  ::agones::dev::sdk::GameServer_Spec_Health* _msg = _internal_mutable_health();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Spec.health)
  return _msg;
}
inline void GameServer_Spec::set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* 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_.health_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }

  _impl_.health_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec_Health*>(value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Spec.health)
}

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

// GameServer_Status_Address

// string type = 1;
inline void GameServer_Status_Address::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& GameServer_Status_Address::type() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Address.type)
  return _internal_type();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_Status_Address::set_type(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Address.type)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Address::mutable_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.Address.type)
  return _s;
}
inline const ::std::string& GameServer_Status_Address::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.type_.Get();
}
inline void GameServer_Status_Address::_internal_set_type(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.type_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Address::_internal_mutable_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.type_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_Status_Address::release_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.Address.type)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.type_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.type_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_Status_Address::set_allocated_type(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.type_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_.IsDefault()) {
    _impl_.type_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.Address.type)
}

// string address = 2;
inline void GameServer_Status_Address::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& GameServer_Status_Address::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Address.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_Status_Address::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Address.address)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Address::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.Address.address)
  return _s;
}
inline const ::std::string& GameServer_Status_Address::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void GameServer_Status_Address::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Address::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_Status_Address::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.Address.address)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_Status_Address::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.Address.address)
}

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

// GameServer_Status_Port

// string name = 1;
inline void GameServer_Status_Port::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& GameServer_Status_Port::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_Status_Port::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.name)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Port::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.Port.name)
  return _s;
}
inline const ::std::string& GameServer_Status_Port::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GameServer_Status_Port::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_Port::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_Status_Port::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.Port.name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_Status_Port::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _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:agones.dev.sdk.GameServer.Status.Port.name)
}

// int32 port = 2;
inline void GameServer_Status_Port::clear_port() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.port_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int32_t GameServer_Status_Port::port() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.port)
  return _internal_port();
}
inline void GameServer_Status_Port::set_port(::int32_t value) {
  _internal_set_port(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.port)
}
inline ::int32_t GameServer_Status_Port::_internal_port() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.port_;
}
inline void GameServer_Status_Port::_internal_set_port(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.port_ = value;
}

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

// GameServer_Status_PlayerStatus

// int64 count = 1;
inline void GameServer_Status_PlayerStatus::clear_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::int64_t GameServer_Status_PlayerStatus::count() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
  return _internal_count();
}
inline void GameServer_Status_PlayerStatus::set_count(::int64_t value) {
  _internal_set_count(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
}
inline ::int64_t GameServer_Status_PlayerStatus::_internal_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.count_;
}
inline void GameServer_Status_PlayerStatus::_internal_set_count(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = value;
}

// int64 capacity = 2;
inline void GameServer_Status_PlayerStatus::clear_capacity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int64_t GameServer_Status_PlayerStatus::capacity() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
  return _internal_capacity();
}
inline void GameServer_Status_PlayerStatus::set_capacity(::int64_t value) {
  _internal_set_capacity(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
}
inline ::int64_t GameServer_Status_PlayerStatus::_internal_capacity() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.capacity_;
}
inline void GameServer_Status_PlayerStatus::_internal_set_capacity(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = value;
}

// repeated string ids = 3;
inline int GameServer_Status_PlayerStatus::_internal_ids_size() const {
  return _internal_ids().size();
}
inline int GameServer_Status_PlayerStatus::ids_size() const {
  return _internal_ids_size();
}
inline void GameServer_Status_PlayerStatus::clear_ids() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ids_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_PlayerStatus::add_ids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_ids()->Add();
  // @@protoc_insertion_point(field_add_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return _s;
}
inline const ::std::string& GameServer_Status_PlayerStatus::ids(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return _internal_ids().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_PlayerStatus::mutable_ids(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return _internal_mutable_ids()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void GameServer_Status_PlayerStatus::set_ids(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_ids()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
template <typename Arg_, typename... Args_>
inline void GameServer_Status_PlayerStatus::add_ids(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_ids(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& GameServer_Status_PlayerStatus::ids()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  return _internal_ids();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GameServer_Status_PlayerStatus::mutable_ids() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_ids();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
GameServer_Status_PlayerStatus::_internal_ids() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ids_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GameServer_Status_PlayerStatus::_internal_mutable_ids() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.ids_;
}

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

// GameServer_Status_CounterStatus

// int64 count = 1;
inline void GameServer_Status_CounterStatus::clear_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::int64_t GameServer_Status_CounterStatus::count() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.CounterStatus.count)
  return _internal_count();
}
inline void GameServer_Status_CounterStatus::set_count(::int64_t value) {
  _internal_set_count(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.CounterStatus.count)
}
inline ::int64_t GameServer_Status_CounterStatus::_internal_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.count_;
}
inline void GameServer_Status_CounterStatus::_internal_set_count(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.count_ = value;
}

// int64 capacity = 2;
inline void GameServer_Status_CounterStatus::clear_capacity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline ::int64_t GameServer_Status_CounterStatus::capacity() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.CounterStatus.capacity)
  return _internal_capacity();
}
inline void GameServer_Status_CounterStatus::set_capacity(::int64_t value) {
  _internal_set_capacity(value);
  _impl_._has_bits_[0] |= 0x00000002u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.CounterStatus.capacity)
}
inline ::int64_t GameServer_Status_CounterStatus::_internal_capacity() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.capacity_;
}
inline void GameServer_Status_CounterStatus::_internal_set_capacity(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = value;
}

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

// GameServer_Status_ListStatus

// int64 capacity = 1;
inline void GameServer_Status_ListStatus::clear_capacity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = ::int64_t{0};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::int64_t GameServer_Status_ListStatus::capacity() const {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.ListStatus.capacity)
  return _internal_capacity();
}
inline void GameServer_Status_ListStatus::set_capacity(::int64_t value) {
  _internal_set_capacity(value);
  _impl_._has_bits_[0] |= 0x00000001u;
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.ListStatus.capacity)
}
inline ::int64_t GameServer_Status_ListStatus::_internal_capacity() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.capacity_;
}
inline void GameServer_Status_ListStatus::_internal_set_capacity(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.capacity_ = value;
}

// repeated string values = 2;
inline int GameServer_Status_ListStatus::_internal_values_size() const {
  return _internal_values().size();
}
inline int GameServer_Status_ListStatus::values_size() const {
  return _internal_values_size();
}
inline void GameServer_Status_ListStatus::clear_values() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.values_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_ListStatus::add_values()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_values()->Add();
  // @@protoc_insertion_point(field_add_mutable:agones.dev.sdk.GameServer.Status.ListStatus.values)
  return _s;
}
inline const ::std::string& GameServer_Status_ListStatus::values(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.ListStatus.values)
  return _internal_values().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status_ListStatus::mutable_values(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.ListStatus.values)
  return _internal_mutable_values()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void GameServer_Status_ListStatus::set_values(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_values()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.ListStatus.values)
}
template <typename Arg_, typename... Args_>
inline void GameServer_Status_ListStatus::add_values(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_values(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.ListStatus.values)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& GameServer_Status_ListStatus::values()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.ListStatus.values)
  return _internal_values();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GameServer_Status_ListStatus::mutable_values() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.ListStatus.values)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_values();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
GameServer_Status_ListStatus::_internal_values() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.values_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GameServer_Status_ListStatus::_internal_mutable_values() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.values_;
}

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

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

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

// GameServer_Status

// string state = 1;
inline void GameServer_Status::clear_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.state_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& GameServer_Status::state() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.state)
  return _internal_state();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_Status::set_state(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.state_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.state)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status::mutable_state()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_state();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.state)
  return _s;
}
inline const ::std::string& GameServer_Status::_internal_state() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.state_.Get();
}
inline void GameServer_Status::_internal_set_state(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.state_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status::_internal_mutable_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.state_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_Status::release_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.state)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.state_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.state_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_Status::set_allocated_state(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.state_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.state_.IsDefault()) {
    _impl_.state_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.state)
}

// string address = 2;
inline void GameServer_Status::clear_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.address_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& GameServer_Status::address() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GameServer_Status::set_address(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.address)
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status::mutable_address()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.address)
  return _s;
}
inline const ::std::string& GameServer_Status::_internal_address() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.address_.Get();
}
inline void GameServer_Status::_internal_set_address(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.address_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GameServer_Status::_internal_mutable_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.address_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GameServer_Status::release_address() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.address)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.address_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.address_.Set("", GetArena());
  }
  return released;
}
inline void GameServer_Status::set_allocated_address(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.address_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.address_.IsDefault()) {
    _impl_.address_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.address)
}

// repeated .agones.dev.sdk.GameServer.Status.Address addresses = 7;
inline int GameServer_Status::_internal_addresses_size() const {
  return _internal_addresses().size();
}
inline int GameServer_Status::addresses_size() const {
  return _internal_addresses_size();
}
inline void GameServer_Status::clear_addresses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.addresses_.Clear();
}
inline ::agones::dev::sdk::GameServer_Status_Address* PROTOBUF_NONNULL GameServer_Status::mutable_addresses(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.addresses)
  return _internal_mutable_addresses()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>* PROTOBUF_NONNULL GameServer_Status::mutable_addresses()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.addresses)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_addresses();
}
inline const ::agones::dev::sdk::GameServer_Status_Address& GameServer_Status::addresses(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.addresses)
  return _internal_addresses().Get(index);
}
inline ::agones::dev::sdk::GameServer_Status_Address* PROTOBUF_NONNULL GameServer_Status::add_addresses()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::agones::dev::sdk::GameServer_Status_Address* _add = _internal_mutable_addresses()->Add();
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.addresses)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>& GameServer_Status::addresses() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.addresses)
  return _internal_addresses();
}
inline const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>&
GameServer_Status::_internal_addresses() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.addresses_;
}
inline ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Address>* PROTOBUF_NONNULL
GameServer_Status::_internal_mutable_addresses() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.addresses_;
}

// repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
inline int GameServer_Status::_internal_ports_size() const {
  return _internal_ports().size();
}
inline int GameServer_Status::ports_size() const {
  return _internal_ports_size();
}
inline void GameServer_Status::clear_ports() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ports_.Clear();
}
inline ::agones::dev::sdk::GameServer_Status_Port* PROTOBUF_NONNULL GameServer_Status::mutable_ports(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.ports)
  return _internal_mutable_ports()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>* PROTOBUF_NONNULL GameServer_Status::mutable_ports()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.ports)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_ports();
}
inline const ::agones::dev::sdk::GameServer_Status_Port& GameServer_Status::ports(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.ports)
  return _internal_ports().Get(index);
}
inline ::agones::dev::sdk::GameServer_Status_Port* PROTOBUF_NONNULL GameServer_Status::add_ports()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::agones::dev::sdk::GameServer_Status_Port* _add = _internal_mutable_ports()->Add();
  // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.ports)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>& GameServer_Status::ports() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.ports)
  return _internal_ports();
}
inline const ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>&
GameServer_Status::_internal_ports() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ports_;
}
inline ::google::protobuf::RepeatedPtrField<::agones::dev::sdk::GameServer_Status_Port>* PROTOBUF_NONNULL
GameServer_Status::_internal_mutable_ports() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.ports_;
}

// .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
inline bool GameServer_Status::has_players() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.players_ != nullptr);
  return value;
}
inline void GameServer_Status::clear_players() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.players_ != nullptr) _impl_.players_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::agones::dev::sdk::GameServer_Status_PlayerStatus& GameServer_Status::_internal_players() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::agones::dev::sdk::GameServer_Status_PlayerStatus* p = _impl_.players_;
  return p != nullptr ? *p : reinterpret_cast<const ::agones::dev::sdk::GameServer_Status_PlayerStatus&>(::agones::dev::sdk::_GameServer_Status_PlayerStatus_default_instance_);
}
inline const ::agones::dev::sdk::GameServer_Status_PlayerStatus& GameServer_Status::players() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.players)
  return _internal_players();
}
inline void GameServer_Status::unsafe_arena_set_allocated_players(
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.players_);
  }
  _impl_.players_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status_PlayerStatus*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:agones.dev.sdk.GameServer.Status.players)
}
inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE GameServer_Status::release_players() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* released = _impl_.players_;
  _impl_.players_ = 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 ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NULLABLE GameServer_Status::unsafe_arena_release_players() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.players)

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* temp = _impl_.players_;
  _impl_.players_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NONNULL GameServer_Status::_internal_mutable_players() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.players_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::agones::dev::sdk::GameServer_Status_PlayerStatus>(GetArena());
    _impl_.players_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status_PlayerStatus*>(p);
  }
  return _impl_.players_;
}
inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* PROTOBUF_NONNULL GameServer_Status::mutable_players()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000004u;
  ::agones::dev::sdk::GameServer_Status_PlayerStatus* _msg = _internal_mutable_players();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.players)
  return _msg;
}
inline void GameServer_Status::set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* 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_.players_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }

  _impl_.players_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status_PlayerStatus*>(value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.players)
}

// map<string, .agones.dev.sdk.GameServer.Status.CounterStatus> counters = 5;
inline int GameServer_Status::_internal_counters_size() const {
  return _internal_counters().size();
}
inline int GameServer_Status::counters_size() const {
  return _internal_counters_size();
}
inline void GameServer_Status::clear_counters() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.counters_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>& GameServer_Status::_internal_counters() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.counters_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>& GameServer_Status::counters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.Status.counters)
  return _internal_counters();
}
inline ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>* PROTOBUF_NONNULL GameServer_Status::_internal_mutable_counters() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.counters_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_CounterStatus>* PROTOBUF_NONNULL GameServer_Status::mutable_counters()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.Status.counters)
  return _internal_mutable_counters();
}

// map<string, .agones.dev.sdk.GameServer.Status.ListStatus> lists = 6;
inline int GameServer_Status::_internal_lists_size() const {
  return _internal_lists().size();
}
inline int GameServer_Status::lists_size() const {
  return _internal_lists_size();
}
inline void GameServer_Status::clear_lists() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lists_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>& GameServer_Status::_internal_lists() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lists_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>& GameServer_Status::lists() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.Status.lists)
  return _internal_lists();
}
inline ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>* PROTOBUF_NONNULL GameServer_Status::_internal_mutable_lists() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.lists_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::agones::dev::sdk::GameServer_Status_ListStatus>* PROTOBUF_NONNULL GameServer_Status::mutable_lists()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.Status.lists)
  return _internal_mutable_lists();
}

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

// GameServer

// .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
inline bool GameServer::has_object_meta() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.object_meta_ != nullptr);
  return value;
}
inline void GameServer::clear_object_meta() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.object_meta_ != nullptr) _impl_.object_meta_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::agones::dev::sdk::GameServer_ObjectMeta& GameServer::_internal_object_meta() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::agones::dev::sdk::GameServer_ObjectMeta* p = _impl_.object_meta_;
  return p != nullptr ? *p : reinterpret_cast<const ::agones::dev::sdk::GameServer_ObjectMeta&>(::agones::dev::sdk::_GameServer_ObjectMeta_default_instance_);
}
inline const ::agones::dev::sdk::GameServer_ObjectMeta& GameServer::object_meta() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.object_meta)
  return _internal_object_meta();
}
inline void GameServer::unsafe_arena_set_allocated_object_meta(
    ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_meta_);
  }
  _impl_.object_meta_ = reinterpret_cast<::agones::dev::sdk::GameServer_ObjectMeta*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:agones.dev.sdk.GameServer.object_meta)
}
inline ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE GameServer::release_object_meta() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::agones::dev::sdk::GameServer_ObjectMeta* released = _impl_.object_meta_;
  _impl_.object_meta_ = 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 ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NULLABLE GameServer::unsafe_arena_release_object_meta() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.object_meta)

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::agones::dev::sdk::GameServer_ObjectMeta* temp = _impl_.object_meta_;
  _impl_.object_meta_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NONNULL GameServer::_internal_mutable_object_meta() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.object_meta_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::agones::dev::sdk::GameServer_ObjectMeta>(GetArena());
    _impl_.object_meta_ = reinterpret_cast<::agones::dev::sdk::GameServer_ObjectMeta*>(p);
  }
  return _impl_.object_meta_;
}
inline ::agones::dev::sdk::GameServer_ObjectMeta* PROTOBUF_NONNULL GameServer::mutable_object_meta()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000001u;
  ::agones::dev::sdk::GameServer_ObjectMeta* _msg = _internal_mutable_object_meta();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.object_meta)
  return _msg;
}
inline void GameServer::set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* 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_.object_meta_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }

  _impl_.object_meta_ = reinterpret_cast<::agones::dev::sdk::GameServer_ObjectMeta*>(value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.object_meta)
}

// .agones.dev.sdk.GameServer.Spec spec = 2;
inline bool GameServer::has_spec() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.spec_ != nullptr);
  return value;
}
inline void GameServer::clear_spec() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.spec_ != nullptr) _impl_.spec_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::agones::dev::sdk::GameServer_Spec& GameServer::_internal_spec() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::agones::dev::sdk::GameServer_Spec* p = _impl_.spec_;
  return p != nullptr ? *p : reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec&>(::agones::dev::sdk::_GameServer_Spec_default_instance_);
}
inline const ::agones::dev::sdk::GameServer_Spec& GameServer::spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.spec)
  return _internal_spec();
}
inline void GameServer::unsafe_arena_set_allocated_spec(
    ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.spec_);
  }
  _impl_.spec_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:agones.dev.sdk.GameServer.spec)
}
inline ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE GameServer::release_spec() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::agones::dev::sdk::GameServer_Spec* released = _impl_.spec_;
  _impl_.spec_ = 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 ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NULLABLE GameServer::unsafe_arena_release_spec() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.spec)

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::agones::dev::sdk::GameServer_Spec* temp = _impl_.spec_;
  _impl_.spec_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NONNULL GameServer::_internal_mutable_spec() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.spec_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::agones::dev::sdk::GameServer_Spec>(GetArena());
    _impl_.spec_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec*>(p);
  }
  return _impl_.spec_;
}
inline ::agones::dev::sdk::GameServer_Spec* PROTOBUF_NONNULL GameServer::mutable_spec()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000002u;
  ::agones::dev::sdk::GameServer_Spec* _msg = _internal_mutable_spec();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.spec)
  return _msg;
}
inline void GameServer::set_allocated_spec(::agones::dev::sdk::GameServer_Spec* 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_.spec_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }

  _impl_.spec_ = reinterpret_cast<::agones::dev::sdk::GameServer_Spec*>(value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.spec)
}

// .agones.dev.sdk.GameServer.Status status = 3;
inline bool GameServer::has_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.status_ != nullptr);
  return value;
}
inline void GameServer::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.status_ != nullptr) _impl_.status_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::agones::dev::sdk::GameServer_Status& GameServer::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::agones::dev::sdk::GameServer_Status* p = _impl_.status_;
  return p != nullptr ? *p : reinterpret_cast<const ::agones::dev::sdk::GameServer_Status&>(::agones::dev::sdk::_GameServer_Status_default_instance_);
}
inline const ::agones::dev::sdk::GameServer_Status& GameServer::status() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.status)
  return _internal_status();
}
inline void GameServer::unsafe_arena_set_allocated_status(
    ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.status_);
  }
  _impl_.status_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:agones.dev.sdk.GameServer.status)
}
inline ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE GameServer::release_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::agones::dev::sdk::GameServer_Status* released = _impl_.status_;
  _impl_.status_ = 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 ::agones::dev::sdk::GameServer_Status* PROTOBUF_NULLABLE GameServer::unsafe_arena_release_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.status)

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::agones::dev::sdk::GameServer_Status* temp = _impl_.status_;
  _impl_.status_ = nullptr;
  return temp;
}
inline ::agones::dev::sdk::GameServer_Status* PROTOBUF_NONNULL GameServer::_internal_mutable_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.status_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::agones::dev::sdk::GameServer_Status>(GetArena());
    _impl_.status_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status*>(p);
  }
  return _impl_.status_;
}
inline ::agones::dev::sdk::GameServer_Status* PROTOBUF_NONNULL GameServer::mutable_status()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000004u;
  ::agones::dev::sdk::GameServer_Status* _msg = _internal_mutable_status();
  // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.status)
  return _msg;
}
inline void GameServer::set_allocated_status(::agones::dev::sdk::GameServer_Status* 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_.status_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }

  _impl_.status_ = reinterpret_cast<::agones::dev::sdk::GameServer_Status*>(value);
  // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.status)
}

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

// @@protoc_insertion_point(namespace_scope)
}  // namespace sdk
}  // namespace dev
}  // namespace agones


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // sdk_2eproto_2epb_2eh
