# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/bigtable_v2/proto/bigtable.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.cloud.bigtable_v2.proto import data_pb2 as google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/bigtable_v2/proto/bigtable.proto',
  package='google.bigtable.v2',
  syntax='proto3',
  serialized_pb=_b('\n-google/cloud/bigtable_v2/proto/bigtable.proto\x12\x12google.bigtable.v2\x1a\x1cgoogle/api/annotations.proto\x1a)google/cloud/bigtable_v2/proto/data.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\xaa\x01\n\x0fReadRowsRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x05 \x01(\t\x12(\n\x04rows\x18\x02 \x01(\x0b\x32\x1a.google.bigtable.v2.RowSet\x12-\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x12\n\nrows_limit\x18\x04 \x01(\x03\"\xf8\x02\n\x10ReadRowsResponse\x12>\n\x06\x63hunks\x18\x01 \x03(\x0b\x32..google.bigtable.v2.ReadRowsResponse.CellChunk\x12\x1c\n\x14last_scanned_row_key\x18\x02 \x01(\x0c\x1a\x85\x02\n\tCellChunk\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x31\n\x0b\x66\x61mily_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\tqualifier\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x12\x18\n\x10timestamp_micros\x18\x04 \x01(\x03\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12\r\n\x05value\x18\x06 \x01(\x0c\x12\x12\n\nvalue_size\x18\x07 \x01(\x05\x12\x13\n\treset_row\x18\x08 \x01(\x08H\x00\x12\x14\n\ncommit_row\x18\t \x01(\x08H\x00\x42\x0c\n\nrow_status\"B\n\x14SampleRowKeysRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\">\n\x15SampleRowKeysResponse\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x03\"\x80\x01\n\x10MutateRowRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x0f\n\x07row_key\x18\x02 \x01(\x0c\x12/\n\tmutations\x18\x03 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\"\x13\n\x11MutateRowResponse\"\xc8\x01\n\x11MutateRowsRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x03 \x01(\t\x12<\n\x07\x65ntries\x18\x02 \x03(\x0b\x32+.google.bigtable.v2.MutateRowsRequest.Entry\x1aI\n\x05\x45ntry\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12/\n\tmutations\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\"\x8f\x01\n\x12MutateRowsResponse\x12=\n\x07\x65ntries\x18\x01 \x03(\x0b\x32,.google.bigtable.v2.MutateRowsResponse.Entry\x1a:\n\x05\x45ntry\x12\r\n\x05index\x18\x01 \x01(\x03\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"\xfd\x01\n\x18\x43heckAndMutateRowRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x07 \x01(\t\x12\x0f\n\x07row_key\x18\x02 \x01(\x0c\x12\x37\n\x10predicate_filter\x18\x06 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x34\n\x0etrue_mutations\x18\x04 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\x12\x35\n\x0f\x66\x61lse_mutations\x18\x05 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\"6\n\x19\x43heckAndMutateRowResponse\x12\x19\n\x11predicate_matched\x18\x01 \x01(\x08\"\x90\x01\n\x19ReadModifyWriteRowRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x0f\n\x07row_key\x18\x02 \x01(\x0c\x12\x36\n\x05rules\x18\x03 \x03(\x0b\x32\'.google.bigtable.v2.ReadModifyWriteRule\"B\n\x1aReadModifyWriteRowResponse\x12$\n\x03row\x18\x01 \x01(\x0b\x32\x17.google.bigtable.v2.Row2\xad\x08\n\x08\x42igtable\x12\x9d\x01\n\x08ReadRows\x12#.google.bigtable.v2.ReadRowsRequest\x1a$.google.bigtable.v2.ReadRowsResponse\"D\x82\xd3\xe4\x93\x02>\"9/v2/{table_name=projects/*/instances/*/tables/*}:readRows:\x01*0\x01\x12\xae\x01\n\rSampleRowKeys\x12(.google.bigtable.v2.SampleRowKeysRequest\x1a).google.bigtable.v2.SampleRowKeysResponse\"F\x82\xd3\xe4\x93\x02@\x12>/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys0\x01\x12\x9f\x01\n\tMutateRow\x12$.google.bigtable.v2.MutateRowRequest\x1a%.google.bigtable.v2.MutateRowResponse\"E\x82\xd3\xe4\x93\x02?\":/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow:\x01*\x12\xa5\x01\n\nMutateRows\x12%.google.bigtable.v2.MutateRowsRequest\x1a&.google.bigtable.v2.MutateRowsResponse\"F\x82\xd3\xe4\x93\x02@\";/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows:\x01*0\x01\x12\xbf\x01\n\x11\x43heckAndMutateRow\x12,.google.bigtable.v2.CheckAndMutateRowRequest\x1a-.google.bigtable.v2.CheckAndMutateRowResponse\"M\x82\xd3\xe4\x93\x02G\"B/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow:\x01*\x12\xc3\x01\n\x12ReadModifyWriteRow\x12-.google.bigtable.v2.ReadModifyWriteRowRequest\x1a..google.bigtable.v2.ReadModifyWriteRowResponse\"N\x82\xd3\xe4\x93\x02H\"C/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow:\x01*B\x9b\x01\n\x16\x63om.google.bigtable.v2B\rBigtableProtoP\x01Z:google.golang.org/genproto/googleapis/bigtable/v2;bigtable\xaa\x02\x18Google.Cloud.Bigtable.V2\xca\x02\x18Google\\Cloud\\Bigtable\\V2b\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_READROWSREQUEST = _descriptor.Descriptor(
  name='ReadRowsRequest',
  full_name='google.bigtable.v2.ReadRowsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.ReadRowsRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.ReadRowsRequest.app_profile_id', index=1,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rows', full_name='google.bigtable.v2.ReadRowsRequest.rows', index=2,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='filter', full_name='google.bigtable.v2.ReadRowsRequest.filter', index=3,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rows_limit', full_name='google.bigtable.v2.ReadRowsRequest.rows_limit', index=4,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=200,
  serialized_end=370,
)


