// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/bigtable/admin/v2/instance.proto

#ifndef PROTOBUF_INCLUDED_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto
#define PROTOBUF_INCLUDED_google_2fbigtable_2fadmin_2fv2_2finstance_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 3007001 < 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/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "google/api/annotations.pb.h"
#include "google/bigtable/admin/v2/common.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto

// Internal implementation detail -- do not use these members.
struct TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_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[6]
    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 AddDescriptors_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto();
namespace google {
namespace bigtable {
namespace admin {
namespace v2 {
class AppProfile;
class AppProfileDefaultTypeInternal;
extern AppProfileDefaultTypeInternal _AppProfile_default_instance_;
class AppProfile_MultiClusterRoutingUseAny;
class AppProfile_MultiClusterRoutingUseAnyDefaultTypeInternal;
extern AppProfile_MultiClusterRoutingUseAnyDefaultTypeInternal _AppProfile_MultiClusterRoutingUseAny_default_instance_;
class AppProfile_SingleClusterRouting;
class AppProfile_SingleClusterRoutingDefaultTypeInternal;
extern AppProfile_SingleClusterRoutingDefaultTypeInternal _AppProfile_SingleClusterRouting_default_instance_;
class Cluster;
class ClusterDefaultTypeInternal;
extern ClusterDefaultTypeInternal _Cluster_default_instance_;
class Instance;
class InstanceDefaultTypeInternal;
extern InstanceDefaultTypeInternal _Instance_default_instance_;
class Instance_LabelsEntry_DoNotUse;
class Instance_LabelsEntry_DoNotUseDefaultTypeInternal;
extern Instance_LabelsEntry_DoNotUseDefaultTypeInternal _Instance_LabelsEntry_DoNotUse_default_instance_;
}  // namespace v2
}  // namespace admin
}  // namespace bigtable
namespace protobuf {
template<> ::google::bigtable::admin::v2::AppProfile* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::AppProfile>(Arena*);
template<> ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny>(Arena*);
template<> ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::AppProfile_SingleClusterRouting>(Arena*);
template<> ::google::bigtable::admin::v2::Cluster* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::Cluster>(Arena*);
template<> ::google::bigtable::admin::v2::Instance* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::Instance>(Arena*);
template<> ::google::bigtable::admin::v2::Instance_LabelsEntry_DoNotUse* Arena::CreateMaybeMessage<::google::bigtable::admin::v2::Instance_LabelsEntry_DoNotUse>(Arena*);
}  // namespace protobuf
}  // namespace google
namespace google {
namespace bigtable {
namespace admin {
namespace v2 {

enum Instance_State {
  Instance_State_STATE_NOT_KNOWN = 0,
  Instance_State_READY = 1,
  Instance_State_CREATING = 2,
  Instance_State_Instance_State_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
  Instance_State_Instance_State_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
};
bool Instance_State_IsValid(int value);
const Instance_State Instance_State_State_MIN = Instance_State_STATE_NOT_KNOWN;
const Instance_State Instance_State_State_MAX = Instance_State_CREATING;
const int Instance_State_State_ARRAYSIZE = Instance_State_State_MAX + 1;

const ::google::protobuf::EnumDescriptor* Instance_State_descriptor();
inline const ::std::string& Instance_State_Name(Instance_State value) {
  return ::google::protobuf::internal::NameOfEnum(
    Instance_State_descriptor(), value);
}
inline bool Instance_State_Parse(
    const ::std::string& name, Instance_State* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Instance_State>(
    Instance_State_descriptor(), name, value);
}
enum Instance_Type {
  Instance_Type_TYPE_UNSPECIFIED = 0,
  Instance_Type_PRODUCTION = 1,
  Instance_Type_DEVELOPMENT = 2,
  Instance_Type_Instance_Type_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
  Instance_Type_Instance_Type_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
};
bool Instance_Type_IsValid(int value);
const Instance_Type Instance_Type_Type_MIN = Instance_Type_TYPE_UNSPECIFIED;
const Instance_Type Instance_Type_Type_MAX = Instance_Type_DEVELOPMENT;
const int Instance_Type_Type_ARRAYSIZE = Instance_Type_Type_MAX + 1;

const ::google::protobuf::EnumDescriptor* Instance_Type_descriptor();
inline const ::std::string& Instance_Type_Name(Instance_Type value) {
  return ::google::protobuf::internal::NameOfEnum(
    Instance_Type_descriptor(), value);
}
inline bool Instance_Type_Parse(
    const ::std::string& name, Instance_Type* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Instance_Type>(
    Instance_Type_descriptor(), name, value);
}
enum Cluster_State {
  Cluster_State_STATE_NOT_KNOWN = 0,
  Cluster_State_READY = 1,
  Cluster_State_CREATING = 2,
  Cluster_State_RESIZING = 3,
  Cluster_State_DISABLED = 4,
  Cluster_State_Cluster_State_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
  Cluster_State_Cluster_State_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
};
bool Cluster_State_IsValid(int value);
const Cluster_State Cluster_State_State_MIN = Cluster_State_STATE_NOT_KNOWN;
const Cluster_State Cluster_State_State_MAX = Cluster_State_DISABLED;
const int Cluster_State_State_ARRAYSIZE = Cluster_State_State_MAX + 1;

const ::google::protobuf::EnumDescriptor* Cluster_State_descriptor();
inline const ::std::string& Cluster_State_Name(Cluster_State value) {
  return ::google::protobuf::internal::NameOfEnum(
    Cluster_State_descriptor(), value);
}
inline bool Cluster_State_Parse(
    const ::std::string& name, Cluster_State* value) {
  return ::google::protobuf::internal::ParseNamedEnum<Cluster_State>(
    Cluster_State_descriptor(), name, value);
}
// ===================================================================

class Instance_LabelsEntry_DoNotUse : public ::google::protobuf::internal::MapEntry<Instance_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<Instance_LabelsEntry_DoNotUse, 
    ::std::string, ::std::string,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
    0 > SuperType;
  Instance_LabelsEntry_DoNotUse();
  Instance_LabelsEntry_DoNotUse(::google::protobuf::Arena* arena);
  void MergeFrom(const Instance_LabelsEntry_DoNotUse& other);
  static const Instance_LabelsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const Instance_LabelsEntry_DoNotUse*>(&_Instance_LabelsEntry_DoNotUse_default_instance_); }
  void MergeFrom(const ::google::protobuf::Message& other) final;
  ::google::protobuf::Metadata GetMetadata() const;
};

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

class Instance :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.bigtable.admin.v2.Instance) */ {
 public:
  Instance();
  virtual ~Instance();

