text: // Copyright 2020 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!
  // source: sdk.proto
  
  #ifndef PROTOBUF_INCLUDED_sdk_2eproto
  #define PROTOBUF_INCLUDED_sdk_2eproto
  
  #include <limits>
  #include <string>
  
  #include <google/protobuf/port_def.inc>
  #if PROTOBUF_VERSION < 3007000
  #error This file was generated by a newer version of protoc which is
  #error incompatible with your Protocol Buffer headers. Please update
  #error your headers.
  #endif
  #if 3007000 < PROTOBUF_MIN_PROTOC_VERSION
  #error This file was generated by an older version of protoc which is
  #error incompatible with your Protocol Buffer headers. Please
  #error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/port_undef.inc>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/inlined_string_field.h>
  #include <google/protobuf/metadata.h>
  #include <google/protobuf/message.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_entry.h>
  #include <google/protobuf/map_field_inl.h>
  #include <google/protobuf/unknown_field_set.h>
  #include "google/api/annotations.pb.h"
  // @@protoc_insertion_point(includes)
  #include <google/protobuf/port_def.inc>
  #define PROTOBUF_INTERNAL_EXPORT_sdk_2eproto AGONES_EXPORT
  
  // Internal implementation detail -- do not use these members.
  struct AGONES_EXPORT TableStruct_sdk_2eproto {
    static const ::google::protobuf::internal::ParseTableField entries[]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::google::protobuf::internal::ParseTable schema[12]
      PROTOBUF_SECTION_VARIABLE(protodesc_cold);
    static const ::google::protobuf::internal::FieldMetadata field_metadata[];
    static const ::google::protobuf::internal::SerializationTable serialization_table[];
    static const ::google::protobuf::uint32 offsets[];
  };
  void AGONES_EXPORT AddDescriptors_sdk_2eproto();
  namespace agones {
  namespace dev {
  namespace sdk {
  class Duration;
  class DurationDefaultTypeInternal;
  AGONES_EXPORT extern DurationDefaultTypeInternal _Duration_default_instance_;
  class Empty;
  class EmptyDefaultTypeInternal;
  AGONES_EXPORT extern EmptyDefaultTypeInternal _Empty_default_instance_;
  class GameServer;
  class GameServerDefaultTypeInternal;
  AGONES_EXPORT extern GameServerDefaultTypeInternal _GameServer_default_instance_;
  class GameServer_ObjectMeta;
  class GameServer_ObjectMetaDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_ObjectMetaDefaultTypeInternal _GameServer_ObjectMeta_default_instance_;
  class GameServer_ObjectMeta_AnnotationsEntry_DoNotUse;
  class GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_ObjectMeta_AnnotationsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_;
  class GameServer_ObjectMeta_LabelsEntry_DoNotUse;
  class GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_ObjectMeta_LabelsEntry_DoNotUseDefaultTypeInternal _GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_;
  class GameServer_Spec;
  class GameServer_SpecDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_SpecDefaultTypeInternal _GameServer_Spec_default_instance_;
  class GameServer_Spec_Health;
  class GameServer_Spec_HealthDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_Spec_HealthDefaultTypeInternal _GameServer_Spec_Health_default_instance_;
  class GameServer_Status;
  class GameServer_StatusDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_StatusDefaultTypeInternal _GameServer_Status_default_instance_;
  class GameServer_Status_PlayerStatus;
  class GameServer_Status_PlayerStatusDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_Status_PlayerStatusDefaultTypeInternal _GameServer_Status_PlayerStatus_default_instance_;
  class GameServer_Status_Port;
  class GameServer_Status_PortDefaultTypeInternal;
  AGONES_EXPORT extern GameServer_Status_PortDefaultTypeInternal _GameServer_Status_Port_default_instance_;
  class KeyValue;
  class KeyValueDefaultTypeInternal;
  AGONES_EXPORT extern KeyValueDefaultTypeInternal _KeyValue_default_instance_;
  }  // namespace sdk
  }  // namespace dev
  }  // namespace agones
  namespace google {
  namespace protobuf {
  template<> AGONES_EXPORT ::agones::dev::sdk::Duration* Arena::CreateMaybeMessage<::agones::dev::sdk::Duration>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::Empty* Arena::CreateMaybeMessage<::agones::dev::sdk::Empty>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta_AnnotationsEntry_DoNotUse>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta_LabelsEntry_DoNotUse>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Spec* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Spec_Health* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec_Health>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status_PlayerStatus* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_PlayerStatus>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::GameServer_Status_Port* Arena::CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_Port>(Arena*);
  template<> AGONES_EXPORT ::agones::dev::sdk::KeyValue* Arena::CreateMaybeMessage<::agones::dev::sdk::KeyValue>(Arena*);
  }  // namespace protobuf
  }  // namespace google
  namespace agones {
  namespace dev {
  namespace sdk {
  
  // ===================================================================
  
  class AGONES_EXPORT Empty final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.Empty) */ {
   public:
    Empty();
    virtual ~Empty();
  
    Empty(const Empty& from);
  
    inline Empty& operator=(const Empty& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Empty(Empty&& from) noexcept
      : Empty() {
      *this = ::std::move(from);
    }
  
    inline Empty& operator=(Empty&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const Empty& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Empty* internal_default_instance() {
      return reinterpret_cast<const Empty*>(
                 &_Empty_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      0;
  
    void Swap(Empty* other);
    friend void swap(Empty& a, Empty& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Empty* New() const final {
      return CreateMaybeMessage<Empty>(nullptr);
    }
  
    Empty* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<Empty>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const Empty& from);
    void MergeFrom(const Empty& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(Empty* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.Empty)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT KeyValue final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.KeyValue) */ {
   public:
    KeyValue();
    virtual ~KeyValue();
  
    KeyValue(const KeyValue& from);
  
    inline KeyValue& operator=(const KeyValue& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    KeyValue(KeyValue&& from) noexcept
      : KeyValue() {
      *this = ::std::move(from);
    }
  
    inline KeyValue& operator=(KeyValue&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const KeyValue& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const KeyValue* internal_default_instance() {
      return reinterpret_cast<const KeyValue*>(
                 &_KeyValue_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      1;
  
    void Swap(KeyValue* other);
    friend void swap(KeyValue& a, KeyValue& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline KeyValue* New() const final {
      return CreateMaybeMessage<KeyValue>(nullptr);
    }
  
    KeyValue* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<KeyValue>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const KeyValue& from);
    void MergeFrom(const KeyValue& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(KeyValue* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string key = 1;
    void clear_key();
    static const int kKeyFieldNumber = 1;
    const ::std::string& key() const;
    void set_key(const ::std::string& value);
    #if LANG_CXX11
    void set_key(::std::string&& value);
    #endif
    void set_key(const char* value);
    void set_key(const char* value, size_t size);
    ::std::string* mutable_key();
    ::std::string* release_key();
    void set_allocated_key(::std::string* key);
  
    // string value = 2;
    void clear_value();
    static const int kValueFieldNumber = 2;
    const ::std::string& value() const;
    void set_value(const ::std::string& value);
    #if LANG_CXX11
    void set_value(::std::string&& value);
    #endif
    void set_value(const char* value);
    void set_value(const char* value, size_t size);
    ::std::string* mutable_value();
    ::std::string* release_value();
    void set_allocated_value(::std::string* value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.KeyValue)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr key_;
    ::google::protobuf::internal::ArenaStringPtr value_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT Duration final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.Duration) */ {
   public:
    Duration();
    virtual ~Duration();
  
    Duration(const Duration& from);
  
    inline Duration& operator=(const Duration& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Duration(Duration&& from) noexcept
      : Duration() {
      *this = ::std::move(from);
    }
  
    inline Duration& operator=(Duration&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const Duration& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Duration* internal_default_instance() {
      return reinterpret_cast<const Duration*>(
                 &_Duration_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      2;
  
    void Swap(Duration* other);
    friend void swap(Duration& a, Duration& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Duration* New() const final {
      return CreateMaybeMessage<Duration>(nullptr);
    }
  
    Duration* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<Duration>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const Duration& from);
    void MergeFrom(const Duration& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(Duration* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // int64 seconds = 1;
    void clear_seconds();
    static const int kSecondsFieldNumber = 1;
    ::google::protobuf::int64 seconds() const;
    void set_seconds(::google::protobuf::int64 value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.Duration)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::int64 seconds_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class GameServer_ObjectMeta_AnnotationsEntry_DoNotUse : public ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, 
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > {
  public:
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static bool _ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    typedef ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_AnnotationsEntry_DoNotUse, 
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > SuperType;
    GameServer_ObjectMeta_AnnotationsEntry_DoNotUse();
    GameServer_ObjectMeta_AnnotationsEntry_DoNotUse(::google::protobuf::Arena* arena);
    void MergeFrom(const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse& other);
    static const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const GameServer_ObjectMeta_AnnotationsEntry_DoNotUse*>(&_GameServer_ObjectMeta_AnnotationsEntry_DoNotUse_default_instance_); }
    void MergeFrom(const ::google::protobuf::Message& other) final;
    ::google::protobuf::Metadata GetMetadata() const;
  };
  
  // -------------------------------------------------------------------
  
  class GameServer_ObjectMeta_LabelsEntry_DoNotUse : public ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_LabelsEntry_DoNotUse, 
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > {
  public:
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  static bool _ParseMap(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    typedef ::google::protobuf::internal::MapEntry<GameServer_ObjectMeta_LabelsEntry_DoNotUse, 
      ::std::string, ::std::string,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      0 > SuperType;
    GameServer_ObjectMeta_LabelsEntry_DoNotUse();
    GameServer_ObjectMeta_LabelsEntry_DoNotUse(::google::protobuf::Arena* arena);
    void MergeFrom(const GameServer_ObjectMeta_LabelsEntry_DoNotUse& other);
    static const GameServer_ObjectMeta_LabelsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const GameServer_ObjectMeta_LabelsEntry_DoNotUse*>(&_GameServer_ObjectMeta_LabelsEntry_DoNotUse_default_instance_); }
    void MergeFrom(const ::google::protobuf::Message& other) final;
    ::google::protobuf::Metadata GetMetadata() const;
  };
  
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_ObjectMeta final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.ObjectMeta) */ {
   public:
    GameServer_ObjectMeta();
    virtual ~GameServer_ObjectMeta();
  
    GameServer_ObjectMeta(const GameServer_ObjectMeta& from);
  
    inline GameServer_ObjectMeta& operator=(const GameServer_ObjectMeta& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_ObjectMeta(GameServer_ObjectMeta&& from) noexcept
      : GameServer_ObjectMeta() {
      *this = ::std::move(from);
    }
  
    inline GameServer_ObjectMeta& operator=(GameServer_ObjectMeta&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_ObjectMeta& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_ObjectMeta* internal_default_instance() {
      return reinterpret_cast<const GameServer_ObjectMeta*>(
                 &_GameServer_ObjectMeta_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      5;
  
    void Swap(GameServer_ObjectMeta* other);
    friend void swap(GameServer_ObjectMeta& a, GameServer_ObjectMeta& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_ObjectMeta* New() const final {
      return CreateMaybeMessage<GameServer_ObjectMeta>(nullptr);
    }
  
    GameServer_ObjectMeta* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_ObjectMeta>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_ObjectMeta& from);
    void MergeFrom(const GameServer_ObjectMeta& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_ObjectMeta* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
  
    // accessors -------------------------------------------------------
  
    // map<string, string> annotations = 8;
    int annotations_size() const;
    void clear_annotations();
    static const int kAnnotationsFieldNumber = 8;
    const ::google::protobuf::Map< ::std::string, ::std::string >&
        annotations() const;
    ::google::protobuf::Map< ::std::string, ::std::string >*
        mutable_annotations();
  
    // map<string, string> labels = 9;
    int labels_size() const;
    void clear_labels();
    static const int kLabelsFieldNumber = 9;
    const ::google::protobuf::Map< ::std::string, ::std::string >&
        labels() const;
    ::google::protobuf::Map< ::std::string, ::std::string >*
        mutable_labels();
  
    // string name = 1;
    void clear_name();
    static const int kNameFieldNumber = 1;
    const ::std::string& name() const;
    void set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_name(::std::string&& value);
    #endif
    void set_name(const char* value);
    void set_name(const char* value, size_t size);
    ::std::string* mutable_name();
    ::std::string* release_name();
    void set_allocated_name(::std::string* name);
  
    // string namespace = 2;
    void clear_namespace_();
    static const int kNamespaceFieldNumber = 2;
    const ::std::string& namespace_() const;
    void set_namespace_(const ::std::string& value);
    #if LANG_CXX11
    void set_namespace_(::std::string&& value);
    #endif
    void set_namespace_(const char* value);
    void set_namespace_(const char* value, size_t size);
    ::std::string* mutable_namespace_();
    ::std::string* release_namespace_();
    void set_allocated_namespace_(::std::string* namespace_);
  
    // string uid = 3;
    void clear_uid();
    static const int kUidFieldNumber = 3;
    const ::std::string& uid() const;
    void set_uid(const ::std::string& value);
    #if LANG_CXX11
    void set_uid(::std::string&& value);
    #endif
    void set_uid(const char* value);
    void set_uid(const char* value, size_t size);
    ::std::string* mutable_uid();
    ::std::string* release_uid();
    void set_allocated_uid(::std::string* uid);
  
    // string resource_version = 4;
    void clear_resource_version();
    static const int kResourceVersionFieldNumber = 4;
    const ::std::string& resource_version() const;
    void set_resource_version(const ::std::string& value);
    #if LANG_CXX11
    void set_resource_version(::std::string&& value);
    #endif
    void set_resource_version(const char* value);
    void set_resource_version(const char* value, size_t size);
    ::std::string* mutable_resource_version();
    ::std::string* release_resource_version();
    void set_allocated_resource_version(::std::string* resource_version);
  
    // int64 generation = 5;
    void clear_generation();
    static const int kGenerationFieldNumber = 5;
    ::google::protobuf::int64 generation() const;
    void set_generation(::google::protobuf::int64 value);
  
    // int64 creation_timestamp = 6;
    void clear_creation_timestamp();
    static const int kCreationTimestampFieldNumber = 6;
    ::google::protobuf::int64 creation_timestamp() const;
    void set_creation_timestamp(::google::protobuf::int64 value);
  
    // int64 deletion_timestamp = 7;
    void clear_deletion_timestamp();
    static const int kDeletionTimestampFieldNumber = 7;
    ::google::protobuf::int64 deletion_timestamp() const;
    void set_deletion_timestamp(::google::protobuf::int64 value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.ObjectMeta)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::MapField<
        GameServer_ObjectMeta_AnnotationsEntry_DoNotUse,
        ::std::string, ::std::string,
        ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
        ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
        0 > 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,
        0 > labels_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr namespace__;
    ::google::protobuf::internal::ArenaStringPtr uid_;
    ::google::protobuf::internal::ArenaStringPtr resource_version_;
    ::google::protobuf::int64 generation_;
    ::google::protobuf::int64 creation_timestamp_;
    ::google::protobuf::int64 deletion_timestamp_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_Spec_Health final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec.Health) */ {
   public:
    GameServer_Spec_Health();
    virtual ~GameServer_Spec_Health();
  
    GameServer_Spec_Health(const GameServer_Spec_Health& from);
  
    inline GameServer_Spec_Health& operator=(const GameServer_Spec_Health& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_Spec_Health(GameServer_Spec_Health&& from) noexcept
      : GameServer_Spec_Health() {
      *this = ::std::move(from);
    }
  
    inline GameServer_Spec_Health& operator=(GameServer_Spec_Health&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_Spec_Health& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_Spec_Health* internal_default_instance() {
      return reinterpret_cast<const GameServer_Spec_Health*>(
                 &_GameServer_Spec_Health_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      6;
  
    void Swap(GameServer_Spec_Health* other);
    friend void swap(GameServer_Spec_Health& a, GameServer_Spec_Health& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_Spec_Health* New() const final {
      return CreateMaybeMessage<GameServer_Spec_Health>(nullptr);
    }
  
    GameServer_Spec_Health* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_Spec_Health>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_Spec_Health& from);
    void MergeFrom(const GameServer_Spec_Health& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_Spec_Health* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // bool disabled = 1;
    void clear_disabled();
    static const int kDisabledFieldNumber = 1;
    bool disabled() const;
    void set_disabled(bool value);
  
    // int32 period_seconds = 2;
    void clear_period_seconds();
    static const int kPeriodSecondsFieldNumber = 2;
    ::google::protobuf::int32 period_seconds() const;
    void set_period_seconds(::google::protobuf::int32 value);
  
    // int32 failure_threshold = 3;
    void clear_failure_threshold();
    static const int kFailureThresholdFieldNumber = 3;
    ::google::protobuf::int32 failure_threshold() const;
    void set_failure_threshold(::google::protobuf::int32 value);
  
    // int32 initial_delay_seconds = 4;
    void clear_initial_delay_seconds();
    static const int kInitialDelaySecondsFieldNumber = 4;
    ::google::protobuf::int32 initial_delay_seconds() const;
    void set_initial_delay_seconds(::google::protobuf::int32 value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec.Health)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    bool disabled_;
    ::google::protobuf::int32 period_seconds_;
    ::google::protobuf::int32 failure_threshold_;
    ::google::protobuf::int32 initial_delay_seconds_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_Spec final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Spec) */ {
   public:
    GameServer_Spec();
    virtual ~GameServer_Spec();
  
    GameServer_Spec(const GameServer_Spec& from);
  
    inline GameServer_Spec& operator=(const GameServer_Spec& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_Spec(GameServer_Spec&& from) noexcept
      : GameServer_Spec() {
      *this = ::std::move(from);
    }
  
    inline GameServer_Spec& operator=(GameServer_Spec&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_Spec& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_Spec* internal_default_instance() {
      return reinterpret_cast<const GameServer_Spec*>(
                 &_GameServer_Spec_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      7;
  
    void Swap(GameServer_Spec* other);
    friend void swap(GameServer_Spec& a, GameServer_Spec& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_Spec* New() const final {
      return CreateMaybeMessage<GameServer_Spec>(nullptr);
    }
  
    GameServer_Spec* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_Spec>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_Spec& from);
    void MergeFrom(const GameServer_Spec& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_Spec* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    typedef GameServer_Spec_Health Health;
  
    // accessors -------------------------------------------------------
  
    // .agones.dev.sdk.GameServer.Spec.Health health = 1;
    bool has_health() const;
    void clear_health();
    static const int kHealthFieldNumber = 1;
    const ::agones::dev::sdk::GameServer_Spec_Health& health() const;
    ::agones::dev::sdk::GameServer_Spec_Health* release_health();
    ::agones::dev::sdk::GameServer_Spec_Health* mutable_health();
    void set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* health);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Spec)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::agones::dev::sdk::GameServer_Spec_Health* health_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_Status_Port final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.Port) */ {
   public:
    GameServer_Status_Port();
    virtual ~GameServer_Status_Port();
  
    GameServer_Status_Port(const GameServer_Status_Port& from);
  
    inline GameServer_Status_Port& operator=(const GameServer_Status_Port& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_Status_Port(GameServer_Status_Port&& from) noexcept
      : GameServer_Status_Port() {
      *this = ::std::move(from);
    }
  
    inline GameServer_Status_Port& operator=(GameServer_Status_Port&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_Status_Port& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_Status_Port* internal_default_instance() {
      return reinterpret_cast<const GameServer_Status_Port*>(
                 &_GameServer_Status_Port_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      8;
  
    void Swap(GameServer_Status_Port* other);
    friend void swap(GameServer_Status_Port& a, GameServer_Status_Port& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_Status_Port* New() const final {
      return CreateMaybeMessage<GameServer_Status_Port>(nullptr);
    }
  
    GameServer_Status_Port* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_Status_Port>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_Status_Port& from);
    void MergeFrom(const GameServer_Status_Port& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_Status_Port* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string name = 1;
    void clear_name();
    static const int kNameFieldNumber = 1;
    const ::std::string& name() const;
    void set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_name(::std::string&& value);
    #endif
    void set_name(const char* value);
    void set_name(const char* value, size_t size);
    ::std::string* mutable_name();
    ::std::string* release_name();
    void set_allocated_name(::std::string* name);
  
    // int32 port = 2;
    void clear_port();
    static const int kPortFieldNumber = 2;
    ::google::protobuf::int32 port() const;
    void set_port(::google::protobuf::int32 value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.Port)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::int32 port_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_Status_PlayerStatus final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status.PlayerStatus) */ {
   public:
    GameServer_Status_PlayerStatus();
    virtual ~GameServer_Status_PlayerStatus();
  
    GameServer_Status_PlayerStatus(const GameServer_Status_PlayerStatus& from);
  
    inline GameServer_Status_PlayerStatus& operator=(const GameServer_Status_PlayerStatus& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_Status_PlayerStatus(GameServer_Status_PlayerStatus&& from) noexcept
      : GameServer_Status_PlayerStatus() {
      *this = ::std::move(from);
    }
  
    inline GameServer_Status_PlayerStatus& operator=(GameServer_Status_PlayerStatus&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_Status_PlayerStatus& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_Status_PlayerStatus* internal_default_instance() {
      return reinterpret_cast<const GameServer_Status_PlayerStatus*>(
                 &_GameServer_Status_PlayerStatus_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      9;
  
    void Swap(GameServer_Status_PlayerStatus* other);
    friend void swap(GameServer_Status_PlayerStatus& a, GameServer_Status_PlayerStatus& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_Status_PlayerStatus* New() const final {
      return CreateMaybeMessage<GameServer_Status_PlayerStatus>(nullptr);
    }
  
    GameServer_Status_PlayerStatus* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_Status_PlayerStatus>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_Status_PlayerStatus& from);
    void MergeFrom(const GameServer_Status_PlayerStatus& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_Status_PlayerStatus* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // repeated string ids = 3;
    int ids_size() const;
    void clear_ids();
    static const int kIdsFieldNumber = 3;
    const ::std::string& ids(int index) const;
    ::std::string* mutable_ids(int index);
    void set_ids(int index, const ::std::string& value);
    #if LANG_CXX11
    void set_ids(int index, ::std::string&& value);
    #endif
    void set_ids(int index, const char* value);
    void set_ids(int index, const char* value, size_t size);
    ::std::string* add_ids();
    void add_ids(const ::std::string& value);
    #if LANG_CXX11
    void add_ids(::std::string&& value);
    #endif
    void add_ids(const char* value);
    void add_ids(const char* value, size_t size);
    const ::google::protobuf::RepeatedPtrField<::std::string>& ids() const;
    ::google::protobuf::RepeatedPtrField<::std::string>* mutable_ids();
  
    // int64 count = 1;
    void clear_count();
    static const int kCountFieldNumber = 1;
    ::google::protobuf::int64 count() const;
    void set_count(::google::protobuf::int64 value);
  
    // int64 capacity = 2;
    void clear_capacity();
    static const int kCapacityFieldNumber = 2;
    ::google::protobuf::int64 capacity() const;
    void set_capacity(::google::protobuf::int64 value);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status.PlayerStatus)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField<::std::string> ids_;
    ::google::protobuf::int64 count_;
    ::google::protobuf::int64 capacity_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer_Status final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer.Status) */ {
   public:
    GameServer_Status();
    virtual ~GameServer_Status();
  
    GameServer_Status(const GameServer_Status& from);
  
    inline GameServer_Status& operator=(const GameServer_Status& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer_Status(GameServer_Status&& from) noexcept
      : GameServer_Status() {
      *this = ::std::move(from);
    }
  
    inline GameServer_Status& operator=(GameServer_Status&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer_Status& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer_Status* internal_default_instance() {
      return reinterpret_cast<const GameServer_Status*>(
                 &_GameServer_Status_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      10;
  
    void Swap(GameServer_Status* other);
    friend void swap(GameServer_Status& a, GameServer_Status& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer_Status* New() const final {
      return CreateMaybeMessage<GameServer_Status>(nullptr);
    }
  
    GameServer_Status* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer_Status>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer_Status& from);
    void MergeFrom(const GameServer_Status& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer_Status* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    typedef GameServer_Status_Port Port;
    typedef GameServer_Status_PlayerStatus PlayerStatus;
  
    // accessors -------------------------------------------------------
  
    // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
    int ports_size() const;
    void clear_ports();
    static const int kPortsFieldNumber = 3;
    ::agones::dev::sdk::GameServer_Status_Port* mutable_ports(int index);
    ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >*
        mutable_ports();
    const ::agones::dev::sdk::GameServer_Status_Port& ports(int index) const;
    ::agones::dev::sdk::GameServer_Status_Port* add_ports();
    const ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >&
        ports() const;
  
    // string state = 1;
    void clear_state();
    static const int kStateFieldNumber = 1;
    const ::std::string& state() const;
    void set_state(const ::std::string& value);
    #if LANG_CXX11
    void set_state(::std::string&& value);
    #endif
    void set_state(const char* value);
    void set_state(const char* value, size_t size);
    ::std::string* mutable_state();
    ::std::string* release_state();
    void set_allocated_state(::std::string* state);
  
    // string address = 2;
    void clear_address();
    static const int kAddressFieldNumber = 2;
    const ::std::string& address() const;
    void set_address(const ::std::string& value);
    #if LANG_CXX11
    void set_address(::std::string&& value);
    #endif
    void set_address(const char* value);
    void set_address(const char* value, size_t size);
    ::std::string* mutable_address();
    ::std::string* release_address();
    void set_allocated_address(::std::string* address);
  
    // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
    bool has_players() const;
    void clear_players();
    static const int kPlayersFieldNumber = 4;
    const ::agones::dev::sdk::GameServer_Status_PlayerStatus& players() const;
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* release_players();
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* mutable_players();
    void set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* players);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer.Status)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port > ports_;
    ::google::protobuf::internal::ArenaStringPtr state_;
    ::google::protobuf::internal::ArenaStringPtr address_;
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* players_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // -------------------------------------------------------------------
  
  class AGONES_EXPORT GameServer final :
      public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:agones.dev.sdk.GameServer) */ {
   public:
    GameServer();
    virtual ~GameServer();
  
    GameServer(const GameServer& from);
  
    inline GameServer& operator=(const GameServer& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    GameServer(GameServer&& from) noexcept
      : GameServer() {
      *this = ::std::move(from);
    }
  
    inline GameServer& operator=(GameServer&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor() {
      return default_instance().GetDescriptor();
    }
    static const GameServer& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const GameServer* internal_default_instance() {
      return reinterpret_cast<const GameServer*>(
                 &_GameServer_default_instance_);
    }
    static constexpr int kIndexInFileMessages =
      11;
  
    void Swap(GameServer* other);
    friend void swap(GameServer& a, GameServer& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline GameServer* New() const final {
      return CreateMaybeMessage<GameServer>(nullptr);
    }
  
    GameServer* New(::google::protobuf::Arena* arena) const final {
      return CreateMaybeMessage<GameServer>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message& from) final;
    void MergeFrom(const ::google::protobuf::Message& from) final;
    void CopyFrom(const GameServer& from);
    void MergeFrom(const GameServer& from);
    PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
    ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
    #else
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) final;
    #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const final;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        ::google::protobuf::uint8* target) const final;
    int GetCachedSize() const final { return _cached_size_.Get(); }
  
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(GameServer* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return nullptr;
    }
    inline void* MaybeArenaPtr() const {
      return nullptr;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    typedef GameServer_ObjectMeta ObjectMeta;
    typedef GameServer_Spec Spec;
    typedef GameServer_Status Status;
  
    // accessors -------------------------------------------------------
  
    // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
    bool has_object_meta() const;
    void clear_object_meta();
    static const int kObjectMetaFieldNumber = 1;
    const ::agones::dev::sdk::GameServer_ObjectMeta& object_meta() const;
    ::agones::dev::sdk::GameServer_ObjectMeta* release_object_meta();
    ::agones::dev::sdk::GameServer_ObjectMeta* mutable_object_meta();
    void set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* object_meta);
  
    // .agones.dev.sdk.GameServer.Spec spec = 2;
    bool has_spec() const;
    void clear_spec();
    static const int kSpecFieldNumber = 2;
    const ::agones::dev::sdk::GameServer_Spec& spec() const;
    ::agones::dev::sdk::GameServer_Spec* release_spec();
    ::agones::dev::sdk::GameServer_Spec* mutable_spec();
    void set_allocated_spec(::agones::dev::sdk::GameServer_Spec* spec);
  
    // .agones.dev.sdk.GameServer.Status status = 3;
    bool has_status() const;
    void clear_status();
    static const int kStatusFieldNumber = 3;
    const ::agones::dev::sdk::GameServer_Status& status() const;
    ::agones::dev::sdk::GameServer_Status* release_status();
    ::agones::dev::sdk::GameServer_Status* mutable_status();
    void set_allocated_status(::agones::dev::sdk::GameServer_Status* status);
  
    // @@protoc_insertion_point(class_scope:agones.dev.sdk.GameServer)
   private:
    class HasBitSetters;
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::agones::dev::sdk::GameServer_ObjectMeta* object_meta_;
    ::agones::dev::sdk::GameServer_Spec* spec_;
    ::agones::dev::sdk::GameServer_Status* status_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::TableStruct_sdk_2eproto;
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // Empty
  
  // -------------------------------------------------------------------
  
  // KeyValue
  
  // string key = 1;
  inline void KeyValue::clear_key() {
    key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& KeyValue::key() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.key)
    return key_.GetNoArena();
  }
  inline void KeyValue::set_key(const ::std::string& value) {
    
    key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.key)
  }
  #if LANG_CXX11
  inline void KeyValue::set_key(::std::string&& value) {
    
    key_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.KeyValue.key)
  }
  #endif
  inline void KeyValue::set_key(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.KeyValue.key)
  }
  inline void KeyValue::set_key(const char* value, size_t size) {
    
    key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.KeyValue.key)
  }
  inline ::std::string* KeyValue::mutable_key() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.key)
    return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* KeyValue::release_key() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.key)
    
    return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void KeyValue::set_allocated_key(::std::string* key) {
    if (key != nullptr) {
      
    } else {
      
    }
    key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.key)
  }
  
  // string value = 2;
  inline void KeyValue::clear_value() {
    value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& KeyValue::value() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.KeyValue.value)
    return value_.GetNoArena();
  }
  inline void KeyValue::set_value(const ::std::string& value) {
    
    value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.KeyValue.value)
  }
  #if LANG_CXX11
  inline void KeyValue::set_value(::std::string&& value) {
    
    value_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.KeyValue.value)
  }
  #endif
  inline void KeyValue::set_value(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.KeyValue.value)
  }
  inline void KeyValue::set_value(const char* value, size_t size) {
    
    value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.KeyValue.value)
  }
  inline ::std::string* KeyValue::mutable_value() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.KeyValue.value)
    return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* KeyValue::release_value() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.KeyValue.value)
    
    return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void KeyValue::set_allocated_value(::std::string* value) {
    if (value != nullptr) {
      
    } else {
      
    }
    value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.KeyValue.value)
  }
  
  // -------------------------------------------------------------------
  
  // Duration
  
  // int64 seconds = 1;
  inline void Duration::clear_seconds() {
    seconds_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 Duration::seconds() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.Duration.seconds)
    return seconds_;
  }
  inline void Duration::set_seconds(::google::protobuf::int64 value) {
    
    seconds_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.Duration.seconds)
  }
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // GameServer_ObjectMeta
  
  // string name = 1;
  inline void GameServer_ObjectMeta::clear_name() {
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_ObjectMeta::name() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.name)
    return name_.GetNoArena();
  }
  inline void GameServer_ObjectMeta::set_name(const ::std::string& value) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.name)
  }
  #if LANG_CXX11
  inline void GameServer_ObjectMeta::set_name(::std::string&& value) {
    
    name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.name)
  }
  #endif
  inline void GameServer_ObjectMeta::set_name(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.name)
  }
  inline void GameServer_ObjectMeta::set_name(const char* value, size_t size) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.name)
  }
  inline ::std::string* GameServer_ObjectMeta::mutable_name() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.name)
    return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_ObjectMeta::release_name() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.name)
    
    return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_ObjectMeta::set_allocated_name(::std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.name)
  }
  
  // string namespace = 2;
  inline void GameServer_ObjectMeta::clear_namespace_() {
    namespace__.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_ObjectMeta::namespace_() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.namespace)
    return namespace__.GetNoArena();
  }
  inline void GameServer_ObjectMeta::set_namespace_(const ::std::string& value) {
    
    namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  }
  #if LANG_CXX11
  inline void GameServer_ObjectMeta::set_namespace_(::std::string&& value) {
    
    namespace__.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  }
  #endif
  inline void GameServer_ObjectMeta::set_namespace_(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  }
  inline void GameServer_ObjectMeta::set_namespace_(const char* value, size_t size) {
    
    namespace__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  }
  inline ::std::string* GameServer_ObjectMeta::mutable_namespace_() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.namespace)
    return namespace__.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_ObjectMeta::release_namespace_() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.namespace)
    
    return namespace__.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_ObjectMeta::set_allocated_namespace_(::std::string* namespace_) {
    if (namespace_ != nullptr) {
      
    } else {
      
    }
    namespace__.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), namespace_);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.namespace)
  }
  
  // string uid = 3;
  inline void GameServer_ObjectMeta::clear_uid() {
    uid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_ObjectMeta::uid() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.uid)
    return uid_.GetNoArena();
  }
  inline void GameServer_ObjectMeta::set_uid(const ::std::string& value) {
    
    uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.uid)
  }
  #if LANG_CXX11
  inline void GameServer_ObjectMeta::set_uid(::std::string&& value) {
    
    uid_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.uid)
  }
  #endif
  inline void GameServer_ObjectMeta::set_uid(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.uid)
  }
  inline void GameServer_ObjectMeta::set_uid(const char* value, size_t size) {
    
    uid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.uid)
  }
  inline ::std::string* GameServer_ObjectMeta::mutable_uid() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.uid)
    return uid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_ObjectMeta::release_uid() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.uid)
    
    return uid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_ObjectMeta::set_allocated_uid(::std::string* uid) {
    if (uid != nullptr) {
      
    } else {
      
    }
    uid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), uid);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.uid)
  }
  
  // string resource_version = 4;
  inline void GameServer_ObjectMeta::clear_resource_version() {
    resource_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_ObjectMeta::resource_version() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
    return resource_version_.GetNoArena();
  }
  inline void GameServer_ObjectMeta::set_resource_version(const ::std::string& value) {
    
    resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  }
  #if LANG_CXX11
  inline void GameServer_ObjectMeta::set_resource_version(::std::string&& value) {
    
    resource_version_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  }
  #endif
  inline void GameServer_ObjectMeta::set_resource_version(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  }
  inline void GameServer_ObjectMeta::set_resource_version(const char* value, size_t size) {
    
    resource_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  }
  inline ::std::string* GameServer_ObjectMeta::mutable_resource_version() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
    return resource_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_ObjectMeta::release_resource_version() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
    
    return resource_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_ObjectMeta::set_allocated_resource_version(::std::string* resource_version) {
    if (resource_version != nullptr) {
      
    } else {
      
    }
    resource_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), resource_version);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.ObjectMeta.resource_version)
  }
  
  // int64 generation = 5;
  inline void GameServer_ObjectMeta::clear_generation() {
    generation_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 GameServer_ObjectMeta::generation() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.generation)
    return generation_;
  }
  inline void GameServer_ObjectMeta::set_generation(::google::protobuf::int64 value) {
    
    generation_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.generation)
  }
  
  // int64 creation_timestamp = 6;
  inline void GameServer_ObjectMeta::clear_creation_timestamp() {
    creation_timestamp_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 GameServer_ObjectMeta::creation_timestamp() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
    return creation_timestamp_;
  }
  inline void GameServer_ObjectMeta::set_creation_timestamp(::google::protobuf::int64 value) {
    
    creation_timestamp_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.creation_timestamp)
  }
  
  // int64 deletion_timestamp = 7;
  inline void GameServer_ObjectMeta::clear_deletion_timestamp() {
    deletion_timestamp_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 GameServer_ObjectMeta::deletion_timestamp() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
    return deletion_timestamp_;
  }
  inline void GameServer_ObjectMeta::set_deletion_timestamp(::google::protobuf::int64 value) {
    
    deletion_timestamp_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.ObjectMeta.deletion_timestamp)
  }
  
  // map<string, string> annotations = 8;
  inline int GameServer_ObjectMeta::annotations_size() const {
    return annotations_.size();
  }
  inline void GameServer_ObjectMeta::clear_annotations() {
    annotations_.Clear();
  }
  inline const ::google::protobuf::Map< ::std::string, ::std::string >&
  GameServer_ObjectMeta::annotations() const {
    // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
    return annotations_.GetMap();
  }
  inline ::google::protobuf::Map< ::std::string, ::std::string >*
  GameServer_ObjectMeta::mutable_annotations() {
    // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.annotations)
    return annotations_.MutableMap();
  }
  
  // map<string, string> labels = 9;
  inline int GameServer_ObjectMeta::labels_size() const {
    return labels_.size();
  }
  inline void GameServer_ObjectMeta::clear_labels() {
    labels_.Clear();
  }
  inline const ::google::protobuf::Map< ::std::string, ::std::string >&
  GameServer_ObjectMeta::labels() const {
    // @@protoc_insertion_point(field_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
    return labels_.GetMap();
  }
  inline ::google::protobuf::Map< ::std::string, ::std::string >*
  GameServer_ObjectMeta::mutable_labels() {
    // @@protoc_insertion_point(field_mutable_map:agones.dev.sdk.GameServer.ObjectMeta.labels)
    return labels_.MutableMap();
  }
  
  // -------------------------------------------------------------------
  
  // GameServer_Spec_Health
  
  // bool disabled = 1;
  inline void GameServer_Spec_Health::clear_disabled() {
    disabled_ = false;
  }
  inline bool GameServer_Spec_Health::disabled() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.disabled)
    return disabled_;
  }
  inline void GameServer_Spec_Health::set_disabled(bool value) {
    
    disabled_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.disabled)
  }
  
  // int32 period_seconds = 2;
  inline void GameServer_Spec_Health::clear_period_seconds() {
    period_seconds_ = 0;
  }
  inline ::google::protobuf::int32 GameServer_Spec_Health::period_seconds() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
    return period_seconds_;
  }
  inline void GameServer_Spec_Health::set_period_seconds(::google::protobuf::int32 value) {
    
    period_seconds_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.period_seconds)
  }
  
  // int32 failure_threshold = 3;
  inline void GameServer_Spec_Health::clear_failure_threshold() {
    failure_threshold_ = 0;
  }
  inline ::google::protobuf::int32 GameServer_Spec_Health::failure_threshold() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
    return failure_threshold_;
  }
  inline void GameServer_Spec_Health::set_failure_threshold(::google::protobuf::int32 value) {
    
    failure_threshold_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.failure_threshold)
  }
  
  // int32 initial_delay_seconds = 4;
  inline void GameServer_Spec_Health::clear_initial_delay_seconds() {
    initial_delay_seconds_ = 0;
  }
  inline ::google::protobuf::int32 GameServer_Spec_Health::initial_delay_seconds() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
    return initial_delay_seconds_;
  }
  inline void GameServer_Spec_Health::set_initial_delay_seconds(::google::protobuf::int32 value) {
    
    initial_delay_seconds_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Spec.Health.initial_delay_seconds)
  }
  
  // -------------------------------------------------------------------
  
  // GameServer_Spec
  
  // .agones.dev.sdk.GameServer.Spec.Health health = 1;
  inline bool GameServer_Spec::has_health() const {
    return this != internal_default_instance() && health_ != nullptr;
  }
  inline void GameServer_Spec::clear_health() {
    if (GetArenaNoVirtual() == nullptr && health_ != nullptr) {
      delete health_;
    }
    health_ = nullptr;
  }
  inline const ::agones::dev::sdk::GameServer_Spec_Health& GameServer_Spec::health() const {
    const ::agones::dev::sdk::GameServer_Spec_Health* p = health_;
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Spec.health)
    return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec_Health*>(
        &::agones::dev::sdk::_GameServer_Spec_Health_default_instance_);
  }
  inline ::agones::dev::sdk::GameServer_Spec_Health* GameServer_Spec::release_health() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Spec.health)
    
    ::agones::dev::sdk::GameServer_Spec_Health* temp = health_;
    health_ = nullptr;
    return temp;
  }
  inline ::agones::dev::sdk::GameServer_Spec_Health* GameServer_Spec::mutable_health() {
    
    if (health_ == nullptr) {
      auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec_Health>(GetArenaNoVirtual());
      health_ = p;
    }
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Spec.health)
    return health_;
  }
  inline void GameServer_Spec::set_allocated_health(::agones::dev::sdk::GameServer_Spec_Health* health) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == nullptr) {
      delete health_;
    }
    if (health) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        health = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, health, submessage_arena);
      }
      
    } else {
      
    }
    health_ = health;
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Spec.health)
  }
  
  // -------------------------------------------------------------------
  
  // GameServer_Status_Port
  
  // string name = 1;
  inline void GameServer_Status_Port::clear_name() {
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_Status_Port::name() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.name)
    return name_.GetNoArena();
  }
  inline void GameServer_Status_Port::set_name(const ::std::string& value) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.name)
  }
  #if LANG_CXX11
  inline void GameServer_Status_Port::set_name(::std::string&& value) {
    
    name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.Port.name)
  }
  #endif
  inline void GameServer_Status_Port::set_name(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.Port.name)
  }
  inline void GameServer_Status_Port::set_name(const char* value, size_t size) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.Port.name)
  }
  inline ::std::string* GameServer_Status_Port::mutable_name() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.Port.name)
    return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_Status_Port::release_name() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.Port.name)
    
    return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_Status_Port::set_allocated_name(::std::string* name) {
    if (name != nullptr) {
      
    } else {
      
    }
    name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.Port.name)
  }
  
  // int32 port = 2;
  inline void GameServer_Status_Port::clear_port() {
    port_ = 0;
  }
  inline ::google::protobuf::int32 GameServer_Status_Port::port() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.Port.port)
    return port_;
  }
  inline void GameServer_Status_Port::set_port(::google::protobuf::int32 value) {
    
    port_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.Port.port)
  }
  
  // -------------------------------------------------------------------
  
  // GameServer_Status_PlayerStatus
  
  // int64 count = 1;
  inline void GameServer_Status_PlayerStatus::clear_count() {
    count_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 GameServer_Status_PlayerStatus::count() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
    return count_;
  }
  inline void GameServer_Status_PlayerStatus::set_count(::google::protobuf::int64 value) {
    
    count_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.count)
  }
  
  // int64 capacity = 2;
  inline void GameServer_Status_PlayerStatus::clear_capacity() {
    capacity_ = PROTOBUF_LONGLONG(0);
  }
  inline ::google::protobuf::int64 GameServer_Status_PlayerStatus::capacity() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
    return capacity_;
  }
  inline void GameServer_Status_PlayerStatus::set_capacity(::google::protobuf::int64 value) {
    
    capacity_ = value;
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.capacity)
  }
  
  // repeated string ids = 3;
  inline int GameServer_Status_PlayerStatus::ids_size() const {
    return ids_.size();
  }
  inline void GameServer_Status_PlayerStatus::clear_ids() {
    ids_.Clear();
  }
  inline const ::std::string& GameServer_Status_PlayerStatus::ids(int index) const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    return ids_.Get(index);
  }
  inline ::std::string* GameServer_Status_PlayerStatus::mutable_ids(int index) {
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    return ids_.Mutable(index);
  }
  inline void GameServer_Status_PlayerStatus::set_ids(int index, const ::std::string& value) {
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    ids_.Mutable(index)->assign(value);
  }
  #if LANG_CXX11
  inline void GameServer_Status_PlayerStatus::set_ids(int index, ::std::string&& value) {
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    ids_.Mutable(index)->assign(std::move(value));
  }
  #endif
  inline void GameServer_Status_PlayerStatus::set_ids(int index, const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    ids_.Mutable(index)->assign(value);
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  inline void GameServer_Status_PlayerStatus::set_ids(int index, const char* value, size_t size) {
    ids_.Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  inline ::std::string* GameServer_Status_PlayerStatus::add_ids() {
    // @@protoc_insertion_point(field_add_mutable:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    return ids_.Add();
  }
  inline void GameServer_Status_PlayerStatus::add_ids(const ::std::string& value) {
    ids_.Add()->assign(value);
    // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  #if LANG_CXX11
  inline void GameServer_Status_PlayerStatus::add_ids(::std::string&& value) {
    ids_.Add(std::move(value));
    // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  #endif
  inline void GameServer_Status_PlayerStatus::add_ids(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    ids_.Add()->assign(value);
    // @@protoc_insertion_point(field_add_char:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  inline void GameServer_Status_PlayerStatus::add_ids(const char* value, size_t size) {
    ids_.Add()->assign(reinterpret_cast<const char*>(value), size);
    // @@protoc_insertion_point(field_add_pointer:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
  }
  inline const ::google::protobuf::RepeatedPtrField<::std::string>&
  GameServer_Status_PlayerStatus::ids() const {
    // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    return ids_;
  }
  inline ::google::protobuf::RepeatedPtrField<::std::string>*
  GameServer_Status_PlayerStatus::mutable_ids() {
    // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.PlayerStatus.ids)
    return &ids_;
  }
  
  // -------------------------------------------------------------------
  
  // GameServer_Status
  
  // string state = 1;
  inline void GameServer_Status::clear_state() {
    state_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_Status::state() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.state)
    return state_.GetNoArena();
  }
  inline void GameServer_Status::set_state(const ::std::string& value) {
    
    state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.state)
  }
  #if LANG_CXX11
  inline void GameServer_Status::set_state(::std::string&& value) {
    
    state_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.state)
  }
  #endif
  inline void GameServer_Status::set_state(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.state)
  }
  inline void GameServer_Status::set_state(const char* value, size_t size) {
    
    state_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.state)
  }
  inline ::std::string* GameServer_Status::mutable_state() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.state)
    return state_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_Status::release_state() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.state)
    
    return state_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_Status::set_allocated_state(::std::string* state) {
    if (state != nullptr) {
      
    } else {
      
    }
    state_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), state);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.state)
  }
  
  // string address = 2;
  inline void GameServer_Status::clear_address() {
    address_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& GameServer_Status::address() const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.address)
    return address_.GetNoArena();
  }
  inline void GameServer_Status::set_address(const ::std::string& value) {
    
    address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:agones.dev.sdk.GameServer.Status.address)
  }
  #if LANG_CXX11
  inline void GameServer_Status::set_address(::std::string&& value) {
    
    address_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:agones.dev.sdk.GameServer.Status.address)
  }
  #endif
  inline void GameServer_Status::set_address(const char* value) {
    GOOGLE_DCHECK(value != nullptr);
    
    address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:agones.dev.sdk.GameServer.Status.address)
  }
  inline void GameServer_Status::set_address(const char* value, size_t size) {
    
    address_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:agones.dev.sdk.GameServer.Status.address)
  }
  inline ::std::string* GameServer_Status::mutable_address() {
    
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.address)
    return address_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* GameServer_Status::release_address() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.address)
    
    return address_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void GameServer_Status::set_allocated_address(::std::string* address) {
    if (address != nullptr) {
      
    } else {
      
    }
    address_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), address);
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.address)
  }
  
  // repeated .agones.dev.sdk.GameServer.Status.Port ports = 3;
  inline int GameServer_Status::ports_size() const {
    return ports_.size();
  }
  inline void GameServer_Status::clear_ports() {
    ports_.Clear();
  }
  inline ::agones::dev::sdk::GameServer_Status_Port* GameServer_Status::mutable_ports(int index) {
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.ports)
    return ports_.Mutable(index);
  }
  inline ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >*
  GameServer_Status::mutable_ports() {
    // @@protoc_insertion_point(field_mutable_list:agones.dev.sdk.GameServer.Status.ports)
    return &ports_;
  }
  inline const ::agones::dev::sdk::GameServer_Status_Port& GameServer_Status::ports(int index) const {
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.ports)
    return ports_.Get(index);
  }
  inline ::agones::dev::sdk::GameServer_Status_Port* GameServer_Status::add_ports() {
    // @@protoc_insertion_point(field_add:agones.dev.sdk.GameServer.Status.ports)
    return ports_.Add();
  }
  inline const ::google::protobuf::RepeatedPtrField< ::agones::dev::sdk::GameServer_Status_Port >&
  GameServer_Status::ports() const {
    // @@protoc_insertion_point(field_list:agones.dev.sdk.GameServer.Status.ports)
    return ports_;
  }
  
  // .agones.dev.sdk.GameServer.Status.PlayerStatus players = 4;
  inline bool GameServer_Status::has_players() const {
    return this != internal_default_instance() && players_ != nullptr;
  }
  inline void GameServer_Status::clear_players() {
    if (GetArenaNoVirtual() == nullptr && players_ != nullptr) {
      delete players_;
    }
    players_ = nullptr;
  }
  inline const ::agones::dev::sdk::GameServer_Status_PlayerStatus& GameServer_Status::players() const {
    const ::agones::dev::sdk::GameServer_Status_PlayerStatus* p = players_;
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.Status.players)
    return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Status_PlayerStatus*>(
        &::agones::dev::sdk::_GameServer_Status_PlayerStatus_default_instance_);
  }
  inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* GameServer_Status::release_players() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.Status.players)
    
    ::agones::dev::sdk::GameServer_Status_PlayerStatus* temp = players_;
    players_ = nullptr;
    return temp;
  }
  inline ::agones::dev::sdk::GameServer_Status_PlayerStatus* GameServer_Status::mutable_players() {
    
    if (players_ == nullptr) {
      auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Status_PlayerStatus>(GetArenaNoVirtual());
      players_ = p;
    }
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.Status.players)
    return players_;
  }
  inline void GameServer_Status::set_allocated_players(::agones::dev::sdk::GameServer_Status_PlayerStatus* players) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == nullptr) {
      delete players_;
    }
    if (players) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        players = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, players, submessage_arena);
      }
      
    } else {
      
    }
    players_ = players;
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.Status.players)
  }
  
  // -------------------------------------------------------------------
  
  // GameServer
  
  // .agones.dev.sdk.GameServer.ObjectMeta object_meta = 1;
  inline bool GameServer::has_object_meta() const {
    return this != internal_default_instance() && object_meta_ != nullptr;
  }
  inline void GameServer::clear_object_meta() {
    if (GetArenaNoVirtual() == nullptr && object_meta_ != nullptr) {
      delete object_meta_;
    }
    object_meta_ = nullptr;
  }
  inline const ::agones::dev::sdk::GameServer_ObjectMeta& GameServer::object_meta() const {
    const ::agones::dev::sdk::GameServer_ObjectMeta* p = object_meta_;
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.object_meta)
    return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_ObjectMeta*>(
        &::agones::dev::sdk::_GameServer_ObjectMeta_default_instance_);
  }
  inline ::agones::dev::sdk::GameServer_ObjectMeta* GameServer::release_object_meta() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.object_meta)
    
    ::agones::dev::sdk::GameServer_ObjectMeta* temp = object_meta_;
    object_meta_ = nullptr;
    return temp;
  }
  inline ::agones::dev::sdk::GameServer_ObjectMeta* GameServer::mutable_object_meta() {
    
    if (object_meta_ == nullptr) {
      auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_ObjectMeta>(GetArenaNoVirtual());
      object_meta_ = p;
    }
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.object_meta)
    return object_meta_;
  }
  inline void GameServer::set_allocated_object_meta(::agones::dev::sdk::GameServer_ObjectMeta* object_meta) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == nullptr) {
      delete object_meta_;
    }
    if (object_meta) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        object_meta = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, object_meta, submessage_arena);
      }
      
    } else {
      
    }
    object_meta_ = object_meta;
    // @@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 {
    return this != internal_default_instance() && spec_ != nullptr;
  }
  inline void GameServer::clear_spec() {
    if (GetArenaNoVirtual() == nullptr && spec_ != nullptr) {
      delete spec_;
    }
    spec_ = nullptr;
  }
  inline const ::agones::dev::sdk::GameServer_Spec& GameServer::spec() const {
    const ::agones::dev::sdk::GameServer_Spec* p = spec_;
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.spec)
    return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Spec*>(
        &::agones::dev::sdk::_GameServer_Spec_default_instance_);
  }
  inline ::agones::dev::sdk::GameServer_Spec* GameServer::release_spec() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.spec)
    
    ::agones::dev::sdk::GameServer_Spec* temp = spec_;
    spec_ = nullptr;
    return temp;
  }
  inline ::agones::dev::sdk::GameServer_Spec* GameServer::mutable_spec() {
    
    if (spec_ == nullptr) {
      auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Spec>(GetArenaNoVirtual());
      spec_ = p;
    }
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.spec)
    return spec_;
  }
  inline void GameServer::set_allocated_spec(::agones::dev::sdk::GameServer_Spec* spec) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == nullptr) {
      delete spec_;
    }
    if (spec) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        spec = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, spec, submessage_arena);
      }
      
    } else {
      
    }
    spec_ = spec;
    // @@protoc_insertion_point(field_set_allocated:agones.dev.sdk.GameServer.spec)
  }
  
  // .agones.dev.sdk.GameServer.Status status = 3;
  inline bool GameServer::has_status() const {
    return this != internal_default_instance() && status_ != nullptr;
  }
  inline void GameServer::clear_status() {
    if (GetArenaNoVirtual() == nullptr && status_ != nullptr) {
      delete status_;
    }
    status_ = nullptr;
  }
  inline const ::agones::dev::sdk::GameServer_Status& GameServer::status() const {
    const ::agones::dev::sdk::GameServer_Status* p = status_;
    // @@protoc_insertion_point(field_get:agones.dev.sdk.GameServer.status)
    return p != nullptr ? *p : *reinterpret_cast<const ::agones::dev::sdk::GameServer_Status*>(
        &::agones::dev::sdk::_GameServer_Status_default_instance_);
  }
  inline ::agones::dev::sdk::GameServer_Status* GameServer::release_status() {
    // @@protoc_insertion_point(field_release:agones.dev.sdk.GameServer.status)
    
    ::agones::dev::sdk::GameServer_Status* temp = status_;
    status_ = nullptr;
    return temp;
  }
  inline ::agones::dev::sdk::GameServer_Status* GameServer::mutable_status() {
    
    if (status_ == nullptr) {
      auto* p = CreateMaybeMessage<::agones::dev::sdk::GameServer_Status>(GetArenaNoVirtual());
      status_ = p;
    }
    // @@protoc_insertion_point(field_mutable:agones.dev.sdk.GameServer.status)
    return status_;
  }
  inline void GameServer::set_allocated_status(::agones::dev::sdk::GameServer_Status* status) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == nullptr) {
      delete status_;
    }
    if (status) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        status = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, status, submessage_arena);
      }
      
    } else {
      
    }
    status_ = status;
    // @@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  // PROTOBUF_INCLUDED_sdk_2eproto
  