_READROWSRESPONSE_CELLCHUNK = _descriptor.Descriptor(
  name='CellChunk',
  full_name='google.bigtable.v2.ReadRowsResponse.CellChunk',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.row_key', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='family_name', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.family_name', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='qualifier', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.qualifier', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp_micros', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.timestamp_micros', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='labels', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.labels', index=4,
      number=5, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.value', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value_size', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.value_size', index=6,
      number=7, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='reset_row', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.reset_row', index=7,
      number=8, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='commit_row', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.commit_row', index=8,
      number=9, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='row_status', full_name='google.bigtable.v2.ReadRowsResponse.CellChunk.row_status',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=488,
  serialized_end=749,
)

_READROWSRESPONSE = _descriptor.Descriptor(
  name='ReadRowsResponse',
  full_name='google.bigtable.v2.ReadRowsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chunks', full_name='google.bigtable.v2.ReadRowsResponse.chunks', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='last_scanned_row_key', full_name='google.bigtable.v2.ReadRowsResponse.last_scanned_row_key', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_READROWSRESPONSE_CELLCHUNK, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=373,
  serialized_end=749,
)


_SAMPLEROWKEYSREQUEST = _descriptor.Descriptor(
  name='SampleRowKeysRequest',
  full_name='google.bigtable.v2.SampleRowKeysRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.SampleRowKeysRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.SampleRowKeysRequest.app_profile_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=751,
  serialized_end=817,
)


_SAMPLEROWKEYSRESPONSE = _descriptor.Descriptor(
  name='SampleRowKeysResponse',
  full_name='google.bigtable.v2.SampleRowKeysResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.SampleRowKeysResponse.row_key', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='offset_bytes', full_name='google.bigtable.v2.SampleRowKeysResponse.offset_bytes', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=819,
  serialized_end=881,
)


_MUTATEROWREQUEST = _descriptor.Descriptor(
  name='MutateRowRequest',
  full_name='google.bigtable.v2.MutateRowRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.MutateRowRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.MutateRowRequest.app_profile_id', index=1,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.MutateRowRequest.row_key', index=2,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='mutations', full_name='google.bigtable.v2.MutateRowRequest.mutations', index=3,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=884,
  serialized_end=1012,
)


_MUTATEROWRESPONSE = _descriptor.Descriptor(
  name='MutateRowResponse',
  full_name='google.bigtable.v2.MutateRowResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1014,
  serialized_end=1033,
)


_MUTATEROWSREQUEST_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='google.bigtable.v2.MutateRowsRequest.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.MutateRowsRequest.Entry.row_key', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='mutations', full_name='google.bigtable.v2.MutateRowsRequest.Entry.mutations', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1163,
  serialized_end=1236,
)

_MUTATEROWSREQUEST = _descriptor.Descriptor(
  name='MutateRowsRequest',
  full_name='google.bigtable.v2.MutateRowsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.MutateRowsRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.MutateRowsRequest.app_profile_id', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='entries', full_name='google.bigtable.v2.MutateRowsRequest.entries', index=2,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_MUTATEROWSREQUEST_ENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1036,
  serialized_end=1236,
)


_MUTATEROWSRESPONSE_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='google.bigtable.v2.MutateRowsResponse.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='index', full_name='google.bigtable.v2.MutateRowsResponse.Entry.index', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='status', full_name='google.bigtable.v2.MutateRowsResponse.Entry.status', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1324,
  serialized_end=1382,
)

_MUTATEROWSRESPONSE = _descriptor.Descriptor(
  name='MutateRowsResponse',
  full_name='google.bigtable.v2.MutateRowsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entries', full_name='google.bigtable.v2.MutateRowsResponse.entries', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_MUTATEROWSRESPONSE_ENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1239,
  serialized_end=1382,
)