  Instance(const Instance& from);

  inline Instance& operator=(const Instance& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Instance(Instance&& from) noexcept
    : Instance() {
    *this = ::std::move(from);
  }

  inline Instance& operator=(Instance&& 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 Instance& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Instance* internal_default_instance() {
    return reinterpret_cast<const Instance*>(
               &_Instance_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  void Swap(Instance* other);
  friend void swap(Instance& a, Instance& b) {
    a.Swap(&b);
  }

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

  inline Instance* New() const final {
    return CreateMaybeMessage<Instance>(nullptr);
  }

  Instance* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<Instance>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const Instance& from);
  void MergeFrom(const Instance& 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(Instance* 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 Instance_State State;
  static const State STATE_NOT_KNOWN =
    Instance_State_STATE_NOT_KNOWN;
  static const State READY =
    Instance_State_READY;
  static const State CREATING =
    Instance_State_CREATING;
  static inline bool State_IsValid(int value) {
    return Instance_State_IsValid(value);
  }
  static const State State_MIN =
    Instance_State_State_MIN;
  static const State State_MAX =
    Instance_State_State_MAX;
  static const int State_ARRAYSIZE =
    Instance_State_State_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  State_descriptor() {
    return Instance_State_descriptor();
  }
  static inline const ::std::string& State_Name(State value) {
    return Instance_State_Name(value);
  }
  static inline bool State_Parse(const ::std::string& name,
      State* value) {
    return Instance_State_Parse(name, value);
  }

  typedef Instance_Type Type;
  static const Type TYPE_UNSPECIFIED =
    Instance_Type_TYPE_UNSPECIFIED;
  static const Type PRODUCTION =
    Instance_Type_PRODUCTION;
  static const Type DEVELOPMENT =
    Instance_Type_DEVELOPMENT;
  static inline bool Type_IsValid(int value) {
    return Instance_Type_IsValid(value);
  }
  static const Type Type_MIN =
    Instance_Type_Type_MIN;
  static const Type Type_MAX =
    Instance_Type_Type_MAX;
  static const int Type_ARRAYSIZE =
    Instance_Type_Type_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  Type_descriptor() {
    return Instance_Type_descriptor();
  }
  static inline const ::std::string& Type_Name(Type value) {
    return Instance_Type_Name(value);
  }
  static inline bool Type_Parse(const ::std::string& name,
      Type* value) {
    return Instance_Type_Parse(name, value);
  }

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

  // map<string, string> labels = 5;
  int labels_size() const;
  void clear_labels();
  static const int kLabelsFieldNumber = 5;
  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 display_name = 2;
  void clear_display_name();
  static const int kDisplayNameFieldNumber = 2;
  const ::std::string& display_name() const;
  void set_display_name(const ::std::string& value);
  #if LANG_CXX11
  void set_display_name(::std::string&& value);
  #endif
  void set_display_name(const char* value);
  void set_display_name(const char* value, size_t size);
  ::std::string* mutable_display_name();
  ::std::string* release_display_name();
  void set_allocated_display_name(::std::string* display_name);

  // .google.bigtable.admin.v2.Instance.State state = 3;
  void clear_state();
  static const int kStateFieldNumber = 3;
  ::google::bigtable::admin::v2::Instance_State state() const;
  void set_state(::google::bigtable::admin::v2::Instance_State value);

  // .google.bigtable.admin.v2.Instance.Type type = 4;
  void clear_type();
  static const int kTypeFieldNumber = 4;
  ::google::bigtable::admin::v2::Instance_Type type() const;
  void set_type(::google::bigtable::admin::v2::Instance_Type value);

  // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Instance)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::MapField<
      Instance_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 display_name_;
  int state_;
  int type_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto;
};
// -------------------------------------------------------------------

class Cluster :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.bigtable.admin.v2.Cluster) */ {
 public:
  Cluster();
  virtual ~Cluster();

  Cluster(const Cluster& from);

  inline Cluster& operator=(const Cluster& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Cluster(Cluster&& from) noexcept
    : Cluster() {
    *this = ::std::move(from);
  }

  inline Cluster& operator=(Cluster&& 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 Cluster& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Cluster* internal_default_instance() {
    return reinterpret_cast<const Cluster*>(
               &_Cluster_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  void Swap(Cluster* other);
  friend void swap(Cluster& a, Cluster& b) {
    a.Swap(&b);
  }

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

  inline Cluster* New() const final {
    return CreateMaybeMessage<Cluster>(nullptr);
  }

  Cluster* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<Cluster>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const Cluster& from);
  void MergeFrom(const Cluster& 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(Cluster* 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 Cluster_State State;
  static const State STATE_NOT_KNOWN =
    Cluster_State_STATE_NOT_KNOWN;
  static const State READY =
    Cluster_State_READY;
  static const State CREATING =
    Cluster_State_CREATING;
  static const State RESIZING =
    Cluster_State_RESIZING;
  static const State DISABLED =
    Cluster_State_DISABLED;
  static inline bool State_IsValid(int value) {
    return Cluster_State_IsValid(value);
  }
  static const State State_MIN =
    Cluster_State_State_MIN;
  static const State State_MAX =
    Cluster_State_State_MAX;
  static const int State_ARRAYSIZE =
    Cluster_State_State_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor*
  State_descriptor() {
    return Cluster_State_descriptor();
  }
  static inline const ::std::string& State_Name(State value) {
    return Cluster_State_Name(value);
  }
  static inline bool State_Parse(const ::std::string& name,
      State* value) {
    return Cluster_State_Parse(name, value);
  }

  // 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);

  // string location = 2;
  void clear_location();
  static const int kLocationFieldNumber = 2;
  const ::std::string& location() const;
  void set_location(const ::std::string& value);
  #if LANG_CXX11
  void set_location(::std::string&& value);
  #endif
  void set_location(const char* value);
  void set_location(const char* value, size_t size);
  ::std::string* mutable_location();
  ::std::string* release_location();
  void set_allocated_location(::std::string* location);

  // .google.bigtable.admin.v2.Cluster.State state = 3;
  void clear_state();
  static const int kStateFieldNumber = 3;
  ::google::bigtable::admin::v2::Cluster_State state() const;
  void set_state(::google::bigtable::admin::v2::Cluster_State value);

  // int32 serve_nodes = 4;
  void clear_serve_nodes();
  static const int kServeNodesFieldNumber = 4;
  ::google::protobuf::int32 serve_nodes() const;
  void set_serve_nodes(::google::protobuf::int32 value);

  // .google.bigtable.admin.v2.StorageType default_storage_type = 5;
  void clear_default_storage_type();
  static const int kDefaultStorageTypeFieldNumber = 5;
  ::google::bigtable::admin::v2::StorageType default_storage_type() const;
  void set_default_storage_type(::google::bigtable::admin::v2::StorageType value);

  // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Cluster)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  ::google::protobuf::internal::ArenaStringPtr location_;
  int state_;
  ::google::protobuf::int32 serve_nodes_;
  int default_storage_type_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto;
};
// -------------------------------------------------------------------

class AppProfile_MultiClusterRoutingUseAny :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny) */ {
 public:
  AppProfile_MultiClusterRoutingUseAny();
  virtual ~AppProfile_MultiClusterRoutingUseAny();

  AppProfile_MultiClusterRoutingUseAny(const AppProfile_MultiClusterRoutingUseAny& from);

  inline AppProfile_MultiClusterRoutingUseAny& operator=(const AppProfile_MultiClusterRoutingUseAny& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  AppProfile_MultiClusterRoutingUseAny(AppProfile_MultiClusterRoutingUseAny&& from) noexcept
    : AppProfile_MultiClusterRoutingUseAny() {
    *this = ::std::move(from);
  }

  inline AppProfile_MultiClusterRoutingUseAny& operator=(AppProfile_MultiClusterRoutingUseAny&& 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 AppProfile_MultiClusterRoutingUseAny& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AppProfile_MultiClusterRoutingUseAny* internal_default_instance() {
    return reinterpret_cast<const AppProfile_MultiClusterRoutingUseAny*>(
               &_AppProfile_MultiClusterRoutingUseAny_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  void Swap(AppProfile_MultiClusterRoutingUseAny* other);
  friend void swap(AppProfile_MultiClusterRoutingUseAny& a, AppProfile_MultiClusterRoutingUseAny& b) {
    a.Swap(&b);
  }

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

  inline AppProfile_MultiClusterRoutingUseAny* New() const final {
    return CreateMaybeMessage<AppProfile_MultiClusterRoutingUseAny>(nullptr);
  }

  AppProfile_MultiClusterRoutingUseAny* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<AppProfile_MultiClusterRoutingUseAny>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const AppProfile_MultiClusterRoutingUseAny& from);
  void MergeFrom(const AppProfile_MultiClusterRoutingUseAny& 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(AppProfile_MultiClusterRoutingUseAny* 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:google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto;
};
// -------------------------------------------------------------------

class AppProfile_SingleClusterRouting :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.bigtable.admin.v2.AppProfile.SingleClusterRouting) */ {
 public:
  AppProfile_SingleClusterRouting();
  virtual ~AppProfile_SingleClusterRouting();

  AppProfile_SingleClusterRouting(const AppProfile_SingleClusterRouting& from);

  inline AppProfile_SingleClusterRouting& operator=(const AppProfile_SingleClusterRouting& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  AppProfile_SingleClusterRouting(AppProfile_SingleClusterRouting&& from) noexcept
    : AppProfile_SingleClusterRouting() {
    *this = ::std::move(from);
  }

  inline AppProfile_SingleClusterRouting& operator=(AppProfile_SingleClusterRouting&& 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 AppProfile_SingleClusterRouting& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AppProfile_SingleClusterRouting* internal_default_instance() {
    return reinterpret_cast<const AppProfile_SingleClusterRouting*>(
               &_AppProfile_SingleClusterRouting_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  void Swap(AppProfile_SingleClusterRouting* other);
  friend void swap(AppProfile_SingleClusterRouting& a, AppProfile_SingleClusterRouting& b) {
    a.Swap(&b);
  }

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

  inline AppProfile_SingleClusterRouting* New() const final {
    return CreateMaybeMessage<AppProfile_SingleClusterRouting>(nullptr);
  }

  AppProfile_SingleClusterRouting* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<AppProfile_SingleClusterRouting>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const AppProfile_SingleClusterRouting& from);
  void MergeFrom(const AppProfile_SingleClusterRouting& 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(AppProfile_SingleClusterRouting* 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 cluster_id = 1;
  void clear_cluster_id();
  static const int kClusterIdFieldNumber = 1;
  const ::std::string& cluster_id() const;
  void set_cluster_id(const ::std::string& value);
  #if LANG_CXX11
  void set_cluster_id(::std::string&& value);
  #endif
  void set_cluster_id(const char* value);
  void set_cluster_id(const char* value, size_t size);
  ::std::string* mutable_cluster_id();
  ::std::string* release_cluster_id();
  void set_allocated_cluster_id(::std::string* cluster_id);

  // bool allow_transactional_writes = 2;
  void clear_allow_transactional_writes();
  static const int kAllowTransactionalWritesFieldNumber = 2;
  bool allow_transactional_writes() const;
  void set_allow_transactional_writes(bool value);

  // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.AppProfile.SingleClusterRouting)
 private:
  class HasBitSetters;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr cluster_id_;
  bool allow_transactional_writes_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto;
};
// -------------------------------------------------------------------

class AppProfile :
    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.bigtable.admin.v2.AppProfile) */ {
 public:
  AppProfile();
  virtual ~AppProfile();

  AppProfile(const AppProfile& from);

  inline AppProfile& operator=(const AppProfile& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  AppProfile(AppProfile&& from) noexcept
    : AppProfile() {
    *this = ::std::move(from);
  }

  inline AppProfile& operator=(AppProfile&& 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 AppProfile& default_instance();

  enum RoutingPolicyCase {
    kMultiClusterRoutingUseAny = 5,
    kSingleClusterRouting = 6,
    ROUTING_POLICY_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AppProfile* internal_default_instance() {
    return reinterpret_cast<const AppProfile*>(
               &_AppProfile_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  void Swap(AppProfile* other);
  friend void swap(AppProfile& a, AppProfile& b) {
    a.Swap(&b);
  }

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

  inline AppProfile* New() const final {
    return CreateMaybeMessage<AppProfile>(nullptr);
  }

  AppProfile* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<AppProfile>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const AppProfile& from);
  void MergeFrom(const AppProfile& 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(AppProfile* 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 AppProfile_MultiClusterRoutingUseAny MultiClusterRoutingUseAny;
  typedef AppProfile_SingleClusterRouting SingleClusterRouting;

  // 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);

  // string etag = 2;
  void clear_etag();
  static const int kEtagFieldNumber = 2;
  const ::std::string& etag() const;
  void set_etag(const ::std::string& value);
  #if LANG_CXX11
  void set_etag(::std::string&& value);
  #endif
  void set_etag(const char* value);
  void set_etag(const char* value, size_t size);
  ::std::string* mutable_etag();
  ::std::string* release_etag();
  void set_allocated_etag(::std::string* etag);

  // string description = 3;
  void clear_description();
  static const int kDescriptionFieldNumber = 3;
  const ::std::string& description() const;
  void set_description(const ::std::string& value);
  #if LANG_CXX11
  void set_description(::std::string&& value);
  #endif
  void set_description(const char* value);
  void set_description(const char* value, size_t size);
  ::std::string* mutable_description();
  ::std::string* release_description();
  void set_allocated_description(::std::string* description);

  // .google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny multi_cluster_routing_use_any = 5;
  bool has_multi_cluster_routing_use_any() const;
  void clear_multi_cluster_routing_use_any();
  static const int kMultiClusterRoutingUseAnyFieldNumber = 5;
  const ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny& multi_cluster_routing_use_any() const;
  ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* release_multi_cluster_routing_use_any();
  ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* mutable_multi_cluster_routing_use_any();
  void set_allocated_multi_cluster_routing_use_any(::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* multi_cluster_routing_use_any);

  // .google.bigtable.admin.v2.AppProfile.SingleClusterRouting single_cluster_routing = 6;
  bool has_single_cluster_routing() const;
  void clear_single_cluster_routing();
  static const int kSingleClusterRoutingFieldNumber = 6;
  const ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting& single_cluster_routing() const;
  ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* release_single_cluster_routing();
  ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* mutable_single_cluster_routing();
  void set_allocated_single_cluster_routing(::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* single_cluster_routing);

  void clear_routing_policy();
  RoutingPolicyCase routing_policy_case() const;
  // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.AppProfile)
 private:
  class HasBitSetters;
  void set_has_multi_cluster_routing_use_any();
  void set_has_single_cluster_routing();

  inline bool has_routing_policy() const;
  inline void clear_has_routing_policy();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  ::google::protobuf::internal::ArenaStringPtr etag_;
  ::google::protobuf::internal::ArenaStringPtr description_;
  union RoutingPolicyUnion {
    RoutingPolicyUnion() {}
    ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* multi_cluster_routing_use_any_;
    ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* single_cluster_routing_;
  } routing_policy_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::uint32 _oneof_case_[1];

  friend struct ::TableStruct_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto;
};
// ===================================================================


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

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

// Instance

// string name = 1;
inline void Instance::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& Instance::name() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Instance.name)
  return name_.GetNoArena();
}
inline void Instance::set_name(const ::std::string& value) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Instance.name)
}
#if LANG_CXX11
inline void Instance::set_name(::std::string&& value) {
  
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.Instance.name)
}
#endif
inline void Instance::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.Instance.name)
}
inline void Instance::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:google.bigtable.admin.v2.Instance.name)
}
inline ::std::string* Instance::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.Instance.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Instance::release_name() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.Instance.name)
  
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Instance::set_allocated_name(::std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.Instance.name)
}

// string display_name = 2;
inline void Instance::clear_display_name() {
  display_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& Instance::display_name() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Instance.display_name)
  return display_name_.GetNoArena();
}
inline void Instance::set_display_name(const ::std::string& value) {
  
  display_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Instance.display_name)
}
#if LANG_CXX11
inline void Instance::set_display_name(::std::string&& value) {
  
  display_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.Instance.display_name)
}
#endif
inline void Instance::set_display_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  display_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.Instance.display_name)
}
inline void Instance::set_display_name(const char* value, size_t size) {
  
  display_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.bigtable.admin.v2.Instance.display_name)
}
inline ::std::string* Instance::mutable_display_name() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.Instance.display_name)
  return display_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Instance::release_display_name() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.Instance.display_name)
  
  return display_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Instance::set_allocated_display_name(::std::string* display_name) {
  if (display_name != nullptr) {
    
  } else {
    
  }
  display_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), display_name);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.Instance.display_name)
}

// .google.bigtable.admin.v2.Instance.State state = 3;
inline void Instance::clear_state() {
  state_ = 0;
}
inline ::google::bigtable::admin::v2::Instance_State Instance::state() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Instance.state)
  return static_cast< ::google::bigtable::admin::v2::Instance_State >(state_);
}
inline void Instance::set_state(::google::bigtable::admin::v2::Instance_State value) {
  
  state_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Instance.state)
}

