From 3edca4c3299e85d4346dae49232d540a2d34002c Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Thu, 4 Jan 2018 10:29:42 -0800 Subject: [PATCH 01/17] Provide new auto-generated layer for Bigtable. --- bigtable/docs/conf.py | 310 ++++ bigtable/docs/gapic/v2/api.rst | 6 + bigtable/docs/gapic/v2/types.rst | 5 + bigtable/docs/index.rst | 84 + bigtable/google/__init__.py | 16 +- bigtable/google/cloud/__init__.py | 16 +- .../_generated/__init__.py => bigtable.py} | 14 +- .../cloud/bigtable/_generated/_bigtable.proto | 321 ---- .../_generated/_bigtable_instance_admin.proto | 232 --- .../_generated/_bigtable_table_admin.proto | 195 --- .../cloud/bigtable/_generated/_common.proto | 37 - .../cloud/bigtable/_generated/_data.proto | 532 ------ .../cloud/bigtable/_generated/_instance.proto | 113 -- .../cloud/bigtable/_generated/_table.proto | 115 -- .../_generated/bigtable_instance_admin_pb2.py | 1061 ------------ .../cloud/bigtable/_generated/bigtable_pb2.py | 1100 ------------ .../_generated/bigtable_table_admin_pb2.py | 784 --------- .../cloud/bigtable/_generated/common_pb2.py | 67 - .../cloud/bigtable/_generated/instance_pb2.py | 222 --- .../cloud/bigtable/_generated/table_pb2.py | 393 ----- bigtable/google/cloud/bigtable_v2/__init__.py | 28 + .../cloud/bigtable_v2/gapic/__init__.py | 0 .../bigtable_v2/gapic/bigtable_client.py | 564 +++++++ .../gapic/bigtable_client_config.py | 53 + .../cloud/bigtable_v2/proto/__init__.py | 0 .../cloud/bigtable_v2/proto/bigtable_pb2.py | 1467 +++++++++++++++++ .../bigtable_v2/proto/bigtable_pb2_grpc.py | 145 ++ .../proto}/data_pb2.py | 617 ++++++- .../cloud/bigtable_v2/proto/data_pb2_grpc.py | 3 + bigtable/google/cloud/bigtable_v2/types.py | 43 + .../unit/gapic/v2/test_bigtable_client_v2.py | 283 ++++ 31 files changed, 3560 insertions(+), 5266 deletions(-) create mode 100644 bigtable/docs/conf.py create mode 100644 bigtable/docs/gapic/v2/api.rst create mode 100644 bigtable/docs/gapic/v2/types.rst create mode 100644 bigtable/docs/index.rst rename bigtable/google/cloud/{bigtable/_generated/__init__.py => bigtable.py} (65%) delete mode 100644 bigtable/google/cloud/bigtable/_generated/_bigtable.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_bigtable_instance_admin.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_bigtable_table_admin.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_common.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_data.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_instance.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/_table.proto delete mode 100644 bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py delete mode 100644 bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py delete mode 100644 bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py delete mode 100644 bigtable/google/cloud/bigtable/_generated/common_pb2.py delete mode 100644 bigtable/google/cloud/bigtable/_generated/instance_pb2.py delete mode 100644 bigtable/google/cloud/bigtable/_generated/table_pb2.py create mode 100644 bigtable/google/cloud/bigtable_v2/__init__.py create mode 100644 bigtable/google/cloud/bigtable_v2/gapic/__init__.py create mode 100644 bigtable/google/cloud/bigtable_v2/gapic/bigtable_client.py create mode 100644 bigtable/google/cloud/bigtable_v2/gapic/bigtable_client_config.py create mode 100644 bigtable/google/cloud/bigtable_v2/proto/__init__.py create mode 100644 bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2.py create mode 100644 bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2_grpc.py rename bigtable/google/cloud/{bigtable/_generated => bigtable_v2/proto}/data_pb2.py (62%) create mode 100644 bigtable/google/cloud/bigtable_v2/proto/data_pb2_grpc.py create mode 100644 bigtable/google/cloud/bigtable_v2/types.py create mode 100644 bigtable/tests/unit/gapic/v2/test_bigtable_client_v2.py diff --git a/bigtable/docs/conf.py b/bigtable/docs/conf.py new file mode 100644 index 000000000000..507ffb40399c --- /dev/null +++ b/bigtable/docs/conf.py @@ -0,0 +1,310 @@ +# -*- coding: utf-8 -*- +# +# google-cloud-bigtable documentation build configuration file +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +import shlex + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +sys.path.insert(0, os.path.abspath('..')) + +__version__ = '0.1.0' + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.intersphinx', + 'sphinx.ext.coverage', + 'sphinx.ext.napoleon', + 'sphinx.ext.viewcode', +] + +# autodoc/autosummary flags +autoclass_content = 'both' +autodoc_default_flags = ['members'] +autosummary_generate = True + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'google-cloud-bigtable' +copyright = u'2017, Google' +author = u'Google APIs' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The full version, including alpha/beta/rc tags. +release = __version__ +# The short X.Y version. +version = '.'.join(release.split('.')[0:2]) + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# html_static_path = [] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'google-cloud-bigtable-doc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + #'preamble': '', + + # Latex figure (float) alignment + #'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'google-cloud-bigtable.tex', + u'google-cloud-bigtable Documentation', author, 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [(master_doc, 'google-cloud-bigtable', + u'google-cloud-bigtable Documentation', [author], 1)] + +# If true, show URL addresses after external links. +#man_show_urls = False + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'google-cloud-bigtable', + u'google-cloud-bigtable Documentation', author, 'google-cloud-bigtable', + 'GAPIC library for the {metadata.shortName} v2 service', 'APIs'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = { + 'python': ('http://python.readthedocs.org/en/latest/', None), + 'gax': ('https://gax-python.readthedocs.org/en/latest/', None), +} + +# Napoleon settings +napoleon_google_docstring = True +napoleon_numpy_docstring = True +napoleon_include_private_with_doc = False +napoleon_include_special_with_doc = True +napoleon_use_admonition_for_examples = False +napoleon_use_admonition_for_notes = False +napoleon_use_admonition_for_references = False +napoleon_use_ivar = False +napoleon_use_param = True +napoleon_use_rtype = True diff --git a/bigtable/docs/gapic/v2/api.rst b/bigtable/docs/gapic/v2/api.rst new file mode 100644 index 000000000000..3546c5633915 --- /dev/null +++ b/bigtable/docs/gapic/v2/api.rst @@ -0,0 +1,6 @@ +Client for Cloud Bigtable API +============================= + +.. automodule:: google.cloud.bigtable_v2 + :members: + :inherited-members: \ No newline at end of file diff --git a/bigtable/docs/gapic/v2/types.rst b/bigtable/docs/gapic/v2/types.rst new file mode 100644 index 000000000000..c1d98f25119b --- /dev/null +++ b/bigtable/docs/gapic/v2/types.rst @@ -0,0 +1,5 @@ +Types for Cloud Bigtable API Client +=================================== + +.. automodule:: google.cloud.bigtable_v2.types + :members: \ No newline at end of file diff --git a/bigtable/docs/index.rst b/bigtable/docs/index.rst new file mode 100644 index 000000000000..4a86b7e60c08 --- /dev/null +++ b/bigtable/docs/index.rst @@ -0,0 +1,84 @@ +Python Client for Cloud Bigtable API (`Alpha`_) +=============================================== + +`Cloud Bigtable API`_: API for reading and writing the contents of Bigtables associated with a +cloud project. + +- `Client Library Documentation`_ +- `Product Documentation`_ + +.. _Alpha: https://github.com/GoogleCloudPlatform/google-cloud-python/blob/master/README.rst +.. _Cloud Bigtable API: https://cloud.google.com/bigtable +.. _Client Library Documentation: https://googlecloudplatform.github.io/google-cloud-python/stable/bigtable/usage.html +.. _Product Documentation: https://cloud.google.com/bigtable + +Quick Start +----------- + +In order to use this library, you first need to go through the following steps: + +1. `Select or create a Cloud Platform project.`_ +2. `Enable billing for your project.`_ +3. `Enable the Cloud Bigtable API.`_ +4. `Setup Authentication.`_ + +.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project +.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project +.. _Enable the Cloud Bigtable API.: https://cloud.google.com/bigtable +.. _Setup Authentication.: https://googlecloudplatform.github.io/google-cloud-python/stable/core/auth.html + +Installation +~~~~~~~~~~~~ + +Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to +create isolated Python environments. The basic problem it addresses is one of +dependencies and versions, and indirectly permissions. + +With `virtualenv`_, it's possible to install this library without needing system +install permissions, and without clashing with the installed system +dependencies. + +.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/ + + +Mac/Linux +^^^^^^^^^ + +.. code-block:: console + + pip install virtualenv + virtualenv + source /bin/activate + /bin/pip install google-cloud-bigtable + + +Windows +^^^^^^^ + +.. code-block:: console + + pip install virtualenv + virtualenv + \Scripts\activate + \Scripts\pip.exe install google-cloud-bigtable + +Next Steps +~~~~~~~~~~ + +- Read the `Client Library Documentation`_ for Cloud Bigtable API + API to see other available methods on the client. +- Read the `Cloud Bigtable API Product documentation`_ to learn + more about the product and see How-to Guides. +- View this `repository’s main README`_ to see the full list of Cloud + APIs that we cover. + +.. _Cloud Bigtable API Product documentation: https://cloud.google.com/bigtable +.. _repository’s main README: https://github.com/GoogleCloudPlatform/google-cloud-python/blob/master/README.rst + +Api Reference +------------- +.. toctree:: + :maxdepth: 2 + + gapic/v2/api + gapic/v2/types \ No newline at end of file diff --git a/bigtable/google/__init__.py b/bigtable/google/__init__.py index 9ee9bf4342ab..d2547b8d952f 100644 --- a/bigtable/google/__init__.py +++ b/bigtable/google/__init__.py @@ -1,20 +1,6 @@ -# Copyright 2016 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - try: import pkg_resources pkg_resources.declare_namespace(__name__) except ImportError: import pkgutil - __path__ = pkgutil.extend_path(__path__, __name__) + __path__ = pkgutil.extend_path(__path__, __name__) \ No newline at end of file diff --git a/bigtable/google/cloud/__init__.py b/bigtable/google/cloud/__init__.py index 9ee9bf4342ab..d2547b8d952f 100644 --- a/bigtable/google/cloud/__init__.py +++ b/bigtable/google/cloud/__init__.py @@ -1,20 +1,6 @@ -# Copyright 2016 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - try: import pkg_resources pkg_resources.declare_namespace(__name__) except ImportError: import pkgutil - __path__ = pkgutil.extend_path(__path__, __name__) + __path__ = pkgutil.extend_path(__path__, __name__) \ No newline at end of file diff --git a/bigtable/google/cloud/bigtable/_generated/__init__.py b/bigtable/google/cloud/bigtable.py similarity index 65% rename from bigtable/google/cloud/bigtable/_generated/__init__.py rename to bigtable/google/cloud/bigtable.py index 7e33fb434ef5..3a5e6a7477e4 100644 --- a/bigtable/google/cloud/bigtable/_generated/__init__.py +++ b/bigtable/google/cloud/bigtable.py @@ -1,10 +1,10 @@ -# Copyright 2015 Google LLC +# Copyright 2017 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -12,4 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Generated protobuf modules for Google Cloud Bigtable API.""" +from __future__ import absolute_import + +from google.cloud.bigtable_v2 import BigtableClient +from google.cloud.bigtable_v2 import types + +__all__ = ( + 'types', + 'BigtableClient', +) diff --git a/bigtable/google/cloud/bigtable/_generated/_bigtable.proto b/bigtable/google/cloud/bigtable/_generated/_bigtable.proto deleted file mode 100644 index 254b4963fc4d..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_bigtable.proto +++ /dev/null @@ -1,321 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.v2; - -import "google/api/annotations.proto"; -import "google/bigtable/v2/data.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option java_multiple_files = true; -option java_outer_classname = "BigtableProto"; -option java_package = "com.google.bigtable.v2"; - - -// Service for reading from and writing to existing Bigtable tables. -service Bigtable { - // Streams back the contents of all requested rows, 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. - rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) { - option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readRows" body: "*" }; - } - - // 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. - rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) { - option (google.api.http) = { get: "/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys" }; - } - - // Mutates a row atomically. Cells already present in the row are left - // unchanged unless explicitly changed by `mutation`. - rpc MutateRow(MutateRowRequest) returns (MutateRowResponse) { - option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow" body: "*" }; - } - - // Mutates multiple rows in a batch. Each individual row is mutated - // atomically as in MutateRow, but the entire batch is not executed - // atomically. - rpc MutateRows(MutateRowsRequest) returns (stream MutateRowsResponse) { - option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows" body: "*" }; - } - - // Mutates a row atomically based on the output of a predicate Reader filter. - rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) { - option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow" body: "*" }; - } - - // Modifies a row atomically. 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. - rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (ReadModifyWriteRowResponse) { - option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow" body: "*" }; - } -} - -// Request message for Bigtable.ReadRows. -message ReadRowsRequest { - // The unique name of the table from which to read. - // Values are of the form - // projects/<project>/instances/<instance>/tables/<table> - string table_name = 1; - - // The row keys and/or ranges to read. If not specified, reads from all rows. - RowSet rows = 2; - - // The filter to apply to the contents of the specified row(s). If unset, - // reads the entirety of each row. - RowFilter filter = 3; - - // The read will terminate after committing to N rows' worth of results. The - // default (zero) is to return all results. - int64 rows_limit = 4; -} - -// Response message for Bigtable.ReadRows. -message ReadRowsResponse { - // Specifies a piece of a row's contents returned as part of the read - // response stream. - message CellChunk { - // 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. - bytes row_key = 1; - - // 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. - google.protobuf.StringValue family_name = 2; - - // 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. - google.protobuf.BytesValue qualifier = 3; - - // 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). - int64 timestamp_micros = 4; - - // Labels applied to the cell by a - // [RowFilter][google.bigtable.v2.RowFilter]. Labels are only set - // on the first CellChunk per cell. - repeated string labels = 5; - - // 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. - bytes value = 6; - - // 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. - int32 value_size = 7; - - oneof row_status { - // Indicates that the client should drop all previous chunks for - // `row_key`, as it will be re-read from the beginning. - bool reset_row = 8; - - // Indicates that the client can safely process all previous chunks for - // `row_key`, as its data has been fully read. - bool commit_row = 9; - } - } - - repeated CellChunk chunks = 1; - - // 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. - bytes last_scanned_row_key = 2; -} - -// Request message for Bigtable.SampleRowKeys. -message SampleRowKeysRequest { - // The unique name of the table from which to sample row keys. - // Values are of the form - // projects/<project>/instances/<instance>/tables/<table> - string table_name = 1; -} - -// Response message for Bigtable.SampleRowKeys. -message SampleRowKeysResponse { - // 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. - bytes row_key = 1; - - // 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. - int64 offset_bytes = 2; -} - -// Request message for Bigtable.MutateRow. -message MutateRowRequest { - // The unique name of the table to which the mutation should be applied. - // Values are of the form - // projects/<project>/instances/<instance>/tables/<table> - string table_name = 1; - - // The key of the row to which the mutation should be applied. - bytes row_key = 2; - - // 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. - repeated Mutation mutations = 3; -} - -// Response message for Bigtable.MutateRow. -message MutateRowResponse { - -} - -// Request message for BigtableService.MutateRows. -message MutateRowsRequest { - message Entry { - // The key of the row to which the `mutations` should be applied. - bytes row_key = 1; - - // 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. - repeated Mutation mutations = 2; - } - - // The unique name of the table to which the mutations should be applied. - string table_name = 1; - - // 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. - repeated Entry entries = 2; -} - -// Response message for BigtableService.MutateRows. -message MutateRowsResponse { - message Entry { - // The index into the original request's `entries` list of the Entry - // for which a result is being reported. - int64 index = 1; - - // 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. - google.rpc.Status status = 2; - } - - // One or more results for Entries from the batch request. - repeated Entry entries = 1; -} - -// Request message for Bigtable.CheckAndMutateRow. -message CheckAndMutateRowRequest { - // 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> - string table_name = 1; - - // The key of the row to which the conditional mutation should be applied. - bytes row_key = 2; - - // 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. - RowFilter predicate_filter = 6; - - // 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. - repeated Mutation true_mutations = 4; - - // 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. - repeated Mutation false_mutations = 5; -} - -// Response message for Bigtable.CheckAndMutateRow. -message CheckAndMutateRowResponse { - // Whether or not the request's `predicate_filter` yielded any results for - // the specified row. - bool predicate_matched = 1; -} - -// Request message for Bigtable.ReadModifyWriteRow. -message ReadModifyWriteRowRequest { - // 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> - string table_name = 1; - - // The key of the row to which the read/modify/write rules should be applied. - bytes row_key = 2; - - // 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. - repeated ReadModifyWriteRule rules = 3; -} - -// Response message for Bigtable.ReadModifyWriteRow. -message ReadModifyWriteRowResponse { - // A Row containing the new contents of all cells modified by the request. - Row row = 1; -} diff --git a/bigtable/google/cloud/bigtable/_generated/_bigtable_instance_admin.proto b/bigtable/google/cloud/bigtable/_generated/_bigtable_instance_admin.proto deleted file mode 100644 index dd629b3e6d8c..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_bigtable_instance_admin.proto +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.admin.v2; - -import "google/api/annotations.proto"; -import "google/bigtable/admin/v2/instance.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_multiple_files = true; -option java_outer_classname = "BigtableInstanceAdminProto"; -option java_package = "com.google.bigtable.admin.v2"; - - -// Service for creating, configuring, and deleting Cloud Bigtable Instances and -// Clusters. Provides access to the Instance and Cluster schemas only, not the -// tables metadata or data stored in those tables. -service BigtableInstanceAdmin { - // Create an instance within a project. - rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v2/{parent=projects/*}/instances" body: "*" }; - } - - // Gets information about an instance. - rpc GetInstance(GetInstanceRequest) returns (Instance) { - option (google.api.http) = { get: "/v2/{name=projects/*/instances/*}" }; - } - - // Lists information about instances in a project. - rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { - option (google.api.http) = { get: "/v2/{parent=projects/*}/instances" }; - } - - // Updates an instance within a project. - rpc UpdateInstance(Instance) returns (Instance) { - option (google.api.http) = { put: "/v2/{name=projects/*/instances/*}" body: "*" }; - } - - // Delete an instance from a project. - rpc DeleteInstance(DeleteInstanceRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*}" }; - } - - // Creates a cluster within an instance. - rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/clusters" body: "cluster" }; - } - - // Gets information about a cluster. - rpc GetCluster(GetClusterRequest) returns (Cluster) { - option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*}" }; - } - - // Lists information about clusters in an instance. - rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { - option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/clusters" }; - } - - // Updates a cluster within an instance. - rpc UpdateCluster(Cluster) returns (google.longrunning.Operation) { - option (google.api.http) = { put: "/v2/{name=projects/*/instances/*/clusters/*}" body: "*" }; - } - - // Deletes a cluster from an instance. - rpc DeleteCluster(DeleteClusterRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*}" }; - } -} - -// Request message for BigtableInstanceAdmin.CreateInstance. -message CreateInstanceRequest { - // The unique name of the project in which to create the new instance. - // Values are of the form projects/ - string parent = 1; - - // The id to be used when referring to the new instance within its project, - // e.g. just the "myinstance" section of the full name - // "projects/myproject/instances/myinstance" - string instance_id = 2; - - // The instance to create. - // Fields marked "@OutputOnly" must be left blank. - Instance instance = 3; - - // The clusters to be created within the instance, mapped by desired - // cluster ID (e.g. just the "mycluster" part of the full name - // "projects/myproject/instances/myinstance/clusters/mycluster"). - // Fields marked "@OutputOnly" must be left blank. - // Currently exactly one cluster must be specified. - map clusters = 4; -} - -// Request message for BigtableInstanceAdmin.GetInstance. -message GetInstanceRequest { - // The unique name of the requested instance. Values are of the form - // projects//instances/ - string name = 1; -} - -// Request message for BigtableInstanceAdmin.ListInstances. -message ListInstancesRequest { - // The unique name of the project for which a list of instances is requested. - // Values are of the form projects/ - string parent = 1; - - // The value of `next_page_token` returned by a previous call. - string page_token = 2; -} - -// Response message for BigtableInstanceAdmin.ListInstances. -message ListInstancesResponse { - // The list of requested instances. - repeated Instance instances = 1; - - // Locations from which Instance information could not be retrieved, - // due to an outage or some other transient condition. - // Instances whose Clusters are all in one of the failed locations - // may be missing from 'instances', and Instances with at least one - // Cluster in a failed location may only have partial information returned. - repeated string failed_locations = 2; - - // Set if not all instances could be returned in a single response. - // Pass this value to `page_token` in another request to get the next - // page of results. - string next_page_token = 3; -} - -// Request message for BigtableInstanceAdmin.DeleteInstance. -message DeleteInstanceRequest { - // The unique name of the instance to be deleted. - // Values are of the form projects//instances/ - string name = 1; -} - -// Request message for BigtableInstanceAdmin.CreateCluster. -message CreateClusterRequest { - // The unique name of the instance in which to create the new cluster. - // Values are of the form - // projects//instances//clusters/[a-z][-a-z0-9]* - string parent = 1; - - // The id to be used when referring to the new cluster within its instance, - // e.g. just the "mycluster" section of the full name - // "projects/myproject/instances/myinstance/clusters/mycluster" - string cluster_id = 2; - - // The cluster to be created. - // Fields marked "@OutputOnly" must be left blank. - Cluster cluster = 3; -} - -// Request message for BigtableInstanceAdmin.GetCluster. -message GetClusterRequest { - // The unique name of the requested cluster. Values are of the form - // projects//instances//clusters/ - string name = 1; -} - -// Request message for BigtableInstanceAdmin.ListClusters. -message ListClustersRequest { - // The unique name of the instance for which a list of clusters is requested. - // Values are of the form projects//instances/ - // Use = '-' to list Clusters for all Instances in a project, - // for example "projects/myproject/instances/-" - string parent = 1; - - // The value of `next_page_token` returned by a previous call. - string page_token = 2; -} - -// Response message for BigtableInstanceAdmin.ListClusters. -message ListClustersResponse { - // The list of requested clusters. - repeated Cluster clusters = 1; - - // Locations from which Cluster information could not be retrieved, - // due to an outage or some other transient condition. - // Clusters from these locations may be missing from 'clusters', - // or may only have partial information returned. - repeated string failed_locations = 2; - - // Set if not all clusters could be returned in a single response. - // Pass this value to `page_token` in another request to get the next - // page of results. - string next_page_token = 3; -} - -// Request message for BigtableInstanceAdmin.DeleteCluster. -message DeleteClusterRequest { - // The unique name of the cluster to be deleted. Values are of the form - // projects//instances//clusters/ - string name = 1; -} - -// The metadata for the Operation returned by CreateInstance. -message CreateInstanceMetadata { - // The request that prompted the initiation of this CreateInstance operation. - CreateInstanceRequest original_request = 1; - - // The time at which the original request was received. - google.protobuf.Timestamp request_time = 2; - - // The time at which the operation failed or was completed successfully. - google.protobuf.Timestamp finish_time = 3; -} - -// The metadata for the Operation returned by UpdateCluster. -message UpdateClusterMetadata { - // The request that prompted the initiation of this UpdateCluster operation. - Cluster original_request = 1; - - // The time at which the original request was received. - google.protobuf.Timestamp request_time = 2; - - // The time at which the operation failed or was completed successfully. - google.protobuf.Timestamp finish_time = 3; -} diff --git a/bigtable/google/cloud/bigtable/_generated/_bigtable_table_admin.proto b/bigtable/google/cloud/bigtable/_generated/_bigtable_table_admin.proto deleted file mode 100644 index 1f839436568d..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_bigtable_table_admin.proto +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.admin.v2; - -import "google/api/annotations.proto"; -import "google/bigtable/admin/v2/table.proto"; -import "google/protobuf/empty.proto"; - -option java_multiple_files = true; -option java_outer_classname = "BigtableTableAdminProto"; -option java_package = "com.google.bigtable.admin.v2"; - - -// Service for creating, configuring, and deleting Cloud Bigtable tables. -// Provides access to the table schemas only, not the data stored within -// the tables. -service BigtableTableAdmin { - // Creates a new table in the specified instance. - // The table can be created with a full set of initial column families, - // specified in the request. - rpc CreateTable(CreateTableRequest) returns (Table) { - option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/tables" body: "*" }; - } - - // Lists all tables served from a specified instance. - rpc ListTables(ListTablesRequest) returns (ListTablesResponse) { - option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/tables" }; - } - - // Gets metadata information about the specified table. - rpc GetTable(GetTableRequest) returns (Table) { - option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/tables/*}" }; - } - - // Permanently deletes a specified table and all of its data. - rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/tables/*}" }; - } - - // Atomically performs a series of column family modifications - // on the specified table. - rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table) { - option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies" body: "*" }; - } - - // Permanently drop/delete a row range from a specified table. The request can - // specify whether to delete all rows in a table, or only those that match a - // particular prefix. - rpc DropRowRange(DropRowRangeRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:dropRowRange" body: "*" }; - } -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.CreateTable][google.bigtable.admin.v2.BigtableTableAdmin.CreateTable] -message CreateTableRequest { - // An initial split point for a newly created table. - message Split { - // Row key to use as an initial tablet boundary. - bytes key = 1; - } - - // The unique name of the instance in which to create the table. - // Values are of the form projects//instances/ - string parent = 1; - - // The name by which the new table should be referred to within the parent - // instance, e.g. "foobar" rather than "/tables/foobar". - string table_id = 2; - - // The Table to create. - Table table = 3; - - // The optional list of row keys that will be used to initially split the - // table into several tablets (Tablets are similar to HBase regions). - // Given two split keys, "s1" and "s2", three tablets will be created, - // spanning the key ranges: [, s1), [s1, s2), [s2, ). - // - // Example: - // * Row keys := ["a", "apple", "custom", "customer_1", "customer_2", - // "other", "zz"] - // * initial_split_keys := ["apple", "customer_1", "customer_2", "other"] - // * Key assignment: - // - Tablet 1 [, apple) => {"a"}. - // - Tablet 2 [apple, customer_1) => {"apple", "custom"}. - // - Tablet 3 [customer_1, customer_2) => {"customer_1"}. - // - Tablet 4 [customer_2, other) => {"customer_2"}. - // - Tablet 5 [other, ) => {"other", "zz"}. - repeated Split initial_splits = 4; -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange] -message DropRowRangeRequest { - // The unique name of the table on which to drop a range of rows. - // Values are of the form projects//instances//tables/ - string name = 1; - - oneof target { - // Delete all rows that start with this row key prefix. Prefix cannot be - // zero length. - bytes row_key_prefix = 2; - - // Delete all rows in the table. Setting this to false is a no-op. - bool delete_all_data_from_table = 3; - } -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables] -message ListTablesRequest { - // The unique name of the instance for which tables should be listed. - // Values are of the form projects//instances/ - string parent = 1; - - // The view to be applied to the returned tables' fields. - // Defaults to NAME_ONLY if unspecified (no others are currently supported). - Table.View view = 2; - - // The value of `next_page_token` returned by a previous call. - string page_token = 3; -} - -// Response message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables] -message ListTablesResponse { - // The tables present in the requested cluster. - repeated Table tables = 1; - - // Set if not all tables could be returned in a single response. - // Pass this value to `page_token` in another request to get the next - // page of results. - string next_page_token = 2; -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable] -message GetTableRequest { - // The unique name of the requested table. - // Values are of the form projects//instances//tables/
- string name = 1; - - // The view to be applied to the returned table's fields. - // Defaults to SCHEMA_ONLY if unspecified. - Table.View view = 2; -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable] -message DeleteTableRequest { - // The unique name of the table to be deleted. - // Values are of the form projects//instances//tables/
- string name = 1; -} - -// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies] -message ModifyColumnFamiliesRequest { - // A create, update, or delete of a particular column family. - message Modification { - // The ID of the column family to be modified. - string id = 1; - - oneof mod { - // Create a new column family with the specified schema, or fail if - // one already exists with the given ID. - ColumnFamily create = 2; - - // Update an existing column family to the specified schema, or fail - // if no column family exists with the given ID. - ColumnFamily update = 3; - - // Drop (delete) the column family with the given ID, or fail if no such - // family exists. - bool drop = 4; - } - } - - // The unique name of the table whose families should be modified. - // Values are of the form projects//instances//tables/
- string name = 1; - - // Modifications to be atomically applied to the specified table's families. - // Entries are applied in order, meaning that earlier modifications can be - // masked by later ones (in the case of repeated updates to the same family, - // for example). - repeated Modification modifications = 2; -} diff --git a/bigtable/google/cloud/bigtable/_generated/_common.proto b/bigtable/google/cloud/bigtable/_generated/_common.proto deleted file mode 100644 index f30e2c5f6782..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_common.proto +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.admin.v2; - -import "google/api/annotations.proto"; -import "google/protobuf/timestamp.proto"; - -option java_multiple_files = true; -option java_outer_classname = "CommonProto"; -option java_package = "com.google.bigtable.admin.v2"; - - -// Storage media types for persisting Bigtable data. -enum StorageType { - // The user did not specify a storage type. - STORAGE_TYPE_UNSPECIFIED = 0; - - // Flash (SSD) storage should be used. - SSD = 1; - - // Magnetic drive (HDD) storage should be used. - HDD = 2; -} diff --git a/bigtable/google/cloud/bigtable/_generated/_data.proto b/bigtable/google/cloud/bigtable/_generated/_data.proto deleted file mode 100644 index 2abc23820158..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_data.proto +++ /dev/null @@ -1,532 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.v2; - -option java_multiple_files = true; -option java_outer_classname = "DataProto"; -option java_package = "com.google.bigtable.v2"; - - -// Specifies the complete (requested) contents of a single row of a table. -// Rows which exceed 256MiB in size cannot be read in full. -message Row { - // The unique key which identifies this row within its table. This is the same - // key that's used to identify the row in, for example, a MutateRowRequest. - // May contain any non-empty byte string up to 4KiB in length. - bytes key = 1; - - // May be empty, but only if the entire row is empty. - // The mutual ordering of column families is not specified. - repeated Family families = 2; -} - -// Specifies (some of) the contents of a single row/column family intersection -// of a table. -message Family { - // The unique key which identifies this family within its row. This is the - // same key that's used to identify the family in, for example, a RowFilter - // which sets its "family_name_regex_filter" field. - // Must match `[-_.a-zA-Z0-9]+`, except that AggregatingRowProcessors may - // produce cells in a sentinel family with an empty name. - // Must be no greater than 64 characters in length. - string name = 1; - - // Must not be empty. Sorted in order of increasing "qualifier". - repeated Column columns = 2; -} - -// Specifies (some of) the contents of a single row/column intersection of a -// table. -message Column { - // The unique key which identifies this column within its family. This is the - // same key that's used to identify the column in, for example, a RowFilter - // which sets its `column_qualifier_regex_filter` field. - // May contain any byte string, including the empty string, up to 16kiB in - // length. - bytes qualifier = 1; - - // Must not be empty. Sorted in order of decreasing "timestamp_micros". - repeated Cell cells = 2; -} - -// Specifies (some of) the contents of a single row/column/timestamp of a table. -message Cell { - // 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. - int64 timestamp_micros = 1; - - // The value stored in the cell. - // May contain any byte string, including the empty string, up to 100MiB in - // length. - bytes value = 2; - - // Labels applied to the cell by a [RowFilter][google.bigtable.v2.RowFilter]. - repeated string labels = 3; -} - -// Specifies a contiguous range of rows. -message RowRange { - // The row key at which to start the range. - // If neither field is set, interpreted as the empty string, inclusive. - oneof start_key { - // Used when giving an inclusive lower bound for the range. - bytes start_key_closed = 1; - - // Used when giving an exclusive lower bound for the range. - bytes start_key_open = 2; - } - - // The row key at which to end the range. - // If neither field is set, interpreted as the infinite row key, exclusive. - oneof end_key { - // Used when giving an inclusive upper bound for the range. - bytes end_key_open = 3; - - // Used when giving an exclusive upper bound for the range. - bytes end_key_closed = 4; - } -} - -// Specifies a non-contiguous set of rows. -message RowSet { - // Single rows included in the set. - repeated bytes row_keys = 1; - - // Contiguous row ranges included in the set. - repeated RowRange row_ranges = 2; -} - -// Specifies a contiguous range of columns within a single column family. -// The range spans from <column_family>:<start_qualifier> to -// <column_family>:<end_qualifier>, where both bounds can be either -// inclusive or exclusive. -message ColumnRange { - // The name of the column family within which this range falls. - string family_name = 1; - - // The column qualifier at which to start the range (within `column_family`). - // If neither field is set, interpreted as the empty string, inclusive. - oneof start_qualifier { - // Used when giving an inclusive lower bound for the range. - bytes start_qualifier_closed = 2; - - // Used when giving an exclusive lower bound for the range. - bytes start_qualifier_open = 3; - } - - // The column qualifier at which to end the range (within `column_family`). - // If neither field is set, interpreted as the infinite string, exclusive. - oneof end_qualifier { - // Used when giving an inclusive upper bound for the range. - bytes end_qualifier_closed = 4; - - // Used when giving an exclusive upper bound for the range. - bytes end_qualifier_open = 5; - } -} - -// Specified a contiguous range of microsecond timestamps. -message TimestampRange { - // Inclusive lower bound. If left empty, interpreted as 0. - int64 start_timestamp_micros = 1; - - // Exclusive upper bound. If left empty, interpreted as infinity. - int64 end_timestamp_micros = 2; -} - -// Specifies a contiguous range of raw byte values. -message ValueRange { - // The value at which to start the range. - // If neither field is set, interpreted as the empty string, inclusive. - oneof start_value { - // Used when giving an inclusive lower bound for the range. - bytes start_value_closed = 1; - - // Used when giving an exclusive lower bound for the range. - bytes start_value_open = 2; - } - - // The value at which to end the range. - // If neither field is set, interpreted as the infinite string, exclusive. - oneof end_value { - // Used when giving an inclusive upper bound for the range. - bytes end_value_closed = 3; - - // Used when giving an exclusive upper bound for the range. - bytes end_value_open = 4; - } -} - -// Takes a row as input and produces an alternate view of the row based on -// specified rules. For example, a RowFilter might trim down a row to include -// just the cells from columns matching a given regular expression, or might -// return all the cells of a row but not their values. More complicated filters -// can be composed out of these components to express requests such as, "within -// every column of a particular family, give just the two most recent cells -// which are older than timestamp X." -// -// There are two broad categories of RowFilters (true filters and transformers), -// as well as two ways to compose simple filters into more complex ones -// (chains and interleaves). They work as follows: -// -// * True filters alter the input row by excluding some of its cells wholesale -// from the output row. An example of a true filter is the `value_regex_filter`, -// which excludes cells whose values don't match the specified pattern. All -// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax) -// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An -// important point to keep in mind is that `RE2(.)` is equivalent by default to -// `RE2([^\n])`, meaning that it does not match newlines. When attempting to -// match an arbitrary byte, you should therefore use the escape sequence `\C`, -// which may need to be further escaped as `\\C` in your client language. -// -// * Transformers alter the input row by changing the values of some of its -// cells in the output, without excluding them completely. Currently, the only -// supported transformer is the `strip_value_transformer`, which replaces every -// cell's value with the empty string. -// -// * Chains and interleaves are described in more detail in the -// RowFilter.Chain and RowFilter.Interleave documentation. -// -// The total serialized size of a RowFilter message must not -// exceed 4096 bytes, and RowFilters may not be nested within each other -// (in Chains or Interleaves) to a depth of more than 20. -message RowFilter { - // A RowFilter which sends rows through several RowFilters in sequence. - message Chain { - // The elements of "filters" are chained together to process the input row: - // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row - // The full chain is executed atomically. - repeated RowFilter filters = 1; - } - - // A RowFilter which sends each row to each of several component - // RowFilters and interleaves the results. - message Interleave { - // The elements of "filters" all process a copy of the input row, and the - // results are pooled, sorted, and combined into a single output row. - // If multiple cells are produced with the same column and timestamp, - // they will all appear in the output row in an unspecified mutual order. - // Consider the following example, with three filters: - // - // input row - // | - // ----------------------------------------------------- - // | | | - // f(0) f(1) f(2) - // | | | - // 1: foo,bar,10,x foo,bar,10,z far,bar,7,a - // 2: foo,blah,11,z far,blah,5,x far,blah,5,x - // | | | - // ----------------------------------------------------- - // | - // 1: foo,bar,10,z // could have switched with #2 - // 2: foo,bar,10,x // could have switched with #1 - // 3: foo,blah,11,z - // 4: far,bar,7,a - // 5: far,blah,5,x // identical to #6 - // 6: far,blah,5,x // identical to #5 - // - // All interleaved filters are executed atomically. - repeated RowFilter filters = 1; - } - - // A RowFilter which evaluates one of two possible RowFilters, depending on - // whether or not a predicate RowFilter outputs any cells from the input row. - // - // IMPORTANT NOTE: The predicate filter does not execute atomically with the - // true and false filters, which may lead to inconsistent or unexpected - // results. Additionally, Condition filters have poor performance, especially - // when filters are set for the false condition. - message Condition { - // If `predicate_filter` outputs any cells, then `true_filter` will be - // evaluated on the input row. Otherwise, `false_filter` will be evaluated. - RowFilter predicate_filter = 1; - - // The filter to apply to the input row if `predicate_filter` returns any - // results. If not provided, no results will be returned in the true case. - RowFilter true_filter = 2; - - // The filter to apply to the input row if `predicate_filter` does not - // return any results. If not provided, no results will be returned in the - // false case. - RowFilter false_filter = 3; - } - - // Which of the possible RowFilter types to apply. If none are set, this - // RowFilter returns all cells in the input row. - oneof filter { - // Applies several RowFilters to the data in sequence, progressively - // narrowing the results. - Chain chain = 1; - - // Applies several RowFilters to the data in parallel and combines the - // results. - Interleave interleave = 2; - - // Applies one of two possible RowFilters to the data based on the output of - // a predicate RowFilter. - Condition condition = 3; - - // ADVANCED USE ONLY. - // Hook for introspection into the RowFilter. Outputs all cells directly to - // the output of the read rather than to any parent filter. Consider the - // following example: - // - // Chain( - // FamilyRegex("A"), - // Interleave( - // All(), - // Chain(Label("foo"), Sink()) - // ), - // QualifierRegex("B") - // ) - // - // A,A,1,w - // A,B,2,x - // B,B,4,z - // | - // FamilyRegex("A") - // | - // A,A,1,w - // A,B,2,x - // | - // +------------+-------------+ - // | | - // All() Label(foo) - // | | - // A,A,1,w A,A,1,w,labels:[foo] - // A,B,2,x A,B,2,x,labels:[foo] - // | | - // | Sink() --------------+ - // | | | - // +------------+ x------+ A,A,1,w,labels:[foo] - // | A,B,2,x,labels:[foo] - // A,A,1,w | - // A,B,2,x | - // | | - // QualifierRegex("B") | - // | | - // A,B,2,x | - // | | - // +--------------------------------+ - // | - // A,A,1,w,labels:[foo] - // A,B,2,x,labels:[foo] // could be switched - // A,B,2,x // could be switched - // - // Despite being excluded by the qualifier filter, a copy of every cell - // that reaches the sink is present in the final result. - // - // As with an [Interleave][google.bigtable.v2.RowFilter.Interleave], - // duplicate cells are possible, and appear in an unspecified mutual order. - // In this case we have a duplicate with column "A:B" and timestamp 2, - // because one copy passed through the all filter while the other was - // passed through the label and sink. Note that one copy has label "foo", - // while the other does not. - // - // Cannot be used within the `predicate_filter`, `true_filter`, or - // `false_filter` of a [Condition][google.bigtable.v2.RowFilter.Condition]. - bool sink = 16; - - // Matches all cells, regardless of input. Functionally equivalent to - // leaving `filter` unset, but included for completeness. - bool pass_all_filter = 17; - - // Does not match any cells, regardless of input. Useful for temporarily - // disabling just part of a filter. - bool block_all_filter = 18; - - // Matches only cells from rows whose keys satisfy the given RE2 regex. In - // other words, passes through the entire row when the key matches, and - // otherwise produces an empty row. - // Note that, since row keys can contain arbitrary bytes, the `\C` escape - // sequence must be used if a true wildcard is desired. The `.` character - // will not match the new line character `\n`, which may be present in a - // binary key. - bytes row_key_regex_filter = 4; - - // Matches all cells from a row with probability p, and matches no cells - // from the row with probability 1-p. - double row_sample_filter = 14; - - // Matches only cells from columns whose families satisfy the given RE2 - // regex. For technical reasons, the regex must not contain the `:` - // character, even if it is not being used as a literal. - // Note that, since column families cannot contain the new line character - // `\n`, it is sufficient to use `.` as a full wildcard when matching - // column family names. - string family_name_regex_filter = 5; - - // Matches only cells from columns whose qualifiers satisfy the given RE2 - // regex. - // Note that, since column qualifiers can contain arbitrary bytes, the `\C` - // escape sequence must be used if a true wildcard is desired. The `.` - // character will not match the new line character `\n`, which may be - // present in a binary qualifier. - bytes column_qualifier_regex_filter = 6; - - // Matches only cells from columns within the given range. - ColumnRange column_range_filter = 7; - - // Matches only cells with timestamps within the given range. - TimestampRange timestamp_range_filter = 8; - - // Matches only cells with values that satisfy the given regular expression. - // Note that, since cell values can contain arbitrary bytes, the `\C` escape - // sequence must be used if a true wildcard is desired. The `.` character - // will not match the new line character `\n`, which may be present in a - // binary value. - bytes value_regex_filter = 9; - - // Matches only cells with values that fall within the given range. - ValueRange value_range_filter = 15; - - // Skips the first N cells of each row, matching all subsequent cells. - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_row_offset_filter = 10; - - // Matches only the first N cells of each row. - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_row_limit_filter = 11; - - // Matches only the most recent N cells within each column. For example, - // if N=2, this filter would match column `foo:bar` at timestamps 10 and 9, - // skip all earlier cells in `foo:bar`, and then begin matching again in - // column `foo:bar2`. - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_column_limit_filter = 12; - - // Replaces each cell's value with the empty string. - bool strip_value_transformer = 13; - - // Applies the given label to all cells in the output row. This allows - // the client to determine which results were produced from which part of - // the filter. - // - // Values must be at most 15 characters in length, and match the RE2 - // pattern `[a-z0-9\\-]+` - // - // Due to a technical limitation, it is not currently possible to apply - // multiple labels to a cell. As a result, a Chain may have no more than - // one sub-filter which contains a `apply_label_transformer`. It is okay for - // an Interleave to contain multiple `apply_label_transformers`, as they - // will be applied to separate copies of the input. This may be relaxed in - // the future. - string apply_label_transformer = 19; - } -} - -// Specifies a particular change to be made to the contents of a row. -message Mutation { - // A Mutation which sets the value of the specified cell. - message SetCell { - // The name of the family into which new data should be written. - // Must match `[-_.a-zA-Z0-9]+` - string family_name = 1; - - // The qualifier of the column into which new data should be written. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The timestamp of the cell into which new data should be written. - // Use -1 for current Bigtable server time. - // Otherwise, the client should set this value itself, noting that the - // default value is a timestamp of zero if the field is left unspecified. - // Values must match the granularity of the table (e.g. micros, millis). - int64 timestamp_micros = 3; - - // The value to be written into the specified cell. - bytes value = 4; - } - - // A Mutation which deletes cells from the specified column, optionally - // restricting the deletions to a given timestamp range. - message DeleteFromColumn { - // The name of the family from which cells should be deleted. - // Must match `[-_.a-zA-Z0-9]+` - string family_name = 1; - - // The qualifier of the column from which cells should be deleted. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The range of timestamps within which cells should be deleted. - TimestampRange time_range = 3; - } - - // A Mutation which deletes all cells from the specified column family. - message DeleteFromFamily { - // The name of the family from which cells should be deleted. - // Must match `[-_.a-zA-Z0-9]+` - string family_name = 1; - } - - // A Mutation which deletes all cells from the containing row. - message DeleteFromRow { - - } - - // Which of the possible Mutation types to apply. - oneof mutation { - // Set a cell's value. - SetCell set_cell = 1; - - // Deletes cells from a column. - DeleteFromColumn delete_from_column = 2; - - // Deletes cells from a column family. - DeleteFromFamily delete_from_family = 3; - - // Deletes cells from the entire row. - DeleteFromRow delete_from_row = 4; - } -} - -// Specifies an atomic read/modify/write operation on the latest value of the -// specified column. -message ReadModifyWriteRule { - // The name of the family to which the read/modify/write should be applied. - // Must match `[-_.a-zA-Z0-9]+` - string family_name = 1; - - // The qualifier of the column to which the read/modify/write should be - // applied. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The rule used to determine the column's new latest value from its current - // latest value. - oneof rule { - // Rule specifying that `append_value` be appended to the existing value. - // If the targeted cell is unset, it will be treated as containing the - // empty string. - bytes append_value = 3; - - // Rule specifying that `increment_amount` be added to the existing value. - // If the targeted cell is unset, it will be treated as containing a zero. - // Otherwise, the targeted cell must contain an 8-byte value (interpreted - // as a 64-bit big-endian signed integer), or the entire request will fail. - int64 increment_amount = 4; - } -} diff --git a/bigtable/google/cloud/bigtable/_generated/_instance.proto b/bigtable/google/cloud/bigtable/_generated/_instance.proto deleted file mode 100644 index ce8ebc9b2031..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_instance.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.admin.v2; - -import "google/api/annotations.proto"; -import "google/bigtable/admin/v2/common.proto"; - -option java_multiple_files = true; -option java_outer_classname = "InstanceProto"; -option java_package = "com.google.bigtable.admin.v2"; - - -// A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and -// the resources that serve them. -// All tables in an instance are served from a single -// [Cluster][google.bigtable.admin.v2.Cluster]. -message Instance { - // Possible states of an instance. - enum State { - // The state of the instance could not be determined. - STATE_NOT_KNOWN = 0; - - // The instance has been successfully created and can serve requests - // to its tables. - READY = 1; - - // The instance is currently being created, and may be destroyed - // if the creation process encounters an error. - CREATING = 2; - } - - // @OutputOnly - // The unique name of the instance. Values are of the form - // projects//instances/[a-z][a-z0-9\\-]+[a-z0-9] - string name = 1; - - // The descriptive name for this instance as it appears in UIs. - // Can be changed at any time, but should be kept globally unique - // to avoid confusion. - string display_name = 2; - - // - // The current state of the instance. - State state = 3; -} - -// A resizable group of nodes in a particular cloud location, capable -// of serving all [Tables][google.bigtable.admin.v2.Table] in the parent -// [Instance][google.bigtable.admin.v2.Instance]. -message Cluster { - // Possible states of a cluster. - enum State { - // The state of the cluster could not be determined. - STATE_NOT_KNOWN = 0; - - // The cluster has been successfully created and is ready to serve requests. - READY = 1; - - // The cluster is currently being created, and may be destroyed - // if the creation process encounters an error. - // A cluster may not be able to serve requests while being created. - CREATING = 2; - - // The cluster is currently being resized, and may revert to its previous - // node count if the process encounters an error. - // A cluster is still capable of serving requests while being resized, - // but may exhibit performance as if its number of allocated nodes is - // between the starting and requested states. - RESIZING = 3; - - // The cluster has no backing nodes. The data (tables) still - // exist, but no operations can be performed on the cluster. - DISABLED = 4; - } - - // @OutputOnly - // The unique name of the cluster. Values are of the form - // projects//instances//clusters/[a-z][-a-z0-9]* - string name = 1; - - // @CreationOnly - // The location where this cluster's nodes and storage reside. For best - // performance, clients should be located as close as possible to this cluster. - // Currently only zones are supported, e.g. projects/*/locations/us-central1-b - string location = 2; - - // @OutputOnly - // The current state of the cluster. - State state = 3; - - // The number of nodes allocated to this cluster. More nodes enable higher - // throughput and more consistent performance. - int32 serve_nodes = 4; - - // @CreationOnly - // The type of storage used by this cluster to serve its - // parent instance's tables, unless explicitly overridden. - StorageType default_storage_type = 5; -} diff --git a/bigtable/google/cloud/bigtable/_generated/_table.proto b/bigtable/google/cloud/bigtable/_generated/_table.proto deleted file mode 100644 index 331470d1f14a..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/_table.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2016 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.bigtable.admin.v2; - -import "google/api/annotations.proto"; -import "google/protobuf/duration.proto"; - -option java_multiple_files = true; -option java_outer_classname = "TableProto"; -option java_package = "com.google.bigtable.admin.v2"; - - -// A collection of user data indexed by row, column, and timestamp. -// Each table is served using the resources of its parent cluster. -message Table { - // Possible timestamp granularities to use when keeping multiple versions - // of data in a table. - enum TimestampGranularity { - // The user did not specify a granularity. Should not be returned. - // When specified during table creation, MILLIS will be used. - TIMESTAMP_GRANULARITY_UNSPECIFIED = 0; - - // The table keeps data versioned at a granularity of 1ms. - MILLIS = 1; - } - - // Defines a view over a table's fields. - enum View { - // Uses the default view for each method as documented in its request. - VIEW_UNSPECIFIED = 0; - - // Only populates `name`. - NAME_ONLY = 1; - - // Only populates `name` and fields related to the table's schema. - SCHEMA_VIEW = 2; - - // Populates all fields. - FULL = 4; - } - - // The unique name of the table. Values are of the form - // projects//instances//tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]* - // Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, FULL - // @OutputOnly - string name = 1; - - // The column families configured for this table, mapped by column family ID. - // Views: SCHEMA_VIEW, FULL - // @CreationOnly - map column_families = 3; - - // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in - // this table. Timestamps not matching the granularity will be rejected. - // If unspecified at creation time, the value will be set to MILLIS. - // Views: SCHEMA_VIEW, FULL - // @CreationOnly - TimestampGranularity granularity = 4; -} - -// A set of columns within a table which share a common configuration. -message ColumnFamily { - // Garbage collection rule specified as a protobuf. - // Must serialize to at most 500 bytes. - // - // NOTE: Garbage collection executes opportunistically in the background, and - // so it's possible for reads to return a cell even if it matches the active - // GC expression for its family. - GcRule gc_rule = 1; -} - -// Rule for determining which cells to delete during garbage collection. -message GcRule { - // A GcRule which deletes cells matching all of the given rules. - message Intersection { - // Only delete cells which would be deleted by every element of `rules`. - repeated GcRule rules = 1; - } - - // A GcRule which deletes cells matching any of the given rules. - message Union { - // Delete cells which would be deleted by any element of `rules`. - repeated GcRule rules = 1; - } - - oneof rule { - // Delete all cells in a column except the most recent N. - int32 max_num_versions = 1; - - // Delete cells in a column older than the given age. - // Values must be at least one millisecond, and will be truncated to - // microsecond granularity. - google.protobuf.Duration max_age = 2; - - // Delete cells that would be deleted by every nested rule. - Intersection intersection = 3; - - // Delete cells that would be deleted by any nested rule. - Union union = 4; - } -} diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py deleted file mode 100644 index 00e64c8a6976..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py +++ /dev/null @@ -1,1061 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/admin/v2/bigtable_instance_admin.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._generated import instance_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2 -from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/admin/v2/bigtable_instance_admin.proto', - package='google.bigtable.admin.v2', - syntax='proto3', - serialized_pb=_b('\n6google/bigtable/admin/v2/bigtable_instance_admin.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\'google/bigtable/admin/v2/instance.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x97\x02\n\x15\x43reateInstanceRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x34\n\x08instance\x18\x03 \x01(\x0b\x32\".google.bigtable.admin.v2.Instance\x12O\n\x08\x63lusters\x18\x04 \x03(\x0b\x32=.google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry\x1aR\n\rClustersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster:\x02\x38\x01\"\"\n\x12GetInstanceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\":\n\x14ListInstancesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\"\x81\x01\n\x15ListInstancesResponse\x12\x35\n\tinstances\x18\x01 \x03(\x0b\x32\".google.bigtable.admin.v2.Instance\x12\x18\n\x10\x66\x61iled_locations\x18\x02 \x03(\t\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\"%\n\x15\x44\x65leteInstanceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"n\n\x14\x43reateClusterRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\ncluster_id\x18\x02 \x01(\t\x12\x32\n\x07\x63luster\x18\x03 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster\"!\n\x11GetClusterRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"9\n\x13ListClustersRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\"~\n\x14ListClustersResponse\x12\x33\n\x08\x63lusters\x18\x01 \x03(\x0b\x32!.google.bigtable.admin.v2.Cluster\x12\x18\n\x10\x66\x61iled_locations\x18\x02 \x03(\t\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\"$\n\x14\x44\x65leteClusterRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc6\x01\n\x16\x43reateInstanceMetadata\x12I\n\x10original_request\x18\x01 \x01(\x0b\x32/.google.bigtable.admin.v2.CreateInstanceRequest\x12\x30\n\x0crequest_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inish_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb7\x01\n\x15UpdateClusterMetadata\x12;\n\x10original_request\x18\x01 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster\x12\x30\n\x0crequest_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inish_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\xdb\x0b\n\x15\x42igtableInstanceAdmin\x12\x8e\x01\n\x0e\x43reateInstance\x12/.google.bigtable.admin.v2.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\",\x82\xd3\xe4\x93\x02&\"!/v2/{parent=projects/*}/instances:\x01*\x12\x8a\x01\n\x0bGetInstance\x12,.google.bigtable.admin.v2.GetInstanceRequest\x1a\".google.bigtable.admin.v2.Instance\")\x82\xd3\xe4\x93\x02#\x12!/v2/{name=projects/*/instances/*}\x12\x9b\x01\n\rListInstances\x12..google.bigtable.admin.v2.ListInstancesRequest\x1a/.google.bigtable.admin.v2.ListInstancesResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/{parent=projects/*}/instances\x12\x86\x01\n\x0eUpdateInstance\x12\".google.bigtable.admin.v2.Instance\x1a\".google.bigtable.admin.v2.Instance\",\x82\xd3\xe4\x93\x02&\x1a!/v2/{name=projects/*/instances/*}:\x01*\x12\x84\x01\n\x0e\x44\x65leteInstance\x12/.google.bigtable.admin.v2.DeleteInstanceRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/v2/{name=projects/*/instances/*}\x12\x9d\x01\n\rCreateCluster\x12..google.bigtable.admin.v2.CreateClusterRequest\x1a\x1d.google.longrunning.Operation\"=\x82\xd3\xe4\x93\x02\x37\",/v2/{parent=projects/*/instances/*}/clusters:\x07\x63luster\x12\x92\x01\n\nGetCluster\x12+.google.bigtable.admin.v2.GetClusterRequest\x1a!.google.bigtable.admin.v2.Cluster\"4\x82\xd3\xe4\x93\x02.\x12,/v2/{name=projects/*/instances/*/clusters/*}\x12\xa3\x01\n\x0cListClusters\x12-.google.bigtable.admin.v2.ListClustersRequest\x1a..google.bigtable.admin.v2.ListClustersResponse\"4\x82\xd3\xe4\x93\x02.\x12,/v2/{parent=projects/*/instances/*}/clusters\x12\x8a\x01\n\rUpdateCluster\x12!.google.bigtable.admin.v2.Cluster\x1a\x1d.google.longrunning.Operation\"7\x82\xd3\xe4\x93\x02\x31\x1a,/v2/{name=projects/*/instances/*/clusters/*}:\x01*\x12\x8d\x01\n\rDeleteCluster\x12..google.bigtable.admin.v2.DeleteClusterRequest\x1a\x16.google.protobuf.Empty\"4\x82\xd3\xe4\x93\x02.*,/v2/{name=projects/*/instances/*/clusters/*}B<\n\x1c\x63om.google.bigtable.admin.v2B\x1a\x42igtableInstanceAdminProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.DESCRIPTOR,google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - - -_CREATEINSTANCEREQUEST_CLUSTERSENTRY = _descriptor.Descriptor( - name='ClustersEntry', - full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry.key', 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='value', full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=452, - serialized_end=534, -) - -_CREATEINSTANCEREQUEST = _descriptor.Descriptor( - name='CreateInstanceRequest', - full_name='google.bigtable.admin.v2.CreateInstanceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.CreateInstanceRequest.parent', 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='instance_id', full_name='google.bigtable.admin.v2.CreateInstanceRequest.instance_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), - _descriptor.FieldDescriptor( - name='instance', full_name='google.bigtable.admin.v2.CreateInstanceRequest.instance', 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='clusters', full_name='google.bigtable.admin.v2.CreateInstanceRequest.clusters', index=3, - 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), - ], - extensions=[ - ], - nested_types=[_CREATEINSTANCEREQUEST_CLUSTERSENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=255, - serialized_end=534, -) - - -_GETINSTANCEREQUEST = _descriptor.Descriptor( - name='GetInstanceRequest', - full_name='google.bigtable.admin.v2.GetInstanceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.GetInstanceRequest.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=536, - serialized_end=570, -) - - -_LISTINSTANCESREQUEST = _descriptor.Descriptor( - name='ListInstancesRequest', - full_name='google.bigtable.admin.v2.ListInstancesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.ListInstancesRequest.parent', 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='page_token', full_name='google.bigtable.admin.v2.ListInstancesRequest.page_token', 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=572, - serialized_end=630, -) - - -_LISTINSTANCESRESPONSE = _descriptor.Descriptor( - name='ListInstancesResponse', - full_name='google.bigtable.admin.v2.ListInstancesResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='instances', full_name='google.bigtable.admin.v2.ListInstancesResponse.instances', 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='failed_locations', full_name='google.bigtable.admin.v2.ListInstancesResponse.failed_locations', index=1, - number=2, 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='next_page_token', full_name='google.bigtable.admin.v2.ListInstancesResponse.next_page_token', index=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=633, - serialized_end=762, -) - - -_DELETEINSTANCEREQUEST = _descriptor.Descriptor( - name='DeleteInstanceRequest', - full_name='google.bigtable.admin.v2.DeleteInstanceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.DeleteInstanceRequest.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=764, - serialized_end=801, -) - - -_CREATECLUSTERREQUEST = _descriptor.Descriptor( - name='CreateClusterRequest', - full_name='google.bigtable.admin.v2.CreateClusterRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.CreateClusterRequest.parent', 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='cluster_id', full_name='google.bigtable.admin.v2.CreateClusterRequest.cluster_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), - _descriptor.FieldDescriptor( - name='cluster', full_name='google.bigtable.admin.v2.CreateClusterRequest.cluster', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=803, - serialized_end=913, -) - - -_GETCLUSTERREQUEST = _descriptor.Descriptor( - name='GetClusterRequest', - full_name='google.bigtable.admin.v2.GetClusterRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.GetClusterRequest.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=915, - serialized_end=948, -) - - -_LISTCLUSTERSREQUEST = _descriptor.Descriptor( - name='ListClustersRequest', - full_name='google.bigtable.admin.v2.ListClustersRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.ListClustersRequest.parent', 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='page_token', full_name='google.bigtable.admin.v2.ListClustersRequest.page_token', 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=950, - serialized_end=1007, -) - - -_LISTCLUSTERSRESPONSE = _descriptor.Descriptor( - name='ListClustersResponse', - full_name='google.bigtable.admin.v2.ListClustersResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='clusters', full_name='google.bigtable.admin.v2.ListClustersResponse.clusters', 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='failed_locations', full_name='google.bigtable.admin.v2.ListClustersResponse.failed_locations', index=1, - number=2, 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='next_page_token', full_name='google.bigtable.admin.v2.ListClustersResponse.next_page_token', index=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1009, - serialized_end=1135, -) - - -_DELETECLUSTERREQUEST = _descriptor.Descriptor( - name='DeleteClusterRequest', - full_name='google.bigtable.admin.v2.DeleteClusterRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.DeleteClusterRequest.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1137, - serialized_end=1173, -) - - -_CREATEINSTANCEMETADATA = _descriptor.Descriptor( - name='CreateInstanceMetadata', - full_name='google.bigtable.admin.v2.CreateInstanceMetadata', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='original_request', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.original_request', 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), - _descriptor.FieldDescriptor( - name='request_time', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.request_time', 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='finish_time', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.finish_time', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1176, - serialized_end=1374, -) - - -_UPDATECLUSTERMETADATA = _descriptor.Descriptor( - name='UpdateClusterMetadata', - full_name='google.bigtable.admin.v2.UpdateClusterMetadata', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='original_request', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.original_request', 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), - _descriptor.FieldDescriptor( - name='request_time', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.request_time', 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='finish_time', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.finish_time', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1377, - serialized_end=1560, -) - -_CREATEINSTANCEREQUEST_CLUSTERSENTRY.fields_by_name['value'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER -_CREATEINSTANCEREQUEST_CLUSTERSENTRY.containing_type = _CREATEINSTANCEREQUEST -_CREATEINSTANCEREQUEST.fields_by_name['instance'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._INSTANCE -_CREATEINSTANCEREQUEST.fields_by_name['clusters'].message_type = _CREATEINSTANCEREQUEST_CLUSTERSENTRY -_LISTINSTANCESRESPONSE.fields_by_name['instances'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._INSTANCE -_CREATECLUSTERREQUEST.fields_by_name['cluster'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER -_LISTCLUSTERSRESPONSE.fields_by_name['clusters'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER -_CREATEINSTANCEMETADATA.fields_by_name['original_request'].message_type = _CREATEINSTANCEREQUEST -_CREATEINSTANCEMETADATA.fields_by_name['request_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_CREATEINSTANCEMETADATA.fields_by_name['finish_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_UPDATECLUSTERMETADATA.fields_by_name['original_request'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER -_UPDATECLUSTERMETADATA.fields_by_name['request_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_UPDATECLUSTERMETADATA.fields_by_name['finish_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -DESCRIPTOR.message_types_by_name['CreateInstanceRequest'] = _CREATEINSTANCEREQUEST -DESCRIPTOR.message_types_by_name['GetInstanceRequest'] = _GETINSTANCEREQUEST -DESCRIPTOR.message_types_by_name['ListInstancesRequest'] = _LISTINSTANCESREQUEST -DESCRIPTOR.message_types_by_name['ListInstancesResponse'] = _LISTINSTANCESRESPONSE -DESCRIPTOR.message_types_by_name['DeleteInstanceRequest'] = _DELETEINSTANCEREQUEST -DESCRIPTOR.message_types_by_name['CreateClusterRequest'] = _CREATECLUSTERREQUEST -DESCRIPTOR.message_types_by_name['GetClusterRequest'] = _GETCLUSTERREQUEST -DESCRIPTOR.message_types_by_name['ListClustersRequest'] = _LISTCLUSTERSREQUEST -DESCRIPTOR.message_types_by_name['ListClustersResponse'] = _LISTCLUSTERSRESPONSE -DESCRIPTOR.message_types_by_name['DeleteClusterRequest'] = _DELETECLUSTERREQUEST -DESCRIPTOR.message_types_by_name['CreateInstanceMetadata'] = _CREATEINSTANCEMETADATA -DESCRIPTOR.message_types_by_name['UpdateClusterMetadata'] = _UPDATECLUSTERMETADATA - -CreateInstanceRequest = _reflection.GeneratedProtocolMessageType('CreateInstanceRequest', (_message.Message,), dict( - - ClustersEntry = _reflection.GeneratedProtocolMessageType('ClustersEntry', (_message.Message,), dict( - DESCRIPTOR = _CREATEINSTANCEREQUEST_CLUSTERSENTRY, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry) - )) - , - DESCRIPTOR = _CREATEINSTANCEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceRequest) - )) -_sym_db.RegisterMessage(CreateInstanceRequest) -_sym_db.RegisterMessage(CreateInstanceRequest.ClustersEntry) - -GetInstanceRequest = _reflection.GeneratedProtocolMessageType('GetInstanceRequest', (_message.Message,), dict( - DESCRIPTOR = _GETINSTANCEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetInstanceRequest) - )) -_sym_db.RegisterMessage(GetInstanceRequest) - -ListInstancesRequest = _reflection.GeneratedProtocolMessageType('ListInstancesRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTINSTANCESREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListInstancesRequest) - )) -_sym_db.RegisterMessage(ListInstancesRequest) - -ListInstancesResponse = _reflection.GeneratedProtocolMessageType('ListInstancesResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTINSTANCESRESPONSE, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListInstancesResponse) - )) -_sym_db.RegisterMessage(ListInstancesResponse) - -DeleteInstanceRequest = _reflection.GeneratedProtocolMessageType('DeleteInstanceRequest', (_message.Message,), dict( - DESCRIPTOR = _DELETEINSTANCEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteInstanceRequest) - )) -_sym_db.RegisterMessage(DeleteInstanceRequest) - -CreateClusterRequest = _reflection.GeneratedProtocolMessageType('CreateClusterRequest', (_message.Message,), dict( - DESCRIPTOR = _CREATECLUSTERREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateClusterRequest) - )) -_sym_db.RegisterMessage(CreateClusterRequest) - -GetClusterRequest = _reflection.GeneratedProtocolMessageType('GetClusterRequest', (_message.Message,), dict( - DESCRIPTOR = _GETCLUSTERREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetClusterRequest) - )) -_sym_db.RegisterMessage(GetClusterRequest) - -ListClustersRequest = _reflection.GeneratedProtocolMessageType('ListClustersRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTCLUSTERSREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListClustersRequest) - )) -_sym_db.RegisterMessage(ListClustersRequest) - -ListClustersResponse = _reflection.GeneratedProtocolMessageType('ListClustersResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTCLUSTERSRESPONSE, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListClustersResponse) - )) -_sym_db.RegisterMessage(ListClustersResponse) - -DeleteClusterRequest = _reflection.GeneratedProtocolMessageType('DeleteClusterRequest', (_message.Message,), dict( - DESCRIPTOR = _DELETECLUSTERREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteClusterRequest) - )) -_sym_db.RegisterMessage(DeleteClusterRequest) - -CreateInstanceMetadata = _reflection.GeneratedProtocolMessageType('CreateInstanceMetadata', (_message.Message,), dict( - DESCRIPTOR = _CREATEINSTANCEMETADATA, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceMetadata) - )) -_sym_db.RegisterMessage(CreateInstanceMetadata) - -UpdateClusterMetadata = _reflection.GeneratedProtocolMessageType('UpdateClusterMetadata', (_message.Message,), dict( - DESCRIPTOR = _UPDATECLUSTERMETADATA, - __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.UpdateClusterMetadata) - )) -_sym_db.RegisterMessage(UpdateClusterMetadata) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\032BigtableInstanceAdminProtoP\001')) -_CREATEINSTANCEREQUEST_CLUSTERSENTRY.has_options = True -_CREATEINSTANCEREQUEST_CLUSTERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -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 BigtableInstanceAdminStub(object): - """Service for creating, configuring, and deleting Cloud Bigtable Instances and - Clusters. Provides access to the Instance and Cluster schemas only, not the - tables metadata or data stored in those tables. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.CreateInstance = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateInstance', - request_serializer=CreateInstanceRequest.SerializeToString, - response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) - self.GetInstance = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetInstance', - request_serializer=GetInstanceRequest.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - ) - self.ListInstances = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListInstances', - request_serializer=ListInstancesRequest.SerializeToString, - response_deserializer=ListInstancesResponse.FromString, - ) - self.UpdateInstance = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateInstance', - request_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - ) - self.DeleteInstance = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteInstance', - request_serializer=DeleteInstanceRequest.SerializeToString, - response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) - self.CreateCluster = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateCluster', - request_serializer=CreateClusterRequest.SerializeToString, - response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) - self.GetCluster = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetCluster', - request_serializer=GetClusterRequest.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, - ) - self.ListClusters = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListClusters', - request_serializer=ListClustersRequest.SerializeToString, - response_deserializer=ListClustersResponse.FromString, - ) - self.UpdateCluster = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateCluster', - request_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, - response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) - self.DeleteCluster = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteCluster', - request_serializer=DeleteClusterRequest.SerializeToString, - response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) - - -class BigtableInstanceAdminServicer(object): - """Service for creating, configuring, and deleting Cloud Bigtable Instances and - Clusters. Provides access to the Instance and Cluster schemas only, not the - tables metadata or data stored in those tables. - """ - - def CreateInstance(self, request, context): - """Create an instance within a project. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetInstance(self, request, context): - """Gets information about an instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListInstances(self, request, context): - """Lists information about instances in a project. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateInstance(self, request, context): - """Updates an instance within a project. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteInstance(self, request, context): - """Delete an instance from a project. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateCluster(self, request, context): - """Creates a cluster within an instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetCluster(self, request, context): - """Gets information about a cluster. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListClusters(self, request, context): - """Lists information about clusters in an instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateCluster(self, request, context): - """Updates a cluster within an instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteCluster(self, request, context): - """Deletes a cluster from an instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_BigtableInstanceAdminServicer_to_server(servicer, server): - rpc_method_handlers = { - 'CreateInstance': grpc.unary_unary_rpc_method_handler( - servicer.CreateInstance, - request_deserializer=CreateInstanceRequest.FromString, - response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ), - 'GetInstance': grpc.unary_unary_rpc_method_handler( - servicer.GetInstance, - request_deserializer=GetInstanceRequest.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - ), - 'ListInstances': grpc.unary_unary_rpc_method_handler( - servicer.ListInstances, - request_deserializer=ListInstancesRequest.FromString, - response_serializer=ListInstancesResponse.SerializeToString, - ), - 'UpdateInstance': grpc.unary_unary_rpc_method_handler( - servicer.UpdateInstance, - request_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - ), - 'DeleteInstance': grpc.unary_unary_rpc_method_handler( - servicer.DeleteInstance, - request_deserializer=DeleteInstanceRequest.FromString, - response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ), - 'CreateCluster': grpc.unary_unary_rpc_method_handler( - servicer.CreateCluster, - request_deserializer=CreateClusterRequest.FromString, - response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ), - 'GetCluster': grpc.unary_unary_rpc_method_handler( - servicer.GetCluster, - request_deserializer=GetClusterRequest.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, - ), - 'ListClusters': grpc.unary_unary_rpc_method_handler( - servicer.ListClusters, - request_deserializer=ListClustersRequest.FromString, - response_serializer=ListClustersResponse.SerializeToString, - ), - 'UpdateCluster': grpc.unary_unary_rpc_method_handler( - servicer.UpdateCluster, - request_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, - response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ), - 'DeleteCluster': grpc.unary_unary_rpc_method_handler( - servicer.DeleteCluster, - request_deserializer=DeleteClusterRequest.FromString, - response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'google.bigtable.admin.v2.BigtableInstanceAdmin', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - -class BetaBigtableInstanceAdminServicer(object): - """Service for creating, configuring, and deleting Cloud Bigtable Instances and - Clusters. Provides access to the Instance and Cluster schemas only, not the - tables metadata or data stored in those tables. - """ - def CreateInstance(self, request, context): - """Create an instance within a project. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def GetInstance(self, request, context): - """Gets information about an instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ListInstances(self, request, context): - """Lists information about instances in a project. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def UpdateInstance(self, request, context): - """Updates an instance within a project. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def DeleteInstance(self, request, context): - """Delete an instance from a project. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def CreateCluster(self, request, context): - """Creates a cluster within an instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def GetCluster(self, request, context): - """Gets information about a cluster. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ListClusters(self, request, context): - """Lists information about clusters in an instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def UpdateCluster(self, request, context): - """Updates a cluster within an instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def DeleteCluster(self, request, context): - """Deletes a cluster from an instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - - -class BetaBigtableInstanceAdminStub(object): - """Service for creating, configuring, and deleting Cloud Bigtable Instances and - Clusters. Provides access to the Instance and Cluster schemas only, not the - tables metadata or data stored in those tables. - """ - def CreateInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Create an instance within a project. - """ - raise NotImplementedError() - CreateInstance.future = None - def GetInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Gets information about an instance. - """ - raise NotImplementedError() - GetInstance.future = None - def ListInstances(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Lists information about instances in a project. - """ - raise NotImplementedError() - ListInstances.future = None - def UpdateInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Updates an instance within a project. - """ - raise NotImplementedError() - UpdateInstance.future = None - def DeleteInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Delete an instance from a project. - """ - raise NotImplementedError() - DeleteInstance.future = None - def CreateCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Creates a cluster within an instance. - """ - raise NotImplementedError() - CreateCluster.future = None - def GetCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Gets information about a cluster. - """ - raise NotImplementedError() - GetCluster.future = None - def ListClusters(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Lists information about clusters in an instance. - """ - raise NotImplementedError() - ListClusters.future = None - def UpdateCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Updates a cluster within an instance. - """ - raise NotImplementedError() - UpdateCluster.future = None - def DeleteCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Deletes a cluster from an instance. - """ - raise NotImplementedError() - DeleteCluster.future = None - - -def beta_create_BigtableInstanceAdmin_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): - request_deserializers = { - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): CreateClusterRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): CreateInstanceRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): DeleteClusterRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): DeleteInstanceRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): GetClusterRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): GetInstanceRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesRequest.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - } - response_serializers = { - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersResponse.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesResponse.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - } - method_implementations = { - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): face_utilities.unary_unary_inline(servicer.CreateCluster), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): face_utilities.unary_unary_inline(servicer.CreateInstance), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): face_utilities.unary_unary_inline(servicer.DeleteCluster), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): face_utilities.unary_unary_inline(servicer.DeleteInstance), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): face_utilities.unary_unary_inline(servicer.GetCluster), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): face_utilities.unary_unary_inline(servicer.GetInstance), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): face_utilities.unary_unary_inline(servicer.ListClusters), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): face_utilities.unary_unary_inline(servicer.ListInstances), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): face_utilities.unary_unary_inline(servicer.UpdateCluster), - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): face_utilities.unary_unary_inline(servicer.UpdateInstance), - } - 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_BigtableInstanceAdmin_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): - request_serializers = { - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): CreateClusterRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): CreateInstanceRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): DeleteClusterRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): DeleteInstanceRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): GetClusterRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): GetInstanceRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, - } - response_deserializers = { - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersResponse.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesResponse.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, - } - cardinalities = { - 'CreateCluster': cardinality.Cardinality.UNARY_UNARY, - 'CreateInstance': cardinality.Cardinality.UNARY_UNARY, - 'DeleteCluster': cardinality.Cardinality.UNARY_UNARY, - 'DeleteInstance': cardinality.Cardinality.UNARY_UNARY, - 'GetCluster': cardinality.Cardinality.UNARY_UNARY, - 'GetInstance': cardinality.Cardinality.UNARY_UNARY, - 'ListClusters': cardinality.Cardinality.UNARY_UNARY, - 'ListInstances': cardinality.Cardinality.UNARY_UNARY, - 'UpdateCluster': cardinality.Cardinality.UNARY_UNARY, - 'UpdateInstance': cardinality.Cardinality.UNARY_UNARY, - } - 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.admin.v2.BigtableInstanceAdmin', cardinalities, options=stub_options) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py deleted file mode 100644 index 8701efd166dd..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py +++ /dev/null @@ -1,1100 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/v2/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._generated import data_pb2 as google_dot_bigtable_dot_v2_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/bigtable/v2/bigtable.proto', - package='google.bigtable.v2', - syntax='proto3', - serialized_pb=_b('\n!google/bigtable/v2/bigtable.proto\x12\x12google.bigtable.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1dgoogle/bigtable/v2/data.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\x92\x01\n\x0fReadRowsRequest\x12\x12\n\ntable_name\x18\x01 \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\"*\n\x14SampleRowKeysRequest\x12\x12\n\ntable_name\x18\x01 \x01(\t\">\n\x15SampleRowKeysResponse\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x03\"h\n\x10MutateRowRequest\x12\x12\n\ntable_name\x18\x01 \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\"\xb0\x01\n\x11MutateRowsRequest\x12\x12\n\ntable_name\x18\x01 \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\"\xe5\x01\n\x18\x43heckAndMutateRowRequest\x12\x12\n\ntable_name\x18\x01 \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\"x\n\x19ReadModifyWriteRowRequest\x12\x12\n\ntable_name\x18\x01 \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)\n\x16\x63om.google.bigtable.v2B\rBigtableProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_v2_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='rows', full_name='google.bigtable.v2.ReadRowsRequest.rows', 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='filter', full_name='google.bigtable.v2.ReadRowsRequest.filter', 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='rows_limit', full_name='google.bigtable.v2.ReadRowsRequest.rows_limit', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=176, - serialized_end=322, -) - - -_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=440, - serialized_end=701, -) - -_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=325, - serialized_end=701, -) - - -_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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=703, - serialized_end=745, -) - - -_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=747, - serialized_end=809, -) - - -_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='row_key', full_name='google.bigtable.v2.MutateRowRequest.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), - _descriptor.FieldDescriptor( - name='mutations', full_name='google.bigtable.v2.MutateRowRequest.mutations', index=2, - 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=811, - serialized_end=915, -) - - -_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=917, - serialized_end=936, -) - - -_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=1042, - serialized_end=1115, -) - -_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='entries', full_name='google.bigtable.v2.MutateRowsRequest.entries', 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=[_MUTATEROWSREQUEST_ENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=939, - serialized_end=1115, -) - - -_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=1203, - serialized_end=1261, -) - -_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=1118, - serialized_end=1261, -) - - -_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='row_key', full_name='google.bigtable.v2.CheckAndMutateRowRequest.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), - _descriptor.FieldDescriptor( - name='predicate_filter', full_name='google.bigtable.v2.CheckAndMutateRowRequest.predicate_filter', index=2, - 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=3, - 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=4, - 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=1264, - serialized_end=1493, -) - - -_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=1495, - serialized_end=1549, -) - - -_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='row_key', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.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), - _descriptor.FieldDescriptor( - name='rules', full_name='google.bigtable.v2.ReadModifyWriteRowRequest.rules', index=2, - 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=1551, - serialized_end=1671, -) - - -_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=1673, - serialized_end=1739, -) - -_READROWSREQUEST.fields_by_name['rows'].message_type = google_dot_bigtable_dot_v2_dot_data__pb2._ROWSET -_READROWSREQUEST.fields_by_name['filter'].message_type = google_dot_bigtable_dot_v2_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_bigtable_dot_v2_dot_data__pb2._MUTATION -_MUTATEROWSREQUEST_ENTRY.fields_by_name['mutations'].message_type = google_dot_bigtable_dot_v2_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_bigtable_dot_v2_dot_data__pb2._ROWFILTER -_CHECKANDMUTATEROWREQUEST.fields_by_name['true_mutations'].message_type = google_dot_bigtable_dot_v2_dot_data__pb2._MUTATION -_CHECKANDMUTATEROWREQUEST.fields_by_name['false_mutations'].message_type = google_dot_bigtable_dot_v2_dot_data__pb2._MUTATION -_READMODIFYWRITEROWREQUEST.fields_by_name['rules'].message_type = google_dot_bigtable_dot_v2_dot_data__pb2._READMODIFYWRITERULE -_READMODIFYWRITEROWRESPONSE.fields_by_name['row'].message_type = google_dot_bigtable_dot_v2_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.bigtable.v2.bigtable_pb2' - # @@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.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadRowsResponse.CellChunk) - )) - , - DESCRIPTOR = _READROWSRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@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.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.SampleRowKeysRequest) - )) -_sym_db.RegisterMessage(SampleRowKeysRequest) - -SampleRowKeysResponse = _reflection.GeneratedProtocolMessageType('SampleRowKeysResponse', (_message.Message,), dict( - DESCRIPTOR = _SAMPLEROWKEYSRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.SampleRowKeysResponse) - )) -_sym_db.RegisterMessage(SampleRowKeysResponse) - -MutateRowRequest = _reflection.GeneratedProtocolMessageType('MutateRowRequest', (_message.Message,), dict( - DESCRIPTOR = _MUTATEROWREQUEST, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowRequest) - )) -_sym_db.RegisterMessage(MutateRowRequest) - -MutateRowResponse = _reflection.GeneratedProtocolMessageType('MutateRowResponse', (_message.Message,), dict( - DESCRIPTOR = _MUTATEROWRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@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.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsRequest.Entry) - )) - , - DESCRIPTOR = _MUTATEROWSREQUEST, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@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.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.MutateRowsResponse.Entry) - )) - , - DESCRIPTOR = _MUTATEROWSRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@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.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.CheckAndMutateRowRequest) - )) -_sym_db.RegisterMessage(CheckAndMutateRowRequest) - -CheckAndMutateRowResponse = _reflection.GeneratedProtocolMessageType('CheckAndMutateRowResponse', (_message.Message,), dict( - DESCRIPTOR = _CHECKANDMUTATEROWRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.CheckAndMutateRowResponse) - )) -_sym_db.RegisterMessage(CheckAndMutateRowResponse) - -ReadModifyWriteRowRequest = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRowRequest', (_message.Message,), dict( - DESCRIPTOR = _READMODIFYWRITEROWREQUEST, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadModifyWriteRowRequest) - )) -_sym_db.RegisterMessage(ReadModifyWriteRowRequest) - -ReadModifyWriteRowResponse = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRowResponse', (_message.Message,), dict( - DESCRIPTOR = _READMODIFYWRITEROWRESPONSE, - __module__ = 'google.bigtable.v2.bigtable_pb2' - # @@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\001')) -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, 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. 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): - """Service for reading from and writing to existing Bigtable tables. - """ - def ReadRows(self, request, context): - """Streams back the contents of all requested rows, 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. 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): - """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, 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. 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): - 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): - 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) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py deleted file mode 100644 index 9cafeed3e426..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py +++ /dev/null @@ -1,784 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/admin/v2/bigtable_table_admin.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._generated import table_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2 -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/admin/v2/bigtable_table_admin.proto', - package='google.bigtable.admin.v2', - syntax='proto3', - serialized_pb=_b('\n3google/bigtable/admin/v2/bigtable_table_admin.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a$google/bigtable/admin/v2/table.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xc8\x01\n\x12\x43reateTableRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x10\n\x08table_id\x18\x02 \x01(\t\x12.\n\x05table\x18\x03 \x01(\x0b\x32\x1f.google.bigtable.admin.v2.Table\x12J\n\x0einitial_splits\x18\x04 \x03(\x0b\x32\x32.google.bigtable.admin.v2.CreateTableRequest.Split\x1a\x14\n\x05Split\x12\x0b\n\x03key\x18\x01 \x01(\x0c\"m\n\x13\x44ropRowRangeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0erow_key_prefix\x18\x02 \x01(\x0cH\x00\x12$\n\x1a\x64\x65lete_all_data_from_table\x18\x03 \x01(\x08H\x00\x42\x08\n\x06target\"k\n\x11ListTablesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x32\n\x04view\x18\x02 \x01(\x0e\x32$.google.bigtable.admin.v2.Table.View\x12\x12\n\npage_token\x18\x03 \x01(\t\"^\n\x12ListTablesResponse\x12/\n\x06tables\x18\x01 \x03(\x0b\x32\x1f.google.bigtable.admin.v2.Table\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"S\n\x0fGetTableRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x04view\x18\x02 \x01(\x0e\x32$.google.bigtable.admin.v2.Table.View\"\"\n\x12\x44\x65leteTableRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xae\x02\n\x1bModifyColumnFamiliesRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12Y\n\rmodifications\x18\x02 \x03(\x0b\x32\x42.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification\x1a\xa5\x01\n\x0cModification\x12\n\n\x02id\x18\x01 \x01(\t\x12\x38\n\x06\x63reate\x18\x02 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamilyH\x00\x12\x38\n\x06update\x18\x03 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamilyH\x00\x12\x0e\n\x04\x64rop\x18\x04 \x01(\x08H\x00\x42\x05\n\x03mod2\xb8\x07\n\x12\x42igtableTableAdmin\x12\x93\x01\n\x0b\x43reateTable\x12,.google.bigtable.admin.v2.CreateTableRequest\x1a\x1f.google.bigtable.admin.v2.Table\"5\x82\xd3\xe4\x93\x02/\"*/v2/{parent=projects/*/instances/*}/tables:\x01*\x12\x9b\x01\n\nListTables\x12+.google.bigtable.admin.v2.ListTablesRequest\x1a,.google.bigtable.admin.v2.ListTablesResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v2/{parent=projects/*/instances/*}/tables\x12\x8a\x01\n\x08GetTable\x12).google.bigtable.admin.v2.GetTableRequest\x1a\x1f.google.bigtable.admin.v2.Table\"2\x82\xd3\xe4\x93\x02,\x12*/v2/{name=projects/*/instances/*/tables/*}\x12\x87\x01\n\x0b\x44\x65leteTable\x12,.google.bigtable.admin.v2.DeleteTableRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,**/v2/{name=projects/*/instances/*/tables/*}\x12\xba\x01\n\x14ModifyColumnFamilies\x12\x35.google.bigtable.admin.v2.ModifyColumnFamiliesRequest\x1a\x1f.google.bigtable.admin.v2.Table\"J\x82\xd3\xe4\x93\x02\x44\"?/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies:\x01*\x12\x99\x01\n\x0c\x44ropRowRange\x12-.google.bigtable.admin.v2.DropRowRangeRequest\x1a\x16.google.protobuf.Empty\"B\x82\xd3\xe4\x93\x02<\"7/v2/{name=projects/*/instances/*/tables/*}:dropRowRange:\x01*B9\n\x1c\x63om.google.bigtable.admin.v2B\x17\x42igtableTableAdminProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - - -_CREATETABLEREQUEST_SPLIT = _descriptor.Descriptor( - name='Split', - full_name='google.bigtable.admin.v2.CreateTableRequest.Split', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='google.bigtable.admin.v2.CreateTableRequest.Split.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=359, - serialized_end=379, -) - -_CREATETABLEREQUEST = _descriptor.Descriptor( - name='CreateTableRequest', - full_name='google.bigtable.admin.v2.CreateTableRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.CreateTableRequest.parent', 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='table_id', full_name='google.bigtable.admin.v2.CreateTableRequest.table_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), - _descriptor.FieldDescriptor( - name='table', full_name='google.bigtable.admin.v2.CreateTableRequest.table', 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='initial_splits', full_name='google.bigtable.admin.v2.CreateTableRequest.initial_splits', index=3, - 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), - ], - extensions=[ - ], - nested_types=[_CREATETABLEREQUEST_SPLIT, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=179, - serialized_end=379, -) - - -_DROPROWRANGEREQUEST = _descriptor.Descriptor( - name='DropRowRangeRequest', - full_name='google.bigtable.admin.v2.DropRowRangeRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.DropRowRangeRequest.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='row_key_prefix', full_name='google.bigtable.admin.v2.DropRowRangeRequest.row_key_prefix', 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), - _descriptor.FieldDescriptor( - name='delete_all_data_from_table', full_name='google.bigtable.admin.v2.DropRowRangeRequest.delete_all_data_from_table', index=2, - number=3, 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='target', full_name='google.bigtable.admin.v2.DropRowRangeRequest.target', - index=0, containing_type=None, fields=[]), - ], - serialized_start=381, - serialized_end=490, -) - - -_LISTTABLESREQUEST = _descriptor.Descriptor( - name='ListTablesRequest', - full_name='google.bigtable.admin.v2.ListTablesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='google.bigtable.admin.v2.ListTablesRequest.parent', 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='view', full_name='google.bigtable.admin.v2.ListTablesRequest.view', index=1, - number=2, type=14, cpp_type=8, 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='page_token', full_name='google.bigtable.admin.v2.ListTablesRequest.page_token', index=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=492, - serialized_end=599, -) - - -_LISTTABLESRESPONSE = _descriptor.Descriptor( - name='ListTablesResponse', - full_name='google.bigtable.admin.v2.ListTablesResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='tables', full_name='google.bigtable.admin.v2.ListTablesResponse.tables', 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='next_page_token', full_name='google.bigtable.admin.v2.ListTablesResponse.next_page_token', 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=601, - serialized_end=695, -) - - -_GETTABLEREQUEST = _descriptor.Descriptor( - name='GetTableRequest', - full_name='google.bigtable.admin.v2.GetTableRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.GetTableRequest.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='view', full_name='google.bigtable.admin.v2.GetTableRequest.view', index=1, - number=2, type=14, cpp_type=8, 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=697, - serialized_end=780, -) - - -_DELETETABLEREQUEST = _descriptor.Descriptor( - name='DeleteTableRequest', - full_name='google.bigtable.admin.v2.DeleteTableRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.DeleteTableRequest.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=782, - serialized_end=816, -) - - -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION = _descriptor.Descriptor( - name='Modification', - full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.id', 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='create', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.create', 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='update', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.update', 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='drop', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.drop', index=3, - number=4, 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='mod', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.mod', - index=0, containing_type=None, fields=[]), - ], - serialized_start=956, - serialized_end=1121, -) - -_MODIFYCOLUMNFAMILIESREQUEST = _descriptor.Descriptor( - name='ModifyColumnFamiliesRequest', - full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.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='modifications', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.modifications', 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=[_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=819, - serialized_end=1121, -) - -_CREATETABLEREQUEST_SPLIT.containing_type = _CREATETABLEREQUEST -_CREATETABLEREQUEST.fields_by_name['table'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE -_CREATETABLEREQUEST.fields_by_name['initial_splits'].message_type = _CREATETABLEREQUEST_SPLIT -_DROPROWRANGEREQUEST.oneofs_by_name['target'].fields.append( - _DROPROWRANGEREQUEST.fields_by_name['row_key_prefix']) -_DROPROWRANGEREQUEST.fields_by_name['row_key_prefix'].containing_oneof = _DROPROWRANGEREQUEST.oneofs_by_name['target'] -_DROPROWRANGEREQUEST.oneofs_by_name['target'].fields.append( - _DROPROWRANGEREQUEST.fields_by_name['delete_all_data_from_table']) -_DROPROWRANGEREQUEST.fields_by_name['delete_all_data_from_table'].containing_oneof = _DROPROWRANGEREQUEST.oneofs_by_name['target'] -_LISTTABLESREQUEST.fields_by_name['view'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE_VIEW -_LISTTABLESRESPONSE.fields_by_name['tables'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE -_GETTABLEREQUEST.fields_by_name['view'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE_VIEW -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._COLUMNFAMILY -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._COLUMNFAMILY -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.containing_type = _MODIFYCOLUMNFAMILIESREQUEST -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( - _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create']) -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( - _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update']) -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( - _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['drop']) -_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['drop'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] -_MODIFYCOLUMNFAMILIESREQUEST.fields_by_name['modifications'].message_type = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION -DESCRIPTOR.message_types_by_name['CreateTableRequest'] = _CREATETABLEREQUEST -DESCRIPTOR.message_types_by_name['DropRowRangeRequest'] = _DROPROWRANGEREQUEST -DESCRIPTOR.message_types_by_name['ListTablesRequest'] = _LISTTABLESREQUEST -DESCRIPTOR.message_types_by_name['ListTablesResponse'] = _LISTTABLESRESPONSE -DESCRIPTOR.message_types_by_name['GetTableRequest'] = _GETTABLEREQUEST -DESCRIPTOR.message_types_by_name['DeleteTableRequest'] = _DELETETABLEREQUEST -DESCRIPTOR.message_types_by_name['ModifyColumnFamiliesRequest'] = _MODIFYCOLUMNFAMILIESREQUEST - -CreateTableRequest = _reflection.GeneratedProtocolMessageType('CreateTableRequest', (_message.Message,), dict( - - Split = _reflection.GeneratedProtocolMessageType('Split', (_message.Message,), dict( - DESCRIPTOR = _CREATETABLEREQUEST_SPLIT, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateTableRequest.Split) - )) - , - DESCRIPTOR = _CREATETABLEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateTableRequest) - )) -_sym_db.RegisterMessage(CreateTableRequest) -_sym_db.RegisterMessage(CreateTableRequest.Split) - -DropRowRangeRequest = _reflection.GeneratedProtocolMessageType('DropRowRangeRequest', (_message.Message,), dict( - DESCRIPTOR = _DROPROWRANGEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DropRowRangeRequest) - )) -_sym_db.RegisterMessage(DropRowRangeRequest) - -ListTablesRequest = _reflection.GeneratedProtocolMessageType('ListTablesRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTTABLESREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListTablesRequest) - )) -_sym_db.RegisterMessage(ListTablesRequest) - -ListTablesResponse = _reflection.GeneratedProtocolMessageType('ListTablesResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTTABLESRESPONSE, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListTablesResponse) - )) -_sym_db.RegisterMessage(ListTablesResponse) - -GetTableRequest = _reflection.GeneratedProtocolMessageType('GetTableRequest', (_message.Message,), dict( - DESCRIPTOR = _GETTABLEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetTableRequest) - )) -_sym_db.RegisterMessage(GetTableRequest) - -DeleteTableRequest = _reflection.GeneratedProtocolMessageType('DeleteTableRequest', (_message.Message,), dict( - DESCRIPTOR = _DELETETABLEREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteTableRequest) - )) -_sym_db.RegisterMessage(DeleteTableRequest) - -ModifyColumnFamiliesRequest = _reflection.GeneratedProtocolMessageType('ModifyColumnFamiliesRequest', (_message.Message,), dict( - - Modification = _reflection.GeneratedProtocolMessageType('Modification', (_message.Message,), dict( - DESCRIPTOR = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification) - )) - , - DESCRIPTOR = _MODIFYCOLUMNFAMILIESREQUEST, - __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ModifyColumnFamiliesRequest) - )) -_sym_db.RegisterMessage(ModifyColumnFamiliesRequest) -_sym_db.RegisterMessage(ModifyColumnFamiliesRequest.Modification) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\027BigtableTableAdminProtoP\001')) -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 BigtableTableAdminStub(object): - """Service for creating, configuring, and deleting Cloud Bigtable tables. - Provides access to the table schemas only, not the data stored within - the tables. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.CreateTable = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/CreateTable', - request_serializer=CreateTableRequest.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - ) - self.ListTables = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/ListTables', - request_serializer=ListTablesRequest.SerializeToString, - response_deserializer=ListTablesResponse.FromString, - ) - self.GetTable = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/GetTable', - request_serializer=GetTableRequest.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - ) - self.DeleteTable = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/DeleteTable', - request_serializer=DeleteTableRequest.SerializeToString, - response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) - self.ModifyColumnFamilies = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/ModifyColumnFamilies', - request_serializer=ModifyColumnFamiliesRequest.SerializeToString, - response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - ) - self.DropRowRange = channel.unary_unary( - '/google.bigtable.admin.v2.BigtableTableAdmin/DropRowRange', - request_serializer=DropRowRangeRequest.SerializeToString, - response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) - - -class BigtableTableAdminServicer(object): - """Service for creating, configuring, and deleting Cloud Bigtable tables. - Provides access to the table schemas only, not the data stored within - the tables. - """ - - def CreateTable(self, request, context): - """Creates a new table in the specified instance. - The table can be created with a full set of initial column families, - specified in the request. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListTables(self, request, context): - """Lists all tables served from a specified instance. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTable(self, request, context): - """Gets metadata information about the specified table. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteTable(self, request, context): - """Permanently deletes a specified table and all of its data. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ModifyColumnFamilies(self, request, context): - """Atomically performs a series of column family modifications - on the specified table. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DropRowRange(self, request, context): - """Permanently drop/delete a row range from a specified table. The request can - specify whether to delete all rows in a table, or only those that match a - particular prefix. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_BigtableTableAdminServicer_to_server(servicer, server): - rpc_method_handlers = { - 'CreateTable': grpc.unary_unary_rpc_method_handler( - servicer.CreateTable, - request_deserializer=CreateTableRequest.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - ), - 'ListTables': grpc.unary_unary_rpc_method_handler( - servicer.ListTables, - request_deserializer=ListTablesRequest.FromString, - response_serializer=ListTablesResponse.SerializeToString, - ), - 'GetTable': grpc.unary_unary_rpc_method_handler( - servicer.GetTable, - request_deserializer=GetTableRequest.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - ), - 'DeleteTable': grpc.unary_unary_rpc_method_handler( - servicer.DeleteTable, - request_deserializer=DeleteTableRequest.FromString, - response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ), - 'ModifyColumnFamilies': grpc.unary_unary_rpc_method_handler( - servicer.ModifyColumnFamilies, - request_deserializer=ModifyColumnFamiliesRequest.FromString, - response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - ), - 'DropRowRange': grpc.unary_unary_rpc_method_handler( - servicer.DropRowRange, - request_deserializer=DropRowRangeRequest.FromString, - response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'google.bigtable.admin.v2.BigtableTableAdmin', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - -class BetaBigtableTableAdminServicer(object): - """Service for creating, configuring, and deleting Cloud Bigtable tables. - Provides access to the table schemas only, not the data stored within - the tables. - """ - def CreateTable(self, request, context): - """Creates a new table in the specified instance. - The table can be created with a full set of initial column families, - specified in the request. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ListTables(self, request, context): - """Lists all tables served from a specified instance. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def GetTable(self, request, context): - """Gets metadata information about the specified table. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def DeleteTable(self, request, context): - """Permanently deletes a specified table and all of its data. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ModifyColumnFamilies(self, request, context): - """Atomically performs a series of column family modifications - on the specified table. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def DropRowRange(self, request, context): - """Permanently drop/delete a row range from a specified table. The request can - specify whether to delete all rows in a table, or only those that match a - particular prefix. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - - -class BetaBigtableTableAdminStub(object): - """Service for creating, configuring, and deleting Cloud Bigtable tables. - Provides access to the table schemas only, not the data stored within - the tables. - """ - def CreateTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Creates a new table in the specified instance. - The table can be created with a full set of initial column families, - specified in the request. - """ - raise NotImplementedError() - CreateTable.future = None - def ListTables(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Lists all tables served from a specified instance. - """ - raise NotImplementedError() - ListTables.future = None - def GetTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Gets metadata information about the specified table. - """ - raise NotImplementedError() - GetTable.future = None - def DeleteTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Permanently deletes a specified table and all of its data. - """ - raise NotImplementedError() - DeleteTable.future = None - def ModifyColumnFamilies(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Atomically performs a series of column family modifications - on the specified table. - """ - raise NotImplementedError() - ModifyColumnFamilies.future = None - def DropRowRange(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Permanently drop/delete a row range from a specified table. The request can - specify whether to delete all rows in a table, or only those that match a - particular prefix. - """ - raise NotImplementedError() - DropRowRange.future = None - - -def beta_create_BigtableTableAdmin_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): - request_deserializers = { - ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): CreateTableRequest.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): DeleteTableRequest.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): DropRowRangeRequest.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): GetTableRequest.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesRequest.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): ModifyColumnFamiliesRequest.FromString, - } - response_serializers = { - ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesResponse.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, - } - method_implementations = { - ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): face_utilities.unary_unary_inline(servicer.CreateTable), - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): face_utilities.unary_unary_inline(servicer.DeleteTable), - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): face_utilities.unary_unary_inline(servicer.DropRowRange), - ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): face_utilities.unary_unary_inline(servicer.GetTable), - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): face_utilities.unary_unary_inline(servicer.ListTables), - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): face_utilities.unary_unary_inline(servicer.ModifyColumnFamilies), - } - 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_BigtableTableAdmin_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): - request_serializers = { - ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): CreateTableRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): DeleteTableRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): DropRowRangeRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): GetTableRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesRequest.SerializeToString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): ModifyColumnFamiliesRequest.SerializeToString, - } - response_deserializers = { - ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesResponse.FromString, - ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, - } - cardinalities = { - 'CreateTable': cardinality.Cardinality.UNARY_UNARY, - 'DeleteTable': cardinality.Cardinality.UNARY_UNARY, - 'DropRowRange': cardinality.Cardinality.UNARY_UNARY, - 'GetTable': cardinality.Cardinality.UNARY_UNARY, - 'ListTables': cardinality.Cardinality.UNARY_UNARY, - 'ModifyColumnFamilies': cardinality.Cardinality.UNARY_UNARY, - } - 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.admin.v2.BigtableTableAdmin', cardinalities, options=stub_options) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/common_pb2.py b/bigtable/google/cloud/bigtable/_generated/common_pb2.py deleted file mode 100644 index 298130452971..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/common_pb2.py +++ /dev/null @@ -1,67 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/admin/v2/common.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf.internal import enum_type_wrapper -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.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/admin/v2/common.proto', - package='google.bigtable.admin.v2', - syntax='proto3', - serialized_pb=_b('\n%google/bigtable/admin/v2/common.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto*=\n\x0bStorageType\x12\x1c\n\x18STORAGE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03SSD\x10\x01\x12\x07\n\x03HDD\x10\x02\x42-\n\x1c\x63om.google.bigtable.admin.v2B\x0b\x43ommonProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -_STORAGETYPE = _descriptor.EnumDescriptor( - name='StorageType', - full_name='google.bigtable.admin.v2.StorageType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STORAGE_TYPE_UNSPECIFIED', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='SSD', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='HDD', index=2, number=2, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=130, - serialized_end=191, -) -_sym_db.RegisterEnumDescriptor(_STORAGETYPE) - -StorageType = enum_type_wrapper.EnumTypeWrapper(_STORAGETYPE) -STORAGE_TYPE_UNSPECIFIED = 0 -SSD = 1 -HDD = 2 - - -DESCRIPTOR.enum_types_by_name['StorageType'] = _STORAGETYPE - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\013CommonProtoP\001')) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/instance_pb2.py b/bigtable/google/cloud/bigtable/_generated/instance_pb2.py deleted file mode 100644 index 8d4383d31e79..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/instance_pb2.py +++ /dev/null @@ -1,222 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/admin/v2/instance.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._generated import common_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/admin/v2/instance.proto', - package='google.bigtable.admin.v2', - syntax='proto3', - serialized_pb=_b('\n\'google/bigtable/admin/v2/instance.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a%google/bigtable/admin/v2/common.proto\"\x9e\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32(.google.bigtable.admin.v2.Instance.State\"5\n\x05State\x12\x13\n\x0fSTATE_NOT_KNOWN\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0c\n\x08\x43REATING\x10\x02\"\x8e\x02\n\x07\x43luster\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x36\n\x05state\x18\x03 \x01(\x0e\x32\'.google.bigtable.admin.v2.Cluster.State\x12\x13\n\x0bserve_nodes\x18\x04 \x01(\x05\x12\x43\n\x14\x64\x65\x66\x61ult_storage_type\x18\x05 \x01(\x0e\x32%.google.bigtable.admin.v2.StorageType\"Q\n\x05State\x12\x13\n\x0fSTATE_NOT_KNOWN\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0c\n\x08\x43REATING\x10\x02\x12\x0c\n\x08RESIZING\x10\x03\x12\x0c\n\x08\x44ISABLED\x10\x04\x42/\n\x1c\x63om.google.bigtable.admin.v2B\rInstanceProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - -_INSTANCE_STATE = _descriptor.EnumDescriptor( - name='State', - full_name='google.bigtable.admin.v2.Instance.State', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STATE_NOT_KNOWN', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='READY', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='CREATING', index=2, number=2, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=244, - serialized_end=297, -) -_sym_db.RegisterEnumDescriptor(_INSTANCE_STATE) - -_CLUSTER_STATE = _descriptor.EnumDescriptor( - name='State', - full_name='google.bigtable.admin.v2.Cluster.State', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STATE_NOT_KNOWN', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='READY', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='CREATING', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RESIZING', index=3, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DISABLED', index=4, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=489, - serialized_end=570, -) -_sym_db.RegisterEnumDescriptor(_CLUSTER_STATE) - - -_INSTANCE = _descriptor.Descriptor( - name='Instance', - full_name='google.bigtable.admin.v2.Instance', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.Instance.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='display_name', full_name='google.bigtable.admin.v2.Instance.display_name', 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), - _descriptor.FieldDescriptor( - name='state', full_name='google.bigtable.admin.v2.Instance.state', index=2, - number=3, type=14, cpp_type=8, 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=[ - _INSTANCE_STATE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=139, - serialized_end=297, -) - - -_CLUSTER = _descriptor.Descriptor( - name='Cluster', - full_name='google.bigtable.admin.v2.Cluster', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.Cluster.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='location', full_name='google.bigtable.admin.v2.Cluster.location', 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), - _descriptor.FieldDescriptor( - name='state', full_name='google.bigtable.admin.v2.Cluster.state', index=2, - number=3, type=14, cpp_type=8, 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='serve_nodes', full_name='google.bigtable.admin.v2.Cluster.serve_nodes', index=3, - number=4, 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='default_storage_type', full_name='google.bigtable.admin.v2.Cluster.default_storage_type', index=4, - number=5, type=14, cpp_type=8, 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=[ - _CLUSTER_STATE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=300, - serialized_end=570, -) - -_INSTANCE.fields_by_name['state'].enum_type = _INSTANCE_STATE -_INSTANCE_STATE.containing_type = _INSTANCE -_CLUSTER.fields_by_name['state'].enum_type = _CLUSTER_STATE -_CLUSTER.fields_by_name['default_storage_type'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2._STORAGETYPE -_CLUSTER_STATE.containing_type = _CLUSTER -DESCRIPTOR.message_types_by_name['Instance'] = _INSTANCE -DESCRIPTOR.message_types_by_name['Cluster'] = _CLUSTER - -Instance = _reflection.GeneratedProtocolMessageType('Instance', (_message.Message,), dict( - DESCRIPTOR = _INSTANCE, - __module__ = 'google.bigtable.admin.v2.instance_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Instance) - )) -_sym_db.RegisterMessage(Instance) - -Cluster = _reflection.GeneratedProtocolMessageType('Cluster', (_message.Message,), dict( - DESCRIPTOR = _CLUSTER, - __module__ = 'google.bigtable.admin.v2.instance_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Cluster) - )) -_sym_db.RegisterMessage(Cluster) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\rInstanceProtoP\001')) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/table_pb2.py b/bigtable/google/cloud/bigtable/_generated/table_pb2.py deleted file mode 100644 index 840076514cc7..000000000000 --- a/bigtable/google/cloud/bigtable/_generated/table_pb2.py +++ /dev/null @@ -1,393 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/admin/v2/table.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.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/admin/v2/table.proto', - package='google.bigtable.admin.v2', - syntax='proto3', - serialized_pb=_b('\n$google/bigtable/admin/v2/table.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\"\xa0\x03\n\x05Table\x12\x0c\n\x04name\x18\x01 \x01(\t\x12L\n\x0f\x63olumn_families\x18\x03 \x03(\x0b\x32\x33.google.bigtable.admin.v2.Table.ColumnFamiliesEntry\x12I\n\x0bgranularity\x18\x04 \x01(\x0e\x32\x34.google.bigtable.admin.v2.Table.TimestampGranularity\x1a]\n\x13\x43olumnFamiliesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamily:\x02\x38\x01\"I\n\x14TimestampGranularity\x12%\n!TIMESTAMP_GRANULARITY_UNSPECIFIED\x10\x00\x12\n\n\x06MILLIS\x10\x01\"F\n\x04View\x12\x14\n\x10VIEW_UNSPECIFIED\x10\x00\x12\r\n\tNAME_ONLY\x10\x01\x12\x0f\n\x0bSCHEMA_VIEW\x10\x02\x12\x08\n\x04\x46ULL\x10\x04\"A\n\x0c\x43olumnFamily\x12\x31\n\x07gc_rule\x18\x01 \x01(\x0b\x32 .google.bigtable.admin.v2.GcRule\"\xd5\x02\n\x06GcRule\x12\x1a\n\x10max_num_versions\x18\x01 \x01(\x05H\x00\x12,\n\x07max_age\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x45\n\x0cintersection\x18\x03 \x01(\x0b\x32-.google.bigtable.admin.v2.GcRule.IntersectionH\x00\x12\x37\n\x05union\x18\x04 \x01(\x0b\x32&.google.bigtable.admin.v2.GcRule.UnionH\x00\x1a?\n\x0cIntersection\x12/\n\x05rules\x18\x01 \x03(\x0b\x32 .google.bigtable.admin.v2.GcRule\x1a\x38\n\x05Union\x12/\n\x05rules\x18\x01 \x03(\x0b\x32 .google.bigtable.admin.v2.GcRuleB\x06\n\x04ruleB,\n\x1c\x63om.google.bigtable.admin.v2B\nTableProtoP\x01\x62\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - -_TABLE_TIMESTAMPGRANULARITY = _descriptor.EnumDescriptor( - name='TimestampGranularity', - full_name='google.bigtable.admin.v2.Table.TimestampGranularity', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='TIMESTAMP_GRANULARITY_UNSPECIFIED', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='MILLIS', index=1, number=1, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=400, - serialized_end=473, -) -_sym_db.RegisterEnumDescriptor(_TABLE_TIMESTAMPGRANULARITY) - -_TABLE_VIEW = _descriptor.EnumDescriptor( - name='View', - full_name='google.bigtable.admin.v2.Table.View', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='VIEW_UNSPECIFIED', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='NAME_ONLY', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='SCHEMA_VIEW', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FULL', index=3, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=475, - serialized_end=545, -) -_sym_db.RegisterEnumDescriptor(_TABLE_VIEW) - - -_TABLE_COLUMNFAMILIESENTRY = _descriptor.Descriptor( - name='ColumnFamiliesEntry', - full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry.key', 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='value', full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=305, - serialized_end=398, -) - -_TABLE = _descriptor.Descriptor( - name='Table', - full_name='google.bigtable.admin.v2.Table', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='google.bigtable.admin.v2.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='column_families', full_name='google.bigtable.admin.v2.Table.column_families', index=1, - 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), - _descriptor.FieldDescriptor( - name='granularity', full_name='google.bigtable.admin.v2.Table.granularity', index=2, - number=4, type=14, cpp_type=8, 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=[_TABLE_COLUMNFAMILIESENTRY, ], - enum_types=[ - _TABLE_TIMESTAMPGRANULARITY, - _TABLE_VIEW, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=129, - serialized_end=545, -) - - -_COLUMNFAMILY = _descriptor.Descriptor( - name='ColumnFamily', - full_name='google.bigtable.admin.v2.ColumnFamily', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='gc_rule', full_name='google.bigtable.admin.v2.ColumnFamily.gc_rule', 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=547, - serialized_end=612, -) - - -_GCRULE_INTERSECTION = _descriptor.Descriptor( - name='Intersection', - full_name='google.bigtable.admin.v2.GcRule.Intersection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='rules', full_name='google.bigtable.admin.v2.GcRule.Intersection.rules', 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=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=827, - serialized_end=890, -) - -_GCRULE_UNION = _descriptor.Descriptor( - name='Union', - full_name='google.bigtable.admin.v2.GcRule.Union', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='rules', full_name='google.bigtable.admin.v2.GcRule.Union.rules', 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=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=892, - serialized_end=948, -) - -_GCRULE = _descriptor.Descriptor( - name='GcRule', - full_name='google.bigtable.admin.v2.GcRule', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='max_num_versions', full_name='google.bigtable.admin.v2.GcRule.max_num_versions', index=0, - number=1, 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='max_age', full_name='google.bigtable.admin.v2.GcRule.max_age', 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='intersection', full_name='google.bigtable.admin.v2.GcRule.intersection', 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='union', full_name='google.bigtable.admin.v2.GcRule.union', index=3, - number=4, 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=[_GCRULE_INTERSECTION, _GCRULE_UNION, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='rule', full_name='google.bigtable.admin.v2.GcRule.rule', - index=0, containing_type=None, fields=[]), - ], - serialized_start=615, - serialized_end=956, -) - -_TABLE_COLUMNFAMILIESENTRY.fields_by_name['value'].message_type = _COLUMNFAMILY -_TABLE_COLUMNFAMILIESENTRY.containing_type = _TABLE -_TABLE.fields_by_name['column_families'].message_type = _TABLE_COLUMNFAMILIESENTRY -_TABLE.fields_by_name['granularity'].enum_type = _TABLE_TIMESTAMPGRANULARITY -_TABLE_TIMESTAMPGRANULARITY.containing_type = _TABLE -_TABLE_VIEW.containing_type = _TABLE -_COLUMNFAMILY.fields_by_name['gc_rule'].message_type = _GCRULE -_GCRULE_INTERSECTION.fields_by_name['rules'].message_type = _GCRULE -_GCRULE_INTERSECTION.containing_type = _GCRULE -_GCRULE_UNION.fields_by_name['rules'].message_type = _GCRULE -_GCRULE_UNION.containing_type = _GCRULE -_GCRULE.fields_by_name['max_age'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION -_GCRULE.fields_by_name['intersection'].message_type = _GCRULE_INTERSECTION -_GCRULE.fields_by_name['union'].message_type = _GCRULE_UNION -_GCRULE.oneofs_by_name['rule'].fields.append( - _GCRULE.fields_by_name['max_num_versions']) -_GCRULE.fields_by_name['max_num_versions'].containing_oneof = _GCRULE.oneofs_by_name['rule'] -_GCRULE.oneofs_by_name['rule'].fields.append( - _GCRULE.fields_by_name['max_age']) -_GCRULE.fields_by_name['max_age'].containing_oneof = _GCRULE.oneofs_by_name['rule'] -_GCRULE.oneofs_by_name['rule'].fields.append( - _GCRULE.fields_by_name['intersection']) -_GCRULE.fields_by_name['intersection'].containing_oneof = _GCRULE.oneofs_by_name['rule'] -_GCRULE.oneofs_by_name['rule'].fields.append( - _GCRULE.fields_by_name['union']) -_GCRULE.fields_by_name['union'].containing_oneof = _GCRULE.oneofs_by_name['rule'] -DESCRIPTOR.message_types_by_name['Table'] = _TABLE -DESCRIPTOR.message_types_by_name['ColumnFamily'] = _COLUMNFAMILY -DESCRIPTOR.message_types_by_name['GcRule'] = _GCRULE - -Table = _reflection.GeneratedProtocolMessageType('Table', (_message.Message,), dict( - - ColumnFamiliesEntry = _reflection.GeneratedProtocolMessageType('ColumnFamiliesEntry', (_message.Message,), dict( - DESCRIPTOR = _TABLE_COLUMNFAMILIESENTRY, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Table.ColumnFamiliesEntry) - )) - , - DESCRIPTOR = _TABLE, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Table) - )) -_sym_db.RegisterMessage(Table) -_sym_db.RegisterMessage(Table.ColumnFamiliesEntry) - -ColumnFamily = _reflection.GeneratedProtocolMessageType('ColumnFamily', (_message.Message,), dict( - DESCRIPTOR = _COLUMNFAMILY, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ColumnFamily) - )) -_sym_db.RegisterMessage(ColumnFamily) - -GcRule = _reflection.GeneratedProtocolMessageType('GcRule', (_message.Message,), dict( - - Intersection = _reflection.GeneratedProtocolMessageType('Intersection', (_message.Message,), dict( - DESCRIPTOR = _GCRULE_INTERSECTION, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule.Intersection) - )) - , - - Union = _reflection.GeneratedProtocolMessageType('Union', (_message.Message,), dict( - DESCRIPTOR = _GCRULE_UNION, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule.Union) - )) - , - DESCRIPTOR = _GCRULE, - __module__ = 'google.bigtable.admin.v2.table_pb2' - # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule) - )) -_sym_db.RegisterMessage(GcRule) -_sym_db.RegisterMessage(GcRule.Intersection) -_sym_db.RegisterMessage(GcRule.Union) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\nTableProtoP\001')) -_TABLE_COLUMNFAMILIESENTRY.has_options = True -_TABLE_COLUMNFAMILIESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable_v2/__init__.py b/bigtable/google/cloud/bigtable_v2/__init__.py new file mode 100644 index 000000000000..751a63d9d40e --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/__init__.py @@ -0,0 +1,28 @@ +# Copyright 2017 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import + +from google.cloud.bigtable_v2 import types +from google.cloud.bigtable_v2.gapic import bigtable_client + + +class BigtableClient(bigtable_client.BigtableClient): + __doc__ = bigtable_client.BigtableClient.__doc__ + + +__all__ = ( + 'types', + 'BigtableClient', +) diff --git a/bigtable/google/cloud/bigtable_v2/gapic/__init__.py b/bigtable/google/cloud/bigtable_v2/gapic/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client.py b/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client.py new file mode 100644 index 000000000000..60eb063290b7 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client.py @@ -0,0 +1,564 @@ +# Copyright 2017 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Accesses the google.bigtable.v2 Bigtable API.""" + +import pkg_resources + +import google.api_core.gapic_v1.client_info +import google.api_core.gapic_v1.config +import google.api_core.gapic_v1.method +import google.api_core.grpc_helpers +import google.api_core.path_template + +from google.cloud.bigtable_v2.gapic import bigtable_client_config +from google.cloud.bigtable_v2.proto import bigtable_pb2 +from google.cloud.bigtable_v2.proto import data_pb2 + +_GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( + 'google-cloud-bigtable', ).version + + +class BigtableClient(object): + """Service for reading from and writing to existing Bigtable tables.""" + + SERVICE_ADDRESS = 'bigtable.googleapis.com:443' + """The default address of the service.""" + + # The scopes needed to make gRPC calls to all of the methods defined in + # this service + _DEFAULT_SCOPES = ( + 'https://www.googleapis.com/auth/bigtable.data', + 'https://www.googleapis.com/auth/bigtable.data.readonly', + 'https://www.googleapis.com/auth/cloud-bigtable.data', + 'https://www.googleapis.com/auth/cloud-bigtable.data.readonly', + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + ) + + # The name of the interface for this client. This is the key used to find + # method configuration in the client_config dictionary. + _INTERFACE_NAME = 'google.bigtable.v2.Bigtable' + + @classmethod + def table_path(cls, project, instance, table): + """Return a fully-qualified table string.""" + return google.api_core.path_template.expand( + 'projects/{project}/instances/{instance}/tables/{table}', + project=project, + instance=instance, + table=table, + ) + + def __init__(self, + channel=None, + credentials=None, + client_config=bigtable_client_config.config, + client_info=None): + """Constructor. + + Args: + channel (grpc.Channel): A ``Channel`` instance through + which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. + credentials (google.auth.credentials.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If none + are specified, the client will attempt to ascertain the + credentials from the environment. + client_config (dict): A dictionary of call options for each + method. If not specified, the default configuration is used. + client_info (google.api_core.gapic_v1.client_info.ClientInfo): + The client info used to send a user-agent string along with + API requests. If ``None``, then default info will be used. + Generally, you only need to set this if you're developing + your own client library. + """ + # If both `channel` and `credentials` are specified, raise an + # exception (channels come with credentials baked in already). + if channel is not None and credentials is not None: + raise ValueError( + 'The `channel` and `credentials` arguments to {} are mutually ' + 'exclusive.'.format(self.__class__.__name__), ) + + # Create the channel. + if channel is None: + channel = google.api_core.grpc_helpers.create_channel( + self.SERVICE_ADDRESS, + credentials=credentials, + scopes=self._DEFAULT_SCOPES, + ) + + # Create the gRPC stubs. + self.bigtable_stub = (bigtable_pb2.BigtableStub(channel)) + + if client_info is None: + client_info = ( + google.api_core.gapic_v1.client_info.DEFAULT_CLIENT_INFO) + client_info.gapic_version = _GAPIC_LIBRARY_VERSION + + # Parse out the default settings for retry and timeout for each RPC + # from the client configuration. + # (Ordinarily, these are the defaults specified in the `*_config.py` + # file next to this one.) + method_configs = google.api_core.gapic_v1.config.parse_method_configs( + client_config['interfaces'][self._INTERFACE_NAME], ) + + # Write the "inner API call" methods to the class. + # These are wrapped versions of the gRPC stub methods, with retry and + # timeout configuration applied, called by the public methods on + # this class. + self._read_rows = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.ReadRows, + default_retry=method_configs['ReadRows'].retry, + default_timeout=method_configs['ReadRows'].timeout, + client_info=client_info, + ) + self._sample_row_keys = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.SampleRowKeys, + default_retry=method_configs['SampleRowKeys'].retry, + default_timeout=method_configs['SampleRowKeys'].timeout, + client_info=client_info, + ) + self._mutate_row = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.MutateRow, + default_retry=method_configs['MutateRow'].retry, + default_timeout=method_configs['MutateRow'].timeout, + client_info=client_info, + ) + self._mutate_rows = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.MutateRows, + default_retry=method_configs['MutateRows'].retry, + default_timeout=method_configs['MutateRows'].timeout, + client_info=client_info, + ) + self._check_and_mutate_row = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.CheckAndMutateRow, + default_retry=method_configs['CheckAndMutateRow'].retry, + default_timeout=method_configs['CheckAndMutateRow'].timeout, + client_info=client_info, + ) + self._read_modify_write_row = google.api_core.gapic_v1.method.wrap_method( + self.bigtable_stub.ReadModifyWriteRow, + default_retry=method_configs['ReadModifyWriteRow'].retry, + default_timeout=method_configs['ReadModifyWriteRow'].timeout, + client_info=client_info, + ) + + # Service calls + def read_rows(self, + table_name, + app_profile_id=None, + rows=None, + filter_=None, + rows_limit=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + 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. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> + >>> for element in client.read_rows(table_name): + ... # process element + ... pass + + Args: + table_name (str): The unique name of the table from which to read. + Values are of the form + ``projects//instances//tables/
``. + app_profile_id (str): 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 (Union[dict, ~google.cloud.bigtable_v2.types.RowSet]): The row keys and/or ranges to read. If not specified, reads from all rows. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.RowSet` + filter_ (Union[dict, ~google.cloud.bigtable_v2.types.RowFilter]): The filter to apply to the contents of the specified row(s). If unset, + reads the entirety of each row. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.RowFilter` + rows_limit (long): The read will terminate after committing to N rows' worth of results. The + default (zero) is to return all results. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + Iterable[~google.cloud.bigtable_v2.types.ReadRowsResponse]. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.ReadRowsRequest( + table_name=table_name, + app_profile_id=app_profile_id, + rows=rows, + filter=filter_, + rows_limit=rows_limit, + ) + return self._read_rows(request, retry=retry, timeout=timeout) + + def sample_row_keys(self, + table_name, + app_profile_id=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + 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. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> + >>> for element in client.sample_row_keys(table_name): + ... # process element + ... pass + + Args: + table_name (str): The unique name of the table from which to sample row keys. + Values are of the form + ``projects//instances//tables/
``. + app_profile_id (str): 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. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + Iterable[~google.cloud.bigtable_v2.types.SampleRowKeysResponse]. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.SampleRowKeysRequest( + table_name=table_name, + app_profile_id=app_profile_id, + ) + return self._sample_row_keys(request, retry=retry, timeout=timeout) + + def mutate_row(self, + table_name, + row_key, + mutations, + app_profile_id=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + Mutates a row atomically. Cells already present in the row are left + unchanged unless explicitly changed by ``mutation``. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> row_key = b'' + >>> mutations = [] + >>> + >>> response = client.mutate_row(table_name, row_key, mutations) + + Args: + table_name (str): The unique name of the table to which the mutation should be applied. + Values are of the form + ``projects//instances//tables/
``. + row_key (bytes): The key of the row to which the mutation should be applied. + mutations (list[Union[dict, ~google.cloud.bigtable_v2.types.Mutation]]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.Mutation` + app_profile_id (str): 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. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + A :class:`~google.cloud.bigtable_v2.types.MutateRowResponse` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.MutateRowRequest( + table_name=table_name, + row_key=row_key, + mutations=mutations, + app_profile_id=app_profile_id, + ) + return self._mutate_row(request, retry=retry, timeout=timeout) + + def mutate_rows(self, + table_name, + entries, + app_profile_id=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + Mutates multiple rows in a batch. Each individual row is mutated + atomically as in MutateRow, but the entire batch is not executed + atomically. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> entries = [] + >>> + >>> for element in client.mutate_rows(table_name, entries): + ... # process element + ... pass + + Args: + table_name (str): The unique name of the table to which the mutations should be applied. + entries (list[Union[dict, ~google.cloud.bigtable_v2.types.Entry]]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.Entry` + app_profile_id (str): 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. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + Iterable[~google.cloud.bigtable_v2.types.MutateRowsResponse]. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.MutateRowsRequest( + table_name=table_name, + entries=entries, + app_profile_id=app_profile_id, + ) + return self._mutate_rows(request, retry=retry, timeout=timeout) + + def check_and_mutate_row(self, + table_name, + row_key, + app_profile_id=None, + predicate_filter=None, + true_mutations=None, + false_mutations=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + Mutates a row atomically based on the output of a predicate Reader filter. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> row_key = b'' + >>> + >>> response = client.check_and_mutate_row(table_name, row_key) + + Args: + table_name (str): The unique name of the table to which the conditional mutation should be + applied. + Values are of the form + ``projects//instances//tables/
``. + row_key (bytes): The key of the row to which the conditional mutation should be applied. + app_profile_id (str): 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. + predicate_filter (Union[dict, ~google.cloud.bigtable_v2.types.RowFilter]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.RowFilter` + true_mutations (list[Union[dict, ~google.cloud.bigtable_v2.types.Mutation]]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.Mutation` + false_mutations (list[Union[dict, ~google.cloud.bigtable_v2.types.Mutation]]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.Mutation` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + A :class:`~google.cloud.bigtable_v2.types.CheckAndMutateRowResponse` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.CheckAndMutateRowRequest( + table_name=table_name, + row_key=row_key, + app_profile_id=app_profile_id, + predicate_filter=predicate_filter, + true_mutations=true_mutations, + false_mutations=false_mutations, + ) + return self._check_and_mutate_row( + request, retry=retry, timeout=timeout) + + def read_modify_write_row(self, + table_name, + row_key, + rules, + app_profile_id=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT): + """ + 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. + + Example: + >>> from google.cloud import bigtable_v2 + >>> + >>> client = bigtable_v2.BigtableClient() + >>> + >>> table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + >>> row_key = b'' + >>> rules = [] + >>> + >>> response = client.read_modify_write_row(table_name, row_key, rules) + + Args: + table_name (str): The unique name of the table to which the read/modify/write rules should be + applied. + Values are of the form + ``projects//instances//tables/
``. + row_key (bytes): The key of the row to which the read/modify/write rules should be applied. + rules (list[Union[dict, ~google.cloud.bigtable_v2.types.ReadModifyWriteRule]]): 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. + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.bigtable_v2.types.ReadModifyWriteRule` + app_profile_id (str): 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. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will not + be retried. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + + Returns: + A :class:`~google.cloud.bigtable_v2.types.ReadModifyWriteRowResponse` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + request = bigtable_pb2.ReadModifyWriteRowRequest( + table_name=table_name, + row_key=row_key, + rules=rules, + app_profile_id=app_profile_id, + ) + return self._read_modify_write_row( + request, retry=retry, timeout=timeout) diff --git a/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client_config.py b/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client_config.py new file mode 100644 index 000000000000..d87d2776f583 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/gapic/bigtable_client_config.py @@ -0,0 +1,53 @@ +config = { + "interfaces": { + "google.bigtable.v2.Bigtable": { + "retry_codes": { + "idempotent": ["DEADLINE_EXCEEDED", "UNAVAILABLE"], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 20000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 20000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "ReadRows": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "SampleRowKeys": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "MutateRow": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "MutateRows": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CheckAndMutateRow": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ReadModifyWriteRow": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/bigtable/google/cloud/bigtable_v2/proto/__init__.py b/bigtable/google/cloud/bigtable_v2/proto/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2.py b/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2.py new file mode 100644 index 000000000000..87755c24c433 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2.py @@ -0,0 +1,1467 @@ +# 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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) diff --git a/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2_grpc.py b/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2_grpc.py new file mode 100644 index 000000000000..e3fb9e6ba348 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/proto/bigtable_pb2_grpc.py @@ -0,0 +1,145 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import google.cloud.bigtable_v2.proto.bigtable_pb2 as google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2 + + +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=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadRowsRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadRowsResponse.FromString, + ) + self.SampleRowKeys = channel.unary_stream( + '/google.bigtable.v2.Bigtable/SampleRowKeys', + request_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.SampleRowKeysRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.SampleRowKeysResponse.FromString, + ) + self.MutateRow = channel.unary_unary( + '/google.bigtable.v2.Bigtable/MutateRow', + request_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowResponse.FromString, + ) + self.MutateRows = channel.unary_stream( + '/google.bigtable.v2.Bigtable/MutateRows', + request_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowsRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowsResponse.FromString, + ) + self.CheckAndMutateRow = channel.unary_unary( + '/google.bigtable.v2.Bigtable/CheckAndMutateRow', + request_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.CheckAndMutateRowRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.CheckAndMutateRowResponse.FromString, + ) + self.ReadModifyWriteRow = channel.unary_unary( + '/google.bigtable.v2.Bigtable/ReadModifyWriteRow', + request_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadModifyWriteRowRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.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=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadRowsRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadRowsResponse.SerializeToString, + ), + 'SampleRowKeys': grpc.unary_stream_rpc_method_handler( + servicer.SampleRowKeys, + request_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.SampleRowKeysRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.SampleRowKeysResponse.SerializeToString, + ), + 'MutateRow': grpc.unary_unary_rpc_method_handler( + servicer.MutateRow, + request_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowResponse.SerializeToString, + ), + 'MutateRows': grpc.unary_stream_rpc_method_handler( + servicer.MutateRows, + request_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowsRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.MutateRowsResponse.SerializeToString, + ), + 'CheckAndMutateRow': grpc.unary_unary_rpc_method_handler( + servicer.CheckAndMutateRow, + request_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.CheckAndMutateRowRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.CheckAndMutateRowResponse.SerializeToString, + ), + 'ReadModifyWriteRow': grpc.unary_unary_rpc_method_handler( + servicer.ReadModifyWriteRow, + request_deserializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadModifyWriteRowRequest.FromString, + response_serializer=google_dot_cloud_dot_bigtable__v2_dot_proto_dot_bigtable__pb2.ReadModifyWriteRowResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.bigtable.v2.Bigtable', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/bigtable/google/cloud/bigtable/_generated/data_pb2.py b/bigtable/google/cloud/bigtable_v2/proto/data_pb2.py similarity index 62% rename from bigtable/google/cloud/bigtable/_generated/data_pb2.py rename to bigtable/google/cloud/bigtable_v2/proto/data_pb2.py index 6db08fbd12c3..a43f75240604 100644 --- a/bigtable/google/cloud/bigtable/_generated/data_pb2.py +++ b/bigtable/google/cloud/bigtable_v2/proto/data_pb2.py @@ -1,5 +1,5 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/bigtable/v2/data.proto +# source: google/cloud/bigtable_v2/proto/data.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) @@ -16,10 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( - name='google/bigtable/v2/data.proto', + name='google/cloud/bigtable_v2/proto/data.proto', package='google.bigtable.v2', syntax='proto3', - serialized_pb=_b('\n\x1dgoogle/bigtable/v2/data.proto\x12\x12google.bigtable.v2\"@\n\x03Row\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12,\n\x08\x66\x61milies\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Family\"C\n\x06\x46\x61mily\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x07\x63olumns\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Column\"D\n\x06\x43olumn\x12\x11\n\tqualifier\x18\x01 \x01(\x0c\x12\'\n\x05\x63\x65lls\x18\x02 \x03(\x0b\x32\x18.google.bigtable.v2.Cell\"?\n\x04\x43\x65ll\x12\x18\n\x10timestamp_micros\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x0e\n\x06labels\x18\x03 \x03(\t\"\x8a\x01\n\x08RowRange\x12\x1a\n\x10start_key_closed\x18\x01 \x01(\x0cH\x00\x12\x18\n\x0estart_key_open\x18\x02 \x01(\x0cH\x00\x12\x16\n\x0c\x65nd_key_open\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_key_closed\x18\x04 \x01(\x0cH\x01\x42\x0b\n\tstart_keyB\t\n\x07\x65nd_key\"L\n\x06RowSet\x12\x10\n\x08row_keys\x18\x01 \x03(\x0c\x12\x30\n\nrow_ranges\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.RowRange\"\xc6\x01\n\x0b\x43olumnRange\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12 \n\x16start_qualifier_closed\x18\x02 \x01(\x0cH\x00\x12\x1e\n\x14start_qualifier_open\x18\x03 \x01(\x0cH\x00\x12\x1e\n\x14\x65nd_qualifier_closed\x18\x04 \x01(\x0cH\x01\x12\x1c\n\x12\x65nd_qualifier_open\x18\x05 \x01(\x0cH\x01\x42\x11\n\x0fstart_qualifierB\x0f\n\rend_qualifier\"N\n\x0eTimestampRange\x12\x1e\n\x16start_timestamp_micros\x18\x01 \x01(\x03\x12\x1c\n\x14\x65nd_timestamp_micros\x18\x02 \x01(\x03\"\x98\x01\n\nValueRange\x12\x1c\n\x12start_value_closed\x18\x01 \x01(\x0cH\x00\x12\x1a\n\x10start_value_open\x18\x02 \x01(\x0cH\x00\x12\x1a\n\x10\x65nd_value_closed\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_value_open\x18\x04 \x01(\x0cH\x01\x42\r\n\x0bstart_valueB\x0b\n\tend_value\"\xdf\x08\n\tRowFilter\x12\x34\n\x05\x63hain\x18\x01 \x01(\x0b\x32#.google.bigtable.v2.RowFilter.ChainH\x00\x12>\n\ninterleave\x18\x02 \x01(\x0b\x32(.google.bigtable.v2.RowFilter.InterleaveH\x00\x12<\n\tcondition\x18\x03 \x01(\x0b\x32\'.google.bigtable.v2.RowFilter.ConditionH\x00\x12\x0e\n\x04sink\x18\x10 \x01(\x08H\x00\x12\x19\n\x0fpass_all_filter\x18\x11 \x01(\x08H\x00\x12\x1a\n\x10\x62lock_all_filter\x18\x12 \x01(\x08H\x00\x12\x1e\n\x14row_key_regex_filter\x18\x04 \x01(\x0cH\x00\x12\x1b\n\x11row_sample_filter\x18\x0e \x01(\x01H\x00\x12\"\n\x18\x66\x61mily_name_regex_filter\x18\x05 \x01(\tH\x00\x12\'\n\x1d\x63olumn_qualifier_regex_filter\x18\x06 \x01(\x0cH\x00\x12>\n\x13\x63olumn_range_filter\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.ColumnRangeH\x00\x12\x44\n\x16timestamp_range_filter\x18\x08 \x01(\x0b\x32\".google.bigtable.v2.TimestampRangeH\x00\x12\x1c\n\x12value_regex_filter\x18\t \x01(\x0cH\x00\x12<\n\x12value_range_filter\x18\x0f \x01(\x0b\x32\x1e.google.bigtable.v2.ValueRangeH\x00\x12%\n\x1b\x63\x65lls_per_row_offset_filter\x18\n \x01(\x05H\x00\x12$\n\x1a\x63\x65lls_per_row_limit_filter\x18\x0b \x01(\x05H\x00\x12\'\n\x1d\x63\x65lls_per_column_limit_filter\x18\x0c \x01(\x05H\x00\x12!\n\x17strip_value_transformer\x18\r \x01(\x08H\x00\x12!\n\x17\x61pply_label_transformer\x18\x13 \x01(\tH\x00\x1a\x37\n\x05\x43hain\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a<\n\nInterleave\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a\xad\x01\n\tCondition\x12\x37\n\x10predicate_filter\x18\x01 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x32\n\x0btrue_filter\x18\x02 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x33\n\x0c\x66\x61lse_filter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilterB\x08\n\x06\x66ilter\"\xc9\x04\n\x08Mutation\x12\x38\n\x08set_cell\x18\x01 \x01(\x0b\x32$.google.bigtable.v2.Mutation.SetCellH\x00\x12K\n\x12\x64\x65lete_from_column\x18\x02 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromColumnH\x00\x12K\n\x12\x64\x65lete_from_family\x18\x03 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromFamilyH\x00\x12\x45\n\x0f\x64\x65lete_from_row\x18\x04 \x01(\x0b\x32*.google.bigtable.v2.Mutation.DeleteFromRowH\x00\x1a\x61\n\x07SetCell\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x18\n\x10timestamp_micros\x18\x03 \x01(\x03\x12\r\n\x05value\x18\x04 \x01(\x0c\x1ay\n\x10\x44\x65leteFromColumn\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x36\n\ntime_range\x18\x03 \x01(\x0b\x32\".google.bigtable.v2.TimestampRange\x1a\'\n\x10\x44\x65leteFromFamily\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x1a\x0f\n\rDeleteFromRowB\n\n\x08mutation\"\x80\x01\n\x13ReadModifyWriteRule\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x16\n\x0c\x61ppend_value\x18\x03 \x01(\x0cH\x00\x12\x1a\n\x10increment_amount\x18\x04 \x01(\x03H\x00\x42\x06\n\x04ruleB%\n\x16\x63om.google.bigtable.v2B\tDataProtoP\x01\x62\x06proto3') + serialized_pb=_b('\n)google/cloud/bigtable_v2/proto/data.proto\x12\x12google.bigtable.v2\"@\n\x03Row\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12,\n\x08\x66\x61milies\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Family\"C\n\x06\x46\x61mily\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x07\x63olumns\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Column\"D\n\x06\x43olumn\x12\x11\n\tqualifier\x18\x01 \x01(\x0c\x12\'\n\x05\x63\x65lls\x18\x02 \x03(\x0b\x32\x18.google.bigtable.v2.Cell\"?\n\x04\x43\x65ll\x12\x18\n\x10timestamp_micros\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x0e\n\x06labels\x18\x03 \x03(\t\"\x8a\x01\n\x08RowRange\x12\x1a\n\x10start_key_closed\x18\x01 \x01(\x0cH\x00\x12\x18\n\x0estart_key_open\x18\x02 \x01(\x0cH\x00\x12\x16\n\x0c\x65nd_key_open\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_key_closed\x18\x04 \x01(\x0cH\x01\x42\x0b\n\tstart_keyB\t\n\x07\x65nd_key\"L\n\x06RowSet\x12\x10\n\x08row_keys\x18\x01 \x03(\x0c\x12\x30\n\nrow_ranges\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.RowRange\"\xc6\x01\n\x0b\x43olumnRange\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12 \n\x16start_qualifier_closed\x18\x02 \x01(\x0cH\x00\x12\x1e\n\x14start_qualifier_open\x18\x03 \x01(\x0cH\x00\x12\x1e\n\x14\x65nd_qualifier_closed\x18\x04 \x01(\x0cH\x01\x12\x1c\n\x12\x65nd_qualifier_open\x18\x05 \x01(\x0cH\x01\x42\x11\n\x0fstart_qualifierB\x0f\n\rend_qualifier\"N\n\x0eTimestampRange\x12\x1e\n\x16start_timestamp_micros\x18\x01 \x01(\x03\x12\x1c\n\x14\x65nd_timestamp_micros\x18\x02 \x01(\x03\"\x98\x01\n\nValueRange\x12\x1c\n\x12start_value_closed\x18\x01 \x01(\x0cH\x00\x12\x1a\n\x10start_value_open\x18\x02 \x01(\x0cH\x00\x12\x1a\n\x10\x65nd_value_closed\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_value_open\x18\x04 \x01(\x0cH\x01\x42\r\n\x0bstart_valueB\x0b\n\tend_value\"\xdf\x08\n\tRowFilter\x12\x34\n\x05\x63hain\x18\x01 \x01(\x0b\x32#.google.bigtable.v2.RowFilter.ChainH\x00\x12>\n\ninterleave\x18\x02 \x01(\x0b\x32(.google.bigtable.v2.RowFilter.InterleaveH\x00\x12<\n\tcondition\x18\x03 \x01(\x0b\x32\'.google.bigtable.v2.RowFilter.ConditionH\x00\x12\x0e\n\x04sink\x18\x10 \x01(\x08H\x00\x12\x19\n\x0fpass_all_filter\x18\x11 \x01(\x08H\x00\x12\x1a\n\x10\x62lock_all_filter\x18\x12 \x01(\x08H\x00\x12\x1e\n\x14row_key_regex_filter\x18\x04 \x01(\x0cH\x00\x12\x1b\n\x11row_sample_filter\x18\x0e \x01(\x01H\x00\x12\"\n\x18\x66\x61mily_name_regex_filter\x18\x05 \x01(\tH\x00\x12\'\n\x1d\x63olumn_qualifier_regex_filter\x18\x06 \x01(\x0cH\x00\x12>\n\x13\x63olumn_range_filter\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.ColumnRangeH\x00\x12\x44\n\x16timestamp_range_filter\x18\x08 \x01(\x0b\x32\".google.bigtable.v2.TimestampRangeH\x00\x12\x1c\n\x12value_regex_filter\x18\t \x01(\x0cH\x00\x12<\n\x12value_range_filter\x18\x0f \x01(\x0b\x32\x1e.google.bigtable.v2.ValueRangeH\x00\x12%\n\x1b\x63\x65lls_per_row_offset_filter\x18\n \x01(\x05H\x00\x12$\n\x1a\x63\x65lls_per_row_limit_filter\x18\x0b \x01(\x05H\x00\x12\'\n\x1d\x63\x65lls_per_column_limit_filter\x18\x0c \x01(\x05H\x00\x12!\n\x17strip_value_transformer\x18\r \x01(\x08H\x00\x12!\n\x17\x61pply_label_transformer\x18\x13 \x01(\tH\x00\x1a\x37\n\x05\x43hain\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a<\n\nInterleave\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a\xad\x01\n\tCondition\x12\x37\n\x10predicate_filter\x18\x01 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x32\n\x0btrue_filter\x18\x02 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x33\n\x0c\x66\x61lse_filter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilterB\x08\n\x06\x66ilter\"\xc9\x04\n\x08Mutation\x12\x38\n\x08set_cell\x18\x01 \x01(\x0b\x32$.google.bigtable.v2.Mutation.SetCellH\x00\x12K\n\x12\x64\x65lete_from_column\x18\x02 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromColumnH\x00\x12K\n\x12\x64\x65lete_from_family\x18\x03 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromFamilyH\x00\x12\x45\n\x0f\x64\x65lete_from_row\x18\x04 \x01(\x0b\x32*.google.bigtable.v2.Mutation.DeleteFromRowH\x00\x1a\x61\n\x07SetCell\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x18\n\x10timestamp_micros\x18\x03 \x01(\x03\x12\r\n\x05value\x18\x04 \x01(\x0c\x1ay\n\x10\x44\x65leteFromColumn\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x36\n\ntime_range\x18\x03 \x01(\x0b\x32\".google.bigtable.v2.TimestampRange\x1a\'\n\x10\x44\x65leteFromFamily\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x1a\x0f\n\rDeleteFromRowB\n\n\x08mutation\"\x80\x01\n\x13ReadModifyWriteRule\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x16\n\x0c\x61ppend_value\x18\x03 \x01(\x0cH\x00\x12\x1a\n\x10increment_amount\x18\x04 \x01(\x03H\x00\x42\x06\n\x04ruleB\x97\x01\n\x16\x63om.google.bigtable.v2B\tDataProtoP\x01Z:google.golang.org/genproto/googleapis/bigtable/v2;bigtable\xaa\x02\x18Google.Cloud.Bigtable.V2\xca\x02\x18Google\\Cloud\\Bigtable\\V2b\x06proto3') ) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -59,8 +59,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=53, - serialized_end=117, + serialized_start=65, + serialized_end=129, ) @@ -97,8 +97,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=119, - serialized_end=186, + serialized_start=131, + serialized_end=198, ) @@ -135,8 +135,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=188, - serialized_end=256, + serialized_start=200, + serialized_end=268, ) @@ -180,8 +180,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=258, - serialized_end=321, + serialized_start=270, + serialized_end=333, ) @@ -238,8 +238,8 @@ name='end_key', full_name='google.bigtable.v2.RowRange.end_key', index=1, containing_type=None, fields=[]), ], - serialized_start=324, - serialized_end=462, + serialized_start=336, + serialized_end=474, ) @@ -276,8 +276,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=464, - serialized_end=540, + serialized_start=476, + serialized_end=552, ) @@ -341,8 +341,8 @@ name='end_qualifier', full_name='google.bigtable.v2.ColumnRange.end_qualifier', index=1, containing_type=None, fields=[]), ], - serialized_start=543, - serialized_end=741, + serialized_start=555, + serialized_end=753, ) @@ -379,8 +379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=743, - serialized_end=821, + serialized_start=755, + serialized_end=833, ) @@ -437,8 +437,8 @@ name='end_value', full_name='google.bigtable.v2.ValueRange.end_value', index=1, containing_type=None, fields=[]), ], - serialized_start=824, - serialized_end=976, + serialized_start=836, + serialized_end=988, ) @@ -468,8 +468,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1795, - serialized_end=1850, + serialized_start=1807, + serialized_end=1862, ) _ROWFILTER_INTERLEAVE = _descriptor.Descriptor( @@ -498,8 +498,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1852, - serialized_end=1912, + serialized_start=1864, + serialized_end=1924, ) _ROWFILTER_CONDITION = _descriptor.Descriptor( @@ -542,8 +542,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1915, - serialized_end=2088, + serialized_start=1927, + serialized_end=2100, ) _ROWFILTER = _descriptor.Descriptor( @@ -701,8 +701,8 @@ name='filter', full_name='google.bigtable.v2.RowFilter.filter', index=0, containing_type=None, fields=[]), ], - serialized_start=979, - serialized_end=2098, + serialized_start=991, + serialized_end=2110, ) @@ -753,8 +753,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2396, - serialized_end=2493, + serialized_start=2408, + serialized_end=2505, ) _MUTATION_DELETEFROMCOLUMN = _descriptor.Descriptor( @@ -797,8 +797,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2495, - serialized_end=2616, + serialized_start=2507, + serialized_end=2628, ) _MUTATION_DELETEFROMFAMILY = _descriptor.Descriptor( @@ -827,8 +827,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2618, - serialized_end=2657, + serialized_start=2630, + serialized_end=2669, ) _MUTATION_DELETEFROMROW = _descriptor.Descriptor( @@ -850,8 +850,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2659, - serialized_end=2674, + serialized_start=2671, + serialized_end=2686, ) _MUTATION = _descriptor.Descriptor( @@ -904,8 +904,8 @@ name='mutation', full_name='google.bigtable.v2.Mutation.mutation', index=0, containing_type=None, fields=[]), ], - serialized_start=2101, - serialized_end=2686, + serialized_start=2113, + serialized_end=2698, ) @@ -959,8 +959,8 @@ name='rule', full_name='google.bigtable.v2.ReadModifyWriteRule.rule', index=0, containing_type=None, fields=[]), ], - serialized_start=2689, - serialized_end=2817, + serialized_start=2701, + serialized_end=2829, ) _ROW.fields_by_name['families'].message_type = _FAMILY @@ -1116,63 +1116,219 @@ Row = _reflection.GeneratedProtocolMessageType('Row', (_message.Message,), dict( DESCRIPTOR = _ROW, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies the complete (requested) contents of a single row of a table. + Rows which exceed 256MiB in size cannot be read in full. + + + Attributes: + key: + The unique key which identifies this row within its table. + This is the same key that's used to identify the row in, for + example, a MutateRowRequest. May contain any non-empty byte + string up to 4KiB in length. + families: + May be empty, but only if the entire row is empty. The mutual + ordering of column families is not specified. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Row) )) _sym_db.RegisterMessage(Row) Family = _reflection.GeneratedProtocolMessageType('Family', (_message.Message,), dict( DESCRIPTOR = _FAMILY, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column family + intersection of a table. + + + Attributes: + name: + The unique key which identifies this family within its row. + This is the same key that's used to identify the family in, + for example, a RowFilter which sets its + "family\_name\_regex\_filter" field. Must match + ``[-_.a-zA-Z0-9]+``, except that AggregatingRowProcessors may + produce cells in a sentinel family with an empty name. Must be + no greater than 64 characters in length. + columns: + Must not be empty. Sorted in order of increasing "qualifier". + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Family) )) _sym_db.RegisterMessage(Family) Column = _reflection.GeneratedProtocolMessageType('Column', (_message.Message,), dict( DESCRIPTOR = _COLUMN, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column intersection of + a table. + + + Attributes: + qualifier: + The unique key which identifies this column within its family. + This is the same key that's used to identify the column in, + for example, a RowFilter which sets its + ``column_qualifier_regex_filter`` field. May contain any byte + string, including the empty string, up to 16kiB in length. + cells: + Must not be empty. Sorted in order of decreasing + "timestamp\_micros". + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Column) )) _sym_db.RegisterMessage(Column) Cell = _reflection.GeneratedProtocolMessageType('Cell', (_message.Message,), dict( DESCRIPTOR = _CELL, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column/timestamp of a + table. + + + Attributes: + 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. + value: + The value stored in the cell. May contain any byte string, + including the empty string, up to 100MiB in length. + labels: + Labels applied to the cell by a + [RowFilter][google.bigtable.v2.RowFilter]. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Cell) )) _sym_db.RegisterMessage(Cell) RowRange = _reflection.GeneratedProtocolMessageType('RowRange', (_message.Message,), dict( DESCRIPTOR = _ROWRANGE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of rows. + + + Attributes: + start_key: + The row key at which to start the range. If neither field is + set, interpreted as the empty string, inclusive. + start_key_closed: + Used when giving an inclusive lower bound for the range. + start_key_open: + Used when giving an exclusive lower bound for the range. + end_key: + The row key at which to end the range. If neither field is + set, interpreted as the infinite row key, exclusive. + end_key_open: + Used when giving an exclusive upper bound for the range. + end_key_closed: + Used when giving an inclusive upper bound for the range. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowRange) )) _sym_db.RegisterMessage(RowRange) RowSet = _reflection.GeneratedProtocolMessageType('RowSet', (_message.Message,), dict( DESCRIPTOR = _ROWSET, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a non-contiguous set of rows. + + + Attributes: + row_keys: + Single rows included in the set. + row_ranges: + Contiguous row ranges included in the set. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowSet) )) _sym_db.RegisterMessage(RowSet) ColumnRange = _reflection.GeneratedProtocolMessageType('ColumnRange', (_message.Message,), dict( DESCRIPTOR = _COLUMNRANGE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of columns within a single column family. + The range spans from : to + :, where both bounds can be either + inclusive or exclusive. + + + Attributes: + family_name: + The name of the column family within which this range falls. + start_qualifier: + The column qualifier at which to start the range (within + ``column_family``). If neither field is set, interpreted as + the empty string, inclusive. + start_qualifier_closed: + Used when giving an inclusive lower bound for the range. + start_qualifier_open: + Used when giving an exclusive lower bound for the range. + end_qualifier: + The column qualifier at which to end the range (within + ``column_family``). If neither field is set, interpreted as + the infinite string, exclusive. + end_qualifier_closed: + Used when giving an inclusive upper bound for the range. + end_qualifier_open: + Used when giving an exclusive upper bound for the range. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.ColumnRange) )) _sym_db.RegisterMessage(ColumnRange) TimestampRange = _reflection.GeneratedProtocolMessageType('TimestampRange', (_message.Message,), dict( DESCRIPTOR = _TIMESTAMPRANGE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specified a contiguous range of microsecond timestamps. + + + Attributes: + start_timestamp_micros: + Inclusive lower bound. If left empty, interpreted as 0. + end_timestamp_micros: + Exclusive upper bound. If left empty, interpreted as infinity. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.TimestampRange) )) _sym_db.RegisterMessage(TimestampRange) ValueRange = _reflection.GeneratedProtocolMessageType('ValueRange', (_message.Message,), dict( DESCRIPTOR = _VALUERANGE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of raw byte values. + + + Attributes: + start_value: + The value at which to start the range. If neither field is + set, interpreted as the empty string, inclusive. + start_value_closed: + Used when giving an inclusive lower bound for the range. + start_value_open: + Used when giving an exclusive lower bound for the range. + end_value: + The value at which to end the range. If neither field is set, + interpreted as the infinite string, exclusive. + end_value_closed: + Used when giving an inclusive upper bound for the range. + end_value_open: + Used when giving an exclusive upper bound for the range. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.ValueRange) )) _sym_db.RegisterMessage(ValueRange) @@ -1181,26 +1337,264 @@ Chain = _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), dict( DESCRIPTOR = _ROWFILTER_CHAIN, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which sends rows through several RowFilters in sequence. + + + Attributes: + filters: + The elements of "filters" are chained together to process the + input row: in row -> f(0) -> intermediate row -> f(1) -> ... + -> f(N) -> out row The full chain is executed atomically. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Chain) )) , Interleave = _reflection.GeneratedProtocolMessageType('Interleave', (_message.Message,), dict( DESCRIPTOR = _ROWFILTER_INTERLEAVE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which sends each row to each of several component RowFilters + and interleaves the results. + + + Attributes: + filters: + The elements of "filters" all process a copy of the input row, + and the results are pooled, sorted, and combined into a single + output row. If multiple cells are produced with the same + column and timestamp, they will all appear in the output row + in an unspecified mutual order. Consider the following + example, with three filters: :: + input row | + ----------------------------------------------------- + | | | + f(0) f(1) f(2) + | | | 1: + foo,bar,10,x foo,bar,10,z far,bar,7,a + 2: foo,blah,11,z far,blah,5,x + far,blah,5,x | | + | + ----------------------------------------------------- + | 1: foo,bar,10,z // could have + switched with #2 2: foo,bar,10,x // + could have switched with #1 3: + foo,blah,11,z 4: far,bar,7,a 5: + far,blah,5,x // identical to #6 6: + far,blah,5,x // identical to #5 All interleaved filters are + executed atomically. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Interleave) )) , Condition = _reflection.GeneratedProtocolMessageType('Condition', (_message.Message,), dict( DESCRIPTOR = _ROWFILTER_CONDITION, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which evaluates one of two possible RowFilters, depending on + whether or not a predicate RowFilter outputs any cells from the input + row. + + IMPORTANT NOTE: The predicate filter does not execute atomically with + the true and false filters, which may lead to inconsistent or unexpected + results. Additionally, Condition filters have poor performance, + especially when filters are set for the false condition. + + + Attributes: + predicate_filter: + If ``predicate_filter`` outputs any cells, then + ``true_filter`` will be evaluated on the input row. Otherwise, + ``false_filter`` will be evaluated. + true_filter: + The filter to apply to the input row if ``predicate_filter`` + returns any results. If not provided, no results will be + returned in the true case. + false_filter: + The filter to apply to the input row if ``predicate_filter`` + does not return any results. If not provided, no results will + be returned in the false case. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Condition) )) , DESCRIPTOR = _ROWFILTER, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Takes a row as input and produces an alternate view of the row based on + specified rules. For example, a RowFilter might trim down a row to + include just the cells from columns matching a given regular expression, + or might return all the cells of a row but not their values. More + complicated filters can be composed out of these components to express + requests such as, "within every column of a particular family, give just + the two most recent cells which are older than timestamp X." + + There are two broad categories of RowFilters (true filters and + transformers), as well as two ways to compose simple filters into more + complex ones (chains and interleaves). They work as follows: + + - True filters alter the input row by excluding some of its cells + wholesale from the output row. An example of a true filter is the + ``value_regex_filter``, which excludes cells whose values don't match + the specified pattern. All regex true filters use RE2 syntax + (https://github.com/google/re2/wiki/Syntax) in raw byte mode + (RE2::Latin1), and are evaluated as full matches. An important point + to keep in mind is that ``RE2(.)`` is equivalent by default to + ``RE2([^\n])``, meaning that it does not match newlines. When + attempting to match an arbitrary byte, you should therefore use the + escape sequence ``\C``, which may need to be further escaped as + ``\\C`` in your client language. + + - Transformers alter the input row by changing the values of some of + its cells in the output, without excluding them completely. + Currently, the only supported transformer is the + ``strip_value_transformer``, which replaces every cell's value with + the empty string. + + - Chains and interleaves are described in more detail in the + RowFilter.Chain and RowFilter.Interleave documentation. + + The total serialized size of a RowFilter message must not exceed 4096 + bytes, and RowFilters may not be nested within each other (in Chains or + Interleaves) to a depth of more than 20. + + + Attributes: + filter: + Which of the possible RowFilter types to apply. If none are + set, this RowFilter returns all cells in the input row. + chain: + Applies several RowFilters to the data in sequence, + progressively narrowing the results. + interleave: + Applies several RowFilters to the data in parallel and + combines the results. + condition: + Applies one of two possible RowFilters to the data based on + the output of a predicate RowFilter. + sink: + ADVANCED USE ONLY. Hook for introspection into the RowFilter. + Outputs all cells directly to the output of the read rather + than to any parent filter. Consider the following example: :: + Chain( FamilyRegex("A"), Interleave( + All(), Chain(Label("foo"), Sink()) ), + QualifierRegex("B") ) A,A,1,w + A,B,2,x B,B,4,z + | FamilyRegex("A") + | A,A,1,w + A,B,2,x | + +------------+-------------+ | + | All() Label(foo) + | | A,A,1,w + A,A,1,w,labels:[foo] A,B,2,x + A,B,2,x,labels:[foo] | + | | Sink() + --------------+ | | + | +------------+ x------+ + A,A,1,w,labels:[foo] | + A,B,2,x,labels:[foo] A,A,1,w + | A,B,2,x + | | + | QualifierRegex("B") + | | + | A,B,2,x + | | + | + +--------------------------------+ + | A,A,1,w,labels:[foo] + A,B,2,x,labels:[foo] // could be switched + A,B,2,x // could be switched Despite being + excluded by the qualifier filter, a copy of every cell that + reaches the sink is present in the final result. As with an + [Interleave][google.bigtable.v2.RowFilter.Interleave], + duplicate cells are possible, and appear in an unspecified + mutual order. In this case we have a duplicate with column + "A:B" and timestamp 2, because one copy passed through the all + filter while the other was passed through the label and sink. + Note that one copy has label "foo", while the other does not. + Cannot be used within the ``predicate_filter``, + ``true_filter``, or ``false_filter`` of a + [Condition][google.bigtable.v2.RowFilter.Condition]. + pass_all_filter: + Matches all cells, regardless of input. Functionally + equivalent to leaving ``filter`` unset, but included for + completeness. + block_all_filter: + Does not match any cells, regardless of input. Useful for + temporarily disabling just part of a filter. + row_key_regex_filter: + Matches only cells from rows whose keys satisfy the given RE2 + regex. In other words, passes through the entire row when the + key matches, and otherwise produces an empty row. Note that, + since row keys can contain arbitrary bytes, the ``\C`` escape + sequence must be used if a true wildcard is desired. The ``.`` + character will not match the new line character ``\n``, which + may be present in a binary key. + row_sample_filter: + Matches all cells from a row with probability p, and matches + no cells from the row with probability 1-p. + family_name_regex_filter: + Matches only cells from columns whose families satisfy the + given RE2 regex. For technical reasons, the regex must not + contain the ``:`` character, even if it is not being used as a + literal. Note that, since column families cannot contain the + new line character ``\n``, it is sufficient to use ``.`` as a + full wildcard when matching column family names. + column_qualifier_regex_filter: + Matches only cells from columns whose qualifiers satisfy the + given RE2 regex. Note that, since column qualifiers can + contain arbitrary bytes, the ``\C`` escape sequence must be + used if a true wildcard is desired. The ``.`` character will + not match the new line character ``\n``, which may be present + in a binary qualifier. + column_range_filter: + Matches only cells from columns within the given range. + timestamp_range_filter: + Matches only cells with timestamps within the given range. + value_regex_filter: + Matches only cells with values that satisfy the given regular + expression. Note that, since cell values can contain arbitrary + bytes, the ``\C`` escape sequence must be used if a true + wildcard is desired. The ``.`` character will not match the + new line character ``\n``, which may be present in a binary + value. + value_range_filter: + Matches only cells with values that fall within the given + range. + cells_per_row_offset_filter: + Skips the first N cells of each row, matching all subsequent + cells. If duplicate cells are present, as is possible when + using an Interleave, each copy of the cell is counted + separately. + cells_per_row_limit_filter: + Matches only the first N cells of each row. If duplicate cells + are present, as is possible when using an Interleave, each + copy of the cell is counted separately. + cells_per_column_limit_filter: + Matches only the most recent N cells within each column. For + example, if N=2, this filter would match column ``foo:bar`` at + timestamps 10 and 9, skip all earlier cells in ``foo:bar``, + and then begin matching again in column ``foo:bar2``. If + duplicate cells are present, as is possible when using an + Interleave, each copy of the cell is counted separately. + strip_value_transformer: + Replaces each cell's value with the empty string. + apply_label_transformer: + Applies the given label to all cells in the output row. This + allows the client to determine which results were produced + from which part of the filter. Values must be at most 15 + characters in length, and match the RE2 pattern + ``[a-z0-9\\-]+`` Due to a technical limitation, it is not + currently possible to apply multiple labels to a cell. As a + result, a Chain may have no more than one sub-filter which + contains a ``apply_label_transformer``. It is okay for an + Interleave to contain multiple ``apply_label_transformers``, + as they will be applied to separate copies of the input. This + may be relaxed in the future. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter) )) _sym_db.RegisterMessage(RowFilter) @@ -1212,33 +1606,97 @@ SetCell = _reflection.GeneratedProtocolMessageType('SetCell', (_message.Message,), dict( DESCRIPTOR = _MUTATION_SETCELL, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which sets the value of the specified cell. + + + Attributes: + family_name: + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + timestamp_micros: + The timestamp of the cell into which new data should be + written. Use -1 for current Bigtable server time. Otherwise, + the client should set this value itself, noting that the + default value is a timestamp of zero if the field is left + unspecified. Values must match the granularity of the table + (e.g. micros, millis). + value: + The value to be written into the specified cell. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.SetCell) )) , DeleteFromColumn = _reflection.GeneratedProtocolMessageType('DeleteFromColumn', (_message.Message,), dict( DESCRIPTOR = _MUTATION_DELETEFROMCOLUMN, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes cells from the specified column, optionally + restricting the deletions to a given timestamp range. + + + Attributes: + family_name: + The name of the family from which cells should be deleted. + Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column from which cells should be + deleted. Can be any byte string, including the empty string. + time_range: + The range of timestamps within which cells should be deleted. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromColumn) )) , DeleteFromFamily = _reflection.GeneratedProtocolMessageType('DeleteFromFamily', (_message.Message,), dict( DESCRIPTOR = _MUTATION_DELETEFROMFAMILY, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes all cells from the specified column family. + + + Attributes: + family_name: + The name of the family from which cells should be deleted. + Must match ``[-_.a-zA-Z0-9]+`` + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromFamily) )) , DeleteFromRow = _reflection.GeneratedProtocolMessageType('DeleteFromRow', (_message.Message,), dict( DESCRIPTOR = _MUTATION_DELETEFROMROW, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes all cells from the containing row. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromRow) )) , DESCRIPTOR = _MUTATION, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a particular change to be made to the contents of a row. + + + Attributes: + mutation: + Which of the possible Mutation types to apply. + set_cell: + Set a cell's value. + delete_from_column: + Deletes cells from a column. + delete_from_family: + Deletes cells from a column family. + delete_from_row: + Deletes cells from the entire row. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation) )) _sym_db.RegisterMessage(Mutation) @@ -1249,12 +1707,49 @@ ReadModifyWriteRule = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRule', (_message.Message,), dict( DESCRIPTOR = _READMODIFYWRITERULE, - __module__ = 'google.bigtable.v2.data_pb2' + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies an atomic read/modify/write operation on the latest value of + the specified column. + + + Attributes: + family_name: + The name of the family to which the read/modify/write should + be applied. Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column to which the read/modify/write + should be applied. Can be any byte string, including the empty + string. + rule: + The rule used to determine the column's new latest value from + its current latest value. + append_value: + Rule specifying that ``append_value`` be appended to the + existing value. If the targeted cell is unset, it will be + treated as containing the empty string. + increment_amount: + Rule specifying that ``increment_amount`` be added to the + existing value. If the targeted cell is unset, it will be + treated as containing a zero. Otherwise, the targeted cell + must contain an 8-byte value (interpreted as a 64-bit big- + endian signed integer), or the entire request will fail. + """, # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadModifyWriteRule) )) _sym_db.RegisterMessage(ReadModifyWriteRule) DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\026com.google.bigtable.v2B\tDataProtoP\001')) +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\026com.google.bigtable.v2B\tDataProtoP\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 +except ImportError: + pass # @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable_v2/proto/data_pb2_grpc.py b/bigtable/google/cloud/bigtable_v2/proto/data_pb2_grpc.py new file mode 100644 index 000000000000..a89435267cb2 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/proto/data_pb2_grpc.py @@ -0,0 +1,3 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + diff --git a/bigtable/google/cloud/bigtable_v2/types.py b/bigtable/google/cloud/bigtable_v2/types.py new file mode 100644 index 000000000000..b7edfdccdbd5 --- /dev/null +++ b/bigtable/google/cloud/bigtable_v2/types.py @@ -0,0 +1,43 @@ +# Copyright 2017 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import +import sys + +from google.api_core.protobuf_helpers import get_messages + +from google.api import http_pb2 +from google.cloud.bigtable_v2.proto import bigtable_pb2 +from google.cloud.bigtable_v2.proto import data_pb2 +from google.protobuf import any_pb2 +from google.protobuf import descriptor_pb2 +from google.protobuf import wrappers_pb2 +from google.rpc import status_pb2 + +names = [] +for module in ( + http_pb2, + bigtable_pb2, + data_pb2, + any_pb2, + descriptor_pb2, + wrappers_pb2, + status_pb2, +): + for name, message in get_messages(module).items(): + message.__module__ = 'google.cloud.bigtable_v2.types' + setattr(sys.modules[__name__], name, message) + names.append(name) + +__all__ = tuple(sorted(names)) diff --git a/bigtable/tests/unit/gapic/v2/test_bigtable_client_v2.py b/bigtable/tests/unit/gapic/v2/test_bigtable_client_v2.py new file mode 100644 index 000000000000..d574049f9b9e --- /dev/null +++ b/bigtable/tests/unit/gapic/v2/test_bigtable_client_v2.py @@ -0,0 +1,283 @@ +# Copyright 2017 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Unit tests.""" + +import pytest + +from google.cloud import bigtable_v2 +from google.cloud.bigtable_v2.proto import bigtable_pb2 + + +class MultiCallableStub(object): + """Stub for the grpc.UnaryUnaryMultiCallable interface.""" + + def __init__(self, method, channel_stub): + self.method = method + self.channel_stub = channel_stub + + def __call__(self, request, timeout=None, metadata=None, credentials=None): + self.channel_stub.requests.append((self.method, request)) + + response = None + if self.channel_stub.responses: + response = self.channel_stub.responses.pop() + + if isinstance(response, Exception): + raise response + + if response: + return response + + +class ChannelStub(object): + """Stub for the grpc.Channel interface.""" + + def __init__(self, responses=[]): + self.responses = responses + self.requests = [] + + def unary_unary(self, + method, + request_serializer=None, + response_deserializer=None): + return MultiCallableStub(method, self) + + def unary_stream(self, + method, + request_serializer=None, + response_deserializer=None): + return MultiCallableStub(method, self) + + +class CustomException(Exception): + pass + + +class TestBigtableClient(object): + def test_read_rows(self): + # Setup Expected Response + last_scanned_row_key = b'-126' + expected_response = {'last_scanned_row_key': last_scanned_row_key} + expected_response = bigtable_pb2.ReadRowsResponse(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[iter([expected_response])]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + + response = client.read_rows(table_name) + resources = list(response) + assert len(resources) == 1 + assert expected_response == resources[0] + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.ReadRowsRequest(table_name=table_name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_read_rows_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + + with pytest.raises(CustomException): + client.read_rows(table_name) + + def test_sample_row_keys(self): + # Setup Expected Response + row_key = b'122' + offset_bytes = 889884095 + expected_response = {'row_key': row_key, 'offset_bytes': offset_bytes} + expected_response = bigtable_pb2.SampleRowKeysResponse( + **expected_response) + + # Mock the API response + channel = ChannelStub(responses=[iter([expected_response])]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + + response = client.sample_row_keys(table_name) + resources = list(response) + assert len(resources) == 1 + assert expected_response == resources[0] + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.SampleRowKeysRequest( + table_name=table_name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_sample_row_keys_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + + with pytest.raises(CustomException): + client.sample_row_keys(table_name) + + def test_mutate_row(self): + # Setup Expected Response + expected_response = {} + expected_response = bigtable_pb2.MutateRowResponse(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + mutations = [] + + response = client.mutate_row(table_name, row_key, mutations) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.MutateRowRequest( + table_name=table_name, row_key=row_key, mutations=mutations) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_mutate_row_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + mutations = [] + + with pytest.raises(CustomException): + client.mutate_row(table_name, row_key, mutations) + + def test_mutate_rows(self): + # Setup Expected Response + expected_response = {} + expected_response = bigtable_pb2.MutateRowsResponse( + **expected_response) + + # Mock the API response + channel = ChannelStub(responses=[iter([expected_response])]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + entries = [] + + response = client.mutate_rows(table_name, entries) + resources = list(response) + assert len(resources) == 1 + assert expected_response == resources[0] + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.MutateRowsRequest( + table_name=table_name, entries=entries) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_mutate_rows_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + entries = [] + + with pytest.raises(CustomException): + client.mutate_rows(table_name, entries) + + def test_check_and_mutate_row(self): + # Setup Expected Response + predicate_matched = True + expected_response = {'predicate_matched': predicate_matched} + expected_response = bigtable_pb2.CheckAndMutateRowResponse( + **expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + + response = client.check_and_mutate_row(table_name, row_key) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.CheckAndMutateRowRequest( + table_name=table_name, row_key=row_key) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_check_and_mutate_row_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + + with pytest.raises(CustomException): + client.check_and_mutate_row(table_name, row_key) + + def test_read_modify_write_row(self): + # Setup Expected Response + expected_response = {} + expected_response = bigtable_pb2.ReadModifyWriteRowResponse( + **expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup Request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + rules = [] + + response = client.read_modify_write_row(table_name, row_key, rules) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = bigtable_pb2.ReadModifyWriteRowRequest( + table_name=table_name, row_key=row_key, rules=rules) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_read_modify_write_row_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + client = bigtable_v2.BigtableClient(channel=channel) + + # Setup request + table_name = client.table_path('[PROJECT]', '[INSTANCE]', '[TABLE]') + row_key = b'122' + rules = [] + + with pytest.raises(CustomException): + client.read_modify_write_row(table_name, row_key, rules) From 72d58fd93ae89c2e89619aec668849fd569c5f2a Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Wed, 14 Mar 2018 18:29:13 +0530 Subject: [PATCH 02/17] creating mutations --- bigtable/google/cloud/bigtable/mutation.py | 46 ++++++++++++++++++++ bigtable/tests/unit/test_mutation.py | 50 ++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 bigtable/google/cloud/bigtable/mutation.py create mode 100644 bigtable/tests/unit/test_mutation.py diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py new file mode 100644 index 000000000000..3c4c3b4e78e3 --- /dev/null +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -0,0 +1,46 @@ +from google.cloud.bigtable_v2.types import ( + data_pb2 as data_v2_pb2) +from google.cloud.bigtable_v2.types import bigtable_pb2 + + +class MutateRows(object): + def __init__(self, table_name, client): + super(MutateRows, self).__init__() + self.table_name = table_name + self.client = client + self.row_mutations = {} + + def set_cell(self, row_key, family_name, column_id, value, timestamp=None): + row_mutations = self.row_mutations.setdefault(row_key, []) + set_cell = SetCellMutation(family_name, column_id, value, timestamp) + row_mutations.append(set_cell.mutation_request) + + def mutate(self): + entries = [] + for row_key, mutations in self.row_mutations.items(): + entry = bigtable_pb2.MutateRowsRequest.Entry( + row_key=row_key, + mutations=mutations + ) + entries.append(entry) + + return self.client.mutate_rows(self.table_name, entries, retry=None) + + +class SetCellMutation(object): + def __init__(self, family_name, column_id, value, timestamp): + super(SetCellMutation, self).__init__() + self.family_name = family_name + self.column_id = column_id + self.value = value + self.timestamp = timestamp + + @property + def mutation_request(self): + set_cell_mutation = data_v2_pb2.Mutation.SetCell( + family_name=self.family_name, + column_qualifier=self.column_id, + timestamp_micros=self.timestamp, + value=self.value, + ) + return data_v2_pb2.Mutation(set_cell=set_cell_mutation) diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py new file mode 100644 index 000000000000..1e9b59811697 --- /dev/null +++ b/bigtable/tests/unit/test_mutation.py @@ -0,0 +1,50 @@ +# Copyright 2015 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import unittest + +import mock + + +class TestMutateRows(unittest.TestCase): + PROJECT_ID = 'project-id' + INSTANCE_ID = 'instance-id' + INSTANCE_NAME = ('projects/' + PROJECT_ID + '/instances/' + INSTANCE_ID) + TABLE_ID = 'table-id' + TABLE_NAME = INSTANCE_NAME + '/tables/' + TABLE_ID + ROW_KEY = b'row-key' + FAMILY_NAME = u'family' + QUALIFIER = b'qualifier' + TIMESTAMP_MICROS = 100 + VALUE = b'value' + + def test_mutate(self): + from google.cloud.bigtable.mutation import MutateRows + + client = mock.MagicMock() + + mutate_rows = MutateRows(self.TABLE_NAME, client) + + mutate_rows.set_cell( + self.ROW_KEY, + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + + expected_result = mutate_rows.mutate() + + result = None From 92049dc9ba7b22536173f3bdafe5b2608e5c697d Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Tue, 20 Mar 2018 16:35:11 +0530 Subject: [PATCH 03/17] Created RowMutations and MutateRows --- bigtable/google/cloud/bigtable/mutation.py | 71 ++++++++++++++++------ 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 3c4c3b4e78e3..1a02f336a1d1 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -1,30 +1,45 @@ -from google.cloud.bigtable_v2.types import ( +from google.cloud.bigtable_v2.proto import ( data_pb2 as data_v2_pb2) -from google.cloud.bigtable_v2.types import bigtable_pb2 +from google.cloud.bigtable_v2.proto.bigtable_pb2 import MutateRowsRequest -class MutateRows(object): - def __init__(self, table_name, client): - super(MutateRows, self).__init__() +class RowMutations(): + + def __init__(self, row_key, table_name): + self.row_key = row_key self.table_name = table_name - self.client = client - self.row_mutations = {} + self.mutations = [] def set_cell(self, row_key, family_name, column_id, value, timestamp=None): - row_mutations = self.row_mutations.setdefault(row_key, []) - set_cell = SetCellMutation(family_name, column_id, value, timestamp) - row_mutations.append(set_cell.mutation_request) + # create the SetCellMutation + # add the mutation to list + mutation = SetCellMutation(family_name, column_id, value, timestamp) + self.mutations.append(mutation.mutation_request) + + def create_entry(self): + # create the Entry for the mutations + entry = MutateRowsRequest.Entry(row_key=self.row_key) + for mutation in self.mutations: + # create Mutation + entry.mutations.add().CopyFrom(mutation) + return entry + - def mutate(self): - entries = [] - for row_key, mutations in self.row_mutations.items(): - entry = bigtable_pb2.MutateRowsRequest.Entry( - row_key=row_key, - mutations=mutations - ) - entries.append(entry) +class MutateRows(): + def __init__(self, table_name, client): + self.table_name = table_name + self.client = client + self.entries = [] - return self.client.mutate_rows(self.table_name, entries, retry=None) + def add_row_mutations(self, row_mutations): + # turn the row_mutations into an Entry + entry = row_mutations.create_entry() + self.entries.append(entry) + + def create_request(self): + request = MutateRowsRequest(table_name=self.table_name, + entries=self.entries) + return self.client._mutate_rows(request, retry=None, timeout=0) class SetCellMutation(object): @@ -44,3 +59,21 @@ def mutation_request(self): value=self.value, ) return data_v2_pb2.Mutation(set_cell=set_cell_mutation) + + +class DeleteFromColumnMutation(object): + def __init__(self, family_name, column_id, time_range): + super(DeleteFromColumnMutation, self).__init__() + self.family_name = family_name + self.column_id = column_id + self.time_range = time_range + + @property + def mutation_request(self): + delete_from_column_mutation = data_v2_pb2.Mutation.DeleteFromColumn( + family_name=self.family_name, + column_qualifier=self.column_id, + time_range=self.time_range + ) + return data_v2_pb2.Mutation( + delete_from_column=delete_from_column_mutation) From 0230099a6679398bc84e08d3322d2523599467e3 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Tue, 20 Mar 2018 16:38:33 +0530 Subject: [PATCH 04/17] Add DeleteFromColumnMutation --- bigtable/google/cloud/bigtable/mutation.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 1a02f336a1d1..08432c9c6139 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -16,6 +16,13 @@ def set_cell(self, row_key, family_name, column_id, value, timestamp=None): mutation = SetCellMutation(family_name, column_id, value, timestamp) self.mutations.append(mutation.mutation_request) + def delete_from_column(self, row_key, family_name, column_id, + time_range=None): + # create the DeleteFromColumnMutation + # add the mutation to list + mutation = DeleteFromColumnMutation(family_name, column_id, time_range) + self.mutations.append(mutation.mutation_request) + def create_entry(self): # create the Entry for the mutations entry = MutateRowsRequest.Entry(row_key=self.row_key) @@ -39,7 +46,7 @@ def add_row_mutations(self, row_mutations): def create_request(self): request = MutateRowsRequest(table_name=self.table_name, entries=self.entries) - return self.client._mutate_rows(request, retry=None, timeout=0) + return self.client._mutate_rows(request) class SetCellMutation(object): From 52a951551d05e5ae8ba5bb0dc42372e667006a7e Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Wed, 21 Mar 2018 06:15:23 +0530 Subject: [PATCH 05/17] Refactor the class name --- bigtable/google/cloud/bigtable/mutation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 08432c9c6139..a56fe94ceedb 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -3,7 +3,7 @@ from google.cloud.bigtable_v2.proto.bigtable_pb2 import MutateRowsRequest -class RowMutations(): +class MutateRowsEntry(): def __init__(self, row_key, table_name): self.row_key = row_key @@ -46,6 +46,7 @@ def add_row_mutations(self, row_mutations): def create_request(self): request = MutateRowsRequest(table_name=self.table_name, entries=self.entries) + return self.client._mutate_rows(request) From b8e894c59b23f8964584d79d9540dc118c38b5bb Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Wed, 21 Mar 2018 15:28:39 +0530 Subject: [PATCH 06/17] Created Doc Strings for mutation.py --- bigtable/google/cloud/bigtable/mutation.py | 128 ++++++++++++++++++--- 1 file changed, 111 insertions(+), 17 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index a56fe94ceedb..867cdead804e 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -3,54 +3,131 @@ from google.cloud.bigtable_v2.proto.bigtable_pb2 import MutateRowsRequest -class MutateRowsEntry(): +class MutateRowsEntry(object): + """Creating Entry using list of mutations - def __init__(self, row_key, table_name): + Arguments: + row_key (bytes): Key of the Row in bytes. + """ + + def __init__(self, row_key): self.row_key = row_key - self.table_name = table_name self.mutations = [] def set_cell(self, row_key, family_name, column_id, value, timestamp=None): - # create the SetCellMutation - # add the mutation to list + """Creating the mutation request message for SetCell and adding it to + the list of mutations + + Arguments: + row_key (bytes): Key of the Row. + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + column_id (bytes): + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + value (bytes): + The value to be written into the specified cell. + timestamp (int): + (optional) The timestamp of the cell into which new data should + be written. Use -1 for current Bigtable server time. Otherwise, + the client should set this value itself, noting that the + default value is a timestamp of zero if the field is left + unspecified. Values must match the granularity of the table + (e.g. micros, millis). + """ mutation = SetCellMutation(family_name, column_id, value, timestamp) self.mutations.append(mutation.mutation_request) def delete_from_column(self, row_key, family_name, column_id, time_range=None): - # create the DeleteFromColumnMutation - # add the mutation to list + """Creating the mutation request message for DeleteFromColumn and + adding it to the list of mutations + + Arguments: + row_key (bytes): Key of the Row. + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + column_id (bytes): + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + time_range (TimestampRange): + (optional) The range of timestamps within which cells should be + deleted. + """ mutation = DeleteFromColumnMutation(family_name, column_id, time_range) self.mutations.append(mutation.mutation_request) def create_entry(self): - # create the Entry for the mutations + """Create Entry from list of mutations + + Returns: + `Entry ` + A ``Entry`` message. + """ entry = MutateRowsRequest.Entry(row_key=self.row_key) for mutation in self.mutations: - # create Mutation entry.mutations.add().CopyFrom(mutation) return entry -class MutateRows(): +class MutateRows(object): + """Creating Entry using list of mutations + + Arguments: + table_name (bytes): Key of the Row in bytes. + client (class): + `Client ` + The client class of BigtableClient. + """ + def __init__(self, table_name, client): self.table_name = table_name self.client = client self.entries = [] - def add_row_mutations(self, row_mutations): - # turn the row_mutations into an Entry - entry = row_mutations.create_entry() + def add_row_mutations_entry(self, mutate_rows_entry): + """Create list of entries of ``Entry`` + + Arguments: + mutate_rows_entry (object): Class of ``MutateRowsEntry`` + """ + entry = mutate_rows_entry.create_entry() self.entries.append(entry) - def create_request(self): - request = MutateRowsRequest(table_name=self.table_name, - entries=self.entries) + def mutate_rows(self): + """Call on GAPIC API for MutateRows - return self.client._mutate_rows(request) + Returns: + Iterable[~google.cloud.bigtable_v2.proto.MutateRowsResponse]. + """ + return self.client.mutate_rows(table_name=self.table_name, + entries=self.entries) class SetCellMutation(object): + """Creating the mutation request message for SetCell and adding it to the + list of mutations + + Arguments: + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + column_id (bytes): + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + value (bytes): + The value to be written into the specified cell. + timestamp (int): + (optional) The timestamp of the cell into which new data should + be written. Use -1 for current Bigtable server time. Otherwise, + the client should set this value itself, noting that the + default value is a timestamp of zero if the field is left + unspecified. Values must match the granularity of the table + (e.g. micros, millis). + """ + def __init__(self, family_name, column_id, value, timestamp): super(SetCellMutation, self).__init__() self.family_name = family_name @@ -60,6 +137,7 @@ def __init__(self, family_name, column_id, value, timestamp): @property def mutation_request(self): + """message: Mutation of the SetCell.""" set_cell_mutation = data_v2_pb2.Mutation.SetCell( family_name=self.family_name, column_qualifier=self.column_id, @@ -70,6 +148,21 @@ def mutation_request(self): class DeleteFromColumnMutation(object): + """Creating the mutation request message for DeleteFromColumn and + adding it to the list of mutations + + Arguments: + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + column_id (bytes): + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + time_range (TimestampRange): + (optional) The range of timestamps within which cells should be + deleted. + """ + def __init__(self, family_name, column_id, time_range): super(DeleteFromColumnMutation, self).__init__() self.family_name = family_name @@ -78,6 +171,7 @@ def __init__(self, family_name, column_id, time_range): @property def mutation_request(self): + """message: Mutation of the DeleteFromColumn.""" delete_from_column_mutation = data_v2_pb2.Mutation.DeleteFromColumn( family_name=self.family_name, column_qualifier=self.column_id, From 3c1149c39e6df317ecc4f53b4a759e324f3f04cb Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Thu, 22 Mar 2018 08:22:48 +0530 Subject: [PATCH 07/17] Create retry logic for MutateRows --- bigtable/google/cloud/bigtable/mutation.py | 140 ++++++++++++++++++--- 1 file changed, 125 insertions(+), 15 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 867cdead804e..8bc01a8ffdb0 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -1,10 +1,28 @@ +from grpc import StatusCode + +from google.api_core.exceptions import RetryError +from google.api_core.retry import if_exception_type +from google.api_core.retry import Retry from google.cloud.bigtable_v2.proto import ( data_pb2 as data_v2_pb2) from google.cloud.bigtable_v2.proto.bigtable_pb2 import MutateRowsRequest +class _BigtableRetryableError(Exception): + """Retry-able error expected by the default retry strategy.""" + + +DEFAULT_RETRY = Retry( + predicate=if_exception_type(_BigtableRetryableError), + initial=1.0, + maximum=15.0, + multiplier=2.0, + deadline=120.0, # 2 minutes +) + + class MutateRowsEntry(object): - """Creating Entry using list of mutations + """Create Entry using list of mutations Arguments: row_key (bytes): Key of the Row in bytes. @@ -15,8 +33,8 @@ def __init__(self, row_key): self.mutations = [] def set_cell(self, row_key, family_name, column_id, value, timestamp=None): - """Creating the mutation request message for SetCell and adding it to - the list of mutations + """Create the mutation request message for SetCell and add it to the + list of mutations Arguments: row_key (bytes): Key of the Row. @@ -41,8 +59,8 @@ def set_cell(self, row_key, family_name, column_id, value, timestamp=None): def delete_from_column(self, row_key, family_name, column_id, time_range=None): - """Creating the mutation request message for DeleteFromColumn and - adding it to the list of mutations + """Create the mutation request message for DeleteFromColumn and + add it to the list of mutations Arguments: row_key (bytes): Key of the Row. @@ -73,7 +91,7 @@ def create_entry(self): class MutateRows(object): - """Creating Entry using list of mutations + """Create Entry using list of mutations Arguments: table_name (bytes): Key of the Row in bytes. @@ -91,24 +109,116 @@ def add_row_mutations_entry(self, mutate_rows_entry): """Create list of entries of ``Entry`` Arguments: - mutate_rows_entry (object): Class of ``MutateRowsEntry`` + mutate_rows_entry (class): Class of ``MutateRowsEntry`` """ entry = mutate_rows_entry.create_entry() self.entries.append(entry) - def mutate_rows(self): + def mutate_rows(self, retry=DEFAULT_RETRY): """Call on GAPIC API for MutateRows Returns: - Iterable[~google.cloud.bigtable_v2.proto.MutateRowsResponse]. + List[~google.rpc.status_pb2.Status]. + A list of response statuses (`google.rpc.status_pb2.Status`) + corresponding to success or failure of each row mutation + sent. These will be in the same order as the ``rows``. """ - return self.client.mutate_rows(table_name=self.table_name, - entries=self.entries) + retryable_mutate_rows = _RetryableMutateRows( + self.table_name, self.client, self.entries) + return retryable_mutate_rows(retry=retry) + + +class _RetryableMutateRows(object): + + RETRY_CODES = ( + StatusCode.DEADLINE_EXCEEDED.value[0], + StatusCode.ABORTED.value[0], + StatusCode.UNAVAILABLE.value[0], + ) + + def __init__(self, table_name, client, entries): + self.table_name = table_name + self.client = client + self.entries = entries + self.responses_statuses = [None] * len(self.entries) + self.retryable_entries = [] + + def __call__(self, retry=DEFAULT_RETRY): + """Attempt to mutate all rows and retry rows with transient errors. + + Will retry the rows with transient errors until all rows succeed or + ``deadline`` specified in the `retry` is reached. + + Arguments: + retry (class): + `Retry ` + (optional) This is a DEFAULT_RETRY class with default settings. + It is optional by passing False to this parameter retry logic will + bypass. + + Returns: + List[~google.rpc.status_pb2.Status]. + A list of response statuses (`google.rpc.status_pb2.Status`) + corresponding to success or failure of each row mutation + sent. These will be in the same order as the ``rows``. + """ + mutate_rows = self._do_mutate_retryable_mutate_rows + if retry: + mutate_rows = retry(self._do_mutate_retryable_mutate_rows) + + try: + mutate_rows() + except (_BigtableRetryableError, RetryError) as err: + # - _BigtableRetryableError raised when no retry strategy is used + # and a retryable error on a mutation occurred. + # - RetryError raised when retry deadline is reached. + # In both cases, just return current `responses_statuses`. + pass + + return self.responses_statuses + + @staticmethod + def _is_retryable(status): + return (status is None or + status.code in _RetryableMutateRows.RETRY_CODES) + + def _do_mutate_retryable_mutate_rows(self): + + if not self.entries: + return self.responses_statuses + else: + if not self.retryable_entries: + responses = self.client.mutate_rows(table_name=self.table_name, + entries=self.entries) + else: + responses = self.client.mutate_rows( + table_name=self.table_name, entries=self.retryable_entries) + + num_responses = 0 + num_retryable_responses = 0 + for response in responses: + for entry in response.entries: + num_responses += 1 + index = entry.index + self.responses_statuses[index] = entry.status + if self._is_retryable(entry.status): + self.retryable_entries.append(self.entries[index]) + num_retryable_responses += 1 + + if len(self.entries) != num_responses: + raise RuntimeError( + 'Unexpected number of responses', num_responses, + 'Expected', len(self.entries)) + + if num_retryable_responses: + raise _BigtableRetryableError + + return self.responses_statuses class SetCellMutation(object): - """Creating the mutation request message for SetCell and adding it to the - list of mutations + """Create the mutation request message for SetCell and add it to the list + of mutations Arguments: family_name (str): @@ -148,8 +258,8 @@ def mutation_request(self): class DeleteFromColumnMutation(object): - """Creating the mutation request message for DeleteFromColumn and - adding it to the list of mutations + """Create the mutation request message for DeleteFromColumn and add it to + the list of mutations Arguments: family_name (str): From 264ea528bb8dd073f2b4f6166b2a63fd185ddf09 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Thu, 22 Mar 2018 12:16:36 +0530 Subject: [PATCH 08/17] * Create DeleteFromFamilyMutation * Create DeleteFromRowMutation * Refactor codes --- bigtable/google/cloud/bigtable/mutation.py | 123 +++++++++++++++------ 1 file changed, 87 insertions(+), 36 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 8bc01a8ffdb0..01a602965925 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -32,12 +32,11 @@ def __init__(self, row_key): self.row_key = row_key self.mutations = [] - def set_cell(self, row_key, family_name, column_id, value, timestamp=None): + def set_cell(self, family_name, column_id, value, timestamp=None): """Create the mutation request message for SetCell and add it to the list of mutations Arguments: - row_key (bytes): Key of the Row. family_name (str): The name of the family into which new data should be written. Must match ``[-_.a-zA-Z0-9]+``. @@ -57,13 +56,11 @@ def set_cell(self, row_key, family_name, column_id, value, timestamp=None): mutation = SetCellMutation(family_name, column_id, value, timestamp) self.mutations.append(mutation.mutation_request) - def delete_from_column(self, row_key, family_name, column_id, - time_range=None): + def delete_from_column(self, family_name, column_id, time_range=None): """Create the mutation request message for DeleteFromColumn and add it to the list of mutations Arguments: - row_key (bytes): Key of the Row. family_name (str): The name of the family into which new data should be written. Must match ``[-_.a-zA-Z0-9]+``. @@ -77,6 +74,24 @@ def delete_from_column(self, row_key, family_name, column_id, mutation = DeleteFromColumnMutation(family_name, column_id, time_range) self.mutations.append(mutation.mutation_request) + def delete_from_family(self, family_name): + """Create the mutation request message for DeleteFromFamily and add + it to the list of mutations + + Arguments: + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + """ + mutation = DeleteFromFamilyMutation(family_name) + self.mutations.append(mutation.mutation_request) + + def delete_from_row(self): + """Create the mutation request message for DeleteFromRow and add it + to the list of mutations""" + mutation = DeleteFromRowMutation() + self.mutations.append(mutation.mutation_request) + def create_entry(self): """Create Entry from list of mutations @@ -139,9 +154,8 @@ class _RetryableMutateRows(object): def __init__(self, table_name, client, entries): self.table_name = table_name self.client = client - self.entries = entries - self.responses_statuses = [None] * len(self.entries) - self.retryable_entries = [] + self.responses_statuses = [None] * len(entries) + self.retryable_entries = entries def __call__(self, retry=DEFAULT_RETRY): """Attempt to mutate all rows and retry rows with transient errors. @@ -184,34 +198,33 @@ def _is_retryable(status): def _do_mutate_retryable_mutate_rows(self): - if not self.entries: - return self.responses_statuses - else: - if not self.retryable_entries: - responses = self.client.mutate_rows(table_name=self.table_name, - entries=self.entries) - else: - responses = self.client.mutate_rows( - table_name=self.table_name, entries=self.retryable_entries) - - num_responses = 0 - num_retryable_responses = 0 - for response in responses: - for entry in response.entries: - num_responses += 1 - index = entry.index - self.responses_statuses[index] = entry.status - if self._is_retryable(entry.status): - self.retryable_entries.append(self.entries[index]) - num_retryable_responses += 1 - - if len(self.entries) != num_responses: - raise RuntimeError( - 'Unexpected number of responses', num_responses, - 'Expected', len(self.entries)) - - if num_retryable_responses: - raise _BigtableRetryableError + retryable_entries = [] + index_into_all_entries = [] + for index, status in enumerate(self.responses_statuses): + if self._is_retryable(status): + retryable_entries.append(self.retryable_entries[index]) + index_into_all_entries.append(index) + + responses = self.client.mutate_rows( + table_name=self.table_name, entries=retryable_entries) + + num_responses = 0 + num_retryable_responses = 0 + for response in responses: + for entry in response.entries: + num_responses += 1 + index = index_into_all_entries[entry.index] + self.responses_statuses[index] = entry.status + if self._is_retryable(entry.status): + num_retryable_responses += 1 + + if len(retryable_entries) != num_responses: + raise RuntimeError( + 'Unexpected number of responses', num_responses, + 'Expected', len(retryable_entries)) + + if num_retryable_responses: + raise _BigtableRetryableError return self.responses_statuses @@ -289,3 +302,41 @@ def mutation_request(self): ) return data_v2_pb2.Mutation( delete_from_column=delete_from_column_mutation) + + +class DeleteFromFamilyMutation(object): + """Create the mutation request message for DeleteFromFamily and add it to + the list of mutations + + Arguments: + family_name (str): + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+``. + """ + + def __init__(self, family_name): + super(DeleteFromFamilyMutation, self).__init__() + self.family_name = family_name + + @property + def mutation_request(self): + """message: Mutation of the DeleteFromFamily.""" + delete_from_family_mutation = data_v2_pb2.Mutation.DeleteFromFamily( + family_name=self.family_name + ) + return data_v2_pb2.Mutation( + delete_from_family=delete_from_family_mutation) + + +class DeleteFromRowMutation(object): + """Create the mutation request message for DeleteFromRow and add it to + the list of mutations""" + + def __init__(self): + super(DeleteFromRowMutation, self).__init__() + + @property + def mutation_request(self): + """message: Mutation of the DeleteFromRow.""" + delete_from_row_mutation = data_v2_pb2.Mutation.DeleteFromRow() + return data_v2_pb2.Mutation(delete_from_row=delete_from_row_mutation) From 9cb0777e72b39dfce1247354774150818ef32994 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Thu, 22 Mar 2018 15:55:32 +0530 Subject: [PATCH 09/17] Created unit test cases for mutation.py --- bigtable/tests/unit/test_mutation.py | 270 ++++++++++++++++++++++++++- 1 file changed, 261 insertions(+), 9 deletions(-) diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py index 1e9b59811697..130dd2701782 100644 --- a/bigtable/tests/unit/test_mutation.py +++ b/bigtable/tests/unit/test_mutation.py @@ -19,32 +19,284 @@ class TestMutateRows(unittest.TestCase): + from grpc import StatusCode + PROJECT_ID = 'project-id' INSTANCE_ID = 'instance-id' - INSTANCE_NAME = ('projects/' + PROJECT_ID + '/instances/' + INSTANCE_ID) TABLE_ID = 'table-id' - TABLE_NAME = INSTANCE_NAME + '/tables/' + TABLE_ID ROW_KEY = b'row-key' + ROW_KEY_1 = b'row-key-1' + ROW_KEY_2 = b'row-key-2' FAMILY_NAME = u'family' QUALIFIER = b'qualifier' TIMESTAMP_MICROS = 100 VALUE = b'value' + RETRYABLE = StatusCode.DEADLINE_EXCEEDED.value[0] + SUCCESS = StatusCode.OK.value[0] + + @mock.patch('google.auth.transport.grpc.secure_authorized_channel') + def _make_channel(self, secure_authorized_channel): + from google.api_core import grpc_helpers + target = 'example.com:443' + + channel = grpc_helpers.create_channel( + target, credentials=mock.sentinel.credentials) + + return channel - def test_mutate(self): + def _make_responses(self, codes): + import six + from google.cloud.bigtable_v2.proto.bigtable_pb2 import ( + MutateRowsResponse) + from google.rpc.status_pb2 import Status + + entries = [MutateRowsResponse.Entry( + index=i, status=Status(code=codes[i])) + for i in six.moves.xrange(len(codes))] + return MutateRowsResponse(entries=entries) + + @staticmethod + def _get_target_class(): from google.cloud.bigtable.mutation import MutateRows - client = mock.MagicMock() + return MutateRows + + def _make_one(self, *args, **kwargs): + return self._get_target_class()(*args, **kwargs) + + def test_retry_mutation(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response_1 = self._make_responses([self.SUCCESS, self.RETRYABLE]) + response_2 = self._make_responses([self.SUCCESS]) + + client.bigtable_stub.MutateRows.side_effect = [[response_1], + [response_2]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_1) + + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_2) + + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows() + + result = [status.code for status in statuses] + expected_result = [self.SUCCESS, self.SUCCESS] + + self.assertEqual(result, expected_result) + + def test_set_cell_mutation(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response = self._make_responses([self.SUCCESS]) + + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY) + + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows(retry=False) + + result = [status.code for status in statuses] + expected_result = [self.SUCCESS] + + self.assertEqual(result, expected_result) + + def test_delete_from_column_mutation(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response = self._make_responses([self.SUCCESS]) + + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY) + + mutate_rows_entry.delete_from_column( + self.FAMILY_NAME, + self.QUALIFIER + ) + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows() + + result = [status.code for status in statuses] + expected_result = [self.SUCCESS] + + self.assertEqual(result, expected_result) + + def test_delete_from_family_mutation(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response = self._make_responses([self.SUCCESS]) + + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY) + + mutate_rows_entry.delete_from_family( + self.FAMILY_NAME + ) + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows(retry=False) + + result = [status.code for status in statuses] + expected_result = [self.SUCCESS] + + self.assertEqual(result, expected_result) + + def test_delete_from_row_mutation(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response = self._make_responses([self.SUCCESS]) + + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY) + + mutate_rows_entry.delete_from_row() + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows(retry=False) + + result = [status.code for status in statuses] + expected_result = [self.SUCCESS] + + self.assertEqual(result, expected_result) + + def test_mutation_runtime_error(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) - mutate_rows = MutateRows(self.TABLE_NAME, client) + response = self._make_responses([self.SUCCESS]) - mutate_rows.set_cell( - self.ROW_KEY, + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_1) + + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_2) + + mutate_rows_entry.set_cell( self.FAMILY_NAME, self.QUALIFIER, self.VALUE, self.TIMESTAMP_MICROS ) - expected_result = mutate_rows.mutate() + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + with self.assertRaises(RuntimeError): + mutate_rows.mutate_rows() + + def test_mutation_retry_error_with_no_retry_strategy(self): + from google.cloud.bigtable.mutation import MutateRowsEntry + from google.cloud.bigtable_v2 import BigtableClient + + channel = self._make_channel() + client = BigtableClient(channel=channel) + table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, + self.TABLE_ID) + + response = self._make_responses([self.RETRYABLE]) + + client.bigtable_stub.MutateRows.side_effect = [[response]] + + mutate_rows = self._make_one(table_name=table_name, client=client) + + mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY) + + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) + + mutate_rows.add_row_mutations_entry(mutate_rows_entry) + + statuses = mutate_rows.mutate_rows(retry=False) + + result = [status.code for status in statuses] + expected_result = [self.RETRYABLE] - result = None + self.assertEqual(result, expected_result) From 21b77bd4e304caf9aa03410613b680355a7db70a Mon Sep 17 00:00:00 2001 From: zakons Date: Fri, 23 Mar 2018 00:22:39 -0400 Subject: [PATCH 10/17] Edits for docstrings --- bigtable/google/cloud/bigtable/mutation.py | 41 ++++++++++++++++------ bigtable/tests/unit/test_mutation.py | 14 ++++---- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 01a602965925..64971b4bb313 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -93,11 +93,11 @@ def delete_from_row(self): self.mutations.append(mutation.mutation_request) def create_entry(self): - """Create Entry from list of mutations + """Create a MutateRowsRequest Entry from the list of mutations Returns: `Entry ` - A ``Entry`` message. + An ``Entry`` for a MutateRowsRequest message. """ entry = MutateRowsRequest.Entry(row_key=self.row_key) for mutation in self.mutations: @@ -106,13 +106,14 @@ def create_entry(self): class MutateRows(object): - """Create Entry using list of mutations + """Maintain a list of Entry's to mutate + Corresponds to the MutateRowsRequest Arguments: - table_name (bytes): Key of the Row in bytes. + table_name (str): The name of the table with rows to mutate. client (class): `Client ` - The client class of BigtableClient. + The client class for the GAPIC API. """ def __init__(self, table_name, client): @@ -121,7 +122,7 @@ def __init__(self, table_name, client): self.entries = [] def add_row_mutations_entry(self, mutate_rows_entry): - """Create list of entries of ``Entry`` + """Add an ``Entry`` to the list for the mutate request Arguments: mutate_rows_entry (class): Class of ``MutateRowsEntry`` @@ -129,14 +130,13 @@ def add_row_mutations_entry(self, mutate_rows_entry): entry = mutate_rows_entry.create_entry() self.entries.append(entry) - def mutate_rows(self, retry=DEFAULT_RETRY): - """Call on GAPIC API for MutateRows + def mutate(self, retry=DEFAULT_RETRY): + """Call the GAPIC API for MutateRows Returns: List[~google.rpc.status_pb2.Status]. A list of response statuses (`google.rpc.status_pb2.Status`) - corresponding to success or failure of each row mutation - sent. These will be in the same order as the ``rows``. + corresponding to success or failure of each Entry sent. """ retryable_mutate_rows = _RetryableMutateRows( self.table_name, self.client, self.entries) @@ -144,6 +144,12 @@ def mutate_rows(self, retry=DEFAULT_RETRY): class _RetryableMutateRows(object): + """A callable worker that can retry to mutate rows with transient errors. + + This class is a callable that can retry mutating rows that result in + transient errors. After all rows are successful or none of the rows + are retryable, any subsequent call on this callable will be a no-op. + """ RETRY_CODES = ( StatusCode.DEADLINE_EXCEEDED.value[0], @@ -197,7 +203,22 @@ def _is_retryable(status): status.code in _RetryableMutateRows.RETRY_CODES) def _do_mutate_retryable_mutate_rows(self): + """Mutate all the rows that are eligible for retry. + A row is eligible for retry if it has not been tried or if it resulted + in a transient error in a previous call. + Returns: + `List [‘~google.rpc.status_pb2.Status']` + The responses statuses, which is a list of + Class `~google.rpc.status_pb2.Status`. + Raises: + One of the following: + + * (exc) `~.table._BigtableRetryableError` if any + row returned a transient error. + * (exc) `RuntimeError` if the number of responses doesn't + match the number of rows that were retried + """ retryable_entries = [] index_into_all_entries = [] for index, status in enumerate(self.responses_statuses): diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py index 130dd2701782..48c37e97dfdc 100644 --- a/bigtable/tests/unit/test_mutation.py +++ b/bigtable/tests/unit/test_mutation.py @@ -103,7 +103,7 @@ def test_retry_mutation(self): mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows() + statuses = mutate_rows.mutate() result = [status.code for status in statuses] expected_result = [self.SUCCESS, self.SUCCESS] @@ -135,7 +135,7 @@ def test_set_cell_mutation(self): ) mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows(retry=False) + statuses = mutate_rows.mutate(retry=False) result = [status.code for status in statuses] expected_result = [self.SUCCESS] @@ -165,7 +165,7 @@ def test_delete_from_column_mutation(self): ) mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows() + statuses = mutate_rows.mutate() result = [status.code for status in statuses] expected_result = [self.SUCCESS] @@ -194,7 +194,7 @@ def test_delete_from_family_mutation(self): ) mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows(retry=False) + statuses = mutate_rows.mutate(retry=False) result = [status.code for status in statuses] expected_result = [self.SUCCESS] @@ -221,7 +221,7 @@ def test_delete_from_row_mutation(self): mutate_rows_entry.delete_from_row() mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows(retry=False) + statuses = mutate_rows.mutate(retry=False) result = [status.code for status in statuses] expected_result = [self.SUCCESS] @@ -266,7 +266,7 @@ def test_mutation_runtime_error(self): mutate_rows.add_row_mutations_entry(mutate_rows_entry) with self.assertRaises(RuntimeError): - mutate_rows.mutate_rows() + mutate_rows.mutate() def test_mutation_retry_error_with_no_retry_strategy(self): from google.cloud.bigtable.mutation import MutateRowsEntry @@ -294,7 +294,7 @@ def test_mutation_retry_error_with_no_retry_strategy(self): mutate_rows.add_row_mutations_entry(mutate_rows_entry) - statuses = mutate_rows.mutate_rows(retry=False) + statuses = mutate_rows.mutate(retry=False) result = [status.code for status in statuses] expected_result = [self.RETRYABLE] From aafe8601608060e38da2c692464038a41624d7fe Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 12:10:53 +0530 Subject: [PATCH 11/17] Refactor unit test case for mutation.py --- bigtable/tests/unit/test_mutation.py | 32 ++++++++++++---------------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py index 48c37e97dfdc..47c023abac8c 100644 --- a/bigtable/tests/unit/test_mutation.py +++ b/bigtable/tests/unit/test_mutation.py @@ -73,6 +73,8 @@ def test_retry_mutation(self): table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, self.TABLE_ID) + # First responses will get fail on second response and after retry + # second will get succeed. response_1 = self._make_responses([self.SUCCESS, self.RETRYABLE]) response_2 = self._make_responses([self.SUCCESS]) @@ -81,30 +83,24 @@ def test_retry_mutation(self): mutate_rows = self._make_one(table_name=table_name, client=client) - mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_1) - - mutate_rows_entry.set_cell( - self.FAMILY_NAME, - self.QUALIFIER, - self.VALUE, - self.TIMESTAMP_MICROS - ) - - mutate_rows.add_row_mutations_entry(mutate_rows_entry) + row_keys = [self.ROW_KEY_1, self.ROW_KEY_2] - mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_2) + for row_key in row_keys: + mutate_rows_entry = MutateRowsEntry(row_key=row_key) - mutate_rows_entry.set_cell( - self.FAMILY_NAME, - self.QUALIFIER, - self.VALUE, - self.TIMESTAMP_MICROS - ) + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) - mutate_rows.add_row_mutations_entry(mutate_rows_entry) + mutate_rows.add_row_mutations_entry(mutate_rows_entry) statuses = mutate_rows.mutate() + # Got two successful responces after retry on second retryable + # response. result = [status.code for status in statuses] expected_result = [self.SUCCESS, self.SUCCESS] From 64ce238b48135b94eb4ddbeed07580735c84ac4b Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 12:17:09 +0530 Subject: [PATCH 12/17] Put back admin_pb2 files in _generated --- .../cloud/bigtable/_generated/__init__.py | 15 + .../_generated/bigtable_instance_admin_pb2.py | 1061 ++++++++++ .../cloud/bigtable/_generated/bigtable_pb2.py | 1467 ++++++++++++++ .../_generated/bigtable_table_admin_pb2.py | 784 ++++++++ .../cloud/bigtable/_generated/common_pb2.py | 67 + .../cloud/bigtable/_generated/data_pb2.py | 1755 +++++++++++++++++ .../cloud/bigtable/_generated/instance_pb2.py | 222 +++ .../cloud/bigtable/_generated/table_pb2.py | 393 ++++ 8 files changed, 5764 insertions(+) create mode 100644 bigtable/google/cloud/bigtable/_generated/__init__.py create mode 100755 bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/common_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/data_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/instance_pb2.py create mode 100755 bigtable/google/cloud/bigtable/_generated/table_pb2.py diff --git a/bigtable/google/cloud/bigtable/_generated/__init__.py b/bigtable/google/cloud/bigtable/_generated/__init__.py new file mode 100644 index 000000000000..7e33fb434ef5 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/__init__.py @@ -0,0 +1,15 @@ +# Copyright 2015 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Generated protobuf modules for Google Cloud Bigtable API.""" diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py new file mode 100755 index 000000000000..00e64c8a6976 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/bigtable_instance_admin_pb2.py @@ -0,0 +1,1061 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/bigtable/admin/v2/bigtable_instance_admin.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._generated import instance_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/bigtable/admin/v2/bigtable_instance_admin.proto', + package='google.bigtable.admin.v2', + syntax='proto3', + serialized_pb=_b('\n6google/bigtable/admin/v2/bigtable_instance_admin.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\'google/bigtable/admin/v2/instance.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x97\x02\n\x15\x43reateInstanceRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x34\n\x08instance\x18\x03 \x01(\x0b\x32\".google.bigtable.admin.v2.Instance\x12O\n\x08\x63lusters\x18\x04 \x03(\x0b\x32=.google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry\x1aR\n\rClustersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster:\x02\x38\x01\"\"\n\x12GetInstanceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\":\n\x14ListInstancesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\"\x81\x01\n\x15ListInstancesResponse\x12\x35\n\tinstances\x18\x01 \x03(\x0b\x32\".google.bigtable.admin.v2.Instance\x12\x18\n\x10\x66\x61iled_locations\x18\x02 \x03(\t\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\"%\n\x15\x44\x65leteInstanceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"n\n\x14\x43reateClusterRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\ncluster_id\x18\x02 \x01(\t\x12\x32\n\x07\x63luster\x18\x03 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster\"!\n\x11GetClusterRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"9\n\x13ListClustersRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\"~\n\x14ListClustersResponse\x12\x33\n\x08\x63lusters\x18\x01 \x03(\x0b\x32!.google.bigtable.admin.v2.Cluster\x12\x18\n\x10\x66\x61iled_locations\x18\x02 \x03(\t\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\"$\n\x14\x44\x65leteClusterRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc6\x01\n\x16\x43reateInstanceMetadata\x12I\n\x10original_request\x18\x01 \x01(\x0b\x32/.google.bigtable.admin.v2.CreateInstanceRequest\x12\x30\n\x0crequest_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inish_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb7\x01\n\x15UpdateClusterMetadata\x12;\n\x10original_request\x18\x01 \x01(\x0b\x32!.google.bigtable.admin.v2.Cluster\x12\x30\n\x0crequest_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inish_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\xdb\x0b\n\x15\x42igtableInstanceAdmin\x12\x8e\x01\n\x0e\x43reateInstance\x12/.google.bigtable.admin.v2.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\",\x82\xd3\xe4\x93\x02&\"!/v2/{parent=projects/*}/instances:\x01*\x12\x8a\x01\n\x0bGetInstance\x12,.google.bigtable.admin.v2.GetInstanceRequest\x1a\".google.bigtable.admin.v2.Instance\")\x82\xd3\xe4\x93\x02#\x12!/v2/{name=projects/*/instances/*}\x12\x9b\x01\n\rListInstances\x12..google.bigtable.admin.v2.ListInstancesRequest\x1a/.google.bigtable.admin.v2.ListInstancesResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/{parent=projects/*}/instances\x12\x86\x01\n\x0eUpdateInstance\x12\".google.bigtable.admin.v2.Instance\x1a\".google.bigtable.admin.v2.Instance\",\x82\xd3\xe4\x93\x02&\x1a!/v2/{name=projects/*/instances/*}:\x01*\x12\x84\x01\n\x0e\x44\x65leteInstance\x12/.google.bigtable.admin.v2.DeleteInstanceRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/v2/{name=projects/*/instances/*}\x12\x9d\x01\n\rCreateCluster\x12..google.bigtable.admin.v2.CreateClusterRequest\x1a\x1d.google.longrunning.Operation\"=\x82\xd3\xe4\x93\x02\x37\",/v2/{parent=projects/*/instances/*}/clusters:\x07\x63luster\x12\x92\x01\n\nGetCluster\x12+.google.bigtable.admin.v2.GetClusterRequest\x1a!.google.bigtable.admin.v2.Cluster\"4\x82\xd3\xe4\x93\x02.\x12,/v2/{name=projects/*/instances/*/clusters/*}\x12\xa3\x01\n\x0cListClusters\x12-.google.bigtable.admin.v2.ListClustersRequest\x1a..google.bigtable.admin.v2.ListClustersResponse\"4\x82\xd3\xe4\x93\x02.\x12,/v2/{parent=projects/*/instances/*}/clusters\x12\x8a\x01\n\rUpdateCluster\x12!.google.bigtable.admin.v2.Cluster\x1a\x1d.google.longrunning.Operation\"7\x82\xd3\xe4\x93\x02\x31\x1a,/v2/{name=projects/*/instances/*/clusters/*}:\x01*\x12\x8d\x01\n\rDeleteCluster\x12..google.bigtable.admin.v2.DeleteClusterRequest\x1a\x16.google.protobuf.Empty\"4\x82\xd3\xe4\x93\x02.*,/v2/{name=projects/*/instances/*/clusters/*}B<\n\x1c\x63om.google.bigtable.admin.v2B\x1a\x42igtableInstanceAdminProtoP\x01\x62\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.DESCRIPTOR,google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_CREATEINSTANCEREQUEST_CLUSTERSENTRY = _descriptor.Descriptor( + name='ClustersEntry', + full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry.key', 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='value', full_name='google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=452, + serialized_end=534, +) + +_CREATEINSTANCEREQUEST = _descriptor.Descriptor( + name='CreateInstanceRequest', + full_name='google.bigtable.admin.v2.CreateInstanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.CreateInstanceRequest.parent', 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='instance_id', full_name='google.bigtable.admin.v2.CreateInstanceRequest.instance_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), + _descriptor.FieldDescriptor( + name='instance', full_name='google.bigtable.admin.v2.CreateInstanceRequest.instance', 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='clusters', full_name='google.bigtable.admin.v2.CreateInstanceRequest.clusters', index=3, + 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), + ], + extensions=[ + ], + nested_types=[_CREATEINSTANCEREQUEST_CLUSTERSENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=255, + serialized_end=534, +) + + +_GETINSTANCEREQUEST = _descriptor.Descriptor( + name='GetInstanceRequest', + full_name='google.bigtable.admin.v2.GetInstanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.GetInstanceRequest.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=536, + serialized_end=570, +) + + +_LISTINSTANCESREQUEST = _descriptor.Descriptor( + name='ListInstancesRequest', + full_name='google.bigtable.admin.v2.ListInstancesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.ListInstancesRequest.parent', 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='page_token', full_name='google.bigtable.admin.v2.ListInstancesRequest.page_token', 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=572, + serialized_end=630, +) + + +_LISTINSTANCESRESPONSE = _descriptor.Descriptor( + name='ListInstancesResponse', + full_name='google.bigtable.admin.v2.ListInstancesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='instances', full_name='google.bigtable.admin.v2.ListInstancesResponse.instances', 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='failed_locations', full_name='google.bigtable.admin.v2.ListInstancesResponse.failed_locations', index=1, + number=2, 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='next_page_token', full_name='google.bigtable.admin.v2.ListInstancesResponse.next_page_token', index=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=633, + serialized_end=762, +) + + +_DELETEINSTANCEREQUEST = _descriptor.Descriptor( + name='DeleteInstanceRequest', + full_name='google.bigtable.admin.v2.DeleteInstanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.DeleteInstanceRequest.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=764, + serialized_end=801, +) + + +_CREATECLUSTERREQUEST = _descriptor.Descriptor( + name='CreateClusterRequest', + full_name='google.bigtable.admin.v2.CreateClusterRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.CreateClusterRequest.parent', 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='cluster_id', full_name='google.bigtable.admin.v2.CreateClusterRequest.cluster_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), + _descriptor.FieldDescriptor( + name='cluster', full_name='google.bigtable.admin.v2.CreateClusterRequest.cluster', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=803, + serialized_end=913, +) + + +_GETCLUSTERREQUEST = _descriptor.Descriptor( + name='GetClusterRequest', + full_name='google.bigtable.admin.v2.GetClusterRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.GetClusterRequest.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=915, + serialized_end=948, +) + + +_LISTCLUSTERSREQUEST = _descriptor.Descriptor( + name='ListClustersRequest', + full_name='google.bigtable.admin.v2.ListClustersRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.ListClustersRequest.parent', 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='page_token', full_name='google.bigtable.admin.v2.ListClustersRequest.page_token', 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=950, + serialized_end=1007, +) + + +_LISTCLUSTERSRESPONSE = _descriptor.Descriptor( + name='ListClustersResponse', + full_name='google.bigtable.admin.v2.ListClustersResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='clusters', full_name='google.bigtable.admin.v2.ListClustersResponse.clusters', 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='failed_locations', full_name='google.bigtable.admin.v2.ListClustersResponse.failed_locations', index=1, + number=2, 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='next_page_token', full_name='google.bigtable.admin.v2.ListClustersResponse.next_page_token', index=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1009, + serialized_end=1135, +) + + +_DELETECLUSTERREQUEST = _descriptor.Descriptor( + name='DeleteClusterRequest', + full_name='google.bigtable.admin.v2.DeleteClusterRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.DeleteClusterRequest.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1137, + serialized_end=1173, +) + + +_CREATEINSTANCEMETADATA = _descriptor.Descriptor( + name='CreateInstanceMetadata', + full_name='google.bigtable.admin.v2.CreateInstanceMetadata', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='original_request', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.original_request', 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), + _descriptor.FieldDescriptor( + name='request_time', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.request_time', 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='finish_time', full_name='google.bigtable.admin.v2.CreateInstanceMetadata.finish_time', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1176, + serialized_end=1374, +) + + +_UPDATECLUSTERMETADATA = _descriptor.Descriptor( + name='UpdateClusterMetadata', + full_name='google.bigtable.admin.v2.UpdateClusterMetadata', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='original_request', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.original_request', 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), + _descriptor.FieldDescriptor( + name='request_time', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.request_time', 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='finish_time', full_name='google.bigtable.admin.v2.UpdateClusterMetadata.finish_time', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1377, + serialized_end=1560, +) + +_CREATEINSTANCEREQUEST_CLUSTERSENTRY.fields_by_name['value'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER +_CREATEINSTANCEREQUEST_CLUSTERSENTRY.containing_type = _CREATEINSTANCEREQUEST +_CREATEINSTANCEREQUEST.fields_by_name['instance'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._INSTANCE +_CREATEINSTANCEREQUEST.fields_by_name['clusters'].message_type = _CREATEINSTANCEREQUEST_CLUSTERSENTRY +_LISTINSTANCESRESPONSE.fields_by_name['instances'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._INSTANCE +_CREATECLUSTERREQUEST.fields_by_name['cluster'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER +_LISTCLUSTERSRESPONSE.fields_by_name['clusters'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER +_CREATEINSTANCEMETADATA.fields_by_name['original_request'].message_type = _CREATEINSTANCEREQUEST +_CREATEINSTANCEMETADATA.fields_by_name['request_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_CREATEINSTANCEMETADATA.fields_by_name['finish_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_UPDATECLUSTERMETADATA.fields_by_name['original_request'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2._CLUSTER +_UPDATECLUSTERMETADATA.fields_by_name['request_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_UPDATECLUSTERMETADATA.fields_by_name['finish_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +DESCRIPTOR.message_types_by_name['CreateInstanceRequest'] = _CREATEINSTANCEREQUEST +DESCRIPTOR.message_types_by_name['GetInstanceRequest'] = _GETINSTANCEREQUEST +DESCRIPTOR.message_types_by_name['ListInstancesRequest'] = _LISTINSTANCESREQUEST +DESCRIPTOR.message_types_by_name['ListInstancesResponse'] = _LISTINSTANCESRESPONSE +DESCRIPTOR.message_types_by_name['DeleteInstanceRequest'] = _DELETEINSTANCEREQUEST +DESCRIPTOR.message_types_by_name['CreateClusterRequest'] = _CREATECLUSTERREQUEST +DESCRIPTOR.message_types_by_name['GetClusterRequest'] = _GETCLUSTERREQUEST +DESCRIPTOR.message_types_by_name['ListClustersRequest'] = _LISTCLUSTERSREQUEST +DESCRIPTOR.message_types_by_name['ListClustersResponse'] = _LISTCLUSTERSRESPONSE +DESCRIPTOR.message_types_by_name['DeleteClusterRequest'] = _DELETECLUSTERREQUEST +DESCRIPTOR.message_types_by_name['CreateInstanceMetadata'] = _CREATEINSTANCEMETADATA +DESCRIPTOR.message_types_by_name['UpdateClusterMetadata'] = _UPDATECLUSTERMETADATA + +CreateInstanceRequest = _reflection.GeneratedProtocolMessageType('CreateInstanceRequest', (_message.Message,), dict( + + ClustersEntry = _reflection.GeneratedProtocolMessageType('ClustersEntry', (_message.Message,), dict( + DESCRIPTOR = _CREATEINSTANCEREQUEST_CLUSTERSENTRY, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceRequest.ClustersEntry) + )) + , + DESCRIPTOR = _CREATEINSTANCEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceRequest) + )) +_sym_db.RegisterMessage(CreateInstanceRequest) +_sym_db.RegisterMessage(CreateInstanceRequest.ClustersEntry) + +GetInstanceRequest = _reflection.GeneratedProtocolMessageType('GetInstanceRequest', (_message.Message,), dict( + DESCRIPTOR = _GETINSTANCEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetInstanceRequest) + )) +_sym_db.RegisterMessage(GetInstanceRequest) + +ListInstancesRequest = _reflection.GeneratedProtocolMessageType('ListInstancesRequest', (_message.Message,), dict( + DESCRIPTOR = _LISTINSTANCESREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListInstancesRequest) + )) +_sym_db.RegisterMessage(ListInstancesRequest) + +ListInstancesResponse = _reflection.GeneratedProtocolMessageType('ListInstancesResponse', (_message.Message,), dict( + DESCRIPTOR = _LISTINSTANCESRESPONSE, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListInstancesResponse) + )) +_sym_db.RegisterMessage(ListInstancesResponse) + +DeleteInstanceRequest = _reflection.GeneratedProtocolMessageType('DeleteInstanceRequest', (_message.Message,), dict( + DESCRIPTOR = _DELETEINSTANCEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteInstanceRequest) + )) +_sym_db.RegisterMessage(DeleteInstanceRequest) + +CreateClusterRequest = _reflection.GeneratedProtocolMessageType('CreateClusterRequest', (_message.Message,), dict( + DESCRIPTOR = _CREATECLUSTERREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateClusterRequest) + )) +_sym_db.RegisterMessage(CreateClusterRequest) + +GetClusterRequest = _reflection.GeneratedProtocolMessageType('GetClusterRequest', (_message.Message,), dict( + DESCRIPTOR = _GETCLUSTERREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetClusterRequest) + )) +_sym_db.RegisterMessage(GetClusterRequest) + +ListClustersRequest = _reflection.GeneratedProtocolMessageType('ListClustersRequest', (_message.Message,), dict( + DESCRIPTOR = _LISTCLUSTERSREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListClustersRequest) + )) +_sym_db.RegisterMessage(ListClustersRequest) + +ListClustersResponse = _reflection.GeneratedProtocolMessageType('ListClustersResponse', (_message.Message,), dict( + DESCRIPTOR = _LISTCLUSTERSRESPONSE, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListClustersResponse) + )) +_sym_db.RegisterMessage(ListClustersResponse) + +DeleteClusterRequest = _reflection.GeneratedProtocolMessageType('DeleteClusterRequest', (_message.Message,), dict( + DESCRIPTOR = _DELETECLUSTERREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteClusterRequest) + )) +_sym_db.RegisterMessage(DeleteClusterRequest) + +CreateInstanceMetadata = _reflection.GeneratedProtocolMessageType('CreateInstanceMetadata', (_message.Message,), dict( + DESCRIPTOR = _CREATEINSTANCEMETADATA, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateInstanceMetadata) + )) +_sym_db.RegisterMessage(CreateInstanceMetadata) + +UpdateClusterMetadata = _reflection.GeneratedProtocolMessageType('UpdateClusterMetadata', (_message.Message,), dict( + DESCRIPTOR = _UPDATECLUSTERMETADATA, + __module__ = 'google.bigtable.admin.v2.bigtable_instance_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.UpdateClusterMetadata) + )) +_sym_db.RegisterMessage(UpdateClusterMetadata) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\032BigtableInstanceAdminProtoP\001')) +_CREATEINSTANCEREQUEST_CLUSTERSENTRY.has_options = True +_CREATEINSTANCEREQUEST_CLUSTERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +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 BigtableInstanceAdminStub(object): + """Service for creating, configuring, and deleting Cloud Bigtable Instances and + Clusters. Provides access to the Instance and Cluster schemas only, not the + tables metadata or data stored in those tables. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateInstance = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateInstance', + request_serializer=CreateInstanceRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.GetInstance = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetInstance', + request_serializer=GetInstanceRequest.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + ) + self.ListInstances = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListInstances', + request_serializer=ListInstancesRequest.SerializeToString, + response_deserializer=ListInstancesResponse.FromString, + ) + self.UpdateInstance = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateInstance', + request_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + ) + self.DeleteInstance = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteInstance', + request_serializer=DeleteInstanceRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.CreateCluster = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateCluster', + request_serializer=CreateClusterRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.GetCluster = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetCluster', + request_serializer=GetClusterRequest.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, + ) + self.ListClusters = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListClusters', + request_serializer=ListClustersRequest.SerializeToString, + response_deserializer=ListClustersResponse.FromString, + ) + self.UpdateCluster = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateCluster', + request_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.DeleteCluster = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteCluster', + request_serializer=DeleteClusterRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + + +class BigtableInstanceAdminServicer(object): + """Service for creating, configuring, and deleting Cloud Bigtable Instances and + Clusters. Provides access to the Instance and Cluster schemas only, not the + tables metadata or data stored in those tables. + """ + + def CreateInstance(self, request, context): + """Create an instance within a project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInstance(self, request, context): + """Gets information about an instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInstances(self, request, context): + """Lists information about instances in a project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateInstance(self, request, context): + """Updates an instance within a project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteInstance(self, request, context): + """Delete an instance from a project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateCluster(self, request, context): + """Creates a cluster within an instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCluster(self, request, context): + """Gets information about a cluster. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListClusters(self, request, context): + """Lists information about clusters in an instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateCluster(self, request, context): + """Updates a cluster within an instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteCluster(self, request, context): + """Deletes a cluster from an instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BigtableInstanceAdminServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateInstance': grpc.unary_unary_rpc_method_handler( + servicer.CreateInstance, + request_deserializer=CreateInstanceRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'GetInstance': grpc.unary_unary_rpc_method_handler( + servicer.GetInstance, + request_deserializer=GetInstanceRequest.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + ), + 'ListInstances': grpc.unary_unary_rpc_method_handler( + servicer.ListInstances, + request_deserializer=ListInstancesRequest.FromString, + response_serializer=ListInstancesResponse.SerializeToString, + ), + 'UpdateInstance': grpc.unary_unary_rpc_method_handler( + servicer.UpdateInstance, + request_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + ), + 'DeleteInstance': grpc.unary_unary_rpc_method_handler( + servicer.DeleteInstance, + request_deserializer=DeleteInstanceRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'CreateCluster': grpc.unary_unary_rpc_method_handler( + servicer.CreateCluster, + request_deserializer=CreateClusterRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'GetCluster': grpc.unary_unary_rpc_method_handler( + servicer.GetCluster, + request_deserializer=GetClusterRequest.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, + ), + 'ListClusters': grpc.unary_unary_rpc_method_handler( + servicer.ListClusters, + request_deserializer=ListClustersRequest.FromString, + response_serializer=ListClustersResponse.SerializeToString, + ), + 'UpdateCluster': grpc.unary_unary_rpc_method_handler( + servicer.UpdateCluster, + request_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'DeleteCluster': grpc.unary_unary_rpc_method_handler( + servicer.DeleteCluster, + request_deserializer=DeleteClusterRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.bigtable.admin.v2.BigtableInstanceAdmin', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + +class BetaBigtableInstanceAdminServicer(object): + """Service for creating, configuring, and deleting Cloud Bigtable Instances and + Clusters. Provides access to the Instance and Cluster schemas only, not the + tables metadata or data stored in those tables. + """ + def CreateInstance(self, request, context): + """Create an instance within a project. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def GetInstance(self, request, context): + """Gets information about an instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def ListInstances(self, request, context): + """Lists information about instances in a project. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def UpdateInstance(self, request, context): + """Updates an instance within a project. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def DeleteInstance(self, request, context): + """Delete an instance from a project. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def CreateCluster(self, request, context): + """Creates a cluster within an instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def GetCluster(self, request, context): + """Gets information about a cluster. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def ListClusters(self, request, context): + """Lists information about clusters in an instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def UpdateCluster(self, request, context): + """Updates a cluster within an instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def DeleteCluster(self, request, context): + """Deletes a cluster from an instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + + +class BetaBigtableInstanceAdminStub(object): + """Service for creating, configuring, and deleting Cloud Bigtable Instances and + Clusters. Provides access to the Instance and Cluster schemas only, not the + tables metadata or data stored in those tables. + """ + def CreateInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Create an instance within a project. + """ + raise NotImplementedError() + CreateInstance.future = None + def GetInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Gets information about an instance. + """ + raise NotImplementedError() + GetInstance.future = None + def ListInstances(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Lists information about instances in a project. + """ + raise NotImplementedError() + ListInstances.future = None + def UpdateInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Updates an instance within a project. + """ + raise NotImplementedError() + UpdateInstance.future = None + def DeleteInstance(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Delete an instance from a project. + """ + raise NotImplementedError() + DeleteInstance.future = None + def CreateCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Creates a cluster within an instance. + """ + raise NotImplementedError() + CreateCluster.future = None + def GetCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Gets information about a cluster. + """ + raise NotImplementedError() + GetCluster.future = None + def ListClusters(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Lists information about clusters in an instance. + """ + raise NotImplementedError() + ListClusters.future = None + def UpdateCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Updates a cluster within an instance. + """ + raise NotImplementedError() + UpdateCluster.future = None + def DeleteCluster(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Deletes a cluster from an instance. + """ + raise NotImplementedError() + DeleteCluster.future = None + + +def beta_create_BigtableInstanceAdmin_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): + request_deserializers = { + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): CreateClusterRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): CreateInstanceRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): DeleteClusterRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): DeleteInstanceRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): GetClusterRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): GetInstanceRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesRequest.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + } + response_serializers = { + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersResponse.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesResponse.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + } + method_implementations = { + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): face_utilities.unary_unary_inline(servicer.CreateCluster), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): face_utilities.unary_unary_inline(servicer.CreateInstance), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): face_utilities.unary_unary_inline(servicer.DeleteCluster), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): face_utilities.unary_unary_inline(servicer.DeleteInstance), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): face_utilities.unary_unary_inline(servicer.GetCluster), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): face_utilities.unary_unary_inline(servicer.GetInstance), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): face_utilities.unary_unary_inline(servicer.ListClusters), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): face_utilities.unary_unary_inline(servicer.ListInstances), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): face_utilities.unary_unary_inline(servicer.UpdateCluster), + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): face_utilities.unary_unary_inline(servicer.UpdateInstance), + } + 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_BigtableInstanceAdmin_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): + request_serializers = { + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): CreateClusterRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): CreateInstanceRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): DeleteClusterRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): DeleteInstanceRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): GetClusterRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): GetInstanceRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.SerializeToString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.SerializeToString, + } + response_deserializers = { + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'CreateInstance'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteCluster'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'DeleteInstance'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetCluster'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Cluster.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'GetInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListClusters'): ListClustersResponse.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'ListInstances'): ListInstancesResponse.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateCluster'): google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ('google.bigtable.admin.v2.BigtableInstanceAdmin', 'UpdateInstance'): google_dot_bigtable_dot_admin_dot_v2_dot_instance__pb2.Instance.FromString, + } + cardinalities = { + 'CreateCluster': cardinality.Cardinality.UNARY_UNARY, + 'CreateInstance': cardinality.Cardinality.UNARY_UNARY, + 'DeleteCluster': cardinality.Cardinality.UNARY_UNARY, + 'DeleteInstance': cardinality.Cardinality.UNARY_UNARY, + 'GetCluster': cardinality.Cardinality.UNARY_UNARY, + 'GetInstance': cardinality.Cardinality.UNARY_UNARY, + 'ListClusters': cardinality.Cardinality.UNARY_UNARY, + 'ListInstances': cardinality.Cardinality.UNARY_UNARY, + 'UpdateCluster': cardinality.Cardinality.UNARY_UNARY, + 'UpdateInstance': cardinality.Cardinality.UNARY_UNARY, + } + 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.admin.v2.BigtableInstanceAdmin', cardinalities, options=stub_options) +# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py new file mode 100755 index 000000000000..87755c24c433 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/bigtable_pb2.py @@ -0,0 +1,1467 @@ +# 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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//instances//tables/
``. + 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) diff --git a/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py b/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py new file mode 100755 index 000000000000..9cafeed3e426 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/bigtable_table_admin_pb2.py @@ -0,0 +1,784 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/bigtable/admin/v2/bigtable_table_admin.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._generated import table_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/bigtable/admin/v2/bigtable_table_admin.proto', + package='google.bigtable.admin.v2', + syntax='proto3', + serialized_pb=_b('\n3google/bigtable/admin/v2/bigtable_table_admin.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a$google/bigtable/admin/v2/table.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xc8\x01\n\x12\x43reateTableRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x10\n\x08table_id\x18\x02 \x01(\t\x12.\n\x05table\x18\x03 \x01(\x0b\x32\x1f.google.bigtable.admin.v2.Table\x12J\n\x0einitial_splits\x18\x04 \x03(\x0b\x32\x32.google.bigtable.admin.v2.CreateTableRequest.Split\x1a\x14\n\x05Split\x12\x0b\n\x03key\x18\x01 \x01(\x0c\"m\n\x13\x44ropRowRangeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0erow_key_prefix\x18\x02 \x01(\x0cH\x00\x12$\n\x1a\x64\x65lete_all_data_from_table\x18\x03 \x01(\x08H\x00\x42\x08\n\x06target\"k\n\x11ListTablesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x32\n\x04view\x18\x02 \x01(\x0e\x32$.google.bigtable.admin.v2.Table.View\x12\x12\n\npage_token\x18\x03 \x01(\t\"^\n\x12ListTablesResponse\x12/\n\x06tables\x18\x01 \x03(\x0b\x32\x1f.google.bigtable.admin.v2.Table\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"S\n\x0fGetTableRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x04view\x18\x02 \x01(\x0e\x32$.google.bigtable.admin.v2.Table.View\"\"\n\x12\x44\x65leteTableRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xae\x02\n\x1bModifyColumnFamiliesRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12Y\n\rmodifications\x18\x02 \x03(\x0b\x32\x42.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification\x1a\xa5\x01\n\x0cModification\x12\n\n\x02id\x18\x01 \x01(\t\x12\x38\n\x06\x63reate\x18\x02 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamilyH\x00\x12\x38\n\x06update\x18\x03 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamilyH\x00\x12\x0e\n\x04\x64rop\x18\x04 \x01(\x08H\x00\x42\x05\n\x03mod2\xb8\x07\n\x12\x42igtableTableAdmin\x12\x93\x01\n\x0b\x43reateTable\x12,.google.bigtable.admin.v2.CreateTableRequest\x1a\x1f.google.bigtable.admin.v2.Table\"5\x82\xd3\xe4\x93\x02/\"*/v2/{parent=projects/*/instances/*}/tables:\x01*\x12\x9b\x01\n\nListTables\x12+.google.bigtable.admin.v2.ListTablesRequest\x1a,.google.bigtable.admin.v2.ListTablesResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v2/{parent=projects/*/instances/*}/tables\x12\x8a\x01\n\x08GetTable\x12).google.bigtable.admin.v2.GetTableRequest\x1a\x1f.google.bigtable.admin.v2.Table\"2\x82\xd3\xe4\x93\x02,\x12*/v2/{name=projects/*/instances/*/tables/*}\x12\x87\x01\n\x0b\x44\x65leteTable\x12,.google.bigtable.admin.v2.DeleteTableRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,**/v2/{name=projects/*/instances/*/tables/*}\x12\xba\x01\n\x14ModifyColumnFamilies\x12\x35.google.bigtable.admin.v2.ModifyColumnFamiliesRequest\x1a\x1f.google.bigtable.admin.v2.Table\"J\x82\xd3\xe4\x93\x02\x44\"?/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies:\x01*\x12\x99\x01\n\x0c\x44ropRowRange\x12-.google.bigtable.admin.v2.DropRowRangeRequest\x1a\x16.google.protobuf.Empty\"B\x82\xd3\xe4\x93\x02<\"7/v2/{name=projects/*/instances/*/tables/*}:dropRowRange:\x01*B9\n\x1c\x63om.google.bigtable.admin.v2B\x17\x42igtableTableAdminProtoP\x01\x62\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_CREATETABLEREQUEST_SPLIT = _descriptor.Descriptor( + name='Split', + full_name='google.bigtable.admin.v2.CreateTableRequest.Split', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='google.bigtable.admin.v2.CreateTableRequest.Split.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=359, + serialized_end=379, +) + +_CREATETABLEREQUEST = _descriptor.Descriptor( + name='CreateTableRequest', + full_name='google.bigtable.admin.v2.CreateTableRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.CreateTableRequest.parent', 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='table_id', full_name='google.bigtable.admin.v2.CreateTableRequest.table_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), + _descriptor.FieldDescriptor( + name='table', full_name='google.bigtable.admin.v2.CreateTableRequest.table', 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='initial_splits', full_name='google.bigtable.admin.v2.CreateTableRequest.initial_splits', index=3, + 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), + ], + extensions=[ + ], + nested_types=[_CREATETABLEREQUEST_SPLIT, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=179, + serialized_end=379, +) + + +_DROPROWRANGEREQUEST = _descriptor.Descriptor( + name='DropRowRangeRequest', + full_name='google.bigtable.admin.v2.DropRowRangeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.DropRowRangeRequest.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='row_key_prefix', full_name='google.bigtable.admin.v2.DropRowRangeRequest.row_key_prefix', 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), + _descriptor.FieldDescriptor( + name='delete_all_data_from_table', full_name='google.bigtable.admin.v2.DropRowRangeRequest.delete_all_data_from_table', index=2, + number=3, 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='target', full_name='google.bigtable.admin.v2.DropRowRangeRequest.target', + index=0, containing_type=None, fields=[]), + ], + serialized_start=381, + serialized_end=490, +) + + +_LISTTABLESREQUEST = _descriptor.Descriptor( + name='ListTablesRequest', + full_name='google.bigtable.admin.v2.ListTablesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='parent', full_name='google.bigtable.admin.v2.ListTablesRequest.parent', 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='view', full_name='google.bigtable.admin.v2.ListTablesRequest.view', index=1, + number=2, type=14, cpp_type=8, 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='page_token', full_name='google.bigtable.admin.v2.ListTablesRequest.page_token', index=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=492, + serialized_end=599, +) + + +_LISTTABLESRESPONSE = _descriptor.Descriptor( + name='ListTablesResponse', + full_name='google.bigtable.admin.v2.ListTablesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tables', full_name='google.bigtable.admin.v2.ListTablesResponse.tables', 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='next_page_token', full_name='google.bigtable.admin.v2.ListTablesResponse.next_page_token', 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=601, + serialized_end=695, +) + + +_GETTABLEREQUEST = _descriptor.Descriptor( + name='GetTableRequest', + full_name='google.bigtable.admin.v2.GetTableRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.GetTableRequest.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='view', full_name='google.bigtable.admin.v2.GetTableRequest.view', index=1, + number=2, type=14, cpp_type=8, 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=697, + serialized_end=780, +) + + +_DELETETABLEREQUEST = _descriptor.Descriptor( + name='DeleteTableRequest', + full_name='google.bigtable.admin.v2.DeleteTableRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.DeleteTableRequest.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=782, + serialized_end=816, +) + + +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION = _descriptor.Descriptor( + name='Modification', + full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.id', 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='create', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.create', 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='update', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.update', 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='drop', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.drop', index=3, + number=4, 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='mod', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.mod', + index=0, containing_type=None, fields=[]), + ], + serialized_start=956, + serialized_end=1121, +) + +_MODIFYCOLUMNFAMILIESREQUEST = _descriptor.Descriptor( + name='ModifyColumnFamiliesRequest', + full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.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='modifications', full_name='google.bigtable.admin.v2.ModifyColumnFamiliesRequest.modifications', 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=[_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=819, + serialized_end=1121, +) + +_CREATETABLEREQUEST_SPLIT.containing_type = _CREATETABLEREQUEST +_CREATETABLEREQUEST.fields_by_name['table'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE +_CREATETABLEREQUEST.fields_by_name['initial_splits'].message_type = _CREATETABLEREQUEST_SPLIT +_DROPROWRANGEREQUEST.oneofs_by_name['target'].fields.append( + _DROPROWRANGEREQUEST.fields_by_name['row_key_prefix']) +_DROPROWRANGEREQUEST.fields_by_name['row_key_prefix'].containing_oneof = _DROPROWRANGEREQUEST.oneofs_by_name['target'] +_DROPROWRANGEREQUEST.oneofs_by_name['target'].fields.append( + _DROPROWRANGEREQUEST.fields_by_name['delete_all_data_from_table']) +_DROPROWRANGEREQUEST.fields_by_name['delete_all_data_from_table'].containing_oneof = _DROPROWRANGEREQUEST.oneofs_by_name['target'] +_LISTTABLESREQUEST.fields_by_name['view'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE_VIEW +_LISTTABLESRESPONSE.fields_by_name['tables'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE +_GETTABLEREQUEST.fields_by_name['view'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._TABLE_VIEW +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._COLUMNFAMILY +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update'].message_type = google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2._COLUMNFAMILY +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.containing_type = _MODIFYCOLUMNFAMILIESREQUEST +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( + _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create']) +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['create'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( + _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update']) +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['update'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'].fields.append( + _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['drop']) +_MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.fields_by_name['drop'].containing_oneof = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION.oneofs_by_name['mod'] +_MODIFYCOLUMNFAMILIESREQUEST.fields_by_name['modifications'].message_type = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION +DESCRIPTOR.message_types_by_name['CreateTableRequest'] = _CREATETABLEREQUEST +DESCRIPTOR.message_types_by_name['DropRowRangeRequest'] = _DROPROWRANGEREQUEST +DESCRIPTOR.message_types_by_name['ListTablesRequest'] = _LISTTABLESREQUEST +DESCRIPTOR.message_types_by_name['ListTablesResponse'] = _LISTTABLESRESPONSE +DESCRIPTOR.message_types_by_name['GetTableRequest'] = _GETTABLEREQUEST +DESCRIPTOR.message_types_by_name['DeleteTableRequest'] = _DELETETABLEREQUEST +DESCRIPTOR.message_types_by_name['ModifyColumnFamiliesRequest'] = _MODIFYCOLUMNFAMILIESREQUEST + +CreateTableRequest = _reflection.GeneratedProtocolMessageType('CreateTableRequest', (_message.Message,), dict( + + Split = _reflection.GeneratedProtocolMessageType('Split', (_message.Message,), dict( + DESCRIPTOR = _CREATETABLEREQUEST_SPLIT, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateTableRequest.Split) + )) + , + DESCRIPTOR = _CREATETABLEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.CreateTableRequest) + )) +_sym_db.RegisterMessage(CreateTableRequest) +_sym_db.RegisterMessage(CreateTableRequest.Split) + +DropRowRangeRequest = _reflection.GeneratedProtocolMessageType('DropRowRangeRequest', (_message.Message,), dict( + DESCRIPTOR = _DROPROWRANGEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DropRowRangeRequest) + )) +_sym_db.RegisterMessage(DropRowRangeRequest) + +ListTablesRequest = _reflection.GeneratedProtocolMessageType('ListTablesRequest', (_message.Message,), dict( + DESCRIPTOR = _LISTTABLESREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListTablesRequest) + )) +_sym_db.RegisterMessage(ListTablesRequest) + +ListTablesResponse = _reflection.GeneratedProtocolMessageType('ListTablesResponse', (_message.Message,), dict( + DESCRIPTOR = _LISTTABLESRESPONSE, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ListTablesResponse) + )) +_sym_db.RegisterMessage(ListTablesResponse) + +GetTableRequest = _reflection.GeneratedProtocolMessageType('GetTableRequest', (_message.Message,), dict( + DESCRIPTOR = _GETTABLEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GetTableRequest) + )) +_sym_db.RegisterMessage(GetTableRequest) + +DeleteTableRequest = _reflection.GeneratedProtocolMessageType('DeleteTableRequest', (_message.Message,), dict( + DESCRIPTOR = _DELETETABLEREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.DeleteTableRequest) + )) +_sym_db.RegisterMessage(DeleteTableRequest) + +ModifyColumnFamiliesRequest = _reflection.GeneratedProtocolMessageType('ModifyColumnFamiliesRequest', (_message.Message,), dict( + + Modification = _reflection.GeneratedProtocolMessageType('Modification', (_message.Message,), dict( + DESCRIPTOR = _MODIFYCOLUMNFAMILIESREQUEST_MODIFICATION, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification) + )) + , + DESCRIPTOR = _MODIFYCOLUMNFAMILIESREQUEST, + __module__ = 'google.bigtable.admin.v2.bigtable_table_admin_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ModifyColumnFamiliesRequest) + )) +_sym_db.RegisterMessage(ModifyColumnFamiliesRequest) +_sym_db.RegisterMessage(ModifyColumnFamiliesRequest.Modification) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\027BigtableTableAdminProtoP\001')) +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 BigtableTableAdminStub(object): + """Service for creating, configuring, and deleting Cloud Bigtable tables. + Provides access to the table schemas only, not the data stored within + the tables. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateTable = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/CreateTable', + request_serializer=CreateTableRequest.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + ) + self.ListTables = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/ListTables', + request_serializer=ListTablesRequest.SerializeToString, + response_deserializer=ListTablesResponse.FromString, + ) + self.GetTable = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/GetTable', + request_serializer=GetTableRequest.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + ) + self.DeleteTable = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/DeleteTable', + request_serializer=DeleteTableRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ModifyColumnFamilies = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/ModifyColumnFamilies', + request_serializer=ModifyColumnFamiliesRequest.SerializeToString, + response_deserializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + ) + self.DropRowRange = channel.unary_unary( + '/google.bigtable.admin.v2.BigtableTableAdmin/DropRowRange', + request_serializer=DropRowRangeRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + + +class BigtableTableAdminServicer(object): + """Service for creating, configuring, and deleting Cloud Bigtable tables. + Provides access to the table schemas only, not the data stored within + the tables. + """ + + def CreateTable(self, request, context): + """Creates a new table in the specified instance. + The table can be created with a full set of initial column families, + specified in the request. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListTables(self, request, context): + """Lists all tables served from a specified instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTable(self, request, context): + """Gets metadata information about the specified table. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteTable(self, request, context): + """Permanently deletes a specified table and all of its data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ModifyColumnFamilies(self, request, context): + """Atomically performs a series of column family modifications + on the specified table. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DropRowRange(self, request, context): + """Permanently drop/delete a row range from a specified table. The request can + specify whether to delete all rows in a table, or only those that match a + particular prefix. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BigtableTableAdminServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateTable': grpc.unary_unary_rpc_method_handler( + servicer.CreateTable, + request_deserializer=CreateTableRequest.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + ), + 'ListTables': grpc.unary_unary_rpc_method_handler( + servicer.ListTables, + request_deserializer=ListTablesRequest.FromString, + response_serializer=ListTablesResponse.SerializeToString, + ), + 'GetTable': grpc.unary_unary_rpc_method_handler( + servicer.GetTable, + request_deserializer=GetTableRequest.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + ), + 'DeleteTable': grpc.unary_unary_rpc_method_handler( + servicer.DeleteTable, + request_deserializer=DeleteTableRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ModifyColumnFamilies': grpc.unary_unary_rpc_method_handler( + servicer.ModifyColumnFamilies, + request_deserializer=ModifyColumnFamiliesRequest.FromString, + response_serializer=google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + ), + 'DropRowRange': grpc.unary_unary_rpc_method_handler( + servicer.DropRowRange, + request_deserializer=DropRowRangeRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.bigtable.admin.v2.BigtableTableAdmin', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + +class BetaBigtableTableAdminServicer(object): + """Service for creating, configuring, and deleting Cloud Bigtable tables. + Provides access to the table schemas only, not the data stored within + the tables. + """ + def CreateTable(self, request, context): + """Creates a new table in the specified instance. + The table can be created with a full set of initial column families, + specified in the request. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def ListTables(self, request, context): + """Lists all tables served from a specified instance. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def GetTable(self, request, context): + """Gets metadata information about the specified table. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def DeleteTable(self, request, context): + """Permanently deletes a specified table and all of its data. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def ModifyColumnFamilies(self, request, context): + """Atomically performs a series of column family modifications + on the specified table. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + def DropRowRange(self, request, context): + """Permanently drop/delete a row range from a specified table. The request can + specify whether to delete all rows in a table, or only those that match a + particular prefix. + """ + context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) + + +class BetaBigtableTableAdminStub(object): + """Service for creating, configuring, and deleting Cloud Bigtable tables. + Provides access to the table schemas only, not the data stored within + the tables. + """ + def CreateTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Creates a new table in the specified instance. + The table can be created with a full set of initial column families, + specified in the request. + """ + raise NotImplementedError() + CreateTable.future = None + def ListTables(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Lists all tables served from a specified instance. + """ + raise NotImplementedError() + ListTables.future = None + def GetTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Gets metadata information about the specified table. + """ + raise NotImplementedError() + GetTable.future = None + def DeleteTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Permanently deletes a specified table and all of its data. + """ + raise NotImplementedError() + DeleteTable.future = None + def ModifyColumnFamilies(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Atomically performs a series of column family modifications + on the specified table. + """ + raise NotImplementedError() + ModifyColumnFamilies.future = None + def DropRowRange(self, request, timeout, metadata=None, with_call=False, protocol_options=None): + """Permanently drop/delete a row range from a specified table. The request can + specify whether to delete all rows in a table, or only those that match a + particular prefix. + """ + raise NotImplementedError() + DropRowRange.future = None + + +def beta_create_BigtableTableAdmin_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): + request_deserializers = { + ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): CreateTableRequest.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): DeleteTableRequest.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): DropRowRangeRequest.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): GetTableRequest.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesRequest.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): ModifyColumnFamiliesRequest.FromString, + } + response_serializers = { + ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesResponse.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.SerializeToString, + } + method_implementations = { + ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): face_utilities.unary_unary_inline(servicer.CreateTable), + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): face_utilities.unary_unary_inline(servicer.DeleteTable), + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): face_utilities.unary_unary_inline(servicer.DropRowRange), + ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): face_utilities.unary_unary_inline(servicer.GetTable), + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): face_utilities.unary_unary_inline(servicer.ListTables), + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): face_utilities.unary_unary_inline(servicer.ModifyColumnFamilies), + } + 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_BigtableTableAdmin_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): + request_serializers = { + ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): CreateTableRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): DeleteTableRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): DropRowRangeRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): GetTableRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesRequest.SerializeToString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): ModifyColumnFamiliesRequest.SerializeToString, + } + response_deserializers = { + ('google.bigtable.admin.v2.BigtableTableAdmin', 'CreateTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DeleteTable'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'DropRowRange'): google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'GetTable'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ListTables'): ListTablesResponse.FromString, + ('google.bigtable.admin.v2.BigtableTableAdmin', 'ModifyColumnFamilies'): google_dot_bigtable_dot_admin_dot_v2_dot_table__pb2.Table.FromString, + } + cardinalities = { + 'CreateTable': cardinality.Cardinality.UNARY_UNARY, + 'DeleteTable': cardinality.Cardinality.UNARY_UNARY, + 'DropRowRange': cardinality.Cardinality.UNARY_UNARY, + 'GetTable': cardinality.Cardinality.UNARY_UNARY, + 'ListTables': cardinality.Cardinality.UNARY_UNARY, + 'ModifyColumnFamilies': cardinality.Cardinality.UNARY_UNARY, + } + 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.admin.v2.BigtableTableAdmin', cardinalities, options=stub_options) +# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/common_pb2.py b/bigtable/google/cloud/bigtable/_generated/common_pb2.py new file mode 100755 index 000000000000..298130452971 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/common_pb2.py @@ -0,0 +1,67 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/bigtable/admin/v2/common.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper +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.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/bigtable/admin/v2/common.proto', + package='google.bigtable.admin.v2', + syntax='proto3', + serialized_pb=_b('\n%google/bigtable/admin/v2/common.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto*=\n\x0bStorageType\x12\x1c\n\x18STORAGE_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03SSD\x10\x01\x12\x07\n\x03HDD\x10\x02\x42-\n\x1c\x63om.google.bigtable.admin.v2B\x0b\x43ommonProtoP\x01\x62\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +_STORAGETYPE = _descriptor.EnumDescriptor( + name='StorageType', + full_name='google.bigtable.admin.v2.StorageType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='STORAGE_TYPE_UNSPECIFIED', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SSD', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='HDD', index=2, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=130, + serialized_end=191, +) +_sym_db.RegisterEnumDescriptor(_STORAGETYPE) + +StorageType = enum_type_wrapper.EnumTypeWrapper(_STORAGETYPE) +STORAGE_TYPE_UNSPECIFIED = 0 +SSD = 1 +HDD = 2 + + +DESCRIPTOR.enum_types_by_name['StorageType'] = _STORAGETYPE + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\013CommonProtoP\001')) +# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/data_pb2.py b/bigtable/google/cloud/bigtable/_generated/data_pb2.py new file mode 100755 index 000000000000..a43f75240604 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/data_pb2.py @@ -0,0 +1,1755 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/bigtable_v2/proto/data.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() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/cloud/bigtable_v2/proto/data.proto', + package='google.bigtable.v2', + syntax='proto3', + serialized_pb=_b('\n)google/cloud/bigtable_v2/proto/data.proto\x12\x12google.bigtable.v2\"@\n\x03Row\x12\x0b\n\x03key\x18\x01 \x01(\x0c\x12,\n\x08\x66\x61milies\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Family\"C\n\x06\x46\x61mily\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x07\x63olumns\x18\x02 \x03(\x0b\x32\x1a.google.bigtable.v2.Column\"D\n\x06\x43olumn\x12\x11\n\tqualifier\x18\x01 \x01(\x0c\x12\'\n\x05\x63\x65lls\x18\x02 \x03(\x0b\x32\x18.google.bigtable.v2.Cell\"?\n\x04\x43\x65ll\x12\x18\n\x10timestamp_micros\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x0e\n\x06labels\x18\x03 \x03(\t\"\x8a\x01\n\x08RowRange\x12\x1a\n\x10start_key_closed\x18\x01 \x01(\x0cH\x00\x12\x18\n\x0estart_key_open\x18\x02 \x01(\x0cH\x00\x12\x16\n\x0c\x65nd_key_open\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_key_closed\x18\x04 \x01(\x0cH\x01\x42\x0b\n\tstart_keyB\t\n\x07\x65nd_key\"L\n\x06RowSet\x12\x10\n\x08row_keys\x18\x01 \x03(\x0c\x12\x30\n\nrow_ranges\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.RowRange\"\xc6\x01\n\x0b\x43olumnRange\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12 \n\x16start_qualifier_closed\x18\x02 \x01(\x0cH\x00\x12\x1e\n\x14start_qualifier_open\x18\x03 \x01(\x0cH\x00\x12\x1e\n\x14\x65nd_qualifier_closed\x18\x04 \x01(\x0cH\x01\x12\x1c\n\x12\x65nd_qualifier_open\x18\x05 \x01(\x0cH\x01\x42\x11\n\x0fstart_qualifierB\x0f\n\rend_qualifier\"N\n\x0eTimestampRange\x12\x1e\n\x16start_timestamp_micros\x18\x01 \x01(\x03\x12\x1c\n\x14\x65nd_timestamp_micros\x18\x02 \x01(\x03\"\x98\x01\n\nValueRange\x12\x1c\n\x12start_value_closed\x18\x01 \x01(\x0cH\x00\x12\x1a\n\x10start_value_open\x18\x02 \x01(\x0cH\x00\x12\x1a\n\x10\x65nd_value_closed\x18\x03 \x01(\x0cH\x01\x12\x18\n\x0e\x65nd_value_open\x18\x04 \x01(\x0cH\x01\x42\r\n\x0bstart_valueB\x0b\n\tend_value\"\xdf\x08\n\tRowFilter\x12\x34\n\x05\x63hain\x18\x01 \x01(\x0b\x32#.google.bigtable.v2.RowFilter.ChainH\x00\x12>\n\ninterleave\x18\x02 \x01(\x0b\x32(.google.bigtable.v2.RowFilter.InterleaveH\x00\x12<\n\tcondition\x18\x03 \x01(\x0b\x32\'.google.bigtable.v2.RowFilter.ConditionH\x00\x12\x0e\n\x04sink\x18\x10 \x01(\x08H\x00\x12\x19\n\x0fpass_all_filter\x18\x11 \x01(\x08H\x00\x12\x1a\n\x10\x62lock_all_filter\x18\x12 \x01(\x08H\x00\x12\x1e\n\x14row_key_regex_filter\x18\x04 \x01(\x0cH\x00\x12\x1b\n\x11row_sample_filter\x18\x0e \x01(\x01H\x00\x12\"\n\x18\x66\x61mily_name_regex_filter\x18\x05 \x01(\tH\x00\x12\'\n\x1d\x63olumn_qualifier_regex_filter\x18\x06 \x01(\x0cH\x00\x12>\n\x13\x63olumn_range_filter\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.ColumnRangeH\x00\x12\x44\n\x16timestamp_range_filter\x18\x08 \x01(\x0b\x32\".google.bigtable.v2.TimestampRangeH\x00\x12\x1c\n\x12value_regex_filter\x18\t \x01(\x0cH\x00\x12<\n\x12value_range_filter\x18\x0f \x01(\x0b\x32\x1e.google.bigtable.v2.ValueRangeH\x00\x12%\n\x1b\x63\x65lls_per_row_offset_filter\x18\n \x01(\x05H\x00\x12$\n\x1a\x63\x65lls_per_row_limit_filter\x18\x0b \x01(\x05H\x00\x12\'\n\x1d\x63\x65lls_per_column_limit_filter\x18\x0c \x01(\x05H\x00\x12!\n\x17strip_value_transformer\x18\r \x01(\x08H\x00\x12!\n\x17\x61pply_label_transformer\x18\x13 \x01(\tH\x00\x1a\x37\n\x05\x43hain\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a<\n\nInterleave\x12.\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x1a\xad\x01\n\tCondition\x12\x37\n\x10predicate_filter\x18\x01 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x32\n\x0btrue_filter\x18\x02 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x33\n\x0c\x66\x61lse_filter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilterB\x08\n\x06\x66ilter\"\xc9\x04\n\x08Mutation\x12\x38\n\x08set_cell\x18\x01 \x01(\x0b\x32$.google.bigtable.v2.Mutation.SetCellH\x00\x12K\n\x12\x64\x65lete_from_column\x18\x02 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromColumnH\x00\x12K\n\x12\x64\x65lete_from_family\x18\x03 \x01(\x0b\x32-.google.bigtable.v2.Mutation.DeleteFromFamilyH\x00\x12\x45\n\x0f\x64\x65lete_from_row\x18\x04 \x01(\x0b\x32*.google.bigtable.v2.Mutation.DeleteFromRowH\x00\x1a\x61\n\x07SetCell\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x18\n\x10timestamp_micros\x18\x03 \x01(\x03\x12\r\n\x05value\x18\x04 \x01(\x0c\x1ay\n\x10\x44\x65leteFromColumn\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x36\n\ntime_range\x18\x03 \x01(\x0b\x32\".google.bigtable.v2.TimestampRange\x1a\'\n\x10\x44\x65leteFromFamily\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x1a\x0f\n\rDeleteFromRowB\n\n\x08mutation\"\x80\x01\n\x13ReadModifyWriteRule\x12\x13\n\x0b\x66\x61mily_name\x18\x01 \x01(\t\x12\x18\n\x10\x63olumn_qualifier\x18\x02 \x01(\x0c\x12\x16\n\x0c\x61ppend_value\x18\x03 \x01(\x0cH\x00\x12\x1a\n\x10increment_amount\x18\x04 \x01(\x03H\x00\x42\x06\n\x04ruleB\x97\x01\n\x16\x63om.google.bigtable.v2B\tDataProtoP\x01Z:google.golang.org/genproto/googleapis/bigtable/v2;bigtable\xaa\x02\x18Google.Cloud.Bigtable.V2\xca\x02\x18Google\\Cloud\\Bigtable\\V2b\x06proto3') +) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_ROW = _descriptor.Descriptor( + name='Row', + full_name='google.bigtable.v2.Row', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='google.bigtable.v2.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='families', full_name='google.bigtable.v2.Row.families', 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=65, + serialized_end=129, +) + + +_FAMILY = _descriptor.Descriptor( + name='Family', + full_name='google.bigtable.v2.Family', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.v2.Family.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='columns', full_name='google.bigtable.v2.Family.columns', 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=131, + serialized_end=198, +) + + +_COLUMN = _descriptor.Descriptor( + name='Column', + full_name='google.bigtable.v2.Column', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='qualifier', full_name='google.bigtable.v2.Column.qualifier', 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='cells', full_name='google.bigtable.v2.Column.cells', 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=200, + serialized_end=268, +) + + +_CELL = _descriptor.Descriptor( + name='Cell', + full_name='google.bigtable.v2.Cell', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp_micros', full_name='google.bigtable.v2.Cell.timestamp_micros', 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='value', full_name='google.bigtable.v2.Cell.value', 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), + _descriptor.FieldDescriptor( + name='labels', full_name='google.bigtable.v2.Cell.labels', index=2, + number=3, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=270, + serialized_end=333, +) + + +_ROWRANGE = _descriptor.Descriptor( + name='RowRange', + full_name='google.bigtable.v2.RowRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='start_key_closed', full_name='google.bigtable.v2.RowRange.start_key_closed', 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='start_key_open', full_name='google.bigtable.v2.RowRange.start_key_open', 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), + _descriptor.FieldDescriptor( + name='end_key_open', full_name='google.bigtable.v2.RowRange.end_key_open', index=2, + number=3, 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='end_key_closed', full_name='google.bigtable.v2.RowRange.end_key_closed', index=3, + number=4, 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='start_key', full_name='google.bigtable.v2.RowRange.start_key', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='end_key', full_name='google.bigtable.v2.RowRange.end_key', + index=1, containing_type=None, fields=[]), + ], + serialized_start=336, + serialized_end=474, +) + + +_ROWSET = _descriptor.Descriptor( + name='RowSet', + full_name='google.bigtable.v2.RowSet', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='row_keys', full_name='google.bigtable.v2.RowSet.row_keys', index=0, + number=1, type=12, 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='row_ranges', full_name='google.bigtable.v2.RowSet.row_ranges', 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=476, + serialized_end=552, +) + + +_COLUMNRANGE = _descriptor.Descriptor( + name='ColumnRange', + full_name='google.bigtable.v2.ColumnRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='family_name', full_name='google.bigtable.v2.ColumnRange.family_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='start_qualifier_closed', full_name='google.bigtable.v2.ColumnRange.start_qualifier_closed', 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), + _descriptor.FieldDescriptor( + name='start_qualifier_open', full_name='google.bigtable.v2.ColumnRange.start_qualifier_open', index=2, + number=3, 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='end_qualifier_closed', full_name='google.bigtable.v2.ColumnRange.end_qualifier_closed', index=3, + number=4, 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='end_qualifier_open', full_name='google.bigtable.v2.ColumnRange.end_qualifier_open', index=4, + number=5, 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='start_qualifier', full_name='google.bigtable.v2.ColumnRange.start_qualifier', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='end_qualifier', full_name='google.bigtable.v2.ColumnRange.end_qualifier', + index=1, containing_type=None, fields=[]), + ], + serialized_start=555, + serialized_end=753, +) + + +_TIMESTAMPRANGE = _descriptor.Descriptor( + name='TimestampRange', + full_name='google.bigtable.v2.TimestampRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='start_timestamp_micros', full_name='google.bigtable.v2.TimestampRange.start_timestamp_micros', 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='end_timestamp_micros', full_name='google.bigtable.v2.TimestampRange.end_timestamp_micros', 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=755, + serialized_end=833, +) + + +_VALUERANGE = _descriptor.Descriptor( + name='ValueRange', + full_name='google.bigtable.v2.ValueRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='start_value_closed', full_name='google.bigtable.v2.ValueRange.start_value_closed', 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='start_value_open', full_name='google.bigtable.v2.ValueRange.start_value_open', 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), + _descriptor.FieldDescriptor( + name='end_value_closed', full_name='google.bigtable.v2.ValueRange.end_value_closed', index=2, + number=3, 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='end_value_open', full_name='google.bigtable.v2.ValueRange.end_value_open', index=3, + number=4, 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='start_value', full_name='google.bigtable.v2.ValueRange.start_value', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='end_value', full_name='google.bigtable.v2.ValueRange.end_value', + index=1, containing_type=None, fields=[]), + ], + serialized_start=836, + serialized_end=988, +) + + +_ROWFILTER_CHAIN = _descriptor.Descriptor( + name='Chain', + full_name='google.bigtable.v2.RowFilter.Chain', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='filters', full_name='google.bigtable.v2.RowFilter.Chain.filters', 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1807, + serialized_end=1862, +) + +_ROWFILTER_INTERLEAVE = _descriptor.Descriptor( + name='Interleave', + full_name='google.bigtable.v2.RowFilter.Interleave', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='filters', full_name='google.bigtable.v2.RowFilter.Interleave.filters', 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1864, + serialized_end=1924, +) + +_ROWFILTER_CONDITION = _descriptor.Descriptor( + name='Condition', + full_name='google.bigtable.v2.RowFilter.Condition', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='predicate_filter', full_name='google.bigtable.v2.RowFilter.Condition.predicate_filter', 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), + _descriptor.FieldDescriptor( + name='true_filter', full_name='google.bigtable.v2.RowFilter.Condition.true_filter', 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='false_filter', full_name='google.bigtable.v2.RowFilter.Condition.false_filter', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1927, + serialized_end=2100, +) + +_ROWFILTER = _descriptor.Descriptor( + name='RowFilter', + full_name='google.bigtable.v2.RowFilter', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='chain', full_name='google.bigtable.v2.RowFilter.chain', 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), + _descriptor.FieldDescriptor( + name='interleave', full_name='google.bigtable.v2.RowFilter.interleave', 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='condition', full_name='google.bigtable.v2.RowFilter.condition', 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='sink', full_name='google.bigtable.v2.RowFilter.sink', index=3, + number=16, 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='pass_all_filter', full_name='google.bigtable.v2.RowFilter.pass_all_filter', index=4, + number=17, 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='block_all_filter', full_name='google.bigtable.v2.RowFilter.block_all_filter', index=5, + number=18, 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='row_key_regex_filter', full_name='google.bigtable.v2.RowFilter.row_key_regex_filter', index=6, + number=4, 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='row_sample_filter', full_name='google.bigtable.v2.RowFilter.row_sample_filter', index=7, + number=14, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='family_name_regex_filter', full_name='google.bigtable.v2.RowFilter.family_name_regex_filter', index=8, + 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='column_qualifier_regex_filter', full_name='google.bigtable.v2.RowFilter.column_qualifier_regex_filter', index=9, + 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='column_range_filter', full_name='google.bigtable.v2.RowFilter.column_range_filter', index=10, + number=7, 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_range_filter', full_name='google.bigtable.v2.RowFilter.timestamp_range_filter', index=11, + number=8, 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='value_regex_filter', full_name='google.bigtable.v2.RowFilter.value_regex_filter', index=12, + number=9, 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_range_filter', full_name='google.bigtable.v2.RowFilter.value_range_filter', index=13, + number=15, 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='cells_per_row_offset_filter', full_name='google.bigtable.v2.RowFilter.cells_per_row_offset_filter', index=14, + number=10, 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='cells_per_row_limit_filter', full_name='google.bigtable.v2.RowFilter.cells_per_row_limit_filter', index=15, + number=11, 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='cells_per_column_limit_filter', full_name='google.bigtable.v2.RowFilter.cells_per_column_limit_filter', index=16, + number=12, 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='strip_value_transformer', full_name='google.bigtable.v2.RowFilter.strip_value_transformer', index=17, + number=13, 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='apply_label_transformer', full_name='google.bigtable.v2.RowFilter.apply_label_transformer', index=18, + number=19, 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=[_ROWFILTER_CHAIN, _ROWFILTER_INTERLEAVE, _ROWFILTER_CONDITION, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='filter', full_name='google.bigtable.v2.RowFilter.filter', + index=0, containing_type=None, fields=[]), + ], + serialized_start=991, + serialized_end=2110, +) + + +_MUTATION_SETCELL = _descriptor.Descriptor( + name='SetCell', + full_name='google.bigtable.v2.Mutation.SetCell', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='family_name', full_name='google.bigtable.v2.Mutation.SetCell.family_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='column_qualifier', full_name='google.bigtable.v2.Mutation.SetCell.column_qualifier', 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), + _descriptor.FieldDescriptor( + name='timestamp_micros', full_name='google.bigtable.v2.Mutation.SetCell.timestamp_micros', index=2, + number=3, 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='value', full_name='google.bigtable.v2.Mutation.SetCell.value', index=3, + number=4, 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2408, + serialized_end=2505, +) + +_MUTATION_DELETEFROMCOLUMN = _descriptor.Descriptor( + name='DeleteFromColumn', + full_name='google.bigtable.v2.Mutation.DeleteFromColumn', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='family_name', full_name='google.bigtable.v2.Mutation.DeleteFromColumn.family_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='column_qualifier', full_name='google.bigtable.v2.Mutation.DeleteFromColumn.column_qualifier', 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), + _descriptor.FieldDescriptor( + name='time_range', full_name='google.bigtable.v2.Mutation.DeleteFromColumn.time_range', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2507, + serialized_end=2628, +) + +_MUTATION_DELETEFROMFAMILY = _descriptor.Descriptor( + name='DeleteFromFamily', + full_name='google.bigtable.v2.Mutation.DeleteFromFamily', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='family_name', full_name='google.bigtable.v2.Mutation.DeleteFromFamily.family_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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2630, + serialized_end=2669, +) + +_MUTATION_DELETEFROMROW = _descriptor.Descriptor( + name='DeleteFromRow', + full_name='google.bigtable.v2.Mutation.DeleteFromRow', + 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=2671, + serialized_end=2686, +) + +_MUTATION = _descriptor.Descriptor( + name='Mutation', + full_name='google.bigtable.v2.Mutation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='set_cell', full_name='google.bigtable.v2.Mutation.set_cell', 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), + _descriptor.FieldDescriptor( + name='delete_from_column', full_name='google.bigtable.v2.Mutation.delete_from_column', 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='delete_from_family', full_name='google.bigtable.v2.Mutation.delete_from_family', 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='delete_from_row', full_name='google.bigtable.v2.Mutation.delete_from_row', index=3, + number=4, 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=[_MUTATION_SETCELL, _MUTATION_DELETEFROMCOLUMN, _MUTATION_DELETEFROMFAMILY, _MUTATION_DELETEFROMROW, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='mutation', full_name='google.bigtable.v2.Mutation.mutation', + index=0, containing_type=None, fields=[]), + ], + serialized_start=2113, + serialized_end=2698, +) + + +_READMODIFYWRITERULE = _descriptor.Descriptor( + name='ReadModifyWriteRule', + full_name='google.bigtable.v2.ReadModifyWriteRule', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='family_name', full_name='google.bigtable.v2.ReadModifyWriteRule.family_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='column_qualifier', full_name='google.bigtable.v2.ReadModifyWriteRule.column_qualifier', 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), + _descriptor.FieldDescriptor( + name='append_value', full_name='google.bigtable.v2.ReadModifyWriteRule.append_value', index=2, + number=3, 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='increment_amount', full_name='google.bigtable.v2.ReadModifyWriteRule.increment_amount', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='rule', full_name='google.bigtable.v2.ReadModifyWriteRule.rule', + index=0, containing_type=None, fields=[]), + ], + serialized_start=2701, + serialized_end=2829, +) + +_ROW.fields_by_name['families'].message_type = _FAMILY +_FAMILY.fields_by_name['columns'].message_type = _COLUMN +_COLUMN.fields_by_name['cells'].message_type = _CELL +_ROWRANGE.oneofs_by_name['start_key'].fields.append( + _ROWRANGE.fields_by_name['start_key_closed']) +_ROWRANGE.fields_by_name['start_key_closed'].containing_oneof = _ROWRANGE.oneofs_by_name['start_key'] +_ROWRANGE.oneofs_by_name['start_key'].fields.append( + _ROWRANGE.fields_by_name['start_key_open']) +_ROWRANGE.fields_by_name['start_key_open'].containing_oneof = _ROWRANGE.oneofs_by_name['start_key'] +_ROWRANGE.oneofs_by_name['end_key'].fields.append( + _ROWRANGE.fields_by_name['end_key_open']) +_ROWRANGE.fields_by_name['end_key_open'].containing_oneof = _ROWRANGE.oneofs_by_name['end_key'] +_ROWRANGE.oneofs_by_name['end_key'].fields.append( + _ROWRANGE.fields_by_name['end_key_closed']) +_ROWRANGE.fields_by_name['end_key_closed'].containing_oneof = _ROWRANGE.oneofs_by_name['end_key'] +_ROWSET.fields_by_name['row_ranges'].message_type = _ROWRANGE +_COLUMNRANGE.oneofs_by_name['start_qualifier'].fields.append( + _COLUMNRANGE.fields_by_name['start_qualifier_closed']) +_COLUMNRANGE.fields_by_name['start_qualifier_closed'].containing_oneof = _COLUMNRANGE.oneofs_by_name['start_qualifier'] +_COLUMNRANGE.oneofs_by_name['start_qualifier'].fields.append( + _COLUMNRANGE.fields_by_name['start_qualifier_open']) +_COLUMNRANGE.fields_by_name['start_qualifier_open'].containing_oneof = _COLUMNRANGE.oneofs_by_name['start_qualifier'] +_COLUMNRANGE.oneofs_by_name['end_qualifier'].fields.append( + _COLUMNRANGE.fields_by_name['end_qualifier_closed']) +_COLUMNRANGE.fields_by_name['end_qualifier_closed'].containing_oneof = _COLUMNRANGE.oneofs_by_name['end_qualifier'] +_COLUMNRANGE.oneofs_by_name['end_qualifier'].fields.append( + _COLUMNRANGE.fields_by_name['end_qualifier_open']) +_COLUMNRANGE.fields_by_name['end_qualifier_open'].containing_oneof = _COLUMNRANGE.oneofs_by_name['end_qualifier'] +_VALUERANGE.oneofs_by_name['start_value'].fields.append( + _VALUERANGE.fields_by_name['start_value_closed']) +_VALUERANGE.fields_by_name['start_value_closed'].containing_oneof = _VALUERANGE.oneofs_by_name['start_value'] +_VALUERANGE.oneofs_by_name['start_value'].fields.append( + _VALUERANGE.fields_by_name['start_value_open']) +_VALUERANGE.fields_by_name['start_value_open'].containing_oneof = _VALUERANGE.oneofs_by_name['start_value'] +_VALUERANGE.oneofs_by_name['end_value'].fields.append( + _VALUERANGE.fields_by_name['end_value_closed']) +_VALUERANGE.fields_by_name['end_value_closed'].containing_oneof = _VALUERANGE.oneofs_by_name['end_value'] +_VALUERANGE.oneofs_by_name['end_value'].fields.append( + _VALUERANGE.fields_by_name['end_value_open']) +_VALUERANGE.fields_by_name['end_value_open'].containing_oneof = _VALUERANGE.oneofs_by_name['end_value'] +_ROWFILTER_CHAIN.fields_by_name['filters'].message_type = _ROWFILTER +_ROWFILTER_CHAIN.containing_type = _ROWFILTER +_ROWFILTER_INTERLEAVE.fields_by_name['filters'].message_type = _ROWFILTER +_ROWFILTER_INTERLEAVE.containing_type = _ROWFILTER +_ROWFILTER_CONDITION.fields_by_name['predicate_filter'].message_type = _ROWFILTER +_ROWFILTER_CONDITION.fields_by_name['true_filter'].message_type = _ROWFILTER +_ROWFILTER_CONDITION.fields_by_name['false_filter'].message_type = _ROWFILTER +_ROWFILTER_CONDITION.containing_type = _ROWFILTER +_ROWFILTER.fields_by_name['chain'].message_type = _ROWFILTER_CHAIN +_ROWFILTER.fields_by_name['interleave'].message_type = _ROWFILTER_INTERLEAVE +_ROWFILTER.fields_by_name['condition'].message_type = _ROWFILTER_CONDITION +_ROWFILTER.fields_by_name['column_range_filter'].message_type = _COLUMNRANGE +_ROWFILTER.fields_by_name['timestamp_range_filter'].message_type = _TIMESTAMPRANGE +_ROWFILTER.fields_by_name['value_range_filter'].message_type = _VALUERANGE +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['chain']) +_ROWFILTER.fields_by_name['chain'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['interleave']) +_ROWFILTER.fields_by_name['interleave'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['condition']) +_ROWFILTER.fields_by_name['condition'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['sink']) +_ROWFILTER.fields_by_name['sink'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['pass_all_filter']) +_ROWFILTER.fields_by_name['pass_all_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['block_all_filter']) +_ROWFILTER.fields_by_name['block_all_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['row_key_regex_filter']) +_ROWFILTER.fields_by_name['row_key_regex_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['row_sample_filter']) +_ROWFILTER.fields_by_name['row_sample_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['family_name_regex_filter']) +_ROWFILTER.fields_by_name['family_name_regex_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['column_qualifier_regex_filter']) +_ROWFILTER.fields_by_name['column_qualifier_regex_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['column_range_filter']) +_ROWFILTER.fields_by_name['column_range_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['timestamp_range_filter']) +_ROWFILTER.fields_by_name['timestamp_range_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['value_regex_filter']) +_ROWFILTER.fields_by_name['value_regex_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['value_range_filter']) +_ROWFILTER.fields_by_name['value_range_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['cells_per_row_offset_filter']) +_ROWFILTER.fields_by_name['cells_per_row_offset_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['cells_per_row_limit_filter']) +_ROWFILTER.fields_by_name['cells_per_row_limit_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['cells_per_column_limit_filter']) +_ROWFILTER.fields_by_name['cells_per_column_limit_filter'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['strip_value_transformer']) +_ROWFILTER.fields_by_name['strip_value_transformer'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_ROWFILTER.oneofs_by_name['filter'].fields.append( + _ROWFILTER.fields_by_name['apply_label_transformer']) +_ROWFILTER.fields_by_name['apply_label_transformer'].containing_oneof = _ROWFILTER.oneofs_by_name['filter'] +_MUTATION_SETCELL.containing_type = _MUTATION +_MUTATION_DELETEFROMCOLUMN.fields_by_name['time_range'].message_type = _TIMESTAMPRANGE +_MUTATION_DELETEFROMCOLUMN.containing_type = _MUTATION +_MUTATION_DELETEFROMFAMILY.containing_type = _MUTATION +_MUTATION_DELETEFROMROW.containing_type = _MUTATION +_MUTATION.fields_by_name['set_cell'].message_type = _MUTATION_SETCELL +_MUTATION.fields_by_name['delete_from_column'].message_type = _MUTATION_DELETEFROMCOLUMN +_MUTATION.fields_by_name['delete_from_family'].message_type = _MUTATION_DELETEFROMFAMILY +_MUTATION.fields_by_name['delete_from_row'].message_type = _MUTATION_DELETEFROMROW +_MUTATION.oneofs_by_name['mutation'].fields.append( + _MUTATION.fields_by_name['set_cell']) +_MUTATION.fields_by_name['set_cell'].containing_oneof = _MUTATION.oneofs_by_name['mutation'] +_MUTATION.oneofs_by_name['mutation'].fields.append( + _MUTATION.fields_by_name['delete_from_column']) +_MUTATION.fields_by_name['delete_from_column'].containing_oneof = _MUTATION.oneofs_by_name['mutation'] +_MUTATION.oneofs_by_name['mutation'].fields.append( + _MUTATION.fields_by_name['delete_from_family']) +_MUTATION.fields_by_name['delete_from_family'].containing_oneof = _MUTATION.oneofs_by_name['mutation'] +_MUTATION.oneofs_by_name['mutation'].fields.append( + _MUTATION.fields_by_name['delete_from_row']) +_MUTATION.fields_by_name['delete_from_row'].containing_oneof = _MUTATION.oneofs_by_name['mutation'] +_READMODIFYWRITERULE.oneofs_by_name['rule'].fields.append( + _READMODIFYWRITERULE.fields_by_name['append_value']) +_READMODIFYWRITERULE.fields_by_name['append_value'].containing_oneof = _READMODIFYWRITERULE.oneofs_by_name['rule'] +_READMODIFYWRITERULE.oneofs_by_name['rule'].fields.append( + _READMODIFYWRITERULE.fields_by_name['increment_amount']) +_READMODIFYWRITERULE.fields_by_name['increment_amount'].containing_oneof = _READMODIFYWRITERULE.oneofs_by_name['rule'] +DESCRIPTOR.message_types_by_name['Row'] = _ROW +DESCRIPTOR.message_types_by_name['Family'] = _FAMILY +DESCRIPTOR.message_types_by_name['Column'] = _COLUMN +DESCRIPTOR.message_types_by_name['Cell'] = _CELL +DESCRIPTOR.message_types_by_name['RowRange'] = _ROWRANGE +DESCRIPTOR.message_types_by_name['RowSet'] = _ROWSET +DESCRIPTOR.message_types_by_name['ColumnRange'] = _COLUMNRANGE +DESCRIPTOR.message_types_by_name['TimestampRange'] = _TIMESTAMPRANGE +DESCRIPTOR.message_types_by_name['ValueRange'] = _VALUERANGE +DESCRIPTOR.message_types_by_name['RowFilter'] = _ROWFILTER +DESCRIPTOR.message_types_by_name['Mutation'] = _MUTATION +DESCRIPTOR.message_types_by_name['ReadModifyWriteRule'] = _READMODIFYWRITERULE + +Row = _reflection.GeneratedProtocolMessageType('Row', (_message.Message,), dict( + DESCRIPTOR = _ROW, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies the complete (requested) contents of a single row of a table. + Rows which exceed 256MiB in size cannot be read in full. + + + Attributes: + key: + The unique key which identifies this row within its table. + This is the same key that's used to identify the row in, for + example, a MutateRowRequest. May contain any non-empty byte + string up to 4KiB in length. + families: + May be empty, but only if the entire row is empty. The mutual + ordering of column families is not specified. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Row) + )) +_sym_db.RegisterMessage(Row) + +Family = _reflection.GeneratedProtocolMessageType('Family', (_message.Message,), dict( + DESCRIPTOR = _FAMILY, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column family + intersection of a table. + + + Attributes: + name: + The unique key which identifies this family within its row. + This is the same key that's used to identify the family in, + for example, a RowFilter which sets its + "family\_name\_regex\_filter" field. Must match + ``[-_.a-zA-Z0-9]+``, except that AggregatingRowProcessors may + produce cells in a sentinel family with an empty name. Must be + no greater than 64 characters in length. + columns: + Must not be empty. Sorted in order of increasing "qualifier". + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Family) + )) +_sym_db.RegisterMessage(Family) + +Column = _reflection.GeneratedProtocolMessageType('Column', (_message.Message,), dict( + DESCRIPTOR = _COLUMN, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column intersection of + a table. + + + Attributes: + qualifier: + The unique key which identifies this column within its family. + This is the same key that's used to identify the column in, + for example, a RowFilter which sets its + ``column_qualifier_regex_filter`` field. May contain any byte + string, including the empty string, up to 16kiB in length. + cells: + Must not be empty. Sorted in order of decreasing + "timestamp\_micros". + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Column) + )) +_sym_db.RegisterMessage(Column) + +Cell = _reflection.GeneratedProtocolMessageType('Cell', (_message.Message,), dict( + DESCRIPTOR = _CELL, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies (some of) the contents of a single row/column/timestamp of a + table. + + + Attributes: + 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. + value: + The value stored in the cell. May contain any byte string, + including the empty string, up to 100MiB in length. + labels: + Labels applied to the cell by a + [RowFilter][google.bigtable.v2.RowFilter]. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Cell) + )) +_sym_db.RegisterMessage(Cell) + +RowRange = _reflection.GeneratedProtocolMessageType('RowRange', (_message.Message,), dict( + DESCRIPTOR = _ROWRANGE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of rows. + + + Attributes: + start_key: + The row key at which to start the range. If neither field is + set, interpreted as the empty string, inclusive. + start_key_closed: + Used when giving an inclusive lower bound for the range. + start_key_open: + Used when giving an exclusive lower bound for the range. + end_key: + The row key at which to end the range. If neither field is + set, interpreted as the infinite row key, exclusive. + end_key_open: + Used when giving an exclusive upper bound for the range. + end_key_closed: + Used when giving an inclusive upper bound for the range. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowRange) + )) +_sym_db.RegisterMessage(RowRange) + +RowSet = _reflection.GeneratedProtocolMessageType('RowSet', (_message.Message,), dict( + DESCRIPTOR = _ROWSET, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a non-contiguous set of rows. + + + Attributes: + row_keys: + Single rows included in the set. + row_ranges: + Contiguous row ranges included in the set. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowSet) + )) +_sym_db.RegisterMessage(RowSet) + +ColumnRange = _reflection.GeneratedProtocolMessageType('ColumnRange', (_message.Message,), dict( + DESCRIPTOR = _COLUMNRANGE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of columns within a single column family. + The range spans from : to + :, where both bounds can be either + inclusive or exclusive. + + + Attributes: + family_name: + The name of the column family within which this range falls. + start_qualifier: + The column qualifier at which to start the range (within + ``column_family``). If neither field is set, interpreted as + the empty string, inclusive. + start_qualifier_closed: + Used when giving an inclusive lower bound for the range. + start_qualifier_open: + Used when giving an exclusive lower bound for the range. + end_qualifier: + The column qualifier at which to end the range (within + ``column_family``). If neither field is set, interpreted as + the infinite string, exclusive. + end_qualifier_closed: + Used when giving an inclusive upper bound for the range. + end_qualifier_open: + Used when giving an exclusive upper bound for the range. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.ColumnRange) + )) +_sym_db.RegisterMessage(ColumnRange) + +TimestampRange = _reflection.GeneratedProtocolMessageType('TimestampRange', (_message.Message,), dict( + DESCRIPTOR = _TIMESTAMPRANGE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specified a contiguous range of microsecond timestamps. + + + Attributes: + start_timestamp_micros: + Inclusive lower bound. If left empty, interpreted as 0. + end_timestamp_micros: + Exclusive upper bound. If left empty, interpreted as infinity. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.TimestampRange) + )) +_sym_db.RegisterMessage(TimestampRange) + +ValueRange = _reflection.GeneratedProtocolMessageType('ValueRange', (_message.Message,), dict( + DESCRIPTOR = _VALUERANGE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a contiguous range of raw byte values. + + + Attributes: + start_value: + The value at which to start the range. If neither field is + set, interpreted as the empty string, inclusive. + start_value_closed: + Used when giving an inclusive lower bound for the range. + start_value_open: + Used when giving an exclusive lower bound for the range. + end_value: + The value at which to end the range. If neither field is set, + interpreted as the infinite string, exclusive. + end_value_closed: + Used when giving an inclusive upper bound for the range. + end_value_open: + Used when giving an exclusive upper bound for the range. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.ValueRange) + )) +_sym_db.RegisterMessage(ValueRange) + +RowFilter = _reflection.GeneratedProtocolMessageType('RowFilter', (_message.Message,), dict( + + Chain = _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), dict( + DESCRIPTOR = _ROWFILTER_CHAIN, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which sends rows through several RowFilters in sequence. + + + Attributes: + filters: + The elements of "filters" are chained together to process the + input row: in row -> f(0) -> intermediate row -> f(1) -> ... + -> f(N) -> out row The full chain is executed atomically. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Chain) + )) + , + + Interleave = _reflection.GeneratedProtocolMessageType('Interleave', (_message.Message,), dict( + DESCRIPTOR = _ROWFILTER_INTERLEAVE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which sends each row to each of several component RowFilters + and interleaves the results. + + + Attributes: + filters: + The elements of "filters" all process a copy of the input row, + and the results are pooled, sorted, and combined into a single + output row. If multiple cells are produced with the same + column and timestamp, they will all appear in the output row + in an unspecified mutual order. Consider the following + example, with three filters: :: + input row | + ----------------------------------------------------- + | | | + f(0) f(1) f(2) + | | | 1: + foo,bar,10,x foo,bar,10,z far,bar,7,a + 2: foo,blah,11,z far,blah,5,x + far,blah,5,x | | + | + ----------------------------------------------------- + | 1: foo,bar,10,z // could have + switched with #2 2: foo,bar,10,x // + could have switched with #1 3: + foo,blah,11,z 4: far,bar,7,a 5: + far,blah,5,x // identical to #6 6: + far,blah,5,x // identical to #5 All interleaved filters are + executed atomically. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Interleave) + )) + , + + Condition = _reflection.GeneratedProtocolMessageType('Condition', (_message.Message,), dict( + DESCRIPTOR = _ROWFILTER_CONDITION, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A RowFilter which evaluates one of two possible RowFilters, depending on + whether or not a predicate RowFilter outputs any cells from the input + row. + + IMPORTANT NOTE: The predicate filter does not execute atomically with + the true and false filters, which may lead to inconsistent or unexpected + results. Additionally, Condition filters have poor performance, + especially when filters are set for the false condition. + + + Attributes: + predicate_filter: + If ``predicate_filter`` outputs any cells, then + ``true_filter`` will be evaluated on the input row. Otherwise, + ``false_filter`` will be evaluated. + true_filter: + The filter to apply to the input row if ``predicate_filter`` + returns any results. If not provided, no results will be + returned in the true case. + false_filter: + The filter to apply to the input row if ``predicate_filter`` + does not return any results. If not provided, no results will + be returned in the false case. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter.Condition) + )) + , + DESCRIPTOR = _ROWFILTER, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Takes a row as input and produces an alternate view of the row based on + specified rules. For example, a RowFilter might trim down a row to + include just the cells from columns matching a given regular expression, + or might return all the cells of a row but not their values. More + complicated filters can be composed out of these components to express + requests such as, "within every column of a particular family, give just + the two most recent cells which are older than timestamp X." + + There are two broad categories of RowFilters (true filters and + transformers), as well as two ways to compose simple filters into more + complex ones (chains and interleaves). They work as follows: + + - True filters alter the input row by excluding some of its cells + wholesale from the output row. An example of a true filter is the + ``value_regex_filter``, which excludes cells whose values don't match + the specified pattern. All regex true filters use RE2 syntax + (https://github.com/google/re2/wiki/Syntax) in raw byte mode + (RE2::Latin1), and are evaluated as full matches. An important point + to keep in mind is that ``RE2(.)`` is equivalent by default to + ``RE2([^\n])``, meaning that it does not match newlines. When + attempting to match an arbitrary byte, you should therefore use the + escape sequence ``\C``, which may need to be further escaped as + ``\\C`` in your client language. + + - Transformers alter the input row by changing the values of some of + its cells in the output, without excluding them completely. + Currently, the only supported transformer is the + ``strip_value_transformer``, which replaces every cell's value with + the empty string. + + - Chains and interleaves are described in more detail in the + RowFilter.Chain and RowFilter.Interleave documentation. + + The total serialized size of a RowFilter message must not exceed 4096 + bytes, and RowFilters may not be nested within each other (in Chains or + Interleaves) to a depth of more than 20. + + + Attributes: + filter: + Which of the possible RowFilter types to apply. If none are + set, this RowFilter returns all cells in the input row. + chain: + Applies several RowFilters to the data in sequence, + progressively narrowing the results. + interleave: + Applies several RowFilters to the data in parallel and + combines the results. + condition: + Applies one of two possible RowFilters to the data based on + the output of a predicate RowFilter. + sink: + ADVANCED USE ONLY. Hook for introspection into the RowFilter. + Outputs all cells directly to the output of the read rather + than to any parent filter. Consider the following example: :: + Chain( FamilyRegex("A"), Interleave( + All(), Chain(Label("foo"), Sink()) ), + QualifierRegex("B") ) A,A,1,w + A,B,2,x B,B,4,z + | FamilyRegex("A") + | A,A,1,w + A,B,2,x | + +------------+-------------+ | + | All() Label(foo) + | | A,A,1,w + A,A,1,w,labels:[foo] A,B,2,x + A,B,2,x,labels:[foo] | + | | Sink() + --------------+ | | + | +------------+ x------+ + A,A,1,w,labels:[foo] | + A,B,2,x,labels:[foo] A,A,1,w + | A,B,2,x + | | + | QualifierRegex("B") + | | + | A,B,2,x + | | + | + +--------------------------------+ + | A,A,1,w,labels:[foo] + A,B,2,x,labels:[foo] // could be switched + A,B,2,x // could be switched Despite being + excluded by the qualifier filter, a copy of every cell that + reaches the sink is present in the final result. As with an + [Interleave][google.bigtable.v2.RowFilter.Interleave], + duplicate cells are possible, and appear in an unspecified + mutual order. In this case we have a duplicate with column + "A:B" and timestamp 2, because one copy passed through the all + filter while the other was passed through the label and sink. + Note that one copy has label "foo", while the other does not. + Cannot be used within the ``predicate_filter``, + ``true_filter``, or ``false_filter`` of a + [Condition][google.bigtable.v2.RowFilter.Condition]. + pass_all_filter: + Matches all cells, regardless of input. Functionally + equivalent to leaving ``filter`` unset, but included for + completeness. + block_all_filter: + Does not match any cells, regardless of input. Useful for + temporarily disabling just part of a filter. + row_key_regex_filter: + Matches only cells from rows whose keys satisfy the given RE2 + regex. In other words, passes through the entire row when the + key matches, and otherwise produces an empty row. Note that, + since row keys can contain arbitrary bytes, the ``\C`` escape + sequence must be used if a true wildcard is desired. The ``.`` + character will not match the new line character ``\n``, which + may be present in a binary key. + row_sample_filter: + Matches all cells from a row with probability p, and matches + no cells from the row with probability 1-p. + family_name_regex_filter: + Matches only cells from columns whose families satisfy the + given RE2 regex. For technical reasons, the regex must not + contain the ``:`` character, even if it is not being used as a + literal. Note that, since column families cannot contain the + new line character ``\n``, it is sufficient to use ``.`` as a + full wildcard when matching column family names. + column_qualifier_regex_filter: + Matches only cells from columns whose qualifiers satisfy the + given RE2 regex. Note that, since column qualifiers can + contain arbitrary bytes, the ``\C`` escape sequence must be + used if a true wildcard is desired. The ``.`` character will + not match the new line character ``\n``, which may be present + in a binary qualifier. + column_range_filter: + Matches only cells from columns within the given range. + timestamp_range_filter: + Matches only cells with timestamps within the given range. + value_regex_filter: + Matches only cells with values that satisfy the given regular + expression. Note that, since cell values can contain arbitrary + bytes, the ``\C`` escape sequence must be used if a true + wildcard is desired. The ``.`` character will not match the + new line character ``\n``, which may be present in a binary + value. + value_range_filter: + Matches only cells with values that fall within the given + range. + cells_per_row_offset_filter: + Skips the first N cells of each row, matching all subsequent + cells. If duplicate cells are present, as is possible when + using an Interleave, each copy of the cell is counted + separately. + cells_per_row_limit_filter: + Matches only the first N cells of each row. If duplicate cells + are present, as is possible when using an Interleave, each + copy of the cell is counted separately. + cells_per_column_limit_filter: + Matches only the most recent N cells within each column. For + example, if N=2, this filter would match column ``foo:bar`` at + timestamps 10 and 9, skip all earlier cells in ``foo:bar``, + and then begin matching again in column ``foo:bar2``. If + duplicate cells are present, as is possible when using an + Interleave, each copy of the cell is counted separately. + strip_value_transformer: + Replaces each cell's value with the empty string. + apply_label_transformer: + Applies the given label to all cells in the output row. This + allows the client to determine which results were produced + from which part of the filter. Values must be at most 15 + characters in length, and match the RE2 pattern + ``[a-z0-9\\-]+`` Due to a technical limitation, it is not + currently possible to apply multiple labels to a cell. As a + result, a Chain may have no more than one sub-filter which + contains a ``apply_label_transformer``. It is okay for an + Interleave to contain multiple ``apply_label_transformers``, + as they will be applied to separate copies of the input. This + may be relaxed in the future. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.RowFilter) + )) +_sym_db.RegisterMessage(RowFilter) +_sym_db.RegisterMessage(RowFilter.Chain) +_sym_db.RegisterMessage(RowFilter.Interleave) +_sym_db.RegisterMessage(RowFilter.Condition) + +Mutation = _reflection.GeneratedProtocolMessageType('Mutation', (_message.Message,), dict( + + SetCell = _reflection.GeneratedProtocolMessageType('SetCell', (_message.Message,), dict( + DESCRIPTOR = _MUTATION_SETCELL, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which sets the value of the specified cell. + + + Attributes: + family_name: + The name of the family into which new data should be written. + Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column into which new data should be + written. Can be any byte string, including the empty string. + timestamp_micros: + The timestamp of the cell into which new data should be + written. Use -1 for current Bigtable server time. Otherwise, + the client should set this value itself, noting that the + default value is a timestamp of zero if the field is left + unspecified. Values must match the granularity of the table + (e.g. micros, millis). + value: + The value to be written into the specified cell. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.SetCell) + )) + , + + DeleteFromColumn = _reflection.GeneratedProtocolMessageType('DeleteFromColumn', (_message.Message,), dict( + DESCRIPTOR = _MUTATION_DELETEFROMCOLUMN, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes cells from the specified column, optionally + restricting the deletions to a given timestamp range. + + + Attributes: + family_name: + The name of the family from which cells should be deleted. + Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column from which cells should be + deleted. Can be any byte string, including the empty string. + time_range: + The range of timestamps within which cells should be deleted. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromColumn) + )) + , + + DeleteFromFamily = _reflection.GeneratedProtocolMessageType('DeleteFromFamily', (_message.Message,), dict( + DESCRIPTOR = _MUTATION_DELETEFROMFAMILY, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes all cells from the specified column family. + + + Attributes: + family_name: + The name of the family from which cells should be deleted. + Must match ``[-_.a-zA-Z0-9]+`` + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromFamily) + )) + , + + DeleteFromRow = _reflection.GeneratedProtocolMessageType('DeleteFromRow', (_message.Message,), dict( + DESCRIPTOR = _MUTATION_DELETEFROMROW, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """A Mutation which deletes all cells from the containing row. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.DeleteFromRow) + )) + , + DESCRIPTOR = _MUTATION, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies a particular change to be made to the contents of a row. + + + Attributes: + mutation: + Which of the possible Mutation types to apply. + set_cell: + Set a cell's value. + delete_from_column: + Deletes cells from a column. + delete_from_family: + Deletes cells from a column family. + delete_from_row: + Deletes cells from the entire row. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation) + )) +_sym_db.RegisterMessage(Mutation) +_sym_db.RegisterMessage(Mutation.SetCell) +_sym_db.RegisterMessage(Mutation.DeleteFromColumn) +_sym_db.RegisterMessage(Mutation.DeleteFromFamily) +_sym_db.RegisterMessage(Mutation.DeleteFromRow) + +ReadModifyWriteRule = _reflection.GeneratedProtocolMessageType('ReadModifyWriteRule', (_message.Message,), dict( + DESCRIPTOR = _READMODIFYWRITERULE, + __module__ = 'google.cloud.bigtable_v2.proto.data_pb2' + , + __doc__ = """Specifies an atomic read/modify/write operation on the latest value of + the specified column. + + + Attributes: + family_name: + The name of the family to which the read/modify/write should + be applied. Must match ``[-_.a-zA-Z0-9]+`` + column_qualifier: + The qualifier of the column to which the read/modify/write + should be applied. Can be any byte string, including the empty + string. + rule: + The rule used to determine the column's new latest value from + its current latest value. + append_value: + Rule specifying that ``append_value`` be appended to the + existing value. If the targeted cell is unset, it will be + treated as containing the empty string. + increment_amount: + Rule specifying that ``increment_amount`` be added to the + existing value. If the targeted cell is unset, it will be + treated as containing a zero. Otherwise, the targeted cell + must contain an 8-byte value (interpreted as a 64-bit big- + endian signed integer), or the entire request will fail. + """, + # @@protoc_insertion_point(class_scope:google.bigtable.v2.ReadModifyWriteRule) + )) +_sym_db.RegisterMessage(ReadModifyWriteRule) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\026com.google.bigtable.v2B\tDataProtoP\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 +except ImportError: + pass +# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/instance_pb2.py b/bigtable/google/cloud/bigtable/_generated/instance_pb2.py new file mode 100755 index 000000000000..8d4383d31e79 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/instance_pb2.py @@ -0,0 +1,222 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/bigtable/admin/v2/instance.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._generated import common_pb2 as google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/bigtable/admin/v2/instance.proto', + package='google.bigtable.admin.v2', + syntax='proto3', + serialized_pb=_b('\n\'google/bigtable/admin/v2/instance.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a%google/bigtable/admin/v2/common.proto\"\x9e\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32(.google.bigtable.admin.v2.Instance.State\"5\n\x05State\x12\x13\n\x0fSTATE_NOT_KNOWN\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0c\n\x08\x43REATING\x10\x02\"\x8e\x02\n\x07\x43luster\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x36\n\x05state\x18\x03 \x01(\x0e\x32\'.google.bigtable.admin.v2.Cluster.State\x12\x13\n\x0bserve_nodes\x18\x04 \x01(\x05\x12\x43\n\x14\x64\x65\x66\x61ult_storage_type\x18\x05 \x01(\x0e\x32%.google.bigtable.admin.v2.StorageType\"Q\n\x05State\x12\x13\n\x0fSTATE_NOT_KNOWN\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0c\n\x08\x43REATING\x10\x02\x12\x0c\n\x08RESIZING\x10\x03\x12\x0c\n\x08\x44ISABLED\x10\x04\x42/\n\x1c\x63om.google.bigtable.admin.v2B\rInstanceProtoP\x01\x62\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + +_INSTANCE_STATE = _descriptor.EnumDescriptor( + name='State', + full_name='google.bigtable.admin.v2.Instance.State', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='STATE_NOT_KNOWN', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='READY', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CREATING', index=2, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=244, + serialized_end=297, +) +_sym_db.RegisterEnumDescriptor(_INSTANCE_STATE) + +_CLUSTER_STATE = _descriptor.EnumDescriptor( + name='State', + full_name='google.bigtable.admin.v2.Cluster.State', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='STATE_NOT_KNOWN', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='READY', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CREATING', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='RESIZING', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DISABLED', index=4, number=4, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=489, + serialized_end=570, +) +_sym_db.RegisterEnumDescriptor(_CLUSTER_STATE) + + +_INSTANCE = _descriptor.Descriptor( + name='Instance', + full_name='google.bigtable.admin.v2.Instance', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.Instance.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='display_name', full_name='google.bigtable.admin.v2.Instance.display_name', 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), + _descriptor.FieldDescriptor( + name='state', full_name='google.bigtable.admin.v2.Instance.state', index=2, + number=3, type=14, cpp_type=8, 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=[ + _INSTANCE_STATE, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=139, + serialized_end=297, +) + + +_CLUSTER = _descriptor.Descriptor( + name='Cluster', + full_name='google.bigtable.admin.v2.Cluster', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.Cluster.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='location', full_name='google.bigtable.admin.v2.Cluster.location', 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), + _descriptor.FieldDescriptor( + name='state', full_name='google.bigtable.admin.v2.Cluster.state', index=2, + number=3, type=14, cpp_type=8, 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='serve_nodes', full_name='google.bigtable.admin.v2.Cluster.serve_nodes', index=3, + number=4, 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='default_storage_type', full_name='google.bigtable.admin.v2.Cluster.default_storage_type', index=4, + number=5, type=14, cpp_type=8, 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=[ + _CLUSTER_STATE, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=300, + serialized_end=570, +) + +_INSTANCE.fields_by_name['state'].enum_type = _INSTANCE_STATE +_INSTANCE_STATE.containing_type = _INSTANCE +_CLUSTER.fields_by_name['state'].enum_type = _CLUSTER_STATE +_CLUSTER.fields_by_name['default_storage_type'].enum_type = google_dot_bigtable_dot_admin_dot_v2_dot_common__pb2._STORAGETYPE +_CLUSTER_STATE.containing_type = _CLUSTER +DESCRIPTOR.message_types_by_name['Instance'] = _INSTANCE +DESCRIPTOR.message_types_by_name['Cluster'] = _CLUSTER + +Instance = _reflection.GeneratedProtocolMessageType('Instance', (_message.Message,), dict( + DESCRIPTOR = _INSTANCE, + __module__ = 'google.bigtable.admin.v2.instance_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Instance) + )) +_sym_db.RegisterMessage(Instance) + +Cluster = _reflection.GeneratedProtocolMessageType('Cluster', (_message.Message,), dict( + DESCRIPTOR = _CLUSTER, + __module__ = 'google.bigtable.admin.v2.instance_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Cluster) + )) +_sym_db.RegisterMessage(Cluster) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\rInstanceProtoP\001')) +# @@protoc_insertion_point(module_scope) diff --git a/bigtable/google/cloud/bigtable/_generated/table_pb2.py b/bigtable/google/cloud/bigtable/_generated/table_pb2.py new file mode 100755 index 000000000000..840076514cc7 --- /dev/null +++ b/bigtable/google/cloud/bigtable/_generated/table_pb2.py @@ -0,0 +1,393 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/bigtable/admin/v2/table.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.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='google/bigtable/admin/v2/table.proto', + package='google.bigtable.admin.v2', + syntax='proto3', + serialized_pb=_b('\n$google/bigtable/admin/v2/table.proto\x12\x18google.bigtable.admin.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\"\xa0\x03\n\x05Table\x12\x0c\n\x04name\x18\x01 \x01(\t\x12L\n\x0f\x63olumn_families\x18\x03 \x03(\x0b\x32\x33.google.bigtable.admin.v2.Table.ColumnFamiliesEntry\x12I\n\x0bgranularity\x18\x04 \x01(\x0e\x32\x34.google.bigtable.admin.v2.Table.TimestampGranularity\x1a]\n\x13\x43olumnFamiliesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.google.bigtable.admin.v2.ColumnFamily:\x02\x38\x01\"I\n\x14TimestampGranularity\x12%\n!TIMESTAMP_GRANULARITY_UNSPECIFIED\x10\x00\x12\n\n\x06MILLIS\x10\x01\"F\n\x04View\x12\x14\n\x10VIEW_UNSPECIFIED\x10\x00\x12\r\n\tNAME_ONLY\x10\x01\x12\x0f\n\x0bSCHEMA_VIEW\x10\x02\x12\x08\n\x04\x46ULL\x10\x04\"A\n\x0c\x43olumnFamily\x12\x31\n\x07gc_rule\x18\x01 \x01(\x0b\x32 .google.bigtable.admin.v2.GcRule\"\xd5\x02\n\x06GcRule\x12\x1a\n\x10max_num_versions\x18\x01 \x01(\x05H\x00\x12,\n\x07max_age\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x45\n\x0cintersection\x18\x03 \x01(\x0b\x32-.google.bigtable.admin.v2.GcRule.IntersectionH\x00\x12\x37\n\x05union\x18\x04 \x01(\x0b\x32&.google.bigtable.admin.v2.GcRule.UnionH\x00\x1a?\n\x0cIntersection\x12/\n\x05rules\x18\x01 \x03(\x0b\x32 .google.bigtable.admin.v2.GcRule\x1a\x38\n\x05Union\x12/\n\x05rules\x18\x01 \x03(\x0b\x32 .google.bigtable.admin.v2.GcRuleB\x06\n\x04ruleB,\n\x1c\x63om.google.bigtable.admin.v2B\nTableProtoP\x01\x62\x06proto3') + , + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + +_TABLE_TIMESTAMPGRANULARITY = _descriptor.EnumDescriptor( + name='TimestampGranularity', + full_name='google.bigtable.admin.v2.Table.TimestampGranularity', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='TIMESTAMP_GRANULARITY_UNSPECIFIED', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MILLIS', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=400, + serialized_end=473, +) +_sym_db.RegisterEnumDescriptor(_TABLE_TIMESTAMPGRANULARITY) + +_TABLE_VIEW = _descriptor.EnumDescriptor( + name='View', + full_name='google.bigtable.admin.v2.Table.View', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='VIEW_UNSPECIFIED', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NAME_ONLY', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCHEMA_VIEW', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FULL', index=3, number=4, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=475, + serialized_end=545, +) +_sym_db.RegisterEnumDescriptor(_TABLE_VIEW) + + +_TABLE_COLUMNFAMILIESENTRY = _descriptor.Descriptor( + name='ColumnFamiliesEntry', + full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry.key', 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='value', full_name='google.bigtable.admin.v2.Table.ColumnFamiliesEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=305, + serialized_end=398, +) + +_TABLE = _descriptor.Descriptor( + name='Table', + full_name='google.bigtable.admin.v2.Table', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='google.bigtable.admin.v2.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='column_families', full_name='google.bigtable.admin.v2.Table.column_families', index=1, + 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), + _descriptor.FieldDescriptor( + name='granularity', full_name='google.bigtable.admin.v2.Table.granularity', index=2, + number=4, type=14, cpp_type=8, 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=[_TABLE_COLUMNFAMILIESENTRY, ], + enum_types=[ + _TABLE_TIMESTAMPGRANULARITY, + _TABLE_VIEW, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=129, + serialized_end=545, +) + + +_COLUMNFAMILY = _descriptor.Descriptor( + name='ColumnFamily', + full_name='google.bigtable.admin.v2.ColumnFamily', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='gc_rule', full_name='google.bigtable.admin.v2.ColumnFamily.gc_rule', 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=547, + serialized_end=612, +) + + +_GCRULE_INTERSECTION = _descriptor.Descriptor( + name='Intersection', + full_name='google.bigtable.admin.v2.GcRule.Intersection', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='rules', full_name='google.bigtable.admin.v2.GcRule.Intersection.rules', 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=827, + serialized_end=890, +) + +_GCRULE_UNION = _descriptor.Descriptor( + name='Union', + full_name='google.bigtable.admin.v2.GcRule.Union', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='rules', full_name='google.bigtable.admin.v2.GcRule.Union.rules', 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=892, + serialized_end=948, +) + +_GCRULE = _descriptor.Descriptor( + name='GcRule', + full_name='google.bigtable.admin.v2.GcRule', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='max_num_versions', full_name='google.bigtable.admin.v2.GcRule.max_num_versions', index=0, + number=1, 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='max_age', full_name='google.bigtable.admin.v2.GcRule.max_age', 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='intersection', full_name='google.bigtable.admin.v2.GcRule.intersection', 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='union', full_name='google.bigtable.admin.v2.GcRule.union', index=3, + number=4, 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=[_GCRULE_INTERSECTION, _GCRULE_UNION, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='rule', full_name='google.bigtable.admin.v2.GcRule.rule', + index=0, containing_type=None, fields=[]), + ], + serialized_start=615, + serialized_end=956, +) + +_TABLE_COLUMNFAMILIESENTRY.fields_by_name['value'].message_type = _COLUMNFAMILY +_TABLE_COLUMNFAMILIESENTRY.containing_type = _TABLE +_TABLE.fields_by_name['column_families'].message_type = _TABLE_COLUMNFAMILIESENTRY +_TABLE.fields_by_name['granularity'].enum_type = _TABLE_TIMESTAMPGRANULARITY +_TABLE_TIMESTAMPGRANULARITY.containing_type = _TABLE +_TABLE_VIEW.containing_type = _TABLE +_COLUMNFAMILY.fields_by_name['gc_rule'].message_type = _GCRULE +_GCRULE_INTERSECTION.fields_by_name['rules'].message_type = _GCRULE +_GCRULE_INTERSECTION.containing_type = _GCRULE +_GCRULE_UNION.fields_by_name['rules'].message_type = _GCRULE +_GCRULE_UNION.containing_type = _GCRULE +_GCRULE.fields_by_name['max_age'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_GCRULE.fields_by_name['intersection'].message_type = _GCRULE_INTERSECTION +_GCRULE.fields_by_name['union'].message_type = _GCRULE_UNION +_GCRULE.oneofs_by_name['rule'].fields.append( + _GCRULE.fields_by_name['max_num_versions']) +_GCRULE.fields_by_name['max_num_versions'].containing_oneof = _GCRULE.oneofs_by_name['rule'] +_GCRULE.oneofs_by_name['rule'].fields.append( + _GCRULE.fields_by_name['max_age']) +_GCRULE.fields_by_name['max_age'].containing_oneof = _GCRULE.oneofs_by_name['rule'] +_GCRULE.oneofs_by_name['rule'].fields.append( + _GCRULE.fields_by_name['intersection']) +_GCRULE.fields_by_name['intersection'].containing_oneof = _GCRULE.oneofs_by_name['rule'] +_GCRULE.oneofs_by_name['rule'].fields.append( + _GCRULE.fields_by_name['union']) +_GCRULE.fields_by_name['union'].containing_oneof = _GCRULE.oneofs_by_name['rule'] +DESCRIPTOR.message_types_by_name['Table'] = _TABLE +DESCRIPTOR.message_types_by_name['ColumnFamily'] = _COLUMNFAMILY +DESCRIPTOR.message_types_by_name['GcRule'] = _GCRULE + +Table = _reflection.GeneratedProtocolMessageType('Table', (_message.Message,), dict( + + ColumnFamiliesEntry = _reflection.GeneratedProtocolMessageType('ColumnFamiliesEntry', (_message.Message,), dict( + DESCRIPTOR = _TABLE_COLUMNFAMILIESENTRY, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Table.ColumnFamiliesEntry) + )) + , + DESCRIPTOR = _TABLE, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Table) + )) +_sym_db.RegisterMessage(Table) +_sym_db.RegisterMessage(Table.ColumnFamiliesEntry) + +ColumnFamily = _reflection.GeneratedProtocolMessageType('ColumnFamily', (_message.Message,), dict( + DESCRIPTOR = _COLUMNFAMILY, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.ColumnFamily) + )) +_sym_db.RegisterMessage(ColumnFamily) + +GcRule = _reflection.GeneratedProtocolMessageType('GcRule', (_message.Message,), dict( + + Intersection = _reflection.GeneratedProtocolMessageType('Intersection', (_message.Message,), dict( + DESCRIPTOR = _GCRULE_INTERSECTION, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule.Intersection) + )) + , + + Union = _reflection.GeneratedProtocolMessageType('Union', (_message.Message,), dict( + DESCRIPTOR = _GCRULE_UNION, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule.Union) + )) + , + DESCRIPTOR = _GCRULE, + __module__ = 'google.bigtable.admin.v2.table_pb2' + # @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.GcRule) + )) +_sym_db.RegisterMessage(GcRule) +_sym_db.RegisterMessage(GcRule.Intersection) +_sym_db.RegisterMessage(GcRule.Union) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.bigtable.admin.v2B\nTableProtoP\001')) +_TABLE_COLUMNFAMILIESENTRY.has_options = True +_TABLE_COLUMNFAMILIESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +# @@protoc_insertion_point(module_scope) From c1abd5f6bcb9b1323b6baa90e1b43d25b0d4e429 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 12:24:24 +0530 Subject: [PATCH 13/17] Remove unwanted characters from docstrings --- bigtable/google/cloud/bigtable/mutation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index 64971b4bb313..a4fd4757205f 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -208,7 +208,7 @@ def _do_mutate_retryable_mutate_rows(self): A row is eligible for retry if it has not been tried or if it resulted in a transient error in a previous call. Returns: - `List [‘~google.rpc.status_pb2.Status']` + `List [~google.rpc.status_pb2.Status]` The responses statuses, which is a list of Class `~google.rpc.status_pb2.Status`. Raises: From 4f08819af0cb9114d13445e2044bbc37f78b5211 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 12:29:36 +0530 Subject: [PATCH 14/17] Fix no newline at end of file --- bigtable/google/__init__.py | 2 +- bigtable/google/cloud/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bigtable/google/__init__.py b/bigtable/google/__init__.py index d2547b8d952f..267f71008dcb 100644 --- a/bigtable/google/__init__.py +++ b/bigtable/google/__init__.py @@ -3,4 +3,4 @@ pkg_resources.declare_namespace(__name__) except ImportError: import pkgutil - __path__ = pkgutil.extend_path(__path__, __name__) \ No newline at end of file + __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/bigtable/google/cloud/__init__.py b/bigtable/google/cloud/__init__.py index d2547b8d952f..267f71008dcb 100644 --- a/bigtable/google/cloud/__init__.py +++ b/bigtable/google/cloud/__init__.py @@ -3,4 +3,4 @@ pkg_resources.declare_namespace(__name__) except ImportError: import pkgutil - __path__ = pkgutil.extend_path(__path__, __name__) \ No newline at end of file + __path__ = pkgutil.extend_path(__path__, __name__) From c620f8ff2927991c0e1a7062964d83d837f66a2a Mon Sep 17 00:00:00 2001 From: zakons Date: Fri, 23 Mar 2018 08:07:21 -0400 Subject: [PATCH 15/17] Update documentation for retry. --- bigtable/tests/unit/test_mutation.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py index 47c023abac8c..f3f8022bdbe9 100644 --- a/bigtable/tests/unit/test_mutation.py +++ b/bigtable/tests/unit/test_mutation.py @@ -73,8 +73,8 @@ def test_retry_mutation(self): table_name = client.table_path(self.PROJECT_ID, self.INSTANCE_ID, self.TABLE_ID) - # First responses will get fail on second response and after retry - # second will get succeed. + # In response_1, there is a failure for the second Entry + # In response_2, succeed on the retry for this second Entry response_1 = self._make_responses([self.SUCCESS, self.RETRYABLE]) response_2 = self._make_responses([self.SUCCESS]) @@ -99,8 +99,8 @@ def test_retry_mutation(self): statuses = mutate_rows.mutate() - # Got two successful responces after retry on second retryable - # response. + # Result has two successful responses after a retry on the second + # Entry (see response_1, which has self.RETRYABLE for this Entry). result = [status.code for status in statuses] expected_result = [self.SUCCESS, self.SUCCESS] From 8eb5600e1283f9684efb4b4c32e1cbbf08b9fccc Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 17:41:43 +0530 Subject: [PATCH 16/17] Refactor test_mutation.py --- bigtable/tests/unit/test_mutation.py | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/bigtable/tests/unit/test_mutation.py b/bigtable/tests/unit/test_mutation.py index f3f8022bdbe9..b08b7db47985 100644 --- a/bigtable/tests/unit/test_mutation.py +++ b/bigtable/tests/unit/test_mutation.py @@ -239,27 +239,19 @@ def test_mutation_runtime_error(self): mutate_rows = self._make_one(table_name=table_name, client=client) - mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_1) - - mutate_rows_entry.set_cell( - self.FAMILY_NAME, - self.QUALIFIER, - self.VALUE, - self.TIMESTAMP_MICROS - ) - - mutate_rows.add_row_mutations_entry(mutate_rows_entry) + row_keys = [self.ROW_KEY_1, self.ROW_KEY_2] - mutate_rows_entry = MutateRowsEntry(row_key=self.ROW_KEY_2) + for row_key in row_keys: + mutate_rows_entry = MutateRowsEntry(row_key=row_key) - mutate_rows_entry.set_cell( - self.FAMILY_NAME, - self.QUALIFIER, - self.VALUE, - self.TIMESTAMP_MICROS - ) + mutate_rows_entry.set_cell( + self.FAMILY_NAME, + self.QUALIFIER, + self.VALUE, + self.TIMESTAMP_MICROS + ) - mutate_rows.add_row_mutations_entry(mutate_rows_entry) + mutate_rows.add_row_mutations_entry(mutate_rows_entry) with self.assertRaises(RuntimeError): mutate_rows.mutate() From c24e2a3c24587c2384109ea0f08da554a60a1ed4 Mon Sep 17 00:00:00 2001 From: Aneep Tandel Date: Fri, 23 Mar 2018 18:49:24 +0530 Subject: [PATCH 17/17] Remove extra classes for mutation_messages --- bigtable/google/cloud/bigtable/mutation.py | 147 ++++----------------- 1 file changed, 26 insertions(+), 121 deletions(-) diff --git a/bigtable/google/cloud/bigtable/mutation.py b/bigtable/google/cloud/bigtable/mutation.py index a4fd4757205f..32ee9add39a2 100644 --- a/bigtable/google/cloud/bigtable/mutation.py +++ b/bigtable/google/cloud/bigtable/mutation.py @@ -53,8 +53,14 @@ def set_cell(self, family_name, column_id, value, timestamp=None): unspecified. Values must match the granularity of the table (e.g. micros, millis). """ - mutation = SetCellMutation(family_name, column_id, value, timestamp) - self.mutations.append(mutation.mutation_request) + set_cell_mutation = data_v2_pb2.Mutation.SetCell( + family_name=family_name, + column_qualifier=column_id, + timestamp_micros=timestamp, + value=value + ) + mutation_message = data_v2_pb2.Mutation(set_cell=set_cell_mutation) + self.mutations.append(mutation_message) def delete_from_column(self, family_name, column_id, time_range=None): """Create the mutation request message for DeleteFromColumn and @@ -71,8 +77,14 @@ def delete_from_column(self, family_name, column_id, time_range=None): (optional) The range of timestamps within which cells should be deleted. """ - mutation = DeleteFromColumnMutation(family_name, column_id, time_range) - self.mutations.append(mutation.mutation_request) + delete_from_column_mutation = data_v2_pb2.Mutation.DeleteFromColumn( + family_name=family_name, + column_qualifier=column_id, + time_range=time_range + ) + mutation_message = data_v2_pb2.Mutation( + delete_from_column=delete_from_column_mutation) + self.mutations.append(mutation_message) def delete_from_family(self, family_name): """Create the mutation request message for DeleteFromFamily and add @@ -83,14 +95,20 @@ def delete_from_family(self, family_name): The name of the family into which new data should be written. Must match ``[-_.a-zA-Z0-9]+``. """ - mutation = DeleteFromFamilyMutation(family_name) - self.mutations.append(mutation.mutation_request) + delete_from_family_mutation = data_v2_pb2.Mutation.DeleteFromFamily( + family_name=family_name + ) + mutation_message = data_v2_pb2.Mutation( + delete_from_family=delete_from_family_mutation) + self.mutations.append(mutation_message) def delete_from_row(self): """Create the mutation request message for DeleteFromRow and add it to the list of mutations""" - mutation = DeleteFromRowMutation() - self.mutations.append(mutation.mutation_request) + delete_from_row_mutation = data_v2_pb2.Mutation.DeleteFromRow() + mutation_message = data_v2_pb2.Mutation( + delete_from_row=delete_from_row_mutation) + self.mutations.append(mutation_message) def create_entry(self): """Create a MutateRowsRequest Entry from the list of mutations @@ -248,116 +266,3 @@ def _do_mutate_retryable_mutate_rows(self): raise _BigtableRetryableError return self.responses_statuses - - -class SetCellMutation(object): - """Create the mutation request message for SetCell and add it to the list - of mutations - - Arguments: - family_name (str): - The name of the family into which new data should be written. - Must match ``[-_.a-zA-Z0-9]+``. - column_id (bytes): - The qualifier of the column into which new data should be - written. Can be any byte string, including the empty string. - value (bytes): - The value to be written into the specified cell. - timestamp (int): - (optional) The timestamp of the cell into which new data should - be written. Use -1 for current Bigtable server time. Otherwise, - the client should set this value itself, noting that the - default value is a timestamp of zero if the field is left - unspecified. Values must match the granularity of the table - (e.g. micros, millis). - """ - - def __init__(self, family_name, column_id, value, timestamp): - super(SetCellMutation, self).__init__() - self.family_name = family_name - self.column_id = column_id - self.value = value - self.timestamp = timestamp - - @property - def mutation_request(self): - """message: Mutation of the SetCell.""" - set_cell_mutation = data_v2_pb2.Mutation.SetCell( - family_name=self.family_name, - column_qualifier=self.column_id, - timestamp_micros=self.timestamp, - value=self.value, - ) - return data_v2_pb2.Mutation(set_cell=set_cell_mutation) - - -class DeleteFromColumnMutation(object): - """Create the mutation request message for DeleteFromColumn and add it to - the list of mutations - - Arguments: - family_name (str): - The name of the family into which new data should be written. - Must match ``[-_.a-zA-Z0-9]+``. - column_id (bytes): - The qualifier of the column into which new data should be - written. Can be any byte string, including the empty string. - time_range (TimestampRange): - (optional) The range of timestamps within which cells should be - deleted. - """ - - def __init__(self, family_name, column_id, time_range): - super(DeleteFromColumnMutation, self).__init__() - self.family_name = family_name - self.column_id = column_id - self.time_range = time_range - - @property - def mutation_request(self): - """message: Mutation of the DeleteFromColumn.""" - delete_from_column_mutation = data_v2_pb2.Mutation.DeleteFromColumn( - family_name=self.family_name, - column_qualifier=self.column_id, - time_range=self.time_range - ) - return data_v2_pb2.Mutation( - delete_from_column=delete_from_column_mutation) - - -class DeleteFromFamilyMutation(object): - """Create the mutation request message for DeleteFromFamily and add it to - the list of mutations - - Arguments: - family_name (str): - The name of the family into which new data should be written. - Must match ``[-_.a-zA-Z0-9]+``. - """ - - def __init__(self, family_name): - super(DeleteFromFamilyMutation, self).__init__() - self.family_name = family_name - - @property - def mutation_request(self): - """message: Mutation of the DeleteFromFamily.""" - delete_from_family_mutation = data_v2_pb2.Mutation.DeleteFromFamily( - family_name=self.family_name - ) - return data_v2_pb2.Mutation( - delete_from_family=delete_from_family_mutation) - - -class DeleteFromRowMutation(object): - """Create the mutation request message for DeleteFromRow and add it to - the list of mutations""" - - def __init__(self): - super(DeleteFromRowMutation, self).__init__() - - @property - def mutation_request(self): - """message: Mutation of the DeleteFromRow.""" - delete_from_row_mutation = data_v2_pb2.Mutation.DeleteFromRow() - return data_v2_pb2.Mutation(delete_from_row=delete_from_row_mutation)