_CHECKANDMUTATEROWREQUEST = _descriptor.Descriptor(
  name='CheckAndMutateRowRequest',
  full_name='google.bigtable.v2.CheckAndMutateRowRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.CheckAndMutateRowRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.CheckAndMutateRowRequest.app_profile_id', index=1,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.CheckAndMutateRowRequest.row_key', index=2,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='predicate_filter', full_name='google.bigtable.v2.CheckAndMutateRowRequest.predicate_filter', index=3,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='true_mutations', full_name='google.bigtable.v2.CheckAndMutateRowRequest.true_mutations', index=4,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='false_mutations', full_name='google.bigtable.v2.CheckAndMutateRowRequest.false_mutations', index=5,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1385,
  serialized_end=1638,
)


_CHECKANDMUTATEROWRESPONSE = _descriptor.Descriptor(
  name='CheckAndMutateRowResponse',
  full_name='google.bigtable.v2.CheckAndMutateRowResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='predicate_matched', full_name='google.bigtable.v2.CheckAndMutateRowResponse.predicate_matched', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1640,
  serialized_end=1694,
)


_READMODIFYWRITEROWREQUEST = _descriptor.Descriptor(
  name='ReadModifyWriteRowRequest',
  full_name='google.bigtable.v2.ReadModifyWriteRowRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table_name', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.table_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='app_profile_id', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.app_profile_id', index=1,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='row_key', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.row_key', index=2,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rules', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.rules', index=3,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1697,
  serialized_end=1841,
)


_READMODIFYWRITEROWRESPONSE = _descriptor.Descriptor(
  name='ReadModifyWriteRowResponse',
  full_name='google.bigtable.v2.ReadModifyWriteRowResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='row', full_name='google.bigtable.v2.ReadModifyWriteRowResponse.row', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1843,
  serialized_end=1909,
)