// .google.bigtable.admin.v2.Instance.Type type = 4;
inline void Instance::clear_type() {
  type_ = 0;
}
inline ::google::bigtable::admin::v2::Instance_Type Instance::type() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Instance.type)
  return static_cast< ::google::bigtable::admin::v2::Instance_Type >(type_);
}
inline void Instance::set_type(::google::bigtable::admin::v2::Instance_Type value) {
  
  type_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Instance.type)
}

// map<string, string> labels = 5;
inline int Instance::labels_size() const {
  return labels_.size();
}
inline void Instance::clear_labels() {
  labels_.Clear();
}
inline const ::google::protobuf::Map< ::std::string, ::std::string >&
Instance::labels() const {
  // @@protoc_insertion_point(field_map:google.bigtable.admin.v2.Instance.labels)
  return labels_.GetMap();
}
inline ::google::protobuf::Map< ::std::string, ::std::string >*
Instance::mutable_labels() {
  // @@protoc_insertion_point(field_mutable_map:google.bigtable.admin.v2.Instance.labels)
  return labels_.MutableMap();
}

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

// Cluster

// string name = 1;
inline void Cluster::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& Cluster::name() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Cluster.name)
  return name_.GetNoArena();
}
inline void Cluster::set_name(const ::std::string& value) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Cluster.name)
}
#if LANG_CXX11
inline void Cluster::set_name(::std::string&& value) {
  
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.Cluster.name)
}
#endif
inline void Cluster::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.Cluster.name)
}
inline void Cluster::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:google.bigtable.admin.v2.Cluster.name)
}
inline ::std::string* Cluster::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.Cluster.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Cluster::release_name() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.Cluster.name)
  
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Cluster::set_allocated_name(::std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.Cluster.name)
}

// string location = 2;
inline void Cluster::clear_location() {
  location_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& Cluster::location() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Cluster.location)
  return location_.GetNoArena();
}
inline void Cluster::set_location(const ::std::string& value) {
  
  location_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Cluster.location)
}
#if LANG_CXX11
inline void Cluster::set_location(::std::string&& value) {
  
  location_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.Cluster.location)
}
#endif
inline void Cluster::set_location(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  location_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.Cluster.location)
}
inline void Cluster::set_location(const char* value, size_t size) {
  
  location_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.bigtable.admin.v2.Cluster.location)
}
inline ::std::string* Cluster::mutable_location() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.Cluster.location)
  return location_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Cluster::release_location() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.Cluster.location)
  
  return location_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void Cluster::set_allocated_location(::std::string* location) {
  if (location != nullptr) {
    
  } else {
    
  }
  location_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), location);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.Cluster.location)
}

// .google.bigtable.admin.v2.Cluster.State state = 3;
inline void Cluster::clear_state() {
  state_ = 0;
}
inline ::google::bigtable::admin::v2::Cluster_State Cluster::state() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Cluster.state)
  return static_cast< ::google::bigtable::admin::v2::Cluster_State >(state_);
}
inline void Cluster::set_state(::google::bigtable::admin::v2::Cluster_State value) {
  
  state_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Cluster.state)
}