_READROWSREQUEST.fields_by_name['rows'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._ROWSET
_READROWSREQUEST.fields_by_name['filter'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._ROWFILTER
_READROWSRESPONSE_CELLCHUNK.fields_by_name['family_name'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE
_READROWSRESPONSE_CELLCHUNK.fields_by_name['qualifier'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE
_READROWSRESPONSE_CELLCHUNK.containing_type = _READROWSRESPONSE
_READROWSRESPONSE_CELLCHUNK.oneofs_by_name['row_status'].fields.append(
  _READROWSRESPONSE_CELLCHUNK.fields_by_name['reset_row'])
_READROWSRESPONSE_CELLCHUNK.fields_by_name['reset_row'].containing_oneof = _READROWSRESPONSE_CELLCHUNK.oneofs_by_name['row_status']
_READROWSRESPONSE_CELLCHUNK.oneofs_by_name['row_status'].fields.append(
  _READROWSRESPONSE_CELLCHUNK.fields_by_name['commit_row'])
_READROWSRESPONSE_CELLCHUNK.fields_by_name['commit_row'].containing_oneof = _READROWSRESPONSE_CELLCHUNK.oneofs_by_name['row_status']
_READROWSRESPONSE.fields_by_name['chunks'].message_type = _READROWSRESPONSE_CELLCHUNK
_MUTATEROWREQUEST.fields_by_name['mutations'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._MUTATION
_MUTATEROWSREQUEST_ENTRY.fields_by_name['mutations'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._MUTATION
_MUTATEROWSREQUEST_ENTRY.containing_type = _MUTATEROWSREQUEST
_MUTATEROWSREQUEST.fields_by_name['entries'].message_type = _MUTATEROWSREQUEST_ENTRY
_MUTATEROWSRESPONSE_ENTRY.fields_by_name['status'].message_type = google_dot_rpc_dot_status__pb2._STATUS
_MUTATEROWSRESPONSE_ENTRY.containing_type = _MUTATEROWSRESPONSE
_MUTATEROWSRESPONSE.fields_by_name['entries'].message_type = _MUTATEROWSRESPONSE_ENTRY
_CHECKANDMUTATEROWREQUEST.fields_by_name['predicate_filter'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._ROWFILTER
_CHECKANDMUTATEROWREQUEST.fields_by_name['true_mutations'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._MUTATION
_CHECKANDMUTATEROWREQUEST.fields_by_name['false_mutations'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._MUTATION
_READMODIFYWRITEROWREQUEST.fields_by_name['rules'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._READMODIFYWRITERULE
_READMODIFYWRITEROWRESPONSE.fields_by_name['row'].message_type = google_dot_cloud_dot_bigtable__v2_dot_proto_dot_data__pb2._ROW
DESCRIPTOR.message_types_by_name['ReadRowsRequest'] = _READROWSREQUEST
DESCRIPTOR.message_types_by_name['ReadRowsResponse'] = _READROWSRESPONSE
DESCRIPTOR.message_types_by_name['SampleRowKeysRequest'] = _SAMPLEROWKEYSREQUEST
DESCRIPTOR.message_types_by_name['SampleRowKeysResponse'] = _SAMPLEROWKEYSRESPONSE
DESCRIPTOR.message_types_by_name['MutateRowRequest'] = _MUTATEROWREQUEST
DESCRIPTOR.message_types_by_name['MutateRowResponse'] = _MUTATEROWRESPONSE
DESCRIPTOR.message_types_by_name['MutateRowsRequest'] = _MUTATEROWSREQUEST
DESCRIPTOR.message_types_by_name['MutateRowsResponse'] = _MUTATEROWSRESPONSE
DESCRIPTOR.message_types_by_name['CheckAndMutateRowRequest'] = _CHECKANDMUTATEROWREQUEST
DESCRIPTOR.message_types_by_name['CheckAndMutateRowResponse'] = _CHECKANDMUTATEROWRESPONSE
DESCRIPTOR.message_types_by_name['ReadModifyWriteRowRequest'] = _READMODIFYWRITEROWREQUEST
DESCRIPTOR.message_types_by_name['ReadModifyWriteRowResponse'] = _READMODIFYWRITEROWRESPONSE

ReadRowsRequest = _reflection.GeneratedProtocolMessageType('ReadRowsRequest', (_message.Message,), dict(
  DESCRIPTOR = _READROWSREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for Bigtable.ReadRows.
  
  
  Attributes:
      table_name:
          The unique name of the table from which to read. Values are of
          the form
          ``projects/<project>/instances/<instance>/tables/<table>``.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
      rows:
          The row keys and/or ranges to read. If not specified, reads
          from all rows.
      filter:
          The filter to apply to the contents of the specified row(s).
          If unset, reads the entirety of each row.
      rows_limit:
          The read will terminate after committing to N rows' worth of
          results. The default (zero) is to return all results.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadRowsRequest)
  ))
_sym_db.RegisterMessage(ReadRowsRequest)

ReadRowsResponse = _reflection.GeneratedProtocolMessageType('ReadRowsResponse', (_message.Message,), dict(

  CellChunk = _reflection.GeneratedProtocolMessageType('CellChunk', (_message.Message,), dict(
    DESCRIPTOR = _READROWSRESPONSE_CELLCHUNK,
    __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
    ,
    __doc__ = """Specifies a piece of a row's contents returned as part of the read
    response stream.
    
    
    Attributes:
        row_key:
            The row key for this chunk of data. If the row key is empty,
            this CellChunk is a continuation of the same row as the
            previous CellChunk in the response stream, even if that
            CellChunk was in a previous ReadRowsResponse message.
        family_name:
            The column family name for this chunk of data. If this message
            is not present this CellChunk is a continuation of the same
            column family as the previous CellChunk. The empty string can
            occur as a column family name in a response so clients must
            check explicitly for the presence of this message, not just
            for ``family_name.value`` being non-empty.
        qualifier:
            The column qualifier for this chunk of data. If this message
            is not present, this CellChunk is a continuation of the same
            column as the previous CellChunk. Column qualifiers may be
            empty so clients must check for the presence of this message,
            not just for ``qualifier.value`` being non-empty.
        timestamp_micros:
            The cell's stored timestamp, which also uniquely identifies it
            within its column. Values are always expressed in
            microseconds, but individual tables may set a coarser
            granularity to further restrict the allowed values. For
            example, a table which specifies millisecond granularity will
            only allow values of ``timestamp_micros`` which are multiples
            of 1000. Timestamps are only set in the first CellChunk per
            cell (for cells split into multiple chunks).
        labels:
            Labels applied to the cell by a
            [RowFilter][google.bigtable.v2.RowFilter]. Labels are only set
            on the first CellChunk per cell.
        value:
            The value stored in the cell. Cell values can be split across
            multiple CellChunks. In that case only the value field will be
            set in CellChunks after the first: the timestamp and labels
            will only be present in the first CellChunk, even if the first
            CellChunk came in a previous ReadRowsResponse.
        value_size:
            If this CellChunk is part of a chunked cell value and this is
            not the final chunk of that cell, value\_size will be set to
            the total length of the cell value. The client can use this
            size to pre-allocate memory to hold the full cell value.
        reset_row:
            Indicates that the client should drop all previous chunks for
            ``row_key``, as it will be re-read from the beginning.
        commit_row:
            Indicates that the client can safely process all previous
            chunks for ``row_key``, as its data has been fully read.
    """,
    # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadRowsResponse.CellChunk)
    ))
  ,
  DESCRIPTOR = _READROWSRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for Bigtable.ReadRows.
  
  
  Attributes:
      last_scanned_row_key:
          Optionally the server might return the row key of the last row
          it has scanned. The client can use this to construct a more
          efficient retry request if needed: any row keys or portions of
          ranges less than this row key can be dropped from the request.
          This is primarily useful for cases where the server has read a
          lot of data that was filtered out since the last committed row
          key, allowing the client to skip that work on a retry.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadRowsResponse)
  ))
_sym_db.RegisterMessage(ReadRowsResponse)
_sym_db.RegisterMessage(ReadRowsResponse.CellChunk)

SampleRowKeysRequest = _reflection.GeneratedProtocolMessageType('SampleRowKeysRequest', (_message.Message,), dict(
  DESCRIPTOR = _SAMPLEROWKEYSREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for Bigtable.SampleRowKeys.
  
  
  Attributes:
      table_name:
          The unique name of the table from which to sample row keys.
          Values are of the form
          ``projects/<project>/instances/<instance>/tables/<table>``.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.SampleRowKeysRequest)
  ))
_sym_db.RegisterMessage(SampleRowKeysRequest)

SampleRowKeysResponse = _reflection.GeneratedProtocolMessageType('SampleRowKeysResponse', (_message.Message,), dict(
  DESCRIPTOR = _SAMPLEROWKEYSRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for Bigtable.SampleRowKeys.
  
  
  Attributes:
      row_key:
          Sorted streamed sequence of sample row keys in the table. The
          table might have contents before the first row key in the list
          and after the last one, but a key containing the empty string
          indicates "end of table" and will be the last response given,
          if present. Note that row keys in this list may not have ever
          been written to or read from, and users should therefore not
          make any assumptions about the row key structure that are
          specific to their use case.
      offset_bytes:
          Approximate total storage space used by all rows in the table
          which precede ``row_key``. Buffering the contents of all rows
          between two subsequent samples would require space roughly
          equal to the difference in their ``offset_bytes`` fields.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.SampleRowKeysResponse)
  ))
_sym_db.RegisterMessage(SampleRowKeysResponse)

MutateRowRequest = _reflection.GeneratedProtocolMessageType('MutateRowRequest', (_message.Message,), dict(
  DESCRIPTOR = _MUTATEROWREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for Bigtable.MutateRow.
  
  
  Attributes:
      table_name:
          The unique name of the table to which the mutation should be
          applied. Values are of the form
          ``projects/<project>/instances/<instance>/tables/<table>``.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
      row_key:
          The key of the row to which the mutation should be applied.
      mutations:
          Changes to be atomically applied to the specified row. Entries
          are applied in order, meaning that earlier mutations can be
          masked by later ones. Must contain at least one entry and at
          most 100000.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowRequest)
  ))
_sym_db.RegisterMessage(MutateRowRequest)

MutateRowResponse = _reflection.GeneratedProtocolMessageType('MutateRowResponse', (_message.Message,), dict(
  DESCRIPTOR = _MUTATEROWRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for Bigtable.MutateRow.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowResponse)
  ))
_sym_db.RegisterMessage(MutateRowResponse)

MutateRowsRequest = _reflection.GeneratedProtocolMessageType('MutateRowsRequest', (_message.Message,), dict(

  Entry = _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), dict(
    DESCRIPTOR = _MUTATEROWSREQUEST_ENTRY,
    __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
    ,
    __doc__ = """Attributes:
        row_key:
            The key of the row to which the ``mutations`` should be
            applied.
        mutations:
            Changes to be atomically applied to the specified row.
            Mutations are applied in order, meaning that earlier mutations
            can be masked by later ones. You must specify at least one
            mutation.
    """,
    # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsRequest.Entry)
    ))
  ,
  DESCRIPTOR = _MUTATEROWSREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for BigtableService.MutateRows.
  
  
  Attributes:
      table_name:
          The unique name of the table to which the mutations should be
          applied.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
      entries:
          The row keys and corresponding mutations to be applied in
          bulk. Each entry is applied as an atomic mutation, but the
          entries may be applied in arbitrary order (even between
          entries for the same row). At least one entry must be
          specified, and in total the entries can contain at most 100000
          mutations.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsRequest)
  ))
_sym_db.RegisterMessage(MutateRowsRequest)
_sym_db.RegisterMessage(MutateRowsRequest.Entry)

MutateRowsResponse = _reflection.GeneratedProtocolMessageType('MutateRowsResponse', (_message.Message,), dict(

  Entry = _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), dict(
    DESCRIPTOR = _MUTATEROWSRESPONSE_ENTRY,
    __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
    ,
    __doc__ = """Attributes:
        index:
            The index into the original request's ``entries`` list of the
            Entry for which a result is being reported.
        status:
            The result of the request Entry identified by ``index``.
            Depending on how requests are batched during execution, it is
            possible for one Entry to fail due to an error with another
            Entry. In the event that this occurs, the same error will be
            reported for both entries.
    """,
    # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsResponse.Entry)
    ))
  ,
  DESCRIPTOR = _MUTATEROWSRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for BigtableService.MutateRows.
  
  
  Attributes:
      entries:
          One or more results for Entries from the batch request.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsResponse)
  ))