// int32 serve_nodes = 4;
inline void Cluster::clear_serve_nodes() {
  serve_nodes_ = 0;
}
inline ::google::protobuf::int32 Cluster::serve_nodes() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Cluster.serve_nodes)
  return serve_nodes_;
}
inline void Cluster::set_serve_nodes(::google::protobuf::int32 value) {
  
  serve_nodes_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Cluster.serve_nodes)
}

// .google.bigtable.admin.v2.StorageType default_storage_type = 5;
inline void Cluster::clear_default_storage_type() {
  default_storage_type_ = 0;
}
inline ::google::bigtable::admin::v2::StorageType Cluster::default_storage_type() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.Cluster.default_storage_type)
  return static_cast< ::google::bigtable::admin::v2::StorageType >(default_storage_type_);
}
inline void Cluster::set_default_storage_type(::google::bigtable::admin::v2::StorageType value) {
  
  default_storage_type_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.Cluster.default_storage_type)
}

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

// AppProfile_MultiClusterRoutingUseAny

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

// AppProfile_SingleClusterRouting

// string cluster_id = 1;
inline void AppProfile_SingleClusterRouting::clear_cluster_id() {
  cluster_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& AppProfile_SingleClusterRouting::cluster_id() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
  return cluster_id_.GetNoArena();
}
inline void AppProfile_SingleClusterRouting::set_cluster_id(const ::std::string& value) {
  
  cluster_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
}
#if LANG_CXX11
inline void AppProfile_SingleClusterRouting::set_cluster_id(::std::string&& value) {
  
  cluster_id_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
}
#endif
inline void AppProfile_SingleClusterRouting::set_cluster_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  cluster_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
}
inline void AppProfile_SingleClusterRouting::set_cluster_id(const char* value, size_t size) {
  
  cluster_id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
}
inline ::std::string* AppProfile_SingleClusterRouting::mutable_cluster_id() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
  return cluster_id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* AppProfile_SingleClusterRouting::release_cluster_id() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
  
  return cluster_id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void AppProfile_SingleClusterRouting::set_allocated_cluster_id(::std::string* cluster_id) {
  if (cluster_id != nullptr) {
    
  } else {
    
  }
  cluster_id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cluster_id);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.cluster_id)
}

// bool allow_transactional_writes = 2;
inline void AppProfile_SingleClusterRouting::clear_allow_transactional_writes() {
  allow_transactional_writes_ = false;
}
inline bool AppProfile_SingleClusterRouting::allow_transactional_writes() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.allow_transactional_writes)
  return allow_transactional_writes_;
}
inline void AppProfile_SingleClusterRouting::set_allow_transactional_writes(bool value) {
  
  allow_transactional_writes_ = value;
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.AppProfile.SingleClusterRouting.allow_transactional_writes)
}

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

// AppProfile

// string name = 1;
inline void AppProfile::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& AppProfile::name() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.name)
  return name_.GetNoArena();
}
inline void AppProfile::set_name(const ::std::string& value) {
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.AppProfile.name)
}
#if LANG_CXX11
inline void AppProfile::set_name(::std::string&& value) {
  
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.AppProfile.name)
}
#endif
inline void AppProfile::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.AppProfile.name)
}
inline void AppProfile::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:google.bigtable.admin.v2.AppProfile.name)
}
inline ::std::string* AppProfile::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* AppProfile::release_name() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.name)
  
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void AppProfile::set_allocated_name(::std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.AppProfile.name)
}

// string etag = 2;
inline void AppProfile::clear_etag() {
  etag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& AppProfile::etag() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.etag)
  return etag_.GetNoArena();
}
inline void AppProfile::set_etag(const ::std::string& value) {
  
  etag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.AppProfile.etag)
}
#if LANG_CXX11
inline void AppProfile::set_etag(::std::string&& value) {
  
  etag_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.AppProfile.etag)
}
#endif
inline void AppProfile::set_etag(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  etag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.AppProfile.etag)
}
inline void AppProfile::set_etag(const char* value, size_t size) {
  
  etag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.bigtable.admin.v2.AppProfile.etag)
}
inline ::std::string* AppProfile::mutable_etag() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.etag)
  return etag_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* AppProfile::release_etag() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.etag)
  
  return etag_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void AppProfile::set_allocated_etag(::std::string* etag) {
  if (etag != nullptr) {
    
  } else {
    
  }
  etag_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), etag);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.AppProfile.etag)
}