_sym_db.RegisterMessage(MutateRowsResponse)
_sym_db.RegisterMessage(MutateRowsResponse.Entry)

CheckAndMutateRowRequest = _reflection.GeneratedProtocolMessageType('CheckAndMutateRowRequest', (_message.Message,), dict(
  DESCRIPTOR = _CHECKANDMUTATEROWREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for Bigtable.CheckAndMutateRow.
  
  
  Attributes:
      table_name:
          The unique name of the table to which the conditional mutation
          should be applied. Values are of the form
          ``projects/<project>/instances/<instance>/tables/<table>``.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
      row_key:
          The key of the row to which the conditional mutation should be
          applied.
      predicate_filter:
          The filter to be applied to the contents of the specified row.
          Depending on whether or not any results are yielded, either
          ``true_mutations`` or ``false_mutations`` will be executed. If
          unset, checks that the row contains any values at all.
      true_mutations:
          Changes to be atomically applied to the specified row if
          ``predicate_filter`` yields at least one cell when applied to
          ``row_key``. Entries are applied in order, meaning that
          earlier mutations can be masked by later ones. Must contain at
          least one entry if ``false_mutations`` is empty, and at most
          100000.
      false_mutations:
          Changes to be atomically applied to the specified row if
          ``predicate_filter`` does not yield any cells when applied to
          ``row_key``. Entries are applied in order, meaning that
          earlier mutations can be masked by later ones. Must contain at
          least one entry if ``true_mutations`` is empty, and at most
          100000.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.CheckAndMutateRowRequest)
  ))