// string description = 3;
inline void AppProfile::clear_description() {
  description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& AppProfile::description() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.description)
  return description_.GetNoArena();
}
inline void AppProfile::set_description(const ::std::string& value) {
  
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:google.bigtable.admin.v2.AppProfile.description)
}
#if LANG_CXX11
inline void AppProfile::set_description(::std::string&& value) {
  
  description_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:google.bigtable.admin.v2.AppProfile.description)
}
#endif
inline void AppProfile::set_description(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:google.bigtable.admin.v2.AppProfile.description)
}
inline void AppProfile::set_description(const char* value, size_t size) {
  
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:google.bigtable.admin.v2.AppProfile.description)
}
inline ::std::string* AppProfile::mutable_description() {
  
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.description)
  return description_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* AppProfile::release_description() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.description)
  
  return description_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void AppProfile::set_allocated_description(::std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:google.bigtable.admin.v2.AppProfile.description)
}

// .google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny multi_cluster_routing_use_any = 5;
inline bool AppProfile::has_multi_cluster_routing_use_any() const {
  return routing_policy_case() == kMultiClusterRoutingUseAny;
}
inline void AppProfile::set_has_multi_cluster_routing_use_any() {
  _oneof_case_[0] = kMultiClusterRoutingUseAny;
}
inline void AppProfile::clear_multi_cluster_routing_use_any() {
  if (has_multi_cluster_routing_use_any()) {
    delete routing_policy_.multi_cluster_routing_use_any_;
    clear_has_routing_policy();
  }
}
inline ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* AppProfile::release_multi_cluster_routing_use_any() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.multi_cluster_routing_use_any)
  if (has_multi_cluster_routing_use_any()) {
    clear_has_routing_policy();
      ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* temp = routing_policy_.multi_cluster_routing_use_any_;
    routing_policy_.multi_cluster_routing_use_any_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny& AppProfile::multi_cluster_routing_use_any() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.multi_cluster_routing_use_any)
  return has_multi_cluster_routing_use_any()
      ? *routing_policy_.multi_cluster_routing_use_any_
      : *reinterpret_cast< ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny*>(&::google::bigtable::admin::v2::_AppProfile_MultiClusterRoutingUseAny_default_instance_);
}
inline ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny* AppProfile::mutable_multi_cluster_routing_use_any() {
  if (!has_multi_cluster_routing_use_any()) {
    clear_routing_policy();
    set_has_multi_cluster_routing_use_any();
    routing_policy_.multi_cluster_routing_use_any_ = CreateMaybeMessage< ::google::bigtable::admin::v2::AppProfile_MultiClusterRoutingUseAny >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.multi_cluster_routing_use_any)
  return routing_policy_.multi_cluster_routing_use_any_;
}