_sym_db.RegisterMessage(CheckAndMutateRowRequest)

CheckAndMutateRowResponse = _reflection.GeneratedProtocolMessageType('CheckAndMutateRowResponse', (_message.Message,), dict(
  DESCRIPTOR = _CHECKANDMUTATEROWRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for Bigtable.CheckAndMutateRow.
  
  
  Attributes:
      predicate_matched:
          Whether or not the request's ``predicate_filter`` yielded any
          results for the specified row.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.CheckAndMutateRowResponse)
  ))
_sym_db.RegisterMessage(CheckAndMutateRowResponse)

ReadModifyWriteRowRequest = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRowRequest', (_message.Message,), dict(
  DESCRIPTOR = _READMODIFYWRITEROWREQUEST,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Request message for Bigtable.ReadModifyWriteRow.
  
  
  Attributes:
      table_name:
          The unique name of the table to which the read/modify/write
          rules should be applied. Values are of the form
          ``projects/<project>/instances/<instance>/tables/<table>``.
      app_profile_id:
          This is a private alpha release of Cloud Bigtable replication.
          This feature is not currently available to most Cloud Bigtable
          customers. This feature might be changed in backward-
          incompatible ways and is not recommended for production use.
          It is not subject to any SLA or deprecation policy.  This
          value specifies routing for replication. If not specified, the
          "default" application profile will be used.
      row_key:
          The key of the row to which the read/modify/write rules should
          be applied.
      rules:
          Rules specifying how the specified row's contents are to be
          transformed into writes. Entries are applied in order, meaning
          that earlier rules will affect the results of later ones.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadModifyWriteRowRequest)
  ))
_sym_db.RegisterMessage(ReadModifyWriteRowRequest)

ReadModifyWriteRowResponse = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRowResponse', (_message.Message,), dict(
  DESCRIPTOR = _READMODIFYWRITEROWRESPONSE,
  __module__ = 'google.cloud.bigtable_v2.proto.bigtable_pb2'
  ,
  __doc__ = """Response message for Bigtable.ReadModifyWriteRow.
  
  
  Attributes:
      row:
          A Row containing the new contents of all cells modified by the
          request.
  """,
  # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadModifyWriteRowResponse)
  ))