// .google.bigtable.admin.v2.AppProfile.SingleClusterRouting single_cluster_routing = 6;
inline bool AppProfile::has_single_cluster_routing() const {
  return routing_policy_case() == kSingleClusterRouting;
}
inline void AppProfile::set_has_single_cluster_routing() {
  _oneof_case_[0] = kSingleClusterRouting;
}
inline void AppProfile::clear_single_cluster_routing() {
  if (has_single_cluster_routing()) {
    delete routing_policy_.single_cluster_routing_;
    clear_has_routing_policy();
  }
}
inline ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* AppProfile::release_single_cluster_routing() {
  // @@protoc_insertion_point(field_release:google.bigtable.admin.v2.AppProfile.single_cluster_routing)
  if (has_single_cluster_routing()) {
    clear_has_routing_policy();
      ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* temp = routing_policy_.single_cluster_routing_;
    routing_policy_.single_cluster_routing_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting& AppProfile::single_cluster_routing() const {
  // @@protoc_insertion_point(field_get:google.bigtable.admin.v2.AppProfile.single_cluster_routing)
  return has_single_cluster_routing()
      ? *routing_policy_.single_cluster_routing_
      : *reinterpret_cast< ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting*>(&::google::bigtable::admin::v2::_AppProfile_SingleClusterRouting_default_instance_);
}
inline ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting* AppProfile::mutable_single_cluster_routing() {
  if (!has_single_cluster_routing()) {
    clear_routing_policy();
    set_has_single_cluster_routing();
    routing_policy_.single_cluster_routing_ = CreateMaybeMessage< ::google::bigtable::admin::v2::AppProfile_SingleClusterRouting >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:google.bigtable.admin.v2.AppProfile.single_cluster_routing)
  return routing_policy_.single_cluster_routing_;
}

inline bool AppProfile::has_routing_policy() const {
  return routing_policy_case() != ROUTING_POLICY_NOT_SET;
}
inline void AppProfile::clear_has_routing_policy() {
  _oneof_case_[0] = ROUTING_POLICY_NOT_SET;
}
inline AppProfile::RoutingPolicyCase AppProfile::routing_policy_case() const {
  return AppProfile::RoutingPolicyCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace v2
}  // namespace admin
}  // namespace bigtable
}  // namespace google

namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::google::bigtable::admin::v2::Instance_State> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::google::bigtable::admin::v2::Instance_State>() {
  return ::google::bigtable::admin::v2::Instance_State_descriptor();
}
template <> struct is_proto_enum< ::google::bigtable::admin::v2::Instance_Type> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::google::bigtable::admin::v2::Instance_Type>() {
  return ::google::bigtable::admin::v2::Instance_Type_descriptor();
}
template <> struct is_proto_enum< ::google::bigtable::admin::v2::Cluster_State> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::google::bigtable::admin::v2::Cluster_State>() {
  return ::google::bigtable::admin::v2::Cluster_State_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // PROTOBUF_INCLUDED_google_2fbigtable_2fadmin_2fv2_2finstance_2eproto