_sym_db.RegisterMessage(ReadModifyWriteRowResponse)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\026com.google.bigtable.v2B\rBigtableProtoP\001Z:google.golang.org/genproto/googleapis/bigtable/v2;bigtable\252\002\030Google.Cloud.Bigtable.V2\312\002\030Google\\Cloud\\Bigtable\\V2'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities


  class BigtableStub(object):
    """Service for reading from and writing to existing Bigtable tables.
    """

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.ReadRows = channel.unary_stream(
          '/google.bigtable.v2.Bigtable/ReadRows',
          request_serializer=ReadRowsRequest.SerializeToString,
          response_deserializer=ReadRowsResponse.FromString,
          )
      self.SampleRowKeys = channel.unary_stream(
          '/google.bigtable.v2.Bigtable/SampleRowKeys',
          request_serializer=SampleRowKeysRequest.SerializeToString,
          response_deserializer=SampleRowKeysResponse.FromString,
          )
      self.MutateRow = channel.unary_unary(
          '/google.bigtable.v2.Bigtable/MutateRow',
          request_serializer=MutateRowRequest.SerializeToString,
          response_deserializer=MutateRowResponse.FromString,
          )
      self.MutateRows = channel.unary_stream(
          '/google.bigtable.v2.Bigtable/MutateRows',
          request_serializer=MutateRowsRequest.SerializeToString,
          response_deserializer=MutateRowsResponse.FromString,
          )
      self.CheckAndMutateRow = channel.unary_unary(
          '/google.bigtable.v2.Bigtable/CheckAndMutateRow',
          request_serializer=CheckAndMutateRowRequest.SerializeToString,
          response_deserializer=CheckAndMutateRowResponse.FromString,
          )
      self.ReadModifyWriteRow = channel.unary_unary(
          '/google.bigtable.v2.Bigtable/ReadModifyWriteRow',
          request_serializer=ReadModifyWriteRowRequest.SerializeToString,
          response_deserializer=ReadModifyWriteRowResponse.FromString,
          )


  class BigtableServicer(object):
    """Service for reading from and writing to existing Bigtable tables.
    """

    def ReadRows(self, request, context):
      """Streams back the contents of all requested rows in key order, optionally
      applying the same Reader filter to each. Depending on their size,
      rows and cells may be broken up across multiple responses, but
      atomicity of each row will still be preserved. See the
      ReadRowsResponse documentation for details.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def SampleRowKeys(self, request, context):
      """Returns a sample of row keys in the table. The returned row keys will
      delimit contiguous sections of the table of approximately equal size,
      which can be used to break up the data for distributed tasks like
      mapreduces.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def MutateRow(self, request, context):
      """Mutates a row atomically. Cells already present in the row are left
      unchanged unless explicitly changed by `mutation`.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def MutateRows(self, request, context):
      """Mutates multiple rows in a batch. Each individual row is mutated
      atomically as in MutateRow, but the entire batch is not executed
      atomically.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def CheckAndMutateRow(self, request, context):
      """Mutates a row atomically based on the output of a predicate Reader filter.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ReadModifyWriteRow(self, request, context):
      """Modifies a row atomically on the server. The method reads the latest
      existing timestamp and value from the specified columns and writes a new
      entry based on pre-defined read/modify/write rules. The new value for the
      timestamp is the greater of the existing timestamp or the current server
      time. The method returns the new contents of all modified cells.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_BigtableServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'ReadRows': grpc.unary_stream_rpc_method_handler(
            servicer.ReadRows,
            request_deserializer=ReadRowsRequest.FromString,
            response_serializer=ReadRowsResponse.SerializeToString,
        ),
        'SampleRowKeys': grpc.unary_stream_rpc_method_handler(
            servicer.SampleRowKeys,
            request_deserializer=SampleRowKeysRequest.FromString,
            response_serializer=SampleRowKeysResponse.SerializeToString,
        ),
        'MutateRow': grpc.unary_unary_rpc_method_handler(
            servicer.MutateRow,
            request_deserializer=MutateRowRequest.FromString,
            response_serializer=MutateRowResponse.SerializeToString,
        ),
        'MutateRows': grpc.unary_stream_rpc_method_handler(
            servicer.MutateRows,
            request_deserializer=MutateRowsRequest.FromString,
            response_serializer=MutateRowsResponse.SerializeToString,
        ),
        'CheckAndMutateRow': grpc.unary_unary_rpc_method_handler(
            servicer.CheckAndMutateRow,
            request_deserializer=CheckAndMutateRowRequest.FromString,
            response_serializer=CheckAndMutateRowResponse.SerializeToString,
        ),
        'ReadModifyWriteRow': grpc.unary_unary_rpc_method_handler(
            servicer.ReadModifyWriteRow,
            request_deserializer=ReadModifyWriteRowRequest.FromString,
            response_serializer=ReadModifyWriteRowResponse.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'google.bigtable.v2.Bigtable', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaBigtableServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service for reading from and writing to existing Bigtable tables.
    """
    def ReadRows(self, request, context):
      """Streams back the contents of all requested rows in key order, optionally
      applying the same Reader filter to each. Depending on their size,
      rows and cells may be broken up across multiple responses, but
      atomicity of each row will still be preserved. See the
      ReadRowsResponse documentation for details.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def SampleRowKeys(self, request, context):
      """Returns a sample of row keys in the table. The returned row keys will
      delimit contiguous sections of the table of approximately equal size,
      which can be used to break up the data for distributed tasks like
      mapreduces.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def MutateRow(self, request, context):
      """Mutates a row atomically. Cells already present in the row are left
      unchanged unless explicitly changed by `mutation`.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def MutateRows(self, request, context):
      """Mutates multiple rows in a batch. Each individual row is mutated
      atomically as in MutateRow, but the entire batch is not executed
      atomically.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def CheckAndMutateRow(self, request, context):
      """Mutates a row atomically based on the output of a predicate Reader filter.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ReadModifyWriteRow(self, request, context):
      """Modifies a row atomically on the server. The method reads the latest
      existing timestamp and value from the specified columns and writes a new
      entry based on pre-defined read/modify/write rules. The new value for the
      timestamp is the greater of the existing timestamp or the current server
      time. The method returns the new contents of all modified cells.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaBigtableStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service for reading from and writing to existing Bigtable tables.
    """
    def ReadRows(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Streams back the contents of all requested rows in key order, optionally
      applying the same Reader filter to each. Depending on their size,
      rows and cells may be broken up across multiple responses, but
      atomicity of each row will still be preserved. See the
      ReadRowsResponse documentation for details.
      """
      raise NotImplementedError()
    def SampleRowKeys(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Returns a sample of row keys in the table. The returned row keys will
      delimit contiguous sections of the table of approximately equal size,
      which can be used to break up the data for distributed tasks like
      mapreduces.
      """
      raise NotImplementedError()
    def MutateRow(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Mutates a row atomically. Cells already present in the row are left
      unchanged unless explicitly changed by `mutation`.
      """
      raise NotImplementedError()
    MutateRow.future = None
    def MutateRows(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Mutates multiple rows in a batch. Each individual row is mutated
      atomically as in MutateRow, but the entire batch is not executed
      atomically.
      """
      raise NotImplementedError()
    def CheckAndMutateRow(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Mutates a row atomically based on the output of a predicate Reader filter.
      """
      raise NotImplementedError()
    CheckAndMutateRow.future = None
    def ReadModifyWriteRow(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Modifies a row atomically on the server. The method reads the latest
      existing timestamp and value from the specified columns and writes a new
      entry based on pre-defined read/modify/write rules. The new value for the
      timestamp is the greater of the existing timestamp or the current server
      time. The method returns the new contents of all modified cells.
      """
      raise NotImplementedError()
    ReadModifyWriteRow.future = None


  def beta_create_Bigtable_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('google.bigtable.v2.Bigtable', 'CheckAndMutateRow'): CheckAndMutateRowRequest.FromString,
      ('google.bigtable.v2.Bigtable', 'MutateRow'): MutateRowRequest.FromString,
      ('google.bigtable.v2.Bigtable', 'MutateRows'): MutateRowsRequest.FromString,
      ('google.bigtable.v2.Bigtable', 'ReadModifyWriteRow'): ReadModifyWriteRowRequest.FromString,
      ('google.bigtable.v2.Bigtable', 'ReadRows'): ReadRowsRequest.FromString,
      ('google.bigtable.v2.Bigtable', 'SampleRowKeys'): SampleRowKeysRequest.FromString,
    }
    response_serializers = {
      ('google.bigtable.v2.Bigtable', 'CheckAndMutateRow'): CheckAndMutateRowResponse.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'MutateRow'): MutateRowResponse.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'MutateRows'): MutateRowsResponse.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'ReadModifyWriteRow'): ReadModifyWriteRowResponse.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'ReadRows'): ReadRowsResponse.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'SampleRowKeys'): SampleRowKeysResponse.SerializeToString,
    }
    method_implementations = {
      ('google.bigtable.v2.Bigtable', 'CheckAndMutateRow'): face_utilities.unary_unary_inline(servicer.CheckAndMutateRow),
      ('google.bigtable.v2.Bigtable', 'MutateRow'): face_utilities.unary_unary_inline(servicer.MutateRow),
      ('google.bigtable.v2.Bigtable', 'MutateRows'): face_utilities.unary_stream_inline(servicer.MutateRows),
      ('google.bigtable.v2.Bigtable', 'ReadModifyWriteRow'): face_utilities.unary_unary_inline(servicer.ReadModifyWriteRow),
      ('google.bigtable.v2.Bigtable', 'ReadRows'): face_utilities.unary_stream_inline(servicer.ReadRows),
      ('google.bigtable.v2.Bigtable', 'SampleRowKeys'): face_utilities.unary_stream_inline(servicer.SampleRowKeys),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_Bigtable_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('google.bigtable.v2.Bigtable', 'CheckAndMutateRow'): CheckAndMutateRowRequest.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'MutateRow'): MutateRowRequest.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'MutateRows'): MutateRowsRequest.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'ReadModifyWriteRow'): ReadModifyWriteRowRequest.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'ReadRows'): ReadRowsRequest.SerializeToString,
      ('google.bigtable.v2.Bigtable', 'SampleRowKeys'): SampleRowKeysRequest.SerializeToString,
    }
    response_deserializers = {
      ('google.bigtable.v2.Bigtable', 'CheckAndMutateRow'): CheckAndMutateRowResponse.FromString,
      ('google.bigtable.v2.Bigtable', 'MutateRow'): MutateRowResponse.FromString,
      ('google.bigtable.v2.Bigtable', 'MutateRows'): MutateRowsResponse.FromString,
      ('google.bigtable.v2.Bigtable', 'ReadModifyWriteRow'): ReadModifyWriteRowResponse.FromString,
      ('google.bigtable.v2.Bigtable', 'ReadRows'): ReadRowsResponse.FromString,
      ('google.bigtable.v2.Bigtable', 'SampleRowKeys'): SampleRowKeysResponse.FromString,
    }
    cardinalities = {
      'CheckAndMutateRow': cardinality.Cardinality.UNARY_UNARY,
      'MutateRow': cardinality.Cardinality.UNARY_UNARY,
      'MutateRows': cardinality.Cardinality.UNARY_STREAM,
      'ReadModifyWriteRow': cardinality.Cardinality.UNARY_UNARY,
      'ReadRows': cardinality.Cardinality.UNARY_STREAM,
      'SampleRowKeys': cardinality.Cardinality.UNARY_STREAM,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'google.bigtable.v2.Bigtable', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
