diff --git a/.flake8 b/.flake8 index 20fe9bda2e..ed9316381c 100644 --- a/.flake8 +++ b/.flake8 @@ -21,6 +21,8 @@ exclude = # Exclude generated code. **/proto/** **/gapic/** + **/services/** + **/types/** *_pb2.py # Standard linting exemptions. diff --git a/.gitignore b/.gitignore index 3fb06e09ce..b87e1ed580 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ dist build eggs +.eggs parts bin var @@ -49,6 +50,7 @@ bigquery/docs/generated # Virtual environment env/ coverage.xml +sponge_log.xml # System test environment variables. system_tests/local_test_setup diff --git a/.kokoro/build.sh b/.kokoro/build.sh index e90d82bd03..93529591ba 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -29,6 +29,9 @@ export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json # Setup project id. export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") +# Set up creating a new instance for each system test run +export GOOGLE_CLOUD_TESTS_CREATE_SPANNER_INSTANCE=true + # Remove old nox python3.6 -m pip uninstall --yes --quiet nox-automation diff --git a/.kokoro/release.sh b/.kokoro/release.sh index c997903c64..d15be7e62c 100755 --- a/.kokoro/release.sh +++ b/.kokoro/release.sh @@ -13,8 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash - set -eo pipefail # Start the releasetool reporter diff --git a/CHANGELOG.md b/CHANGELOG.md index 86b1c4a533..5ad71b4ed8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ [1]: https://pypi.org/project/google-cloud-spanner/#history +### [1.17.1](https://www.github.com/googleapis/python-spanner/compare/v1.17.0...v1.17.1) (2020-06-24) + + +### Documentation + +* remove client-usage sections that no longer apply ([#95](https://www.github.com/googleapis/python-spanner/issues/95)) ([16a812f](https://www.github.com/googleapis/python-spanner/commit/16a812fd32320f139213e752eb8210933081015b)) +* update batch-usage reflect the correct usage ([#93](https://www.github.com/googleapis/python-spanner/issues/93)) ([6ec64d8](https://www.github.com/googleapis/python-spanner/commit/6ec64d8c001af9e53ff71a2940ec2a81964e6e7f)) +* update documentation for database-usage ([#96](https://www.github.com/googleapis/python-spanner/issues/96)) ([44e398c](https://www.github.com/googleapis/python-spanner/commit/44e398c3aa9c1af661fecf2beed481484dd05713)) +* update documentation for snapshot usage ([#94](https://www.github.com/googleapis/python-spanner/issues/94)) ([613d9c8](https://www.github.com/googleapis/python-spanner/commit/613d9c820b1c87d2e86ef4084dfe9f767eb70079)) + ## [1.17.0](https://www.github.com/googleapis/python-spanner/compare/v1.16.0...v1.17.0) (2020-05-26) diff --git a/MANIFEST.in b/MANIFEST.in index b36e3621b0..42e5750549 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -21,3 +21,6 @@ recursive-include google *.json *.proto recursive-include tests * global-exclude *.py[co] global-exclude __pycache__ + +# Exclude scripts for samples readmegen +prune scripts/readme-gen \ No newline at end of file diff --git a/docs/batch-usage.rst b/docs/batch-usage.rst index 419ca106e6..0da1086779 100644 --- a/docs/batch-usage.rst +++ b/docs/batch-usage.rst @@ -1,36 +1,64 @@ Batching Modifications ###################### -A :class:`~google.cloud.spanner.batch.Batch` represents a set of data +A :class:`~google.cloud.spanner_v1.batch.Batch` represents a set of data modification operations to be performed on tables in a database. Use of a ``Batch`` does not require creating an explicit -:class:`~google.cloud.spanner.snapshot.Snapshot` or -:class:`~google.cloud.spanner.transaction.Transaction`. Until -:meth:`~google.cloud.spanner.batch.Batch.commit` is called on a ``Batch``, +:class:`~google.cloud.spanner_v1.snapshot.Snapshot` or +:class:`~google.cloud.spanner_v1.transaction.Transaction`. Until +:meth:`~google.cloud.spanner_v1.batch.Batch.commit` is called on a ``Batch``, no changes are propagated to the back-end. -Starting a Batch ----------------- +Use Batch via BatchCheckout +-------------------------------- -Construct a :class:`~google.cloud.spanner.batch.Batch` object from a :class:`~google.cloud.spanner.database.Database` object: +:meth:`Database.batch` creates a :class:`~google.cloud.spanner_v1.database.BatchCheckout` +instance to use as a context manager to handle creating and committing a +:class:`~google.cloud.spanner_v1.batch.Batch`. The +:class:`BatchCheckout` will automatically call +:meth:`~google.cloud.spanner_v1.batch.Batch.commit` if the ``with`` block exits +without raising an exception. .. code:: python - from google.cloud import spanner + from google.cloud.spanner import KeySet client = spanner.Client() instance = client.instance(INSTANCE_NAME) database = instance.database(DATABASE_NAME) - batch = database.batch() + to_delete = KeySet(keys=[ + ('bharney@example.com',) + ('nonesuch@example.com',) + ]) + + with database.batch() as batch: + + batch.insert( + 'citizens', columns=['email', 'first_name', 'last_name', 'age'], + values=[ + ['phred@exammple.com', 'Phred', 'Phlyntstone', 32], + ['bharney@example.com', 'Bharney', 'Rhubble', 31], + ]) + + batch.update( + 'citizens', columns=['email', 'age'], + values=[ + ['phred@exammple.com', 33], + ['bharney@example.com', 32], + ]) + + ... + + batch.delete('citizens', to_delete) Inserting records using a Batch ------------------------------- -:meth:`Batch.insert` adds one or more new records to a table. Fails if -any of the records already exists. +:meth:`Batch.insert` adds one or more new records to a table. This fails if +any of the records already exist. .. code:: python @@ -53,8 +81,8 @@ any of the records already exists. Update records using a Batch ------------------------------- -:meth:`Batch.update` updates one or more existing records in a table. Fails -if any of the records does not already exist. +:meth:`Batch.update` updates one or more existing records in a table. This fails +if any of the records do not already exist. .. code:: python @@ -127,8 +155,8 @@ column values are set to null. Delete records using a Batch ---------------------------- -:meth:`Batch.delete` removes one or more records from a table. Non-existent -rows do not cause errors. +:meth:`Batch.delete` removes one or more records from a table. Attempting to delete +rows that do not exist will not cause errors. .. code:: python @@ -151,50 +179,13 @@ After describing the modifications to be made to table data via the the back-end by calling :meth:`Batch.commit`, which makes the ``Commit`` API call. -.. code:: python - - batch.commit() - - -Use a Batch as a Context Manager --------------------------------- - -Rather than calling :meth:`Batch.commit` manually, you can use the -:class:`Batch` instance as a context manager, and have it called automatically -if the ``with`` block exits without raising an exception. +You do not need to call this yourself as +:class:`~google.cloud.spanner_v1.database.BatchCheckout` will call +this method automatically upon exiting the ``with`` block. .. code:: python - from google.cloud.spanner import KeySet - - client = spanner.Client() - instance = client.instance(INSTANCE_NAME) - database = instance.database(DATABASE_NAME) - - to_delete = KeySet(keys=[ - ('bharney@example.com',) - ('nonesuch@example.com',) - ]) - - with database.batch() as batch: - - batch.insert( - 'citizens', columns=['email', 'first_name', 'last_name', 'age'], - values=[ - ['phred@exammple.com', 'Phred', 'Phlyntstone', 32], - ['bharney@example.com', 'Bharney', 'Rhubble', 31], - ]) - - batch.update( - 'citizens', columns=['email', 'age'], - values=[ - ['phred@exammple.com', 33], - ['bharney@example.com', 32], - ]) - - ... - - batch.delete('citizens', to_delete) + batch.commit() Next Step diff --git a/docs/client-usage.rst b/docs/client-usage.rst index 801c9cb135..f3157dc0f1 100644 --- a/docs/client-usage.rst +++ b/docs/client-usage.rst @@ -16,17 +16,6 @@ and creating other objects: from google.cloud import spanner client = spanner.Client() -Long-lived Defaults -------------------- - -When creating a :class:`~google.cloud.spanner_v1.client.Client`, the -``user_agent`` and ``timeout_seconds`` arguments have sensible -defaults -(:data:`~google.cloud.spanner_v1.client.DEFAULT_USER_AGENT` and -:data:`~google.cloud.spanner_v1.client.DEFAULT_TIMEOUT_SECONDS`). -However, you may over-ride them and these will be used throughout all API -requests made with the ``client`` you create. - Configuration ------------- @@ -62,18 +51,6 @@ Configuration Be sure to use the **Project ID**, not the **Project Number**. -Warnings about Multiprocessing ------------------------------- - -.. warning:: - When using multiprocessing, the application may hang if a - :class:`Client ` instance is created - before :class:`multiprocessing.Pool` or :class:`multiprocessing.Process` - invokes :func:`os.fork`. The issue is under investigation, but may be only - happening on Macintosh and not Linux. See `GRPC/GRPC#12455 - `_ for - more information. - Next Step --------- diff --git a/docs/conf.py b/docs/conf.py index e326daef4e..a4390abf94 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -38,21 +38,18 @@ "sphinx.ext.napoleon", "sphinx.ext.todo", "sphinx.ext.viewcode", + "recommonmark", ] # autodoc/autosummary flags autoclass_content = "both" -autodoc_default_flags = ["members"] +autodoc_default_options = {"members": True} autosummary_generate = True # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] -# Allow markdown includes (so releases.md can include CHANGLEOG.md) -# http://www.sphinx-doc.org/en/master/markdown.html -source_parsers = {".md": "recommonmark.parser.CommonMarkParser"} - # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # source_suffix = ['.rst', '.md'] diff --git a/docs/database-usage.rst b/docs/database-usage.rst index 31ecd9908d..629f1ab28a 100644 --- a/docs/database-usage.rst +++ b/docs/database-usage.rst @@ -1,7 +1,7 @@ Database Admin ============== -After creating a :class:`~google.cloud.spanner.instance.Instance`, you can +After creating an :class:`~google.cloud.spanner_v1.instance.Instance`, you can interact with individual databases for that instance. @@ -9,30 +9,31 @@ List Databases -------------- To iterate over all existing databases for an instance, use its -:meth:`~google.cloud.spanner.instance.Instance.list_databases` method: +:meth:`~google.cloud.spanner_v1.instance.Instance.list_databases` method: .. code:: python for database in instance.list_databases(): # `database` is a `Database` object. -This method yields :class:`~.spanner_admin_database_v1.types.Database` +This method yields :class:`~google.cloud.spanner_v1.database.Database` objects. Database Factory ---------------- -To create a :class:`~google.cloud.spanner.database.Database` object: +To create a :class:`~google.cloud.spanner_v1.database.Database` object: .. code:: python database = instance.database(database_id, ddl_statements) -- ``ddl_statements`` is a list of strings containing DDL for the new database. +- ``ddl_statements`` is a list of strings containing DDL statements for the new database. -You can also use :meth:`Instance.database` to create a local wrapper for -a database that has already been created: +You can also use the :meth:`~google.cloud.spanner_v1.instance.Instance.database` method +on an :class:`~google.cloud.spanner_v1.instance.Instance` object to create a local wrapper +for a database that has already been created: .. code:: python @@ -43,7 +44,7 @@ Create a new Database --------------------- After creating the database object, use its -:meth:`~google.cloud.spanner.database.Database.create` method to +:meth:`~google.cloud.spanner_v1.database.Database.create` method to trigger its creation on the server: .. code:: python @@ -52,8 +53,8 @@ trigger its creation on the server: .. note:: - Creating an instance triggers a "long-running operation" and - returns an :class:`~concurrent.futures.Future`-like object. Use + Creating a database triggers a "long-running operation" and + returns a :class:`~concurrent.futures.Future`-like object. Use the :meth:`~concurrent.futures.Future.result` method to wait for and inspect the result. @@ -62,21 +63,21 @@ Update an existing Database --------------------------- After creating the database object, you can apply additional DDL statements -via its :meth:`~google.cloud.spanner.database.Database.update_ddl` method: +via its :meth:`~google.cloud.spanner_v1.database.Database.update_ddl` method: .. code:: python operation = database.update_ddl(ddl_statements, operation_id) -- ``ddl_statements`` is a list of strings containing DDL to be applied to - the database. +- ``ddl_statements`` is a list of strings containing DDL statements to be + applied to the database. - ``operation_id`` is a string ID for the long-running operation. .. note:: - Update an instance triggers a "long-running operation" and - returns a :class:`google.cloud.spanner.database.Operation` + Updating a database triggers a "long-running operation" and + returns an :class:`~google.cloud.spanner_v1.database.Operation` object. See :ref:`check-on-current-database-operation` for polling to find out if the operation is completed. @@ -85,7 +86,7 @@ Drop a Database --------------- Drop a database using its -:meth:`~google.cloud.spanner.database.Database.drop` method: +:meth:`~google.cloud.spanner_v1.database.Database.drop` method: .. code:: python @@ -97,14 +98,15 @@ Drop a database using its Check on Current Database Operation ----------------------------------- -The :meth:`~google.cloud.spanner.database.Database.create` and -:meth:`~google.cloud.spanner.database.Database.update` methods of instance -object trigger long-running operations on the server, and return instances +The :meth:`~google.cloud.spanner_v1.database.Database.create` and +:meth:`~google.cloud.spanner_v1.database.Database.update_ddl` methods of the +:class:`~google.cloud.spanner_v1.database.Database` object trigger +long-running operations on the server, and return operations conforming to the :class:`~.concurrent.futures.Future` class. .. code:: python - >>> operation = instance.create() + >>> operation = database.create() >>> operation.result() @@ -116,7 +118,7 @@ Use a Snapshot to Read / Query the Database A snapshot represents a read-only point-in-time view of the database. -Calling :meth:`~google.cloud.spanner.database.Database.snapshot` with +Calling :meth:`~google.cloud.spanner_v1.database.Database.snapshot` with no arguments creates a snapshot with strong concurrency: .. code:: python @@ -124,16 +126,17 @@ no arguments creates a snapshot with strong concurrency: with database.snapshot() as snapshot: do_something_with(snapshot) -See :class:`~google.cloud.spanner.snapshot.Snapshot` for the other options +See :class:`~google.cloud.spanner_v1.snapshot.Snapshot` for the other options which can be passed. .. note:: - :meth:`~google.cloud.spanner.database.Database.snapshot` returns an + :meth:`~google.cloud.spanner_v1.database.Database.snapshot` returns an object intended to be used as a Python context manager (i.e., as the - target of a ``with`` statement). Use the instance, and any result - sets returned by its ``read`` or ``execute_sql`` methods, only inside - the block created by the ``with`` statement. + target of a ``with`` statement). Perform all iterations within the + context of the ``with database.snapshot()`` block. + + See :doc:`snapshot-usage` for more complete examples of snapshot usage. @@ -151,7 +154,7 @@ on the rows of tables in the database. .. note:: - :meth:`~google.cloud.spanner.database.Database.batch` returns an + :meth:`~google.cloud.spanner_v1.database.Database.batch` returns an object intended to be used as a Python context manager (i.e., as the target of a ``with`` statement). It applies any changes made inside the block of its ``with`` statement when exiting the block, unless an @@ -187,15 +190,15 @@ transaction as a required argument: .. note:: - :meth:`~google.cloud.spanner.database.Database.run_in_transaction` + :meth:`~google.cloud.spanner_v1.database.Database.run_in_transaction` commits the transaction automatically if the "unit of work" function returns without raising an exception. .. note:: - :meth:`~google.cloud.spanner.database.Database.run_in_transaction` - retries the "unit of work" function if the read / query operatoins - or the commit are aborted due to concurrent updates + :meth:`~google.cloud.spanner_v1.database.Database.run_in_transaction` + retries the "unit of work" function if the read / query operations + or the commit are aborted due to concurrent updates. See :doc:`transaction-usage` for more complete examples of transaction usage. @@ -203,10 +206,10 @@ Configuring a session pool for a database ----------------------------------------- Under the covers, the ``snapshot``, ``batch``, and ``run_in_transaction`` -methods use a pool of :class:`~google.cloud.spanner.session.Session` objects +methods use a pool of :class:`~google.cloud.spanner_v1.session.Session` objects to manage their communication with the back-end. You can configure one of the pools manually to control the number of sessions, timeouts, etc., -and then passing it to the :class:`~google.cloud.spanner.database.Database` +and then pass it to the :class:`~google.cloud.spanner_v1.database.Database` constructor: .. code-block:: python @@ -221,12 +224,12 @@ constructor: pool = spanner.FixedSizePool(size=10, default_timeout=5) database = instance.database(DATABASE_NAME, pool=pool) -Note that creating a database with a pool may presume that its database -already exists, as it may need to pre-create sessions (rather than creating -them on demand, as the default implementation does). +Note that creating a database with a pool will require the database to +already exist if the pool implementation needs to pre-create sessions +(rather than creating them on demand, as the default implementation does). You can supply your own pool implementation, which must satisfy the -contract laid out in :class:`~google.cloud.spanner.pool.AbstractSessionPool`: +contract laid out in :class:`~google.cloud.spanner_v1.pool.AbstractSessionPool`: .. code-block:: python diff --git a/docs/index.rst b/docs/index.rst index 729f42d0e0..64c5c65c7f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,7 @@ .. include:: README.rst +.. include:: multiprocessing.rst + Usage Documentation ------------------- .. toctree:: diff --git a/docs/multiprocessing.rst b/docs/multiprocessing.rst new file mode 100644 index 0000000000..1cb29d4ca9 --- /dev/null +++ b/docs/multiprocessing.rst @@ -0,0 +1,7 @@ +.. note:: + + Because this client uses :mod:`grpcio` library, it is safe to + share instances across threads. In multiprocessing scenarios, the best + practice is to create client instances *after* the invocation of + :func:`os.fork` by :class:`multiprocessing.Pool` or + :class:`multiprocessing.Process`. diff --git a/docs/snapshot-usage.rst b/docs/snapshot-usage.rst index 4c5a5b2420..e088cd0ceb 100644 --- a/docs/snapshot-usage.rst +++ b/docs/snapshot-usage.rst @@ -1,8 +1,8 @@ Read-only Transactions via Snapshots #################################### -A :class:`~google.cloud.spanner.snapshot.Snapshot` represents a read-only -transaction: when multiple read operations are peformed via a Snapshot, +A :class:`~google.cloud.spanner_v1.snapshot.Snapshot` represents a read-only +transaction: when multiple read operations are performed via a Snapshot, the results are consistent as of a particular point in time. @@ -15,7 +15,8 @@ transactions are visible: .. code:: python - snapshot = database.snapshot() + with database.snapshot() as snapshot: + ... You can also specify a weaker bound, which can either be to perform all reads as of a given timestamp: @@ -25,7 +26,9 @@ reads as of a given timestamp: import datetime from pytz import UTC TIMESTAMP = datetime.datetime.utcnow().replace(tzinfo=UTC) - snapshot = database.snapshot(read_timestamp=TIMESTAMP) + + with database.snapshot(read_timestamp=TIMESTAMP) as snapshot: + ... or as of a given duration in the past: @@ -33,7 +36,9 @@ or as of a given duration in the past: import datetime DURATION = datetime.timedelta(seconds=5) - snapshot = database.snapshot(exact_staleness=DURATION) + + with database.snapshot(exact_staleness=DURATION) as snapshot: + ... Single Use and Multiple Use Snapshots ------------------------------------- @@ -48,18 +53,19 @@ reused. .. code:: python - snapshot = database.snapshot(multi_use=True) + with database.snapshot(multi_use=True) as snapshot: + ... -:meth:`~.spanner_v1.snapshot.Snapshot.begin` can only be used on a +:meth:`~google.cloud.spanner_v1.snapshot.Snapshot.begin` can only be used on a snapshot with ``multi_use=True``. In which case it is also necessary to call if you need to have multiple pending operations. Read Table Data --------------- -Read data for selected rows from a table in the database. Calls -the ``Read`` API, which returns all rows specified in ``key_set``, or else -fails if the result set is too large, +To read data for selected rows from a table in the database, call +:meth:`~google.cloud.spanner_v1.snapshot.Snapshot.read` which will return +all rows specified in ``key_set``, or fail if the result set is too large, .. code:: python @@ -73,16 +79,17 @@ fails if the result set is too large, .. note:: - Perform all iteration within the context of the ``with database.snapshot()`` + Perform all iterations within the context of the ``with database.snapshot()`` block. Execute a SQL Select Statement ------------------------------ -Read data from a query against tables in the database. Calls -the ``ExecuteSql`` API, which returns all rows matching the query, or else -fails if the result set is too large, +To read data from tables in the database using a query, call +:meth:`~google.cloud.spanner_v1.snapshot.Snapshot.execute_sql` +which will return all rows matching the query, or fail if the +result set is too large, .. code:: python diff --git a/google/cloud/spanner_admin_database_v1/gapic/database_admin_client.py b/google/cloud/spanner_admin_database_v1/gapic/database_admin_client.py index 849f37160a..b208696307 100644 --- a/google/cloud/spanner_admin_database_v1/gapic/database_admin_client.py +++ b/google/cloud/spanner_admin_database_v1/gapic/database_admin_client.py @@ -232,6 +232,110 @@ def __init__( self._inner_api_calls = {} # Service calls + def list_databases( + self, + parent, + page_size=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Lists Cloud Spanner databases. + + Example: + >>> from google.cloud import spanner_admin_database_v1 + >>> + >>> client = spanner_admin_database_v1.DatabaseAdminClient() + >>> + >>> parent = client.instance_path('[PROJECT]', '[INSTANCE]') + >>> + >>> # Iterate over all results + >>> for element in client.list_databases(parent): + ... # process element + ... pass + >>> + >>> + >>> # Alternatively: + >>> + >>> # Iterate over results one page at a time + >>> for page in client.list_databases(parent).pages: + ... for element in page: + ... # process element + ... pass + + Args: + parent (str): Required. The instance whose databases should be listed. Values are + of the form ``projects//instances/``. + page_size (int): The maximum number of resources contained in the + underlying API response. If page streaming is performed per- + resource, this parameter does not affect the return value. If page + streaming is performed per-page, this determines the maximum number + of resources in a page. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + 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. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.api_core.page_iterator.PageIterator` instance. + An iterable of :class:`~google.cloud.spanner_admin_database_v1.types.Database` instances. + You can also iterate over the pages of the response + using its `pages` property. + + 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. + """ + # Wrap the transport method to add retry and timeout logic. + if "list_databases" not in self._inner_api_calls: + self._inner_api_calls[ + "list_databases" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.list_databases, + default_retry=self._method_configs["ListDatabases"].retry, + default_timeout=self._method_configs["ListDatabases"].timeout, + client_info=self._client_info, + ) + + request = spanner_database_admin_pb2.ListDatabasesRequest( + parent=parent, page_size=page_size + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + iterator = google.api_core.page_iterator.GRPCIterator( + client=None, + method=functools.partial( + self._inner_api_calls["list_databases"], + retry=retry, + timeout=timeout, + metadata=metadata, + ), + request=request, + items_field="databases", + request_token_field="page_token", + response_token_field="next_page_token", + ) + return iterator + def create_database( self, parent, @@ -1817,107 +1921,3 @@ def list_backup_operations( response_token_field="next_page_token", ) return iterator - - def list_databases( - self, - parent, - page_size=None, - retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT, - metadata=None, - ): - """ - Lists Cloud Spanner databases. - - Example: - >>> from google.cloud import spanner_admin_database_v1 - >>> - >>> client = spanner_admin_database_v1.DatabaseAdminClient() - >>> - >>> parent = client.instance_path('[PROJECT]', '[INSTANCE]') - >>> - >>> # Iterate over all results - >>> for element in client.list_databases(parent): - ... # process element - ... pass - >>> - >>> - >>> # Alternatively: - >>> - >>> # Iterate over results one page at a time - >>> for page in client.list_databases(parent).pages: - ... for element in page: - ... # process element - ... pass - - Args: - parent (str): Required. The instance whose databases should be listed. Values are - of the form ``projects//instances/``. - page_size (int): The maximum number of resources contained in the - underlying API response. If page streaming is performed per- - resource, this parameter does not affect the return value. If page - streaming is performed per-page, this determines the maximum number - of resources in a page. - retry (Optional[google.api_core.retry.Retry]): A retry object used - to retry requests. If ``None`` is specified, requests will - be retried using a default configuration. - 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. - metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata - that is provided to the method. - - Returns: - A :class:`~google.api_core.page_iterator.PageIterator` instance. - An iterable of :class:`~google.cloud.spanner_admin_database_v1.types.Database` instances. - You can also iterate over the pages of the response - using its `pages` property. - - 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. - """ - # Wrap the transport method to add retry and timeout logic. - if "list_databases" not in self._inner_api_calls: - self._inner_api_calls[ - "list_databases" - ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.list_databases, - default_retry=self._method_configs["ListDatabases"].retry, - default_timeout=self._method_configs["ListDatabases"].timeout, - client_info=self._client_info, - ) - - request = spanner_database_admin_pb2.ListDatabasesRequest( - parent=parent, page_size=page_size - ) - if metadata is None: - metadata = [] - metadata = list(metadata) - try: - routing_header = [("parent", parent)] - except AttributeError: - pass - else: - routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( - routing_header - ) - metadata.append(routing_metadata) - - iterator = google.api_core.page_iterator.GRPCIterator( - client=None, - method=functools.partial( - self._inner_api_calls["list_databases"], - retry=retry, - timeout=timeout, - metadata=metadata, - ), - request=request, - items_field="databases", - request_token_field="page_token", - response_token_field="next_page_token", - ) - return iterator diff --git a/google/cloud/spanner_admin_database_v1/gapic/database_admin_client_config.py b/google/cloud/spanner_admin_database_v1/gapic/database_admin_client_config.py index d5d61cbae7..ef12ea5496 100644 --- a/google/cloud/spanner_admin_database_v1/gapic/database_admin_client_config.py +++ b/google/cloud/spanner_admin_database_v1/gapic/database_admin_client_config.py @@ -17,13 +17,18 @@ } }, "methods": { + "ListDatabases": { + "timeout_millis": 3600000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, "CreateDatabase": { "timeout_millis": 3600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, "GetDatabase": { - "timeout_millis": 30000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, @@ -38,7 +43,7 @@ "retry_params_name": "default", }, "GetDatabaseDdl": { - "timeout_millis": 30000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, @@ -63,12 +68,12 @@ "retry_params_name": "default", }, "GetBackup": { - "timeout_millis": 600000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, "UpdateBackup": { - "timeout_millis": 600000, + "timeout_millis": 3600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, @@ -78,7 +83,7 @@ "retry_params_name": "default", }, "ListBackups": { - "timeout_millis": 600000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, @@ -88,17 +93,12 @@ "retry_params_name": "default", }, "ListDatabaseOperations": { - "timeout_millis": 600000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, "ListBackupOperations": { - "timeout_millis": 600000, - "retry_codes_name": "idempotent", - "retry_params_name": "default", - }, - "ListDatabases": { - "timeout_millis": 60000, + "timeout_millis": 3600000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, diff --git a/google/cloud/spanner_admin_database_v1/gapic/transports/database_admin_grpc_transport.py b/google/cloud/spanner_admin_database_v1/gapic/transports/database_admin_grpc_transport.py index e6496e2879..66c4fd6e3d 100644 --- a/google/cloud/spanner_admin_database_v1/gapic/transports/database_admin_grpc_transport.py +++ b/google/cloud/spanner_admin_database_v1/gapic/transports/database_admin_grpc_transport.py @@ -120,6 +120,19 @@ def channel(self): """ return self._channel + @property + def list_databases(self): + """Return the gRPC stub for :meth:`DatabaseAdminClient.list_databases`. + + Lists Cloud Spanner databases. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["database_admin_stub"].ListDatabases + @property def create_database(self): """Return the gRPC stub for :meth:`DatabaseAdminClient.create_database`. @@ -395,16 +408,3 @@ def list_backup_operations(self): deserialized response object. """ return self._stubs["database_admin_stub"].ListBackupOperations - - @property - def list_databases(self): - """Return the gRPC stub for :meth:`DatabaseAdminClient.list_databases`. - - Lists Cloud Spanner databases. - - Returns: - Callable: A callable which accepts the appropriate - deserialized request object and returns a - deserialized response object. - """ - return self._stubs["database_admin_stub"].ListDatabases diff --git a/google/cloud/spanner_admin_database_v1/proto/backup.proto b/google/cloud/spanner_admin_database_v1/proto/backup.proto index b883adf34c..e33faddddf 100644 --- a/google/cloud/spanner_admin_database_v1/proto/backup.proto +++ b/google/cloud/spanner_admin_database_v1/proto/backup.proto @@ -30,6 +30,7 @@ option java_multiple_files = true; option java_outer_classname = "BackupProto"; option java_package = "com.google.spanner.admin.database.v1"; option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Database\\V1"; +option ruby_package = "Google::Cloud::Spanner::Admin::Database::V1"; // A backup of a Cloud Spanner database. message Backup { diff --git a/google/cloud/spanner_admin_database_v1/proto/backup_pb2.py b/google/cloud/spanner_admin_database_v1/proto/backup_pb2.py index 2d13e69a87..707412b7da 100644 --- a/google/cloud/spanner_admin_database_v1/proto/backup_pb2.py +++ b/google/cloud/spanner_admin_database_v1/proto/backup_pb2.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/cloud/spanner/admin/database_v1/proto/backup.proto +# source: google/cloud/spanner_admin_database_v1/proto/backup.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 @@ -23,28 +20,25 @@ from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from google.cloud.spanner_admin_database_v1.proto import ( - common_pb2 as google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_common__pb2, + common_pb2 as google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_common__pb2, ) from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 DESCRIPTOR = _descriptor.FileDescriptor( - name="google/cloud/spanner/admin/database_v1/proto/backup.proto", + name="google/cloud/spanner_admin_database_v1/proto/backup.proto", package="google.spanner.admin.database.v1", syntax="proto3", - serialized_options=_b( - "\n$com.google.spanner.admin.database.v1B\013BackupProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1" - ), - serialized_pb=_b( - '\n9google/cloud/spanner/admin/database_v1/proto/backup.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x39google/cloud/spanner/admin/database_v1/proto/common.proto\x1a\x1cgoogle/api/annotations.proto"\xcd\x03\n\x06\x42\x61\x63kup\x12\x36\n\x08\x64\x61tabase\x18\x02 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12/\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x42\n\x05state\x18\x06 \x01(\x0e\x32..google.spanner.admin.database.v1.Backup.StateB\x03\xe0\x41\x03\x12"\n\x15referencing_databases\x18\x07 \x03(\tB\x03\xe0\x41\x03"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:\\\xea\x41Y\n\x1dspanner.googleapis.com/Backup\x12\x38projects/{project}/instances/{instance}/backups/{backup}"\xa5\x01\n\x13\x43reateBackupRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x16\n\tbackup_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12=\n\x06\x62\x61\x63kup\x18\x03 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02"\xae\x01\n\x14\x43reateBackupMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x45\n\x08progress\x18\x03 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"\x8a\x01\n\x13UpdateBackupRequest\x12=\n\x06\x62\x61\x63kup\x18\x01 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"G\n\x10GetBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup"J\n\x13\x44\x65leteBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup"\x84\x01\n\x12ListBackupsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"i\n\x13ListBackupsResponse\x12\x39\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32(.google.spanner.admin.database.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\x8d\x01\n\x1bListBackupOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"j\n\x1cListBackupOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"f\n\nBackupInfo\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fsource_database\x18\x03 \x01(\tB\xd1\x01\n$com.google.spanner.admin.database.v1B\x0b\x42\x61\x63kupProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1b\x06proto3' - ), + serialized_options=b"\n$com.google.spanner.admin.database.v1B\013BackupProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n9google/cloud/spanner_admin_database_v1/proto/backup.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x39google/cloud/spanner_admin_database_v1/proto/common.proto\x1a\x1cgoogle/api/annotations.proto"\xcd\x03\n\x06\x42\x61\x63kup\x12\x36\n\x08\x64\x61tabase\x18\x02 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12/\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x42\n\x05state\x18\x06 \x01(\x0e\x32..google.spanner.admin.database.v1.Backup.StateB\x03\xe0\x41\x03\x12"\n\x15referencing_databases\x18\x07 \x03(\tB\x03\xe0\x41\x03"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:\\\xea\x41Y\n\x1dspanner.googleapis.com/Backup\x12\x38projects/{project}/instances/{instance}/backups/{backup}"\xa5\x01\n\x13\x43reateBackupRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x16\n\tbackup_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12=\n\x06\x62\x61\x63kup\x18\x03 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02"\xae\x01\n\x14\x43reateBackupMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x45\n\x08progress\x18\x03 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"\x8a\x01\n\x13UpdateBackupRequest\x12=\n\x06\x62\x61\x63kup\x18\x01 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"G\n\x10GetBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup"J\n\x13\x44\x65leteBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup"\x84\x01\n\x12ListBackupsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"i\n\x13ListBackupsResponse\x12\x39\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32(.google.spanner.admin.database.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\x8d\x01\n\x1bListBackupOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"j\n\x1cListBackupOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"f\n\nBackupInfo\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fsource_database\x18\x03 \x01(\tB\xff\x01\n$com.google.spanner.admin.database.v1B\x0b\x42\x61\x63kupProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1b\x06proto3', dependencies=[ google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, google_dot_api_dot_resource__pb2.DESCRIPTOR, google_dot_longrunning_dot_operations__pb2.DESCRIPTOR, google_dot_protobuf_dot_field__mask__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, - google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_common__pb2.DESCRIPTOR, + google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_common__pb2.DESCRIPTOR, google_dot_api_dot_annotations__pb2.DESCRIPTOR, ], ) @@ -55,6 +49,7 @@ full_name="google.spanner.admin.database.v1.Backup.State", filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name="STATE_UNSPECIFIED", @@ -62,12 +57,23 @@ number=0, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="CREATING", index=1, number=1, serialized_options=None, type=None + name="CREATING", + index=1, + number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="READY", index=2, number=2, serialized_options=None, type=None + name="READY", + index=2, + number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), ], containing_type=None, @@ -84,6 +90,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="database", @@ -94,14 +101,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\372A!\n\037spanner.googleapis.com/Database"), + serialized_options=b"\372A!\n\037spanner.googleapis.com/Database", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="expire_time", @@ -120,6 +128,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="name", @@ -130,7 +139,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -138,6 +147,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="create_time", @@ -154,8 +164,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="size_bytes", @@ -172,8 +183,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="state", @@ -190,8 +202,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="referencing_databases", @@ -208,16 +221,15 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], nested_types=[], enum_types=[_BACKUP_STATE], - serialized_options=_b( - "\352AY\n\035spanner.googleapis.com/Backup\0228projects/{project}/instances/{instance}/backups/{backup}" - ), + serialized_options=b"\352AY\n\035spanner.googleapis.com/Backup\0228projects/{project}/instances/{instance}/backups/{backup}", is_extendable=False, syntax="proto3", extension_ranges=[], @@ -233,6 +245,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="parent", @@ -243,16 +256,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A!\n\037spanner.googleapis.com/Instance" - ), + serialized_options=b"\340A\002\372A!\n\037spanner.googleapis.com/Instance", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="backup_id", @@ -263,14 +275,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\002"), + serialized_options=b"\340A\002", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="backup", @@ -287,8 +300,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\002"), + serialized_options=b"\340A\002", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -310,6 +324,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="name", @@ -320,7 +335,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -328,6 +343,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="database", @@ -338,7 +354,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -346,6 +362,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="progress", @@ -364,6 +381,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="cancel_time", @@ -382,6 +400,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -403,6 +422,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="backup", @@ -419,8 +439,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\002"), + serialized_options=b"\340A\002", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="update_mask", @@ -437,8 +458,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\002"), + serialized_options=b"\340A\002", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -460,6 +482,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="name", @@ -470,16 +493,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A\037\n\035spanner.googleapis.com/Backup" - ), + serialized_options=b"\340A\002\372A\037\n\035spanner.googleapis.com/Backup", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ) ], extensions=[], @@ -501,6 +523,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="name", @@ -511,16 +534,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A\037\n\035spanner.googleapis.com/Backup" - ), + serialized_options=b"\340A\002\372A\037\n\035spanner.googleapis.com/Backup", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ) ], extensions=[], @@ -542,6 +564,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="parent", @@ -552,16 +575,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A!\n\037spanner.googleapis.com/Instance" - ), + serialized_options=b"\340A\002\372A!\n\037spanner.googleapis.com/Instance", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="filter", @@ -572,7 +594,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -580,6 +602,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="page_size", @@ -598,6 +621,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="page_token", @@ -608,7 +632,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -616,6 +640,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -637,6 +662,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="backups", @@ -655,6 +681,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="next_page_token", @@ -665,7 +692,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -673,6 +700,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -694,6 +722,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="parent", @@ -704,16 +733,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A!\n\037spanner.googleapis.com/Instance" - ), + serialized_options=b"\340A\002\372A!\n\037spanner.googleapis.com/Instance", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="filter", @@ -724,7 +752,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -732,6 +760,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="page_size", @@ -750,6 +779,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="page_token", @@ -760,7 +790,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -768,6 +798,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -789,6 +820,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="operations", @@ -807,6 +839,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="next_page_token", @@ -817,7 +850,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -825,6 +858,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -846,6 +880,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="backup", @@ -856,7 +891,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -864,6 +899,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="create_time", @@ -882,6 +918,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="source_database", @@ -892,7 +929,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -900,6 +937,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -926,7 +964,7 @@ _CREATEBACKUPMETADATA.fields_by_name[ "progress" ].message_type = ( - google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_common__pb2._OPERATIONPROGRESS + google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_common__pb2._OPERATIONPROGRESS ) _CREATEBACKUPMETADATA.fields_by_name[ "cancel_time" @@ -962,11 +1000,10 @@ Backup = _reflection.GeneratedProtocolMessageType( "Backup", (_message.Message,), - dict( - DESCRIPTOR=_BACKUP, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""A backup of a Cloud Spanner database. - + { + "DESCRIPTOR": _BACKUP, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """A backup of a Cloud Spanner database. Attributes: database: @@ -1016,19 +1053,18 @@ the ``READY`` state, the reference to the backup is removed. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.Backup) - ), + }, ) _sym_db.RegisterMessage(Backup) CreateBackupRequest = _reflection.GeneratedProtocolMessageType( "CreateBackupRequest", (_message.Message,), - dict( - DESCRIPTOR=_CREATEBACKUPREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for - [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup]. - + { + "DESCRIPTOR": _CREATEBACKUPREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [CreateBackup][google.spanner.admin.database.v1.Databa + seAdmin.CreateBackup]. Attributes: parent: @@ -1047,19 +1083,18 @@ Required. The backup to create. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.CreateBackupRequest) - ), + }, ) _sym_db.RegisterMessage(CreateBackupRequest) CreateBackupMetadata = _reflection.GeneratedProtocolMessageType( "CreateBackupMetadata", (_message.Message,), - dict( - DESCRIPTOR=_CREATEBACKUPMETADATA, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""Metadata type for the operation returned by - [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup]. - + { + "DESCRIPTOR": _CREATEBACKUPMETADATA, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """Metadata type for the operation returned by [CreateBackup][google.span + ner.admin.database.v1.DatabaseAdmin.CreateBackup]. Attributes: name: @@ -1085,19 +1120,18 @@ corresponding to ``Code.CANCELLED``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.CreateBackupMetadata) - ), + }, ) _sym_db.RegisterMessage(CreateBackupMetadata) UpdateBackupRequest = _reflection.GeneratedProtocolMessageType( "UpdateBackupRequest", (_message.Message,), - dict( - DESCRIPTOR=_UPDATEBACKUPREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for - [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup]. - + { + "DESCRIPTOR": _UPDATEBACKUPREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [UpdateBackup][google.spanner.admin.database.v1.Databa + seAdmin.UpdateBackup]. Attributes: backup: @@ -1114,39 +1148,37 @@ clients that do not know about them. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.UpdateBackupRequest) - ), + }, ) _sym_db.RegisterMessage(UpdateBackupRequest) GetBackupRequest = _reflection.GeneratedProtocolMessageType( "GetBackupRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETBACKUPREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for + { + "DESCRIPTOR": _GETBACKUPREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [GetBackup][google.spanner.admin.database.v1.DatabaseAdmin.GetBackup]. - Attributes: name: Required. Name of the backup. Values are of the form ``projects//instances//backups/``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.GetBackupRequest) - ), + }, ) _sym_db.RegisterMessage(GetBackupRequest) DeleteBackupRequest = _reflection.GeneratedProtocolMessageType( "DeleteBackupRequest", (_message.Message,), - dict( - DESCRIPTOR=_DELETEBACKUPREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for - [DeleteBackup][google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup]. - + { + "DESCRIPTOR": _DELETEBACKUPREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [DeleteBackup][google.spanner.admin.database.v1.Databa + seAdmin.DeleteBackup]. Attributes: name: @@ -1154,19 +1186,18 @@ ``projects//instances//backups/``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.DeleteBackupRequest) - ), + }, ) _sym_db.RegisterMessage(DeleteBackupRequest) ListBackupsRequest = _reflection.GeneratedProtocolMessageType( "ListBackupsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTBACKUPSREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for - [ListBackups][google.spanner.admin.database.v1.DatabaseAdmin.ListBackups]. - + { + "DESCRIPTOR": _LISTBACKUPSREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [ListBackups][google.spanner.admin.database.v1.Databas + eAdmin.ListBackups]. Attributes: parent: @@ -1188,42 +1219,41 @@ multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. - Here are a few examples: - ``name:Howl`` - The backup's name - contains the string "howl". - ``database:prod`` - The - database's name contains the string "prod". - + Here are a few examples: - ``name:Howl`` - The backup’s name + contains the string “howl”. - ``database:prod`` - The + database’s name contains the string “prod”. - ``state:CREATING`` - The backup is pending creation. - ``state:READY`` - The backup is fully created and ready for use. - ``(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")`` - The backup name contains the - string "howl" and ``create_time`` of the backup is before + string “howl” and ``create_time`` of the backup is before 2018-03-28T14:50:00Z. - ``expire_time < \"2018-03-28T14:50:00Z\"`` - The backup ``expire_time`` is before 2018-03-28T14:50:00Z. - ``size_bytes > 10000000000`` - - The backup's size is greater than 10GB + The backup’s size is greater than 10GB page_size: Number of backups to be returned in the response. If 0 or - less, defaults to the server's maximum allowed page size. + less, defaults to the server’s maximum allowed page size. page_token: - If non-empty, ``page_token`` should contain a [next\_page\_tok - en][google.spanner.admin.database.v1.ListBackupsResponse.next\ - _page\_token] from a previous [ListBackupsResponse][google.spa - nner.admin.database.v1.ListBackupsResponse] to the same - ``parent`` and with the same ``filter``. + If non-empty, ``page_token`` should contain a [next_page_token + ][google.spanner.admin.database.v1.ListBackupsResponse.next_pa + ge_token] from a previous [ListBackupsResponse][google.spanner + .admin.database.v1.ListBackupsResponse] to the same ``parent`` + and with the same ``filter``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListBackupsRequest) - ), + }, ) _sym_db.RegisterMessage(ListBackupsRequest) ListBackupsResponse = _reflection.GeneratedProtocolMessageType( "ListBackupsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTBACKUPSRESPONSE, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The response for - [ListBackups][google.spanner.admin.database.v1.DatabaseAdmin.ListBackups]. - + { + "DESCRIPTOR": _LISTBACKUPSRESPONSE, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The response for [ListBackups][google.spanner.admin.database.v1.Databa + seAdmin.ListBackups]. Attributes: backups: @@ -1236,19 +1266,18 @@ call to fetch more of the matching backups. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListBackupsResponse) - ), + }, ) _sym_db.RegisterMessage(ListBackupsResponse) ListBackupOperationsRequest = _reflection.GeneratedProtocolMessageType( "ListBackupOperationsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTBACKUPOPERATIONSREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The request for - [ListBackupOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations]. - + { + "DESCRIPTOR": _LISTBACKUPOPERATIONSREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The request for [ListBackupOperations][google.spanner.admin.database.v + 1.DatabaseAdmin.ListBackupOperations]. Attributes: parent: @@ -1279,46 +1308,45 @@ AND, OR, and NOT logic explicitly. Here are a few examples: - ``done:true`` - The operation is complete. - ``metadata.database:prod`` - The database the backup was taken - from has a name containing the string "prod". - ``(metadat + from has a name containing the string “prod”. - ``(metadat a.@type=type.googleapis.com/google.spanner.admin.database.v1.C reateBackupMetadata) AND`` ``(metadata.name:howl) AND`` ``(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND`` ``(error:*)`` - Returns operations where: - The - operation's metadata type is [CreateBackupMetadata][goog + operation’s metadata type is [CreateBackupMetadata][goog le.spanner.admin.database.v1.CreateBackupMetadata]. - The - backup name contains the string "howl". - The operation + backup name contains the string “howl”. - The operation started before 2018-03-28T14:50:00Z. - The operation resulted in an error. page_size: Number of operations to be returned in the response. If 0 or - less, defaults to the server's maximum allowed page size. + less, defaults to the server’s maximum allowed page size. page_token: - If non-empty, ``page_token`` should contain a [next\_page\_tok - en][google.spanner.admin.database.v1.ListBackupOperationsRespo - nse.next\_page\_token] from a previous [ListBackupOperationsRe - sponse][google.spanner.admin.database.v1.ListBackupOperationsR - esponse] to the same ``parent`` and with the same ``filter``. + If non-empty, ``page_token`` should contain a [next_page_token + ][google.spanner.admin.database.v1.ListBackupOperationsRespons + e.next_page_token] from a previous [ListBackupOperationsRespon + se][google.spanner.admin.database.v1.ListBackupOperationsRespo + nse] to the same ``parent`` and with the same ``filter``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListBackupOperationsRequest) - ), + }, ) _sym_db.RegisterMessage(ListBackupOperationsRequest) ListBackupOperationsResponse = _reflection.GeneratedProtocolMessageType( "ListBackupOperationsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTBACKUPOPERATIONSRESPONSE, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""The response for - [ListBackupOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations]. - + { + "DESCRIPTOR": _LISTBACKUPOPERATIONSRESPONSE, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """The response for [ListBackupOperations][google.spanner.admin.database. + v1.DatabaseAdmin.ListBackupOperations]. Attributes: operations: The list of matching backup [long-running - operations][google.longrunning.Operation]. Each operation's - name will be prefixed by the backup's name and the operation's + operations][google.longrunning.Operation]. Each operation’s + name will be prefixed by the backup’s name and the operation’s [metadata][google.longrunning.Operation.metadata] will be of type [CreateBackupMetadata][google.spanner.admin.database.v1.C reateBackupMetadata]. Operations returned include those that @@ -1332,18 +1360,17 @@ BackupOperations] call to fetch more of the matching metadata. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListBackupOperationsResponse) - ), + }, ) _sym_db.RegisterMessage(ListBackupOperationsResponse) BackupInfo = _reflection.GeneratedProtocolMessageType( "BackupInfo", (_message.Message,), - dict( - DESCRIPTOR=_BACKUPINFO, - __module__="google.cloud.spanner.admin.database_v1.proto.backup_pb2", - __doc__="""Information about a backup. - + { + "DESCRIPTOR": _BACKUPINFO, + "__module__": "google.cloud.spanner_admin_database_v1.proto.backup_pb2", + "__doc__": """Information about a backup. Attributes: backup: @@ -1356,7 +1383,7 @@ Name of the database the backup was created from. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.BackupInfo) - ), + }, ) _sym_db.RegisterMessage(BackupInfo) diff --git a/google/cloud/spanner_admin_database_v1/proto/common.proto b/google/cloud/spanner_admin_database_v1/proto/common.proto index 4914cb8ac7..27ecb0a98b 100644 --- a/google/cloud/spanner_admin_database_v1/proto/common.proto +++ b/google/cloud/spanner_admin_database_v1/proto/common.proto @@ -26,6 +26,7 @@ option java_multiple_files = true; option java_outer_classname = "CommonProto"; option java_package = "com.google.spanner.admin.database.v1"; option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Database\\V1"; +option ruby_package = "Google::Cloud::Spanner::Admin::Database::V1"; // Encapsulates progress related information for a Cloud Spanner long // running operation. diff --git a/google/cloud/spanner_admin_database_v1/proto/common_pb2.py b/google/cloud/spanner_admin_database_v1/proto/common_pb2.py index 3acf791486..b4e89476eb 100644 --- a/google/cloud/spanner_admin_database_v1/proto/common_pb2.py +++ b/google/cloud/spanner_admin_database_v1/proto/common_pb2.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/cloud/spanner/admin/database_v1/proto/common.proto +# source: google/cloud/spanner_admin_database_v1/proto/common.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 @@ -21,15 +18,12 @@ DESCRIPTOR = _descriptor.FileDescriptor( - name="google/cloud/spanner/admin/database_v1/proto/common.proto", + name="google/cloud/spanner_admin_database_v1/proto/common.proto", package="google.spanner.admin.database.v1", syntax="proto3", - serialized_options=_b( - "\n$com.google.spanner.admin.database.v1B\013CommonProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1" - ), - serialized_pb=_b( - '\n9google/cloud/spanner/admin/database_v1/proto/common.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\x8b\x01\n\x11OperationProgress\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xd1\x01\n$com.google.spanner.admin.database.v1B\x0b\x43ommonProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1b\x06proto3' - ), + serialized_options=b"\n$com.google.spanner.admin.database.v1B\013CommonProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n9google/cloud/spanner_admin_database_v1/proto/common.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\x8b\x01\n\x11OperationProgress\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xff\x01\n$com.google.spanner.admin.database.v1B\x0b\x43ommonProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1b\x06proto3', dependencies=[ google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, @@ -44,6 +38,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="progress_percent", @@ -62,6 +57,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="start_time", @@ -80,6 +76,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="end_time", @@ -98,6 +95,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -124,13 +122,12 @@ OperationProgress = _reflection.GeneratedProtocolMessageType( "OperationProgress", (_message.Message,), - dict( - DESCRIPTOR=_OPERATIONPROGRESS, - __module__="google.cloud.spanner.admin.database_v1.proto.common_pb2", - __doc__="""Encapsulates progress related information for a Cloud Spanner long + { + "DESCRIPTOR": _OPERATIONPROGRESS, + "__module__": "google.cloud.spanner_admin_database_v1.proto.common_pb2", + "__doc__": """Encapsulates progress related information for a Cloud Spanner long running operation. - Attributes: progress_percent: Percent completion of the operation. Values are between 0 and @@ -142,7 +139,7 @@ completed successfully. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.OperationProgress) - ), + }, ) _sym_db.RegisterMessage(OperationProgress) diff --git a/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto b/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto index d48adc8aba..e51f178a3a 100644 --- a/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto +++ b/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto @@ -34,6 +34,7 @@ option java_multiple_files = true; option java_outer_classname = "SpannerDatabaseAdminProto"; option java_package = "com.google.spanner.admin.database.v1"; option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Database\\V1"; +option ruby_package = "Google::Cloud::Spanner::Admin::Database::V1"; option (google.api.resource_definition) = { type: "spanner.googleapis.com/Instance" pattern: "projects/{project}/instances/{instance}" diff --git a/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin_pb2.py b/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin_pb2.py index 125ab3f86b..10ada3aa29 100644 --- a/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin_pb2.py +++ b/google/cloud/spanner_admin_database_v1/proto/spanner_database_admin_pb2.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/cloud/spanner/admin/database_v1/proto/spanner_database_admin.proto +# source: google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.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 @@ -28,23 +25,20 @@ 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 from google.cloud.spanner_admin_database_v1.proto import ( - backup_pb2 as google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_backup__pb2, + backup_pb2 as google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_backup__pb2, ) from google.cloud.spanner_admin_database_v1.proto import ( - common_pb2 as google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_common__pb2, + common_pb2 as google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_common__pb2, ) DESCRIPTOR = _descriptor.FileDescriptor( - name="google/cloud/spanner/admin/database_v1/proto/spanner_database_admin.proto", + name="google/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto", package="google.spanner.admin.database.v1", syntax="proto3", - serialized_options=_b( - "\n$com.google.spanner.admin.database.v1B\031SpannerDatabaseAdminProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352AJ\n\037spanner.googleapis.com/Instance\022'projects/{project}/instances/{instance}" - ), - serialized_pb=_b( - '\nIgoogle/cloud/spanner/admin/database_v1/proto/spanner_database_admin.proto\x12 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x39google/cloud/spanner/admin/database_v1/proto/backup.proto\x1a\x39google/cloud/spanner/admin/database_v1/proto/common.proto"\xab\x01\n\x0bRestoreInfo\x12H\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x02 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x42\r\n\x0bsource_info"\x96\x03\n\x08\x44\x61tabase\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x05state\x18\x02 \x01(\x0e\x32\x30.google.spanner.admin.database.v1.Database.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12H\n\x0crestore_info\x18\x04 \x01(\x0b\x32-.google.spanner.admin.database.v1.RestoreInfoB\x03\xe0\x41\x03"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIMIZING\x10\x03:b\xea\x41_\n\x1fspanner.googleapis.com/Database\x12\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\xda\x41\x06parent\x12\xa4\x02\n\x0e\x43reateDatabase\x12\x37.google.spanner.admin.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation"\xb9\x01\x82\xd3\xe4\x93\x02\x32"-/v1/{parent=projects/*/instances/*}/databases:\x01*\xda\x41\x17parent,create_statement\xca\x41\x64\n)google.spanner.admin.database.v1.Database\x12\x37google.spanner.admin.database.v1.CreateDatabaseMetadata\x12\xad\x01\n\x0bGetDatabase\x12\x34.google.spanner.admin.database.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/*}\xda\x41\x04name\x12\x9d\x02\n\x11UpdateDatabaseDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\x1d.google.longrunning.Operation"\xac\x01\x82\xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\x01*\xda\x41\x13\x64\x61tabase,statements\xca\x41S\n\x15google.protobuf.Empty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\x12\xa3\x01\n\x0c\x44ropDatabase\x12\x35.google.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protobuf.Empty"D\x82\xd3\xe4\x93\x02\x33*1/v1/{database=projects/*/instances/*/databases/*}\xda\x41\x08\x64\x61tabase\x12\xcd\x01\n\x0eGetDatabaseDdl\x12\x37.google.spanner.admin.database.v1.GetDatabaseDdlRequest\x1a\x38.google.spanner.admin.database.v1.GetDatabaseDdlResponse"H\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{database=projects/*/instances/*/databases/*}/ddl\xda\x41\x08\x64\x61tabase\x12\xeb\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"\x9f\x01\x82\xd3\xe4\x93\x02\x86\x01">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*ZA".google.spanner.admin.database.v1.ListBackupOperationsResponse"E\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/instances/*}/backupOperations\xda\x41\x06parent\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\xac\x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}b\x06proto3' - ), + serialized_options=b"\n$com.google.spanner.admin.database.v1B\031SpannerDatabaseAdminProtoP\001ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1\352AJ\n\037spanner.googleapis.com/Instance\022'projects/{project}/instances/{instance}", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\nIgoogle/cloud/spanner_admin_database_v1/proto/spanner_database_admin.proto\x12 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x39google/cloud/spanner_admin_database_v1/proto/backup.proto\x1a\x39google/cloud/spanner_admin_database_v1/proto/common.proto"\xab\x01\n\x0bRestoreInfo\x12H\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x02 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x42\r\n\x0bsource_info"\x96\x03\n\x08\x44\x61tabase\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x05state\x18\x02 \x01(\x0e\x32\x30.google.spanner.admin.database.v1.Database.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12H\n\x0crestore_info\x18\x04 \x01(\x0b\x32-.google.spanner.admin.database.v1.RestoreInfoB\x03\xe0\x41\x03"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIMIZING\x10\x03:b\xea\x41_\n\x1fspanner.googleapis.com/Database\x12\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\xda\x41\x06parent\x12\xa4\x02\n\x0e\x43reateDatabase\x12\x37.google.spanner.admin.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation"\xb9\x01\x82\xd3\xe4\x93\x02\x32"-/v1/{parent=projects/*/instances/*}/databases:\x01*\xda\x41\x17parent,create_statement\xca\x41\x64\n)google.spanner.admin.database.v1.Database\x12\x37google.spanner.admin.database.v1.CreateDatabaseMetadata\x12\xad\x01\n\x0bGetDatabase\x12\x34.google.spanner.admin.database.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/*}\xda\x41\x04name\x12\x9d\x02\n\x11UpdateDatabaseDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\x1d.google.longrunning.Operation"\xac\x01\x82\xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\x01*\xda\x41\x13\x64\x61tabase,statements\xca\x41S\n\x15google.protobuf.Empty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\x12\xa3\x01\n\x0c\x44ropDatabase\x12\x35.google.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protobuf.Empty"D\x82\xd3\xe4\x93\x02\x33*1/v1/{database=projects/*/instances/*/databases/*}\xda\x41\x08\x64\x61tabase\x12\xcd\x01\n\x0eGetDatabaseDdl\x12\x37.google.spanner.admin.database.v1.GetDatabaseDdlRequest\x1a\x38.google.spanner.admin.database.v1.GetDatabaseDdlResponse"H\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{database=projects/*/instances/*/databases/*}/ddl\xda\x41\x08\x64\x61tabase\x12\xeb\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"\x9f\x01\x82\xd3\xe4\x93\x02\x86\x01">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*ZA".google.spanner.admin.database.v1.ListBackupOperationsResponse"E\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/instances/*}/backupOperations\xda\x41\x06parent\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\xda\x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProtoP\x01ZHgoogle.golang.org/genproto/googleapis/spanner/admin/database/v1;database\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}b\x06proto3', dependencies=[ google_dot_api_dot_annotations__pb2.DESCRIPTOR, google_dot_api_dot_client__pb2.DESCRIPTOR, @@ -55,8 +49,8 @@ google_dot_longrunning_dot_operations__pb2.DESCRIPTOR, google_dot_protobuf_dot_empty__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, - google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_backup__pb2.DESCRIPTOR, - google_dot_cloud_dot_spanner_dot_admin_dot_database__v1_dot_proto_dot_common__pb2.DESCRIPTOR, + google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_backup__pb2.DESCRIPTOR, + google_dot_cloud_dot_spanner__admin__database__v1_dot_proto_dot_common__pb2.DESCRIPTOR, ], ) @@ -65,6 +59,7 @@ full_name="google.spanner.admin.database.v1.RestoreSourceType", filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name="TYPE_UNSPECIFIED", @@ -72,9 +67,15 @@ number=0, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="BACKUP", index=1, number=1, serialized_options=None, type=None + name="BACKUP", + index=1, + number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), ], containing_type=None, @@ -94,6 +95,7 @@ full_name="google.spanner.admin.database.v1.Database.State", filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name="STATE_UNSPECIFIED", @@ -101,12 +103,23 @@ number=0, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="CREATING", index=1, number=1, serialized_options=None, type=None + name="CREATING", + index=1, + number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="READY", index=2, number=2, serialized_options=None, type=None + name="READY", + index=2, + number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( name="READY_OPTIMIZING", @@ -114,6 +127,7 @@ number=3, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), ], containing_type=None, @@ -130,6 +144,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="source_type", @@ -148,6 +163,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="backup_info", @@ -166,6 +182,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -181,6 +198,7 @@ full_name="google.spanner.admin.database.v1.RestoreInfo.source_info", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -195,6 +213,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="name", @@ -205,14 +224,15 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\002"), + serialized_options=b"\340A\002", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="state", @@ -229,8 +249,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="create_time", @@ -247,8 +268,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="restore_info", @@ -265,16 +287,15 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b("\340A\003"), + serialized_options=b"\340A\003", file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], nested_types=[], enum_types=[_DATABASE_STATE], - serialized_options=_b( - "\352A_\n\037spanner.googleapis.com/Database\022/instances/``. page_size: Number of databases to be returned in the response. If 0 or - less, defaults to the server's maximum allowed page size. + less, defaults to the server’s maximum allowed page size. page_token: If non-empty, ``page_token`` should contain a [next\_page\_tok en][google.spanner.admin.database.v1.ListDatabasesResponse.nex @@ -1440,19 +1495,18 @@ .spanner.admin.database.v1.ListDatabasesResponse]. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListDatabasesRequest) - ), + }, ) _sym_db.RegisterMessage(ListDatabasesRequest) ListDatabasesResponse = _reflection.GeneratedProtocolMessageType( "ListDatabasesResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTDATABASESRESPONSE, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The response for - [ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases]. - + { + "DESCRIPTOR": _LISTDATABASESRESPONSE, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The response for [ListDatabases][google.spanner.admin.database.v1.Data + baseAdmin.ListDatabases]. Attributes: databases: @@ -1463,19 +1517,18 @@ es] call to fetch more of the matching databases. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListDatabasesResponse) - ), + }, ) _sym_db.RegisterMessage(ListDatabasesResponse) CreateDatabaseRequest = _reflection.GeneratedProtocolMessageType( "CreateDatabaseRequest", (_message.Message,), - dict( - DESCRIPTOR=_CREATEDATABASEREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [CreateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase]. - + { + "DESCRIPTOR": _CREATEDATABASEREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [CreateDatabase][google.spanner.admin.database.v1.Data + baseAdmin.CreateDatabase]. Attributes: parent: @@ -1488,7 +1541,7 @@ regular expression ``[a-z][a-z0-9_\-]*[a-z0-9]`` and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must - be enclosed in backticks (`````). + be enclosed in backticks (:literal:`\``). extra_statements: Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. @@ -1497,38 +1550,36 @@ is not created. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.CreateDatabaseRequest) - ), + }, ) _sym_db.RegisterMessage(CreateDatabaseRequest) CreateDatabaseMetadata = _reflection.GeneratedProtocolMessageType( "CreateDatabaseMetadata", (_message.Message,), - dict( - DESCRIPTOR=_CREATEDATABASEMETADATA, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""Metadata type for the operation returned by - [CreateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase]. - + { + "DESCRIPTOR": _CREATEDATABASEMETADATA, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """Metadata type for the operation returned by [CreateDatabase][google.sp + anner.admin.database.v1.DatabaseAdmin.CreateDatabase]. Attributes: database: The database being created. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.CreateDatabaseMetadata) - ), + }, ) _sym_db.RegisterMessage(CreateDatabaseMetadata) GetDatabaseRequest = _reflection.GeneratedProtocolMessageType( "GetDatabaseRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETDATABASEREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [GetDatabase][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase]. - + { + "DESCRIPTOR": _GETDATABASEREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [GetDatabase][google.spanner.admin.database.v1.Databas + eAdmin.GetDatabase]. Attributes: name: @@ -1537,33 +1588,30 @@ database>``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.GetDatabaseRequest) - ), + }, ) _sym_db.RegisterMessage(GetDatabaseRequest) UpdateDatabaseDdlRequest = _reflection.GeneratedProtocolMessageType( "UpdateDatabaseDdlRequest", (_message.Message,), - dict( - DESCRIPTOR=_UPDATEDATABASEDDLREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""Enqueues the given DDL statements to be applied, in order - but not necessarily all at once, to the database schema at some point - (or points) in the future. The server checks that the statements are + { + "DESCRIPTOR": _UPDATEDATABASEDDLREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """Enqueues the given DDL statements to be applied, in order but not + necessarily all at once, to the database schema at some point (or + points) in the future. The server checks that the statements are executable (syntactically valid, name tables that exist, etc.) before - enqueueing them, but they may still fail upon later execution (e.g., if - a statement from another batch of statements is applied first and it - conflicts in some way, or if there is some data-related problem like a - ``NULL`` value in a column to which ``NOT NULL`` would be added). If a - statement fails, all subsequent statements in the batch are - automatically cancelled. - - Each batch of statements is assigned a name which can be used with the - [Operations][google.longrunning.Operations] API to monitor progress. See - the - [operation\_id][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.operation\_id] - field for more details. - + enqueueing them, but they may still fail upon later execution (e.g., + if a statement from another batch of statements is applied first and + it conflicts in some way, or if there is some data-related problem + like a ``NULL`` value in a column to which ``NOT NULL`` would be + added). If a statement fails, all subsequent statements in the batch + are automatically cancelled. Each batch of statements is assigned a + name which can be used with the + [Operations][google.longrunning.Operations] API to monitor progress. + See the [operation_id][google.spanner.admin.database.v1.UpdateDatabase + DdlRequest.operation_id] field for more details. Attributes: database: @@ -1593,19 +1641,18 @@ returns ``ALREADY_EXISTS``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.UpdateDatabaseDdlRequest) - ), + }, ) _sym_db.RegisterMessage(UpdateDatabaseDdlRequest) UpdateDatabaseDdlMetadata = _reflection.GeneratedProtocolMessageType( "UpdateDatabaseDdlMetadata", (_message.Message,), - dict( - DESCRIPTOR=_UPDATEDATABASEDDLMETADATA, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""Metadata type for the operation returned by - [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]. - + { + "DESCRIPTOR": _UPDATEDATABASEDDLMETADATA, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """Metadata type for the operation returned by [UpdateDatabaseDdl][google + .spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]. Attributes: database: @@ -1619,57 +1666,54 @@ timestamp for the statement ``statements[i]``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata) - ), + }, ) _sym_db.RegisterMessage(UpdateDatabaseDdlMetadata) DropDatabaseRequest = _reflection.GeneratedProtocolMessageType( "DropDatabaseRequest", (_message.Message,), - dict( - DESCRIPTOR=_DROPDATABASEREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [DropDatabase][google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase]. - + { + "DESCRIPTOR": _DROPDATABASEREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [DropDatabase][google.spanner.admin.database.v1.Databa + seAdmin.DropDatabase]. Attributes: database: Required. The database to be dropped. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.DropDatabaseRequest) - ), + }, ) _sym_db.RegisterMessage(DropDatabaseRequest) GetDatabaseDdlRequest = _reflection.GeneratedProtocolMessageType( "GetDatabaseDdlRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETDATABASEDDLREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [GetDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl]. - + { + "DESCRIPTOR": _GETDATABASEDDLREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [GetDatabaseDdl][google.spanner.admin.database.v1.Data + baseAdmin.GetDatabaseDdl]. Attributes: database: Required. The database whose schema we wish to get. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.GetDatabaseDdlRequest) - ), + }, ) _sym_db.RegisterMessage(GetDatabaseDdlRequest) GetDatabaseDdlResponse = _reflection.GeneratedProtocolMessageType( "GetDatabaseDdlResponse", (_message.Message,), - dict( - DESCRIPTOR=_GETDATABASEDDLRESPONSE, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The response for - [GetDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl]. - + { + "DESCRIPTOR": _GETDATABASEDDLRESPONSE, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The response for [GetDatabaseDdl][google.spanner.admin.database.v1.Dat + abaseAdmin.GetDatabaseDdl]. Attributes: statements: @@ -1677,19 +1721,18 @@ database specified in the request. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.GetDatabaseDdlResponse) - ), + }, ) _sym_db.RegisterMessage(GetDatabaseDdlResponse) ListDatabaseOperationsRequest = _reflection.GeneratedProtocolMessageType( "ListDatabaseOperationsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTDATABASEOPERATIONSREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations]. - + { + "DESCRIPTOR": _LISTDATABASEOPERATIONSREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [ListDatabaseOperations][google.spanner.admin.database + .v1.DatabaseAdmin.ListDatabaseOperations]. Attributes: parent: @@ -1726,16 +1769,16 @@ ``(metadata.name:restored_howl) AND`` ``(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND`` ``(error:*)`` - Return operations where: - The - operation's metadata type is [RestoreDatabaseMetadata][g + operation’s metadata type is [RestoreDatabaseMetadata][g oogle.spanner.admin.database.v1.RestoreDatabaseMetadata]. - The database is restored from a backup. - The backup name - contains "backup\_howl". - The restored database's name - contains "restored\_howl". - The operation started before + contains “backup_howl”. - The restored database’s name + contains “restored_howl”. - The operation started before 2018-03-28T14:50:00Z. - The operation resulted in an error. page_size: Number of operations to be returned in the response. If 0 or - less, defaults to the server's maximum allowed page size. + less, defaults to the server’s maximum allowed page size. page_token: If non-empty, ``page_token`` should contain a [next\_page\_tok en][google.spanner.admin.database.v1.ListDatabaseOperationsRes @@ -1745,25 +1788,24 @@ ``filter``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListDatabaseOperationsRequest) - ), + }, ) _sym_db.RegisterMessage(ListDatabaseOperationsRequest) ListDatabaseOperationsResponse = _reflection.GeneratedProtocolMessageType( "ListDatabaseOperationsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTDATABASEOPERATIONSRESPONSE, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The response for - [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations]. - + { + "DESCRIPTOR": _LISTDATABASEOPERATIONSRESPONSE, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The response for [ListDatabaseOperations][google.spanner.admin.databas + e.v1.DatabaseAdmin.ListDatabaseOperations]. Attributes: operations: The list of matching database [long-running - operations][google.longrunning.Operation]. Each operation's - name will be prefixed by the database's name. The operation's + operations][google.longrunning.Operation]. Each operation’s + name will be prefixed by the database’s name. The operation’s [metadata][google.longrunning.Operation.metadata] field type ``metadata.type_url`` describes the type of the metadata. next_page_token: @@ -1773,19 +1815,18 @@ metadata. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.ListDatabaseOperationsResponse) - ), + }, ) _sym_db.RegisterMessage(ListDatabaseOperationsResponse) RestoreDatabaseRequest = _reflection.GeneratedProtocolMessageType( "RestoreDatabaseRequest", (_message.Message,), - dict( - DESCRIPTOR=_RESTOREDATABASEREQUEST, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""The request for - [RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]. - + { + "DESCRIPTOR": _RESTOREDATABASEREQUEST, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """The request for [RestoreDatabase][google.spanner.admin.database.v1.Dat + abaseAdmin.RestoreDatabase]. Attributes: parent: @@ -1808,19 +1849,18 @@ ``projects//instances//backups/``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.RestoreDatabaseRequest) - ), + }, ) _sym_db.RegisterMessage(RestoreDatabaseRequest) RestoreDatabaseMetadata = _reflection.GeneratedProtocolMessageType( "RestoreDatabaseMetadata", (_message.Message,), - dict( - DESCRIPTOR=_RESTOREDATABASEMETADATA, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""Metadata type for the long-running operation returned by - [RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]. - + { + "DESCRIPTOR": _RESTOREDATABASEMETADATA, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """Metadata type for the long-running operation returned by [RestoreDatab + ase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]. Attributes: name: @@ -1866,23 +1906,22 @@ the restore was not successful. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.RestoreDatabaseMetadata) - ), + }, ) _sym_db.RegisterMessage(RestoreDatabaseMetadata) OptimizeRestoredDatabaseMetadata = _reflection.GeneratedProtocolMessageType( "OptimizeRestoredDatabaseMetadata", (_message.Message,), - dict( - DESCRIPTOR=_OPTIMIZERESTOREDDATABASEMETADATA, - __module__="google.cloud.spanner.admin.database_v1.proto.spanner_database_admin_pb2", - __doc__="""Metadata type for the long-running operation used to track - the progress of optimizations performed on a newly restored database. - This long-running operation is automatically created by the system after + { + "DESCRIPTOR": _OPTIMIZERESTOREDDATABASEMETADATA, + "__module__": "google.cloud.spanner_admin_database_v1.proto.spanner_database_admin_pb2", + "__doc__": """Metadata type for the long-running operation used to track the + progress of optimizations performed on a newly restored database. This + long-running operation is automatically created by the system after the successful completion of a database restore, and cannot be cancelled. - Attributes: name: Name of the restored database being optimized. @@ -1890,7 +1929,7 @@ The progress of the post-restore optimizations. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata) - ), + }, ) _sym_db.RegisterMessage(OptimizeRestoredDatabaseMetadata) @@ -1922,9 +1961,8 @@ full_name="google.spanner.admin.database.v1.DatabaseAdmin", file=DESCRIPTOR, index=0, - serialized_options=_b( - "\312A\026spanner.googleapis.com\322A\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.admin" - ), + serialized_options=b"\312A\026spanner.googleapis.com\322A\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.admin", + create_key=_descriptor._internal_create_key, serialized_start=3100, serialized_end=7054, methods=[ @@ -1935,9 +1973,8 @@ containing_service=None, input_type=_LISTDATABASESREQUEST, output_type=_LISTDATABASESRESPONSE, - serialized_options=_b( - "\202\323\344\223\002/\022-/v1/{parent=projects/*/instances/*}/databases\332A\006parent" - ), + serialized_options=b"\202\323\344\223\002/\022-/v1/{parent=projects/*/instances/*}/databases\332A\006parent", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="CreateDatabase", @@ -1946,9 +1983,8 @@ containing_service=None, input_type=_CREATEDATABASEREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, - serialized_options=_b( - '\202\323\344\223\0022"-/v1/{parent=projects/*/instances/*}/databases:\001*\332A\027parent,create_statement\312Ad\n)google.spanner.admin.database.v1.Database\0227google.spanner.admin.database.v1.CreateDatabaseMetadata' - ), + serialized_options=b'\202\323\344\223\0022"-/v1/{parent=projects/*/instances/*}/databases:\001*\332A\027parent,create_statement\312Ad\n)google.spanner.admin.database.v1.Database\0227google.spanner.admin.database.v1.CreateDatabaseMetadata', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetDatabase", @@ -1957,9 +1993,8 @@ containing_service=None, input_type=_GETDATABASEREQUEST, output_type=_DATABASE, - serialized_options=_b( - "\202\323\344\223\002/\022-/v1/{name=projects/*/instances/*/databases/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002/\022-/v1/{name=projects/*/instances/*/databases/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="UpdateDatabaseDdl", @@ -1968,9 +2003,8 @@ containing_service=None, input_type=_UPDATEDATABASEDDLREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, - serialized_options=_b( - "\202\323\344\223\002:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\001*\332A\023database,statements\312AS\n\025google.protobuf.Empty\022:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata" - ), + serialized_options=b"\202\323\344\223\002:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\001*\332A\023database,statements\312AS\n\025google.protobuf.Empty\022:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="DropDatabase", @@ -1979,9 +2013,8 @@ containing_service=None, input_type=_DROPDATABASEREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - serialized_options=_b( - "\202\323\344\223\0023*1/v1/{database=projects/*/instances/*/databases/*}\332A\010database" - ), + serialized_options=b"\202\323\344\223\0023*1/v1/{database=projects/*/instances/*/databases/*}\332A\010database", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetDatabaseDdl", @@ -1990,9 +2023,8 @@ containing_service=None, input_type=_GETDATABASEDDLREQUEST, output_type=_GETDATABASEDDLRESPONSE, - serialized_options=_b( - "\202\323\344\223\0027\0225/v1/{database=projects/*/instances/*/databases/*}/ddl\332A\010database" - ), + serialized_options=b"\202\323\344\223\0027\0225/v1/{database=projects/*/instances/*/databases/*}/ddl\332A\010database", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="SetIamPolicy", @@ -2001,9 +2033,8 @@ containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._SETIAMPOLICYREQUEST, output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, - serialized_options=_b( - '\202\323\344\223\002\206\001">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\001*ZA"/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\001*ZA"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\001*ZA"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\001*ZA"`__ for more details. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ReplicaInfo) - ), + }, ) _sym_db.RegisterMessage(ReplicaInfo) InstanceConfig = _reflection.GeneratedProtocolMessageType( "InstanceConfig", (_message.Message,), - dict( - DESCRIPTOR=_INSTANCECONFIG, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""A possible configuration for a Cloud Spanner instance. - Configurations define the geographic placement of nodes and their - replication. - + { + "DESCRIPTOR": _INSTANCECONFIG, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """A possible configuration for a Cloud Spanner instance. Configurations + define the geographic placement of nodes and their replication. Attributes: name: @@ -1321,28 +1384,27 @@ configuration and their replication properties. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.InstanceConfig) - ), + }, ) _sym_db.RegisterMessage(InstanceConfig) Instance = _reflection.GeneratedProtocolMessageType( "Instance", (_message.Message,), - dict( - LabelsEntry=_reflection.GeneratedProtocolMessageType( + { + "LabelsEntry": _reflection.GeneratedProtocolMessageType( "LabelsEntry", (_message.Message,), - dict( - DESCRIPTOR=_INSTANCE_LABELSENTRY, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2" + { + "DESCRIPTOR": _INSTANCE_LABELSENTRY, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2" # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.Instance.LabelsEntry) - ), + }, ), - DESCRIPTOR=_INSTANCE, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""An isolated set of Cloud Spanner resources on which - databases can be hosted. - + "DESCRIPTOR": _INSTANCE, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """An isolated set of Cloud Spanner resources on which databases can be + hosted. Attributes: name: @@ -1352,7 +1414,7 @@ The final segment of the name must be between 2 and 64 characters in length. config: - Required. The name of the instance's configuration. Values are + Required. The name of the instance’s configuration. Values are of the form ``projects//instanceConfigs/``. See also [InstanceConfig][google.spanner.admin.instance.v1.Instanc @@ -1378,11 +1440,11 @@ labels: Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a - customer's organizational needs and deployment strategies. + customer’s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy - management rules (e.g. route, firewall, load balancing, etc.). + management rules (e.g. route, firewall, load balancing, etc.). - Label keys must be between 1 and 63 characters long and must conform to the following regular expression: ``[a-z]([-a-z0-9]*[a-z0-9])?``. - Label values must be @@ -1393,15 +1455,15 @@ of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label - representation, such as JSON, which doesn't rely upon specific + representation, such as JSON, which doesn’t rely upon specific characters being disallowed. For example, representing labels - as the string: name + "*" + value would prove problematic if - we were to allow "*" in a future release. + as the string: name + “*" + value would prove problematic if + we were to allow "*” in a future release. endpoint_uris: Deprecated. This field is not populated. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.Instance) - ), + }, ) _sym_db.RegisterMessage(Instance) _sym_db.RegisterMessage(Instance.LabelsEntry) @@ -1409,12 +1471,11 @@ ListInstanceConfigsRequest = _reflection.GeneratedProtocolMessageType( "ListInstanceConfigsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTINSTANCECONFIGSREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. - + { + "DESCRIPTOR": _LISTINSTANCECONFIGSREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [ListInstanceConfigs][google.spanner.admin.instance.v1 + .InstanceAdmin.ListInstanceConfigs]. Attributes: parent: @@ -1423,7 +1484,7 @@ the form ``projects/``. page_size: Number of instance configurations to be returned in the - response. If 0 or less, defaults to the server's maximum + response. If 0 or less, defaults to the server’s maximum allowed page size. page_token: If non-empty, ``page_token`` should contain a [next\_page\_tok @@ -1433,19 +1494,18 @@ onse]. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstanceConfigsRequest) - ), + }, ) _sym_db.RegisterMessage(ListInstanceConfigsRequest) ListInstanceConfigsResponse = _reflection.GeneratedProtocolMessageType( "ListInstanceConfigsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTINSTANCECONFIGSRESPONSE, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The response for - [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. - + { + "DESCRIPTOR": _LISTINSTANCECONFIGSRESPONSE, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The response for [ListInstanceConfigs][google.spanner.admin.instance.v + 1.InstanceAdmin.ListInstanceConfigs]. Attributes: instance_configs: @@ -1457,19 +1517,18 @@ configurations. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstanceConfigsResponse) - ), + }, ) _sym_db.RegisterMessage(ListInstanceConfigsResponse) GetInstanceConfigRequest = _reflection.GeneratedProtocolMessageType( "GetInstanceConfigRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETINSTANCECONFIGREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [GetInstanceConfigRequest][google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig]. - + { + "DESCRIPTOR": _GETINSTANCECONFIGREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [GetInstanceConfigRequest][google.spanner.admin.instan + ce.v1.InstanceAdmin.GetInstanceConfig]. Attributes: name: @@ -1478,19 +1537,18 @@ ``projects//instanceConfigs/``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.GetInstanceConfigRequest) - ), + }, ) _sym_db.RegisterMessage(GetInstanceConfigRequest) GetInstanceRequest = _reflection.GeneratedProtocolMessageType( "GetInstanceRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETINSTANCEREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance]. - + { + "DESCRIPTOR": _GETINSTANCEREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [GetInstance][google.spanner.admin.instance.v1.Instanc + eAdmin.GetInstance]. Attributes: name: @@ -1504,19 +1562,18 @@ are returned. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.GetInstanceRequest) - ), + }, ) _sym_db.RegisterMessage(GetInstanceRequest) CreateInstanceRequest = _reflection.GeneratedProtocolMessageType( "CreateInstanceRequest", (_message.Message,), - dict( - DESCRIPTOR=_CREATEINSTANCEREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]. - + { + "DESCRIPTOR": _CREATEINSTANCEREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [CreateInstance][google.spanner.admin.instance.v1.Inst + anceAdmin.CreateInstance]. Attributes: parent: @@ -1531,19 +1588,18 @@ if specified must be ``/instances/``. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.CreateInstanceRequest) - ), + }, ) _sym_db.RegisterMessage(CreateInstanceRequest) ListInstancesRequest = _reflection.GeneratedProtocolMessageType( "ListInstancesRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTINSTANCESREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. - + { + "DESCRIPTOR": _LISTINSTANCESREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [ListInstances][google.spanner.admin.instance.v1.Insta + nceAdmin.ListInstances]. Attributes: parent: @@ -1552,7 +1608,7 @@ ``projects/``. page_size: Number of instances to be returned in the response. If 0 or - less, defaults to the server's maximum allowed page size. + less, defaults to the server’s maximum allowed page size. page_token: If non-empty, ``page_token`` should contain a [next\_page\_tok en][google.spanner.admin.instance.v1.ListInstancesResponse.nex @@ -1563,30 +1619,29 @@ rules are case insensitive. The fields eligible for filtering are: - ``name`` - ``display_name`` - ``labels.key`` where key is the name of a label Some examples of using filters - are: - ``name:*`` --> The instance has a name. - - ``name:Howl`` --> The instance's name contains the string - "howl". - ``name:HOWL`` --> Equivalent to above. - - ``NAME:howl`` --> Equivalent to above. - ``labels.env:*`` --> - The instance has the label "env". - ``labels.env:dev`` --> - The instance has the label "env" and the value of the label - contains the string "dev". - ``name:howl labels.env:dev`` --> - The instance's name contains "howl" and it has the label - "env" with its value containing "dev". + are: - ``name:*`` –> The instance has a name. - + ``name:Howl`` –> The instance’s name contains the string + “howl”. - ``name:HOWL`` –> Equivalent to above. - + ``NAME:howl`` –> Equivalent to above. - ``labels.env:*`` –> + The instance has the label “env”. - ``labels.env:dev`` –> The + instance has the label “env” and the value of the label + contains the string “dev”. - ``name:howl labels.env:dev`` –> + The instance’s name contains “howl” and it has the label + “env” with its value containing “dev”. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstancesRequest) - ), + }, ) _sym_db.RegisterMessage(ListInstancesRequest) ListInstancesResponse = _reflection.GeneratedProtocolMessageType( "ListInstancesResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTINSTANCESRESPONSE, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The response for - [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. - + { + "DESCRIPTOR": _LISTINSTANCESRESPONSE, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The response for [ListInstances][google.spanner.admin.instance.v1.Inst + anceAdmin.ListInstances]. Attributes: instances: @@ -1597,19 +1652,18 @@ es] call to fetch more of the matching instances. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstancesResponse) - ), + }, ) _sym_db.RegisterMessage(ListInstancesResponse) UpdateInstanceRequest = _reflection.GeneratedProtocolMessageType( "UpdateInstanceRequest", (_message.Message,), - dict( - DESCRIPTOR=_UPDATEINSTANCEREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]. - + { + "DESCRIPTOR": _UPDATEINSTANCEREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [UpdateInstance][google.spanner.admin.instance.v1.Inst + anceAdmin.UpdateInstance]. Attributes: instance: @@ -1627,19 +1681,18 @@ them. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.UpdateInstanceRequest) - ), + }, ) _sym_db.RegisterMessage(UpdateInstanceRequest) DeleteInstanceRequest = _reflection.GeneratedProtocolMessageType( "DeleteInstanceRequest", (_message.Message,), - dict( - DESCRIPTOR=_DELETEINSTANCEREQUEST, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""The request for - [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance]. - + { + "DESCRIPTOR": _DELETEINSTANCEREQUEST, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """The request for [DeleteInstance][google.spanner.admin.instance.v1.Inst + anceAdmin.DeleteInstance]. Attributes: name: @@ -1647,19 +1700,18 @@ of the form ``projects//instances/`` """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.DeleteInstanceRequest) - ), + }, ) _sym_db.RegisterMessage(DeleteInstanceRequest) CreateInstanceMetadata = _reflection.GeneratedProtocolMessageType( "CreateInstanceMetadata", (_message.Message,), - dict( - DESCRIPTOR=_CREATEINSTANCEMETADATA, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""Metadata type for the operation returned by - [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]. - + { + "DESCRIPTOR": _CREATEINSTANCEMETADATA, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """Metadata type for the operation returned by [CreateInstance][google.sp + anner.admin.instance.v1.InstanceAdmin.CreateInstance]. Attributes: instance: @@ -1676,19 +1728,18 @@ successfully. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.CreateInstanceMetadata) - ), + }, ) _sym_db.RegisterMessage(CreateInstanceMetadata) UpdateInstanceMetadata = _reflection.GeneratedProtocolMessageType( "UpdateInstanceMetadata", (_message.Message,), - dict( - DESCRIPTOR=_UPDATEINSTANCEMETADATA, - __module__="google.cloud.spanner.admin.instance_v1.proto.spanner_instance_admin_pb2", - __doc__="""Metadata type for the operation returned by - [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]. - + { + "DESCRIPTOR": _UPDATEINSTANCEMETADATA, + "__module__": "google.cloud.spanner_admin_instance_v1.proto.spanner_instance_admin_pb2", + "__doc__": """Metadata type for the operation returned by [UpdateInstance][google.sp + anner.admin.instance.v1.InstanceAdmin.UpdateInstance]. Attributes: instance: @@ -1705,7 +1756,7 @@ successfully. """, # @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.UpdateInstanceMetadata) - ), + }, ) _sym_db.RegisterMessage(UpdateInstanceMetadata) @@ -1731,9 +1782,8 @@ full_name="google.spanner.admin.instance.v1.InstanceAdmin", file=DESCRIPTOR, index=0, - serialized_options=_b( - "\312A\026spanner.googleapis.com\322A\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.admin" - ), + serialized_options=b"\312A\026spanner.googleapis.com\322A\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.admin", + create_key=_descriptor._internal_create_key, serialized_start=2957, serialized_end=5068, methods=[ @@ -1744,9 +1794,8 @@ containing_service=None, input_type=_LISTINSTANCECONFIGSREQUEST, output_type=_LISTINSTANCECONFIGSRESPONSE, - serialized_options=_b( - "\202\323\344\223\002)\022'/v1/{parent=projects/*}/instanceConfigs\332A\006parent" - ), + serialized_options=b"\202\323\344\223\002)\022'/v1/{parent=projects/*}/instanceConfigs\332A\006parent", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetInstanceConfig", @@ -1755,9 +1804,8 @@ containing_service=None, input_type=_GETINSTANCECONFIGREQUEST, output_type=_INSTANCECONFIG, - serialized_options=_b( - "\202\323\344\223\002)\022'/v1/{name=projects/*/instanceConfigs/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002)\022'/v1/{name=projects/*/instanceConfigs/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="ListInstances", @@ -1766,9 +1814,8 @@ containing_service=None, input_type=_LISTINSTANCESREQUEST, output_type=_LISTINSTANCESRESPONSE, - serialized_options=_b( - "\202\323\344\223\002#\022!/v1/{parent=projects/*}/instances\332A\006parent" - ), + serialized_options=b"\202\323\344\223\002#\022!/v1/{parent=projects/*}/instances\332A\006parent", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetInstance", @@ -1777,9 +1824,8 @@ containing_service=None, input_type=_GETINSTANCEREQUEST, output_type=_INSTANCE, - serialized_options=_b( - "\202\323\344\223\002#\022!/v1/{name=projects/*/instances/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002#\022!/v1/{name=projects/*/instances/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="CreateInstance", @@ -1788,9 +1834,8 @@ containing_service=None, input_type=_CREATEINSTANCEREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, - serialized_options=_b( - '\202\323\344\223\002&"!/v1/{parent=projects/*}/instances:\001*\332A\033parent,instance_id,instance\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.CreateInstanceMetadata' - ), + serialized_options=b'\202\323\344\223\002&"!/v1/{parent=projects/*}/instances:\001*\332A\033parent,instance_id,instance\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.CreateInstanceMetadata', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="UpdateInstance", @@ -1799,9 +1844,8 @@ containing_service=None, input_type=_UPDATEINSTANCEREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, - serialized_options=_b( - "\202\323\344\223\002/2*/v1/{instance.name=projects/*/instances/*}:\001*\332A\023instance,field_mask\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.UpdateInstanceMetadata" - ), + serialized_options=b"\202\323\344\223\002/2*/v1/{instance.name=projects/*/instances/*}:\001*\332A\023instance,field_mask\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.UpdateInstanceMetadata", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="DeleteInstance", @@ -1810,9 +1854,8 @@ containing_service=None, input_type=_DELETEINSTANCEREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - serialized_options=_b( - "\202\323\344\223\002#*!/v1/{name=projects/*/instances/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002#*!/v1/{name=projects/*/instances/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="SetIamPolicy", @@ -1821,9 +1864,8 @@ containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._SETIAMPOLICYREQUEST, output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, - serialized_options=_b( - '\202\323\344\223\0027"2/v1/{resource=projects/*/instances/*}:setIamPolicy:\001*\332A\017resource,policy' - ), + serialized_options=b'\202\323\344\223\0027"2/v1/{resource=projects/*/instances/*}:setIamPolicy:\001*\332A\017resource,policy', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetIamPolicy", @@ -1832,9 +1874,8 @@ containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._GETIAMPOLICYREQUEST, output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, - serialized_options=_b( - '\202\323\344\223\0027"2/v1/{resource=projects/*/instances/*}:getIamPolicy:\001*\332A\010resource' - ), + serialized_options=b'\202\323\344\223\0027"2/v1/{resource=projects/*/instances/*}:getIamPolicy:\001*\332A\010resource', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="TestIamPermissions", @@ -1843,9 +1884,8 @@ containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSREQUEST, output_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSRESPONSE, - serialized_options=_b( - '\202\323\344\223\002="8/v1/{resource=projects/*/instances/*}:testIamPermissions:\001*\332A\024resource,permissions' - ), + serialized_options=b'\202\323\344\223\002="8/v1/{resource=projects/*/instances/*}:testIamPermissions:\001*\332A\024resource,permissions', + create_key=_descriptor._internal_create_key, ), ], ) diff --git a/google/cloud/spanner_admin_instance_v1/proto/spanner_instance_admin_pb2_grpc.py b/google/cloud/spanner_admin_instance_v1/proto/spanner_instance_admin_pb2_grpc.py index b7276a9f92..3ee5c19c02 100644 --- a/google/cloud/spanner_admin_instance_v1/proto/spanner_instance_admin_pb2_grpc.py +++ b/google/cloud/spanner_admin_instance_v1/proto/spanner_instance_admin_pb2_grpc.py @@ -2,7 +2,7 @@ import grpc from google.cloud.spanner_admin_instance_v1.proto import ( - spanner_instance_admin_pb2 as google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2, + spanner_instance_admin_pb2 as google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2, ) from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 @@ -44,37 +44,37 @@ def __init__(self, channel): """ self.ListInstanceConfigs = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigs", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.SerializeToString, - response_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.FromString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.FromString, ) self.GetInstanceConfig = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/GetInstanceConfig", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.SerializeToString, - response_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.InstanceConfig.FromString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.InstanceConfig.FromString, ) self.ListInstances = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/ListInstances", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesRequest.SerializeToString, - response_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesResponse.FromString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesResponse.FromString, ) self.GetInstance = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/GetInstance", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceRequest.SerializeToString, - response_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.Instance.FromString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.Instance.FromString, ) self.CreateInstance = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstance", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.CreateInstanceRequest.SerializeToString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.CreateInstanceRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, ) self.UpdateInstance = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstance", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.SerializeToString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, ) self.DeleteInstance = channel.unary_unary( "/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstance", - request_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.SerializeToString, + request_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.SetIamPolicy = channel.unary_unary( @@ -288,37 +288,37 @@ def add_InstanceAdminServicer_to_server(servicer, server): rpc_method_handlers = { "ListInstanceConfigs": grpc.unary_unary_rpc_method_handler( servicer.ListInstanceConfigs, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.FromString, - response_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.SerializeToString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.FromString, + response_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.SerializeToString, ), "GetInstanceConfig": grpc.unary_unary_rpc_method_handler( servicer.GetInstanceConfig, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.FromString, - response_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.InstanceConfig.SerializeToString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.FromString, + response_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.InstanceConfig.SerializeToString, ), "ListInstances": grpc.unary_unary_rpc_method_handler( servicer.ListInstances, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesRequest.FromString, - response_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesResponse.SerializeToString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesRequest.FromString, + response_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.ListInstancesResponse.SerializeToString, ), "GetInstance": grpc.unary_unary_rpc_method_handler( servicer.GetInstance, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceRequest.FromString, - response_serializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.Instance.SerializeToString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.GetInstanceRequest.FromString, + response_serializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.Instance.SerializeToString, ), "CreateInstance": grpc.unary_unary_rpc_method_handler( servicer.CreateInstance, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.CreateInstanceRequest.FromString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.CreateInstanceRequest.FromString, response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, ), "UpdateInstance": grpc.unary_unary_rpc_method_handler( servicer.UpdateInstance, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.FromString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.FromString, response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, ), "DeleteInstance": grpc.unary_unary_rpc_method_handler( servicer.DeleteInstance, - request_deserializer=google_dot_cloud_dot_spanner_dot_admin_dot_instance__v1_dot_proto_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.FromString, + request_deserializer=google_dot_cloud_dot_spanner__admin__instance__v1_dot_proto_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), "SetIamPolicy": grpc.unary_unary_rpc_method_handler( diff --git a/google/cloud/spanner_v1/proto/keys.proto b/google/cloud/spanner_v1/proto/keys.proto index d129255c45..267df0d102 100644 --- a/google/cloud/spanner_v1/proto/keys.proto +++ b/google/cloud/spanner_v1/proto/keys.proto @@ -25,6 +25,7 @@ option java_multiple_files = true; option java_outer_classname = "KeysProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // KeyRange represents a range of rows in a table or index. // diff --git a/google/cloud/spanner_v1/proto/keys_pb2.py b/google/cloud/spanner_v1/proto/keys_pb2.py index 9d38124847..0f0dba9787 100644 --- a/google/cloud/spanner_v1/proto/keys_pb2.py +++ b/google/cloud/spanner_v1/proto/keys_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/keys.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 @@ -23,12 +20,9 @@ name="google/cloud/spanner_v1/proto/keys.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\tKeysProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n(google/cloud/spanner_v1/proto/keys.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto"\xf4\x01\n\x08KeyRange\x12\x32\n\x0cstart_closed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nstart_open\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nend_closed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x12.\n\x08\x65nd_open\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x42\x10\n\x0estart_key_typeB\x0e\n\x0c\x65nd_key_type"l\n\x06KeySet\x12(\n\x04keys\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12+\n\x06ranges\x18\x02 \x03(\x0b\x32\x1b.google.spanner.v1.KeyRange\x12\x0b\n\x03\x61ll\x18\x03 \x01(\x08\x42\x92\x01\n\x15\x63om.google.spanner.v1B\tKeysProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\tKeysProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n(google/cloud/spanner_v1/proto/keys.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto"\xf4\x01\n\x08KeyRange\x12\x32\n\x0cstart_closed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nstart_open\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nend_closed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x12.\n\x08\x65nd_open\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x42\x10\n\x0estart_key_typeB\x0e\n\x0c\x65nd_key_type"l\n\x06KeySet\x12(\n\x04keys\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12+\n\x06ranges\x18\x02 \x03(\x0b\x32\x1b.google.spanner.v1.KeyRange\x12\x0b\n\x03\x61ll\x18\x03 \x01(\x08\x42\xaf\x01\n\x15\x63om.google.spanner.v1B\tKeysProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[ google_dot_protobuf_dot_struct__pb2.DESCRIPTOR, google_dot_api_dot_annotations__pb2.DESCRIPTOR, @@ -42,6 +36,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="start_closed", @@ -60,6 +55,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="start_open", @@ -78,6 +74,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="end_closed", @@ -96,6 +93,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="end_open", @@ -114,6 +112,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -129,6 +128,7 @@ full_name="google.spanner.v1.KeyRange.start_key_type", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ), _descriptor.OneofDescriptor( @@ -136,6 +136,7 @@ full_name="google.spanner.v1.KeyRange.end_key_type", index=1, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ), ], @@ -150,6 +151,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="keys", @@ -168,6 +170,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="ranges", @@ -186,6 +189,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="all", @@ -204,6 +208,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -265,120 +270,50 @@ KeyRange = _reflection.GeneratedProtocolMessageType( "KeyRange", (_message.Message,), - dict( - DESCRIPTOR=_KEYRANGE, - __module__="google.cloud.spanner_v1.proto.keys_pb2", - __doc__="""KeyRange represents a range of rows in a table or index. - - A range has a start key and an end key. These keys can be open or - closed, indicating if the range includes rows with that key. - - Keys are represented by lists, where the ith value in the list - corresponds to the ith component of the table or index primary key. - Individual values are encoded as described - [here][google.spanner.v1.TypeCode]. - - For example, consider the following table definition: - - :: - - CREATE TABLE UserEvents ( - UserName STRING(MAX), - EventDate STRING(10) - ) PRIMARY KEY(UserName, EventDate); - - The following keys name rows in this table: - - :: - - ["Bob", "2014-09-23"] - ["Alfred", "2015-06-12"] - - Since the ``UserEvents`` table's ``PRIMARY KEY`` clause names two + { + "DESCRIPTOR": _KEYRANGE, + "__module__": "google.cloud.spanner_v1.proto.keys_pb2", + "__doc__": """KeyRange represents a range of rows in a table or index. A range has + a start key and an end key. These keys can be open or closed, + indicating if the range includes rows with that key. Keys are + represented by lists, where the ith value in the list corresponds to + the ith component of the table or index primary key. Individual values + are encoded as described [here][google.spanner.v1.TypeCode]. For + example, consider the following table definition: :: CREATE TABLE + UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) + PRIMARY KEY(UserName, EventDate); The following keys name rows in + this table: :: ["Bob", "2014-09-23"] ["Alfred", "2015-06-12"] + Since the ``UserEvents`` table’s ``PRIMARY KEY`` clause names two columns, each ``UserEvents`` key has two elements; the first is the - ``UserName``, and the second is the ``EventDate``. - - Key ranges with multiple components are interpreted lexicographically by - component using the table or index key's declared sort order. For - example, the following range returns all events for user ``"Bob"`` that - occurred in the year 2015: - - :: - - "start_closed": ["Bob", "2015-01-01"] - "end_closed": ["Bob", "2015-12-31"] - - Start and end keys can omit trailing key components. This affects the - inclusion and exclusion of rows that exactly match the provided key - components: if the key is closed, then rows that exactly match the - provided components are included; if the key is open, then rows that - exactly match are not included. - - For example, the following range includes all events for ``"Bob"`` that - occurred during and after the year 2000: - - :: - - "start_closed": ["Bob", "2000-01-01"] - "end_closed": ["Bob"] - - The next example retrieves all events for ``"Bob"``: - - :: - - "start_closed": ["Bob"] - "end_closed": ["Bob"] - - To retrieve events before the year 2000: - - :: - - "start_closed": ["Bob"] - "end_open": ["Bob", "2000-01-01"] - - The following range includes all rows in the table: - - :: - - "start_closed": [] - "end_closed": [] - - This range returns all users whose ``UserName`` begins with any - character from A to C: - - :: - - "start_closed": ["A"] - "end_open": ["D"] - - This range returns all users whose ``UserName`` begins with B: - - :: - - "start_closed": ["B"] - "end_open": ["C"] - - Key ranges honor column sort order. For example, suppose a table is - defined as follows: - - :: - - CREATE TABLE DescendingSortedTable { - Key INT64, - ... - ) PRIMARY KEY(Key DESC); - - The following range retrieves all rows with key values between 1 and 100 - inclusive: - - :: - - "start_closed": ["100"] - "end_closed": ["1"] - - Note that 100 is passed as the start, and 1 is passed as the end, - because ``Key`` is a descending column in the schema. - + ``UserName``, and the second is the ``EventDate``. Key ranges with + multiple components are interpreted lexicographically by component + using the table or index key’s declared sort order. For example, the + following range returns all events for user ``"Bob"`` that occurred in + the year 2015: :: "start_closed": ["Bob", "2015-01-01"] + "end_closed": ["Bob", "2015-12-31"] Start and end keys can omit + trailing key components. This affects the inclusion and exclusion of + rows that exactly match the provided key components: if the key is + closed, then rows that exactly match the provided components are + included; if the key is open, then rows that exactly match are not + included. For example, the following range includes all events for + ``"Bob"`` that occurred during and after the year 2000: :: + "start_closed": ["Bob", "2000-01-01"] "end_closed": ["Bob"] The + next example retrieves all events for ``"Bob"``: :: + "start_closed": ["Bob"] "end_closed": ["Bob"] To retrieve events + before the year 2000: :: "start_closed": ["Bob"] "end_open": + ["Bob", "2000-01-01"] The following range includes all rows in the + table: :: "start_closed": [] "end_closed": [] This range + returns all users whose ``UserName`` begins with any character from A + to C: :: "start_closed": ["A"] "end_open": ["D"] This range + returns all users whose ``UserName`` begins with B: :: + "start_closed": ["B"] "end_open": ["C"] Key ranges honor column + sort order. For example, suppose a table is defined as follows: :: + CREATE TABLE DescendingSortedTable { Key INT64, ... ) + PRIMARY KEY(Key DESC); The following range retrieves all rows with + key values between 1 and 100 inclusive: :: "start_closed": + ["100"] "end_closed": ["1"] Note that 100 is passed as the start, + and 1 is passed as the end, because ``Key`` is a descending column in + the schema. Attributes: start_key_type: @@ -402,24 +337,22 @@ ``len(end_open)`` key columns exactly match ``end_open``. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.KeyRange) - ), + }, ) _sym_db.RegisterMessage(KeyRange) KeySet = _reflection.GeneratedProtocolMessageType( "KeySet", (_message.Message,), - dict( - DESCRIPTOR=_KEYSET, - __module__="google.cloud.spanner_v1.proto.keys_pb2", - __doc__="""\ ``KeySet`` defines a collection of Cloud Spanner keys - and/or key ranges. All the keys are expected to be in the same table or - index. The keys need not be sorted in any particular way. - - If the same key is specified multiple times in the set (for example if - two ranges, two keys, or a key and a range overlap), Cloud Spanner - behaves as if the key were only specified once. - + { + "DESCRIPTOR": _KEYSET, + "__module__": "google.cloud.spanner_v1.proto.keys_pb2", + "__doc__": """\ ``KeySet`` defines a collection of Cloud Spanner keys and/or key + ranges. All the keys are expected to be in the same table or index. + The keys need not be sorted in any particular way. If the same key is + specified multiple times in the set (for example if two ranges, two + keys, or a key and a range overlap), Cloud Spanner behaves as if the + key were only specified once. Attributes: keys: @@ -439,7 +372,7 @@ only yielded once. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.KeySet) - ), + }, ) _sym_db.RegisterMessage(KeySet) diff --git a/google/cloud/spanner_v1/proto/mutation.proto b/google/cloud/spanner_v1/proto/mutation.proto index 2c675830f0..8ba51fc9ae 100644 --- a/google/cloud/spanner_v1/proto/mutation.proto +++ b/google/cloud/spanner_v1/proto/mutation.proto @@ -26,6 +26,7 @@ option java_multiple_files = true; option java_outer_classname = "MutationProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // A modification to one or more Cloud Spanner rows. Mutations can be // applied to a Cloud Spanner database by sending them in a diff --git a/google/cloud/spanner_v1/proto/mutation_pb2.py b/google/cloud/spanner_v1/proto/mutation_pb2.py index b6ad0429b8..4719d77a50 100644 --- a/google/cloud/spanner_v1/proto/mutation_pb2.py +++ b/google/cloud/spanner_v1/proto/mutation_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/mutation.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 @@ -26,12 +23,9 @@ name="google/cloud/spanner_v1/proto/mutation.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\rMutationProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n,google/cloud/spanner_v1/proto/mutation.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a(google/cloud/spanner_v1/proto/keys.proto\x1a\x1cgoogle/api/annotations.proto"\xc6\x03\n\x08Mutation\x12\x33\n\x06insert\x18\x01 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x33\n\x06update\x18\x02 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12=\n\x10insert_or_update\x18\x03 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x07replace\x18\x04 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x06\x64\x65lete\x18\x05 \x01(\x0b\x32".google.spanner.v1.Mutation.DeleteH\x00\x1aS\n\x05Write\x12\r\n\x05table\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12*\n\x06values\x18\x03 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x1a\x43\n\x06\x44\x65lete\x12\r\n\x05table\x18\x01 \x01(\t\x12*\n\x07key_set\x18\x02 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x0b\n\toperationB\x96\x01\n\x15\x63om.google.spanner.v1B\rMutationProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\rMutationProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n,google/cloud/spanner_v1/proto/mutation.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a(google/cloud/spanner_v1/proto/keys.proto\x1a\x1cgoogle/api/annotations.proto"\xc6\x03\n\x08Mutation\x12\x33\n\x06insert\x18\x01 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x33\n\x06update\x18\x02 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12=\n\x10insert_or_update\x18\x03 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x07replace\x18\x04 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x06\x64\x65lete\x18\x05 \x01(\x0b\x32".google.spanner.v1.Mutation.DeleteH\x00\x1aS\n\x05Write\x12\r\n\x05table\x18\x01 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12*\n\x06values\x18\x03 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x1a\x43\n\x06\x44\x65lete\x12\r\n\x05table\x18\x01 \x01(\t\x12*\n\x07key_set\x18\x02 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x0b\n\toperationB\xb3\x01\n\x15\x63om.google.spanner.v1B\rMutationProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[ google_dot_protobuf_dot_struct__pb2.DESCRIPTOR, google_dot_cloud_dot_spanner__v1_dot_proto_dot_keys__pb2.DESCRIPTOR, @@ -46,6 +40,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="table", @@ -56,7 +51,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -64,6 +59,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="columns", @@ -82,6 +78,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="values", @@ -100,6 +97,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -120,6 +118,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="table", @@ -130,7 +129,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -138,6 +137,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="key_set", @@ -156,6 +156,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -176,6 +177,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="insert", @@ -194,6 +196,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="update", @@ -212,6 +215,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="insert_or_update", @@ -230,6 +234,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="replace", @@ -248,6 +253,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="delete", @@ -266,6 +272,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -281,6 +288,7 @@ full_name="google.spanner.v1.Mutation.operation", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -329,19 +337,18 @@ Mutation = _reflection.GeneratedProtocolMessageType( "Mutation", (_message.Message,), - dict( - Write=_reflection.GeneratedProtocolMessageType( + { + "Write": _reflection.GeneratedProtocolMessageType( "Write", (_message.Message,), - dict( - DESCRIPTOR=_MUTATION_WRITE, - __module__="google.cloud.spanner_v1.proto.mutation_pb2", - __doc__="""Arguments to [insert][google.spanner.v1.Mutation.insert], + { + "DESCRIPTOR": _MUTATION_WRITE, + "__module__": "google.cloud.spanner_v1.proto.mutation_pb2", + "__doc__": """Arguments to [insert][google.spanner.v1.Mutation.insert], [update][google.spanner.v1.Mutation.update], - [insert\_or\_update][google.spanner.v1.Mutation.insert\_or\_update], and + [insert_or_update][google.spanner.v1.Mutation.insert_or_update], and [replace][google.spanner.v1.Mutation.replace] operations. - Attributes: table: Required. The table whose rows will be written. @@ -365,17 +372,15 @@ [here][google.spanner.v1.TypeCode]. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Mutation.Write) - ), + }, ), - Delete=_reflection.GeneratedProtocolMessageType( + "Delete": _reflection.GeneratedProtocolMessageType( "Delete", (_message.Message,), - dict( - DESCRIPTOR=_MUTATION_DELETE, - __module__="google.cloud.spanner_v1.proto.mutation_pb2", - __doc__="""Arguments to [delete][google.spanner.v1.Mutation.delete] - operations. - + { + "DESCRIPTOR": _MUTATION_DELETE, + "__module__": "google.cloud.spanner_v1.proto.mutation_pb2", + "__doc__": """Arguments to [delete][google.spanner.v1.Mutation.delete] operations. Attributes: table: @@ -384,20 +389,19 @@ Required. The primary keys of the rows within [table][google.spanner.v1.Mutation.Delete.table] to delete. The primary keys must be specified in the order in which they - appear in the ``PRIMARY KEY()`` clause of the table's + appear in the ``PRIMARY KEY()`` clause of the table’s equivalent DDL statement (the DDL statement used to create the table). Delete is idempotent. The transaction will succeed even if some or all rows do not exist. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Mutation.Delete) - ), + }, ), - DESCRIPTOR=_MUTATION, - __module__="google.cloud.spanner_v1.proto.mutation_pb2", - __doc__="""A modification to one or more Cloud Spanner rows. - Mutations can be applied to a Cloud Spanner database by sending them in - a [Commit][google.spanner.v1.Spanner.Commit] call. - + "DESCRIPTOR": _MUTATION, + "__module__": "google.cloud.spanner_v1.proto.mutation_pb2", + "__doc__": """A modification to one or more Cloud Spanner rows. Mutations can be + applied to a Cloud Spanner database by sending them in a + [Commit][google.spanner.v1.Spanner.Commit] call. Attributes: operation: @@ -412,18 +416,18 @@ Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then its column values are overwritten with the ones provided. Any column values not - explicitly written are preserved. When using [insert\_or\_upd - ate][google.spanner.v1.Mutation.insert\_or\_update], just as - when using [insert][google.spanner.v1.Mutation.insert], all - ``NOT NULL`` columns in the table must be given a value. This - holds true even when the row already exists and will therefore + explicitly written are preserved. When using [insert_or_updat + e][google.spanner.v1.Mutation.insert_or_update], just as when + using [insert][google.spanner.v1.Mutation.insert], all ``NOT + NULL`` columns in the table must be given a value. This holds + true even when the row already exists and will therefore actually be updated. replace: Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, it is deleted, and the column - values provided are inserted instead. Unlike [insert\_or\_upda - te][google.spanner.v1.Mutation.insert\_or\_update], this means - any values not explicitly written become ``NULL``. In an + values provided are inserted instead. Unlike [insert_or_update + ][google.spanner.v1.Mutation.insert_or_update], this means any + values not explicitly written become ``NULL``. In an interleaved table, if you create the child table with the ``ON DELETE CASCADE`` annotation, then replacing a parent row also deletes the child rows. Otherwise, you must delete the child @@ -433,7 +437,7 @@ rows were present. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Mutation) - ), + }, ) _sym_db.RegisterMessage(Mutation) _sym_db.RegisterMessage(Mutation.Write) diff --git a/google/cloud/spanner_v1/proto/query_plan.proto b/google/cloud/spanner_v1/proto/query_plan.proto index 6ad13a77b0..974a70e6d1 100644 --- a/google/cloud/spanner_v1/proto/query_plan.proto +++ b/google/cloud/spanner_v1/proto/query_plan.proto @@ -25,6 +25,7 @@ option java_multiple_files = true; option java_outer_classname = "QueryPlanProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // Node information for nodes appearing in a [QueryPlan.plan_nodes][google.spanner.v1.QueryPlan.plan_nodes]. message PlanNode { diff --git a/google/cloud/spanner_v1/proto/query_plan_pb2.py b/google/cloud/spanner_v1/proto/query_plan_pb2.py index bc715b4549..747fe73e93 100644 --- a/google/cloud/spanner_v1/proto/query_plan_pb2.py +++ b/google/cloud/spanner_v1/proto/query_plan_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/query_plan.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 @@ -23,12 +20,9 @@ name="google/cloud/spanner_v1/proto/query_plan.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\016QueryPlanProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n.google/cloud/spanner_v1/proto/query_plan.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto"\xf8\x04\n\x08PlanNode\x12\r\n\x05index\x18\x01 \x01(\x05\x12.\n\x04kind\x18\x02 \x01(\x0e\x32 .google.spanner.v1.PlanNode.Kind\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12:\n\x0b\x63hild_links\x18\x04 \x03(\x0b\x32%.google.spanner.v1.PlanNode.ChildLink\x12M\n\x14short_representation\x18\x05 \x01(\x0b\x32/.google.spanner.v1.PlanNode.ShortRepresentation\x12)\n\x08metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\x0f\x65xecution_stats\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a@\n\tChildLink\x12\x13\n\x0b\x63hild_index\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x10\n\x08variable\x18\x03 \x01(\t\x1a\xb2\x01\n\x13ShortRepresentation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12S\n\nsubqueries\x18\x02 \x03(\x0b\x32?.google.spanner.v1.PlanNode.ShortRepresentation.SubqueriesEntry\x1a\x31\n\x0fSubqueriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01"8\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\x0e\n\nRELATIONAL\x10\x01\x12\n\n\x06SCALAR\x10\x02"<\n\tQueryPlan\x12/\n\nplan_nodes\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.PlanNodeB\x97\x01\n\x15\x63om.google.spanner.v1B\x0eQueryPlanProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\016QueryPlanProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n.google/cloud/spanner_v1/proto/query_plan.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto"\xf8\x04\n\x08PlanNode\x12\r\n\x05index\x18\x01 \x01(\x05\x12.\n\x04kind\x18\x02 \x01(\x0e\x32 .google.spanner.v1.PlanNode.Kind\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12:\n\x0b\x63hild_links\x18\x04 \x03(\x0b\x32%.google.spanner.v1.PlanNode.ChildLink\x12M\n\x14short_representation\x18\x05 \x01(\x0b\x32/.google.spanner.v1.PlanNode.ShortRepresentation\x12)\n\x08metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\x0f\x65xecution_stats\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a@\n\tChildLink\x12\x13\n\x0b\x63hild_index\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x10\n\x08variable\x18\x03 \x01(\t\x1a\xb2\x01\n\x13ShortRepresentation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12S\n\nsubqueries\x18\x02 \x03(\x0b\x32?.google.spanner.v1.PlanNode.ShortRepresentation.SubqueriesEntry\x1a\x31\n\x0fSubqueriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01"8\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\x0e\n\nRELATIONAL\x10\x01\x12\n\n\x06SCALAR\x10\x02"<\n\tQueryPlan\x12/\n\nplan_nodes\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.PlanNodeB\xb4\x01\n\x15\x63om.google.spanner.v1B\x0eQueryPlanProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[ google_dot_protobuf_dot_struct__pb2.DESCRIPTOR, google_dot_api_dot_annotations__pb2.DESCRIPTOR, @@ -41,6 +35,7 @@ full_name="google.spanner.v1.PlanNode.Kind", filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name="KIND_UNSPECIFIED", @@ -48,12 +43,23 @@ number=0, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="RELATIONAL", index=1, number=1, serialized_options=None, type=None + name="RELATIONAL", + index=1, + number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="SCALAR", index=2, number=2, serialized_options=None, type=None + name="SCALAR", + index=2, + number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), ], containing_type=None, @@ -70,6 +76,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="child_index", @@ -88,6 +95,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="type", @@ -98,7 +106,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -106,6 +114,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="variable", @@ -116,7 +125,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -124,6 +133,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -144,6 +154,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="key", @@ -154,7 +165,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -162,6 +173,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="value", @@ -180,12 +192,13 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=_b("8\001"), + serialized_options=b"8\001", is_extendable=False, syntax="proto3", extension_ranges=[], @@ -200,6 +213,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="description", @@ -210,7 +224,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -218,6 +232,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="subqueries", @@ -236,6 +251,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -256,6 +272,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="index", @@ -274,6 +291,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="kind", @@ -292,6 +310,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="display_name", @@ -302,7 +321,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -310,6 +329,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="child_links", @@ -328,6 +348,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="short_representation", @@ -346,6 +367,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="metadata", @@ -364,6 +386,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="execution_stats", @@ -382,6 +405,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -403,6 +427,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="plan_nodes", @@ -421,6 +446,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ) ], extensions=[], @@ -463,16 +489,15 @@ PlanNode = _reflection.GeneratedProtocolMessageType( "PlanNode", (_message.Message,), - dict( - ChildLink=_reflection.GeneratedProtocolMessageType( + { + "ChildLink": _reflection.GeneratedProtocolMessageType( "ChildLink", (_message.Message,), - dict( - DESCRIPTOR=_PLANNODE_CHILDLINK, - __module__="google.cloud.spanner_v1.proto.query_plan_pb2", - __doc__="""Metadata associated with a parent-child relationship - appearing in a [PlanNode][google.spanner.v1.PlanNode]. - + { + "DESCRIPTOR": _PLANNODE_CHILDLINK, + "__module__": "google.cloud.spanner_v1.proto.query_plan_pb2", + "__doc__": """Metadata associated with a parent-child relationship appearing in a + [PlanNode][google.spanner.v1.PlanNode]. Attributes: child_index: @@ -494,27 +519,26 @@ the variable names assigned to the columns. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PlanNode.ChildLink) - ), + }, ), - ShortRepresentation=_reflection.GeneratedProtocolMessageType( + "ShortRepresentation": _reflection.GeneratedProtocolMessageType( "ShortRepresentation", (_message.Message,), - dict( - SubqueriesEntry=_reflection.GeneratedProtocolMessageType( + { + "SubqueriesEntry": _reflection.GeneratedProtocolMessageType( "SubqueriesEntry", (_message.Message,), - dict( - DESCRIPTOR=_PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY, - __module__="google.cloud.spanner_v1.proto.query_plan_pb2" + { + "DESCRIPTOR": _PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY, + "__module__": "google.cloud.spanner_v1.proto.query_plan_pb2" # @@protoc_insertion_point(class_scope:google.spanner.v1.PlanNode.ShortRepresentation.SubqueriesEntry) - ), + }, ), - DESCRIPTOR=_PLANNODE_SHORTREPRESENTATION, - __module__="google.cloud.spanner_v1.proto.query_plan_pb2", - __doc__="""Condensed representation of a node and its subtree. Only present for + "DESCRIPTOR": _PLANNODE_SHORTREPRESENTATION, + "__module__": "google.cloud.spanner_v1.proto.query_plan_pb2", + "__doc__": """Condensed representation of a node and its subtree. Only present for ``SCALAR`` [PlanNode(s)][google.spanner.v1.PlanNode]. - Attributes: description: A string representation of the expression subtree rooted at @@ -527,18 +551,17 @@ subquery may not necessarily be a direct child of this node. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PlanNode.ShortRepresentation) - ), + }, ), - DESCRIPTOR=_PLANNODE, - __module__="google.cloud.spanner_v1.proto.query_plan_pb2", - __doc__="""Node information for nodes appearing in a - [QueryPlan.plan\_nodes][google.spanner.v1.QueryPlan.plan\_nodes]. - + "DESCRIPTOR": _PLANNODE, + "__module__": "google.cloud.spanner_v1.proto.query_plan_pb2", + "__doc__": """Node information for nodes appearing in a + [QueryPlan.plan_nodes][google.spanner.v1.QueryPlan.plan_nodes]. Attributes: index: - The ``PlanNode``'s index in [node - list][google.spanner.v1.QueryPlan.plan\_nodes]. + The ``PlanNode``\ ’s index in [node + list][google.spanner.v1.QueryPlan.plan_nodes]. kind: Used to determine the type of node. May be needed for visualizing different kinds of nodes differently. For example, @@ -557,9 +580,9 @@ metadata: Attributes relevant to the node contained in a group of key- value pairs. For example, a Parameter Reference node could - have the following information in its metadata: :: { - "parameter_reference": "param1", "parameter_type": - "array" } + have the following information in its metadata: :: { + "parameter_reference": "param1", "parameter_type": + "array" } execution_stats: The execution statistics associated with the node, contained in a group of key-value pairs. Only present if the plan was @@ -567,7 +590,7 @@ of executions, number of rows/time per execution etc. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PlanNode) - ), + }, ) _sym_db.RegisterMessage(PlanNode) _sym_db.RegisterMessage(PlanNode.ChildLink) @@ -577,22 +600,20 @@ QueryPlan = _reflection.GeneratedProtocolMessageType( "QueryPlan", (_message.Message,), - dict( - DESCRIPTOR=_QUERYPLAN, - __module__="google.cloud.spanner_v1.proto.query_plan_pb2", - __doc__="""Contains an ordered list of nodes appearing in the query - plan. - + { + "DESCRIPTOR": _QUERYPLAN, + "__module__": "google.cloud.spanner_v1.proto.query_plan_pb2", + "__doc__": """Contains an ordered list of nodes appearing in the query plan. Attributes: plan_nodes: The nodes in the query plan. Plan nodes are returned in pre- order starting with the plan root. Each - [PlanNode][google.spanner.v1.PlanNode]'s ``id`` corresponds to + [PlanNode][google.spanner.v1.PlanNode]’s ``id`` corresponds to its index in ``plan_nodes``. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.QueryPlan) - ), + }, ) _sym_db.RegisterMessage(QueryPlan) diff --git a/google/cloud/spanner_v1/proto/result_set.proto b/google/cloud/spanner_v1/proto/result_set.proto index e24a35aaf8..a87d741fdc 100644 --- a/google/cloud/spanner_v1/proto/result_set.proto +++ b/google/cloud/spanner_v1/proto/result_set.proto @@ -29,6 +29,7 @@ option java_multiple_files = true; option java_outer_classname = "ResultSetProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // Results from [Read][google.spanner.v1.Spanner.Read] or // [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. diff --git a/google/cloud/spanner_v1/proto/result_set_pb2.py b/google/cloud/spanner_v1/proto/result_set_pb2.py index 3740450e6b..d9d53e3659 100644 --- a/google/cloud/spanner_v1/proto/result_set_pb2.py +++ b/google/cloud/spanner_v1/proto/result_set_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/result_set.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 @@ -32,12 +29,9 @@ name="google/cloud/spanner_v1/proto/result_set.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\016ResultSetProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\370\001\001\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n.google/cloud/spanner_v1/proto/result_set.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a.google/cloud/spanner_v1/proto/query_plan.proto\x1a/google/cloud/spanner_v1/proto/transaction.proto\x1a(google/cloud/spanner_v1/proto/type.proto\x1a\x1cgoogle/api/annotations.proto"\x9f\x01\n\tResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12(\n\x04rows\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12\x30\n\x05stats\x18\x03 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats"\xd1\x01\n\x10PartialResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12&\n\x06values\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x15\n\rchunked_value\x18\x03 \x01(\x08\x12\x14\n\x0cresume_token\x18\x04 \x01(\x0c\x12\x30\n\x05stats\x18\x05 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats"y\n\x11ResultSetMetadata\x12/\n\x08row_type\x18\x01 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction"\xb9\x01\n\x0eResultSetStats\x12\x30\n\nquery_plan\x18\x01 \x01(\x0b\x32\x1c.google.spanner.v1.QueryPlan\x12,\n\x0bquery_stats\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x19\n\x0frow_count_exact\x18\x03 \x01(\x03H\x00\x12\x1f\n\x15row_count_lower_bound\x18\x04 \x01(\x03H\x00\x42\x0b\n\trow_countB\x9a\x01\n\x15\x63om.google.spanner.v1B\x0eResultSetProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xf8\x01\x01\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\016ResultSetProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\370\001\001\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n.google/cloud/spanner_v1/proto/result_set.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a.google/cloud/spanner_v1/proto/query_plan.proto\x1a/google/cloud/spanner_v1/proto/transaction.proto\x1a(google/cloud/spanner_v1/proto/type.proto\x1a\x1cgoogle/api/annotations.proto"\x9f\x01\n\tResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12(\n\x04rows\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12\x30\n\x05stats\x18\x03 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats"\xd1\x01\n\x10PartialResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12&\n\x06values\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x15\n\rchunked_value\x18\x03 \x01(\x08\x12\x14\n\x0cresume_token\x18\x04 \x01(\x0c\x12\x30\n\x05stats\x18\x05 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats"y\n\x11ResultSetMetadata\x12/\n\x08row_type\x18\x01 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction"\xb9\x01\n\x0eResultSetStats\x12\x30\n\nquery_plan\x18\x01 \x01(\x0b\x32\x1c.google.spanner.v1.QueryPlan\x12,\n\x0bquery_stats\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x19\n\x0frow_count_exact\x18\x03 \x01(\x03H\x00\x12\x1f\n\x15row_count_lower_bound\x18\x04 \x01(\x03H\x00\x42\x0b\n\trow_countB\xb7\x01\n\x15\x63om.google.spanner.v1B\x0eResultSetProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xf8\x01\x01\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[ google_dot_protobuf_dot_struct__pb2.DESCRIPTOR, google_dot_cloud_dot_spanner__v1_dot_proto_dot_query__plan__pb2.DESCRIPTOR, @@ -54,6 +48,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="metadata", @@ -72,6 +67,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="rows", @@ -90,6 +86,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="stats", @@ -108,6 +105,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -129,6 +127,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="metadata", @@ -147,6 +146,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="values", @@ -165,6 +165,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="chunked_value", @@ -183,6 +184,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="resume_token", @@ -193,7 +195,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b(""), + default_value=b"", message_type=None, enum_type=None, containing_type=None, @@ -201,6 +203,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="stats", @@ -219,6 +222,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -240,6 +244,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="row_type", @@ -258,6 +263,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="transaction", @@ -276,6 +282,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -297,6 +304,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="query_plan", @@ -315,6 +323,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="query_stats", @@ -333,6 +342,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="row_count_exact", @@ -351,6 +361,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="row_count_lower_bound", @@ -369,6 +380,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -384,6 +396,7 @@ full_name="google.spanner.v1.ResultSetStats.row_count", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -438,50 +451,48 @@ ResultSet = _reflection.GeneratedProtocolMessageType( "ResultSet", (_message.Message,), - dict( - DESCRIPTOR=_RESULTSET, - __module__="google.cloud.spanner_v1.proto.result_set_pb2", - __doc__="""Results from [Read][google.spanner.v1.Spanner.Read] or + { + "DESCRIPTOR": _RESULTSET, + "__module__": "google.cloud.spanner_v1.proto.result_set_pb2", + "__doc__": """Results from [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. - Attributes: metadata: Metadata about the result set, such as row type information. rows: Each element in ``rows`` is a row whose format is defined by [ - metadata.row\_type][google.spanner.v1.ResultSetMetadata.row\_t - ype]. The ith element in each row matches the ith field in [me - tadata.row\_type][google.spanner.v1.ResultSetMetadata.row\_typ - e]. Elements are encoded based on type as described + metadata.row_type][google.spanner.v1.ResultSetMetadata.row_typ + e]. The ith element in each row matches the ith field in [meta + data.row_type][google.spanner.v1.ResultSetMetadata.row_type]. + Elements are encoded based on type as described [here][google.spanner.v1.TypeCode]. stats: Query plan and execution statistics for the SQL statement that produced this result set. These can be requested by setting [E - xecuteSqlRequest.query\_mode][google.spanner.v1.ExecuteSqlRequ - est.query\_mode]. DML statements always produce stats - containing the number of rows modified, unless executed using - the [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.Execu - teSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query\_mode][g - oogle.spanner.v1.ExecuteSqlRequest.query\_mode]. Other fields - may or may not be populated, based on the [ExecuteSqlRequest.q - uery\_mode][google.spanner.v1.ExecuteSqlRequest.query\_mode]. + xecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlReque + st.query_mode]. DML statements always produce stats containing + the number of rows modified, unless executed using the [Execut + eSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlReques + t.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanne + r.v1.ExecuteSqlRequest.query_mode]. Other fields may or may + not be populated, based on the [ExecuteSqlRequest.query_mode][ + google.spanner.v1.ExecuteSqlRequest.query_mode]. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ResultSet) - ), + }, ) _sym_db.RegisterMessage(ResultSet) PartialResultSet = _reflection.GeneratedProtocolMessageType( "PartialResultSet", (_message.Message,), - dict( - DESCRIPTOR=_PARTIALRESULTSET, - __module__="google.cloud.spanner_v1.proto.result_set_pb2", - __doc__="""Partial results from a streaming read or SQL query. - Streaming reads and SQL queries better tolerate large result sets, large - rows, and large values, but are a little trickier to consume. - + { + "DESCRIPTOR": _PARTIALRESULTSET, + "__module__": "google.cloud.spanner_v1.proto.result_set_pb2", + "__doc__": """Partial results from a streaming read or SQL query. Streaming reads + and SQL queries better tolerate large result sets, large rows, and + large values, but are a little trickier to consume. Attributes: metadata: @@ -492,13 +503,13 @@ might be split into many ``PartialResultSet`` messages to accommodate large rows and/or large values. Every N complete values defines a row, where N is equal to the number of - entries in [metadata.row\_type.fields][google.spanner.v1.Struc - tType.fields]. Most values are encoded based on type as + entries in [metadata.row_type.fields][google.spanner.v1.Struct + Type.fields]. Most values are encoded based on type as described [here][google.spanner.v1.TypeCode]. It is possible - that the last value in values is "chunked", meaning that the + that the last value in values is “chunked”, meaning that the rest of the value is sent in subsequent ``PartialResultSet``\ - (s). This is denoted by the [chunked\_value][google.spanner.v1 - .PartialResultSet.chunked\_value] field. Two or more chunked + (s). This is denoted by the [chunked_value][google.spanner.v1. + PartialResultSet.chunked_value] field. Two or more chunked values can be merged to form a complete value as follows: - ``bool/number/null``: cannot be chunked - ``string``: concatenate the strings - ``list``: concatenate the lists. If @@ -508,29 +519,29 @@ concatenate the (field name, field value) pairs. If a field name is duplicated, then apply these rules recursively to merge the field values. Some examples of merging: :: - # Strings are concatenated. "foo", "bar" => "foobar" - # Lists of non-strings are concatenated. [2, 3], [4] => - [2, 3, 4] # Lists are concatenated, but the last and - first elements are merged # because they are strings. - ["a", "b"], ["c", "d"] => ["a", "bc", "d"] # Lists are - concatenated, but the last and first elements are merged # + # Strings are concatenated. "foo", "bar" => "foobar" # + Lists of non-strings are concatenated. [2, 3], [4] => [2, + 3, 4] # Lists are concatenated, but the last and first + elements are merged # because they are strings. ["a", + "b"], ["c", "d"] => ["a", "bc", "d"] # Lists are + concatenated, but the last and first elements are merged # because they are lists. Recursively, the last and first - elements # of the inner lists are merged because they are - strings. ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", - "cd"], "e"] # Non-overlapping object fields are combined. - {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"} # - Overlapping object fields are merged. {"a": "1"}, {"a": - "2"} => {"a": "12"} # Examples of merging objects - containing lists of strings. {"a": ["1"]}, {"a": ["2"]} => + elements # of the inner lists are merged because they are + strings. ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", + "cd"], "e"] # Non-overlapping object fields are combined. + {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"} # + Overlapping object fields are merged. {"a": "1"}, {"a": + "2"} => {"a": "12"} # Examples of merging objects + containing lists of strings. {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]} For a more complete example, suppose a streaming SQL query is yielding a result set whose rows contain a single string field. The following - ``PartialResultSet``\ s might be yielded: :: { - "metadata": { ... } "values": ["Hello", "W"] - "chunked_value": true "resume_token": "Af65..." } - { "values": ["orl"] "chunked_value": true - "resume_token": "Bqp2..." } { "values": ["d"] - "resume_token": "Zx1B..." } This sequence of + ``PartialResultSet``\ s might be yielded: :: { + "metadata": { ... } "values": ["Hello", "W"] + "chunked_value": true "resume_token": "Af65..." } { + "values": ["orl"] "chunked_value": true + "resume_token": "Bqp2..." } { "values": ["d"] + "resume_token": "Zx1B..." } This sequence of ``PartialResultSet``\ s encodes two rows, one containing the field value ``"Hello"``, and a second containing the field value ``"World" = "W" + "orl" + "d"``. @@ -548,53 +559,50 @@ stats: Query plan and execution statistics for the statement that produced this streaming result set. These can be requested by - setting [ExecuteSqlRequest.query\_mode][google.spanner.v1.Exec - uteSqlRequest.query\_mode] and are sent only once with the - last response in the stream. This field will also be present - in the last response for DML statements. + setting [ExecuteSqlRequest.query_mode][google.spanner.v1.Execu + teSqlRequest.query_mode] and are sent only once with the last + response in the stream. This field will also be present in the + last response for DML statements. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PartialResultSet) - ), + }, ) _sym_db.RegisterMessage(PartialResultSet) ResultSetMetadata = _reflection.GeneratedProtocolMessageType( "ResultSetMetadata", (_message.Message,), - dict( - DESCRIPTOR=_RESULTSETMETADATA, - __module__="google.cloud.spanner_v1.proto.result_set_pb2", - __doc__="""Metadata about a [ResultSet][google.spanner.v1.ResultSet] - or [PartialResultSet][google.spanner.v1.PartialResultSet]. - + { + "DESCRIPTOR": _RESULTSETMETADATA, + "__module__": "google.cloud.spanner_v1.proto.result_set_pb2", + "__doc__": """Metadata about a [ResultSet][google.spanner.v1.ResultSet] or + [PartialResultSet][google.spanner.v1.PartialResultSet]. Attributes: row_type: Indicates the field names and types for the rows in the result set. For example, a SQL query like ``"SELECT UserId, UserName FROM Users"`` could return a ``row_type`` value like: :: - "fields": [ { "name": "UserId", "type": { "code": - "INT64" } }, { "name": "UserName", "type": { "code": - "STRING" } }, ] + "fields": [ { "name": "UserId", "type": { "code": "INT64" + } }, { "name": "UserName", "type": { "code": "STRING" } + }, ] transaction: If the read or SQL query began a transaction as a side-effect, the information about the new transaction is yielded here. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ResultSetMetadata) - ), + }, ) _sym_db.RegisterMessage(ResultSetMetadata) ResultSetStats = _reflection.GeneratedProtocolMessageType( "ResultSetStats", (_message.Message,), - dict( - DESCRIPTOR=_RESULTSETSTATS, - __module__="google.cloud.spanner_v1.proto.result_set_pb2", - __doc__="""Additional statistics about a - [ResultSet][google.spanner.v1.ResultSet] or - [PartialResultSet][google.spanner.v1.PartialResultSet]. - + { + "DESCRIPTOR": _RESULTSETSTATS, + "__module__": "google.cloud.spanner_v1.proto.result_set_pb2", + "__doc__": """Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] + or [PartialResultSet][google.spanner.v1.PartialResultSet]. Attributes: query_plan: @@ -603,9 +611,9 @@ query_stats: Aggregated statistics from the execution of the query. Only present when the query is profiled. For example, a query could - return the statistics as follows: :: { - "rows_returned": "3", "elapsed_time": "1.22 secs", - "cpu_time": "1.19 secs" } + return the statistics as follows: :: { + "rows_returned": "3", "elapsed_time": "1.22 secs", + "cpu_time": "1.19 secs" } row_count: The number of rows modified by the DML statement. row_count_exact: @@ -616,7 +624,7 @@ returns a lower bound of the rows modified. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ResultSetStats) - ), + }, ) _sym_db.RegisterMessage(ResultSetStats) diff --git a/google/cloud/spanner_v1/proto/spanner.proto b/google/cloud/spanner_v1/proto/spanner.proto index 0c7da37c72..93e4987ed1 100644 --- a/google/cloud/spanner_v1/proto/spanner.proto +++ b/google/cloud/spanner_v1/proto/spanner.proto @@ -36,6 +36,7 @@ option java_multiple_files = true; option java_outer_classname = "SpannerProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; option (google.api.resource_definition) = { type: "spanner.googleapis.com/Database" pattern: "projects/{project}/instances/{instance}/databases/{database}" diff --git a/google/cloud/spanner_v1/proto/spanner_pb2.py b/google/cloud/spanner_v1/proto/spanner_pb2.py index ab1ff4e42e..3ca2e3ba7f 100644 --- a/google/cloud/spanner_v1/proto/spanner_pb2.py +++ b/google/cloud/spanner_v1/proto/spanner_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/spanner.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 @@ -44,12 +41,9 @@ name="google/cloud/spanner_v1/proto/spanner.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\014SpannerProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352A_\n\037spanner.googleapis.com/Database\022\n\x11partition_options\x18\x06 \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01"\xb1\x02\n\x14PartitionReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12>\n\x11partition_options\x18\t \x01(\x0b\x32#.google.spanner.v1.PartitionOptions"$\n\tPartition\x12\x17\n\x0fpartition_token\x18\x01 \x01(\x0c"z\n\x11PartitionResponse\x12\x30\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.Partition\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction"\xab\x02\n\x0bReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x14\n\x07\x63olumns\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x08 \x01(\x03\x12\x14\n\x0cresume_token\x18\t \x01(\x0c\x12\x17\n\x0fpartition_token\x18\n \x01(\x0c"\x8f\x01\n\x17\x42\x65ginTransactionRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x07options\x18\x02 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsB\x03\xe0\x41\x02"\xea\x01\n\rCommitRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x18\n\x0etransaction_id\x18\x02 \x01(\x0cH\x00\x12G\n\x16single_use_transaction\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12.\n\tmutations\x18\x04 \x03(\x0b\x32\x1b.google.spanner.v1.MutationB\r\n\x0btransaction"F\n\x0e\x43ommitResponse\x12\x34\n\x10\x63ommit_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"g\n\x0fRollbackRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x1b\n\x0etransaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x32\xc0\x16\n\x07Spanner\x12\xa6\x01\n\rCreateSession\x12\'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.spanner.v1.Session"P\x82\xd3\xe4\x93\x02?":/v1/{database=projects/*/instances/*/databases/*}/sessions:\x01*\xda\x41\x08\x64\x61tabase\x12\xe0\x01\n\x13\x42\x61tchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\x1a..google.spanner.v1.BatchCreateSessionsResponse"j\x82\xd3\xe4\x93\x02K"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\x01*\xda\x41\x16\x64\x61tabase,session_count\x12\x97\x01\n\nGetSession\x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Session"G\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/instances/*/databases/*/sessions/*}\xda\x41\x04name\x12\xae\x01\n\x0cListSessions\x12&.google.spanner.v1.ListSessionsRequest\x1a\'.google.spanner.v1.ListSessionsResponse"M\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/databases/*}/sessions\xda\x41\x08\x64\x61tabase\x12\x99\x01\n\rDeleteSession\x12\'.google.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty"G\x82\xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\xda\x41\x04name\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a\x1c.google.spanner.v1.ResultSet"Q\x82\xd3\xe4\x93\x02K"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\x01*\x12\xbe\x01\n\x13\x45xecuteStreamingSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a#.google.spanner.v1.PartialResultSet"Z\x82\xd3\xe4\x93\x02T"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0f\x45xecuteBatchDml\x12).google.spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDmlResponse"V\x82\xd3\xe4\x93\x02P"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet"K\x82\xd3\xe4\x93\x02\x45"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.spanner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet"T\x82\xd3\xe4\x93\x02N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10\x42\x65ginTransaction\x12*.google.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transaction"i\x82\xd3\xe4\x93\x02Q"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\x01*\xda\x41\x0fsession,options\x12\xeb\x01\n\x06\x43ommit\x12 .google.spanner.v1.CommitRequest\x1a!.google.spanner.v1.CommitResponse"\x9b\x01\x82\xd3\xe4\x93\x02G"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\x01*\xda\x41 session,transaction_id,mutations\xda\x41(session,single_use_transaction,mutations\x12\xb0\x01\n\x08Rollback\x12".google.spanner.v1.RollbackRequest\x1a\x16.google.protobuf.Empty"h\x82\xd3\xe4\x93\x02I"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\x01*\xda\x41\x16session,transaction_id\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.PartitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse"U\x82\xd3\xe4\x93\x02O"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12\'.google.spanner.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse"T\x82\xd3\xe4\x93\x02N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\x01*\x1aw\xca\x41\x16spanner.googleapis.com\xd2\x41[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.dataB\xf7\x01\n\x15\x63om.google.spanner.v1B\x0cSpannerProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x41_\n\x1fspanner.googleapis.com/Database\x12\n\x11partition_options\x18\x06 \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01"\xb1\x02\n\x14PartitionReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12>\n\x11partition_options\x18\t \x01(\x0b\x32#.google.spanner.v1.PartitionOptions"$\n\tPartition\x12\x17\n\x0fpartition_token\x18\x01 \x01(\x0c"z\n\x11PartitionResponse\x12\x30\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.Partition\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction"\xab\x02\n\x0bReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x14\n\x07\x63olumns\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x08 \x01(\x03\x12\x14\n\x0cresume_token\x18\t \x01(\x0c\x12\x17\n\x0fpartition_token\x18\n \x01(\x0c"\x8f\x01\n\x17\x42\x65ginTransactionRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x07options\x18\x02 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsB\x03\xe0\x41\x02"\xea\x01\n\rCommitRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x18\n\x0etransaction_id\x18\x02 \x01(\x0cH\x00\x12G\n\x16single_use_transaction\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12.\n\tmutations\x18\x04 \x03(\x0b\x32\x1b.google.spanner.v1.MutationB\r\n\x0btransaction"F\n\x0e\x43ommitResponse\x12\x34\n\x10\x63ommit_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"g\n\x0fRollbackRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x1b\n\x0etransaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x32\xc0\x16\n\x07Spanner\x12\xa6\x01\n\rCreateSession\x12\'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.spanner.v1.Session"P\x82\xd3\xe4\x93\x02?":/v1/{database=projects/*/instances/*/databases/*}/sessions:\x01*\xda\x41\x08\x64\x61tabase\x12\xe0\x01\n\x13\x42\x61tchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\x1a..google.spanner.v1.BatchCreateSessionsResponse"j\x82\xd3\xe4\x93\x02K"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\x01*\xda\x41\x16\x64\x61tabase,session_count\x12\x97\x01\n\nGetSession\x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Session"G\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/instances/*/databases/*/sessions/*}\xda\x41\x04name\x12\xae\x01\n\x0cListSessions\x12&.google.spanner.v1.ListSessionsRequest\x1a\'.google.spanner.v1.ListSessionsResponse"M\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/databases/*}/sessions\xda\x41\x08\x64\x61tabase\x12\x99\x01\n\rDeleteSession\x12\'.google.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty"G\x82\xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\xda\x41\x04name\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a\x1c.google.spanner.v1.ResultSet"Q\x82\xd3\xe4\x93\x02K"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\x01*\x12\xbe\x01\n\x13\x45xecuteStreamingSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a#.google.spanner.v1.PartialResultSet"Z\x82\xd3\xe4\x93\x02T"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0f\x45xecuteBatchDml\x12).google.spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDmlResponse"V\x82\xd3\xe4\x93\x02P"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet"K\x82\xd3\xe4\x93\x02\x45"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.spanner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet"T\x82\xd3\xe4\x93\x02N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10\x42\x65ginTransaction\x12*.google.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transaction"i\x82\xd3\xe4\x93\x02Q"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\x01*\xda\x41\x0fsession,options\x12\xeb\x01\n\x06\x43ommit\x12 .google.spanner.v1.CommitRequest\x1a!.google.spanner.v1.CommitResponse"\x9b\x01\x82\xd3\xe4\x93\x02G"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\x01*\xda\x41 session,transaction_id,mutations\xda\x41(session,single_use_transaction,mutations\x12\xb0\x01\n\x08Rollback\x12".google.spanner.v1.RollbackRequest\x1a\x16.google.protobuf.Empty"h\x82\xd3\xe4\x93\x02I"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\x01*\xda\x41\x16session,transaction_id\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.PartitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse"U\x82\xd3\xe4\x93\x02O"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12\'.google.spanner.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse"T\x82\xd3\xe4\x93\x02N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\x01*\x1aw\xca\x41\x16spanner.googleapis.com\xd2\x41[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.dataB\x94\x02\n\x15\x63om.google.spanner.v1B\x0cSpannerProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1\xea\x41_\n\x1fspanner.googleapis.com/Database\x12 The - session has the label "env". - ``labels.env:dev`` --> The - session has the label "env" and the value of the label - contains the string "dev". + examples of using filters are: - ``labels.env:*`` –> The + session has the label “env”. - ``labels.env:dev`` –> The + session has the label “env” and the value of the label + contains the string “dev”. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ListSessionsRequest) - ), + }, ) _sym_db.RegisterMessage(ListSessionsRequest) ListSessionsResponse = _reflection.GeneratedProtocolMessageType( "ListSessionsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTSESSIONSRESPONSE, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The response for + { + "DESCRIPTOR": _LISTSESSIONSRESPONSE, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The response for [ListSessions][google.spanner.v1.Spanner.ListSessions]. - Attributes: sessions: The list of requested sessions. @@ -2510,78 +2594,74 @@ fetch more of the matching sessions. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ListSessionsResponse) - ), + }, ) _sym_db.RegisterMessage(ListSessionsResponse) DeleteSessionRequest = _reflection.GeneratedProtocolMessageType( "DeleteSessionRequest", (_message.Message,), - dict( - DESCRIPTOR=_DELETESESSIONREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for + { + "DESCRIPTOR": _DELETESESSIONREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [DeleteSession][google.spanner.v1.Spanner.DeleteSession]. - Attributes: name: Required. The name of the session to delete. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.DeleteSessionRequest) - ), + }, ) _sym_db.RegisterMessage(DeleteSessionRequest) ExecuteSqlRequest = _reflection.GeneratedProtocolMessageType( "ExecuteSqlRequest", (_message.Message,), - dict( - QueryOptions=_reflection.GeneratedProtocolMessageType( + { + "QueryOptions": _reflection.GeneratedProtocolMessageType( "QueryOptions", (_message.Message,), - dict( - DESCRIPTOR=_EXECUTESQLREQUEST_QUERYOPTIONS, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""Query optimizer configuration. - + { + "DESCRIPTOR": _EXECUTESQLREQUEST_QUERYOPTIONS, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """Query optimizer configuration. Attributes: optimizer_version: An option to control the selection of optimizer version. This parameter allows individual queries to pick different query - optimizer versions. Specifying "latest" as a value instructs + optimizer versions. Specifying “latest” as a value instructs Cloud Spanner to use the latest supported query optimizer version. If not specified, Cloud Spanner uses optimizer version set at the database level options. Any other positive integer (from the list of supported optimizer versions) overrides the default optimizer version for query execution. The list of supported optimizer versions can be queried from - SPANNER\_SYS.SUPPORTED\_OPTIMIZER\_VERSIONS. Executing a SQL + SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL statement with an invalid optimizer version will fail with a syntax error (``INVALID_ARGUMENT``) status. The ``optimizer_version`` statement hint has precedence over this setting. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteSqlRequest.QueryOptions) - ), + }, ), - ParamTypesEntry=_reflection.GeneratedProtocolMessageType( + "ParamTypesEntry": _reflection.GeneratedProtocolMessageType( "ParamTypesEntry", (_message.Message,), - dict( - DESCRIPTOR=_EXECUTESQLREQUEST_PARAMTYPESENTRY, - __module__="google.cloud.spanner_v1.proto.spanner_pb2" + { + "DESCRIPTOR": _EXECUTESQLREQUEST_PARAMTYPESENTRY, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2" # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry) - ), + }, ), - DESCRIPTOR=_EXECUTESQLREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for - [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and + "DESCRIPTOR": _EXECUTESQLREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql]. - Attributes: session: Required. The session in which the SQL query should be @@ -2629,9 +2709,9 @@ query_mode: Used to control the amount of debugging information returned in [ResultSetStats][google.spanner.v1.ResultSetStats]. If [par - tition\_token][google.spanner.v1.ExecuteSqlRequest.partition\_ - token] is set, - [query\_mode][google.spanner.v1.ExecuteSqlRequest.query\_mode] + tition_token][google.spanner.v1.ExecuteSqlRequest.partition_to + ken] is set, + [query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] can only be set to [QueryMode.NORMAL][google.spanner.v1.Execut eSqlRequest.QueryMode.NORMAL]. partition_token: @@ -2639,7 +2719,7 @@ partition previously created using PartitionQuery(). There must be an exact match for the values of fields common to this message and the PartitionQueryRequest message used to create - this partition\_token. + this partition_token. seqno: A per-transaction sequence number used to identify this request. This field makes each request idempotent such that if @@ -2654,7 +2734,7 @@ Query optimizer configuration to use for the given query. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteSqlRequest) - ), + }, ) _sym_db.RegisterMessage(ExecuteSqlRequest) _sym_db.RegisterMessage(ExecuteSqlRequest.QueryOptions) @@ -2663,24 +2743,23 @@ ExecuteBatchDmlRequest = _reflection.GeneratedProtocolMessageType( "ExecuteBatchDmlRequest", (_message.Message,), - dict( - Statement=_reflection.GeneratedProtocolMessageType( + { + "Statement": _reflection.GeneratedProtocolMessageType( "Statement", (_message.Message,), - dict( - ParamTypesEntry=_reflection.GeneratedProtocolMessageType( + { + "ParamTypesEntry": _reflection.GeneratedProtocolMessageType( "ParamTypesEntry", (_message.Message,), - dict( - DESCRIPTOR=_EXECUTEBATCHDMLREQUEST_STATEMENT_PARAMTYPESENTRY, - __module__="google.cloud.spanner_v1.proto.spanner_pb2" + { + "DESCRIPTOR": _EXECUTEBATCHDMLREQUEST_STATEMENT_PARAMTYPESENTRY, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2" # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry) - ), + }, ), - DESCRIPTOR=_EXECUTEBATCHDMLREQUEST_STATEMENT, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""A single DML statement. - + "DESCRIPTOR": _EXECUTEBATCHDMLREQUEST_STATEMENT, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """A single DML statement. Attributes: sql: @@ -2707,14 +2786,13 @@ types. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteBatchDmlRequest.Statement) - ), + }, ), - DESCRIPTOR=_EXECUTEBATCHDMLREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for + "DESCRIPTOR": _EXECUTEBATCHDMLREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]. - Attributes: session: Required. The session in which the DML statements should be @@ -2742,7 +2820,7 @@ requests will yield the same response as the first execution. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteBatchDmlRequest) - ), + }, ) _sym_db.RegisterMessage(ExecuteBatchDmlRequest) _sym_db.RegisterMessage(ExecuteBatchDmlRequest.Statement) @@ -2751,41 +2829,31 @@ ExecuteBatchDmlResponse = _reflection.GeneratedProtocolMessageType( "ExecuteBatchDmlResponse", (_message.Message,), - dict( - DESCRIPTOR=_EXECUTEBATCHDMLRESPONSE, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The response for - [ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]. Contains a - list of [ResultSet][google.spanner.v1.ResultSet] messages, one for each - DML statement that has successfully executed, in the same order as the - statements in the request. If a statement fails, the status in the - response body identifies the cause of the failure. - - To check for DML statements that failed, use the following approach: - - 1. Check the status in the response message. The - [google.rpc.Code][google.rpc.Code] enum value ``OK`` indicates that - all statements were executed successfully. - 2. If the status was not ``OK``, check the number of result sets in the - response. If the response contains ``N`` - [ResultSet][google.spanner.v1.ResultSet] messages, then statement - ``N+1`` in the request failed. - - Example 1: - - - Request: 5 DML statements, all executed successfully. - - Response: 5 [ResultSet][google.spanner.v1.ResultSet] messages, with - the status ``OK``. - - Example 2: - - - Request: 5 DML statements. The third statement has a syntax error. - - Response: 2 [ResultSet][google.spanner.v1.ResultSet] messages, and a - syntax error (``INVALID_ARGUMENT``) status. The number of - [ResultSet][google.spanner.v1.ResultSet] messages indicates that the - third statement failed, and the fourth and fifth statements were not - executed. - + { + "DESCRIPTOR": _EXECUTEBATCHDMLRESPONSE, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The response for + [ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]. Contains + a list of [ResultSet][google.spanner.v1.ResultSet] messages, one for + each DML statement that has successfully executed, in the same order + as the statements in the request. If a statement fails, the status in + the response body identifies the cause of the failure. To check for + DML statements that failed, use the following approach: 1. Check the + status in the response message. The + [google.rpc.Code][google.rpc.Code] enum value ``OK`` indicates that + all statements were executed successfully. 2. If the status was not + ``OK``, check the number of result sets in the response. If the + response contains ``N`` [ResultSet][google.spanner.v1.ResultSet] + messages, then statement ``N+1`` in the request failed. Example 1: + - Request: 5 DML statements, all executed successfully. - Response: + 5 [ResultSet][google.spanner.v1.ResultSet] messages, with the + status ``OK``. Example 2: - Request: 5 DML statements. The third + statement has a syntax error. - Response: 2 + [ResultSet][google.spanner.v1.ResultSet] messages, and a syntax + error (``INVALID_ARGUMENT``) status. The number of + [ResultSet][google.spanner.v1.ResultSet] messages indicates that the + third statement failed, and the fourth and fifth statements were not + executed. Attributes: result_sets: @@ -2805,19 +2873,17 @@ statement. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ExecuteBatchDmlResponse) - ), + }, ) _sym_db.RegisterMessage(ExecuteBatchDmlResponse) PartitionOptions = _reflection.GeneratedProtocolMessageType( "PartitionOptions", (_message.Message,), - dict( - DESCRIPTOR=_PARTITIONOPTIONS, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""Options for a PartitionQueryRequest and - PartitionReadRequest. - + { + "DESCRIPTOR": _PARTITIONOPTIONS, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """Options for a PartitionQueryRequest and PartitionReadRequest. Attributes: partition_size_bytes: @@ -2836,29 +2902,28 @@ be smaller or larger than this maximum count request. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PartitionOptions) - ), + }, ) _sym_db.RegisterMessage(PartitionOptions) PartitionQueryRequest = _reflection.GeneratedProtocolMessageType( "PartitionQueryRequest", (_message.Message,), - dict( - ParamTypesEntry=_reflection.GeneratedProtocolMessageType( + { + "ParamTypesEntry": _reflection.GeneratedProtocolMessageType( "ParamTypesEntry", (_message.Message,), - dict( - DESCRIPTOR=_PARTITIONQUERYREQUEST_PARAMTYPESENTRY, - __module__="google.cloud.spanner_v1.proto.spanner_pb2" + { + "DESCRIPTOR": _PARTITIONQUERYREQUEST_PARAMTYPESENTRY, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2" # @@protoc_insertion_point(class_scope:google.spanner.v1.PartitionQueryRequest.ParamTypesEntry) - ), + }, ), - DESCRIPTOR=_PARTITIONQUERYREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for + "DESCRIPTOR": _PARTITIONQUERYREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [PartitionQuery][google.spanner.v1.Spanner.PartitionQuery] - Attributes: session: Required. The session used to create the partitions. @@ -2902,7 +2967,7 @@ created. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PartitionQueryRequest) - ), + }, ) _sym_db.RegisterMessage(PartitionQueryRequest) _sym_db.RegisterMessage(PartitionQueryRequest.ParamTypesEntry) @@ -2910,13 +2975,12 @@ PartitionReadRequest = _reflection.GeneratedProtocolMessageType( "PartitionReadRequest", (_message.Message,), - dict( - DESCRIPTOR=_PARTITIONREADREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for + { + "DESCRIPTOR": _PARTITIONREADREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [PartitionRead][google.spanner.v1.Spanner.PartitionRead] - Attributes: session: Required. The session used to create the partitions. @@ -2958,20 +3022,19 @@ created. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PartitionReadRequest) - ), + }, ) _sym_db.RegisterMessage(PartitionReadRequest) Partition = _reflection.GeneratedProtocolMessageType( "Partition", (_message.Message,), - dict( - DESCRIPTOR=_PARTITION, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""Information returned for each partition returned in a + { + "DESCRIPTOR": _PARTITION, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """Information returned for each partition returned in a PartitionResponse. - Attributes: partition_token: This token can be passed to Read, StreamingRead, ExecuteSql, @@ -2979,21 +3042,20 @@ those identified by this partition token. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Partition) - ), + }, ) _sym_db.RegisterMessage(Partition) PartitionResponse = _reflection.GeneratedProtocolMessageType( "PartitionResponse", (_message.Message,), - dict( - DESCRIPTOR=_PARTITIONRESPONSE, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The response for + { + "DESCRIPTOR": _PARTITIONRESPONSE, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The response for [PartitionQuery][google.spanner.v1.Spanner.PartitionQuery] or [PartitionRead][google.spanner.v1.Spanner.PartitionRead] - Attributes: partitions: Partitions created by this request. @@ -3001,20 +3063,19 @@ Transaction created by this request. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.PartitionResponse) - ), + }, ) _sym_db.RegisterMessage(PartitionResponse) ReadRequest = _reflection.GeneratedProtocolMessageType( "ReadRequest", (_message.Message,), - dict( - DESCRIPTOR=_READREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for [Read][google.spanner.v1.Spanner.Read] and + { + "DESCRIPTOR": _READREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [Read][google.spanner.v1.Spanner.Read] and [StreamingRead][google.spanner.v1.Spanner.StreamingRead]. - Attributes: session: Required. The session in which the read should be performed. @@ -3075,20 +3136,19 @@ this partition\_token. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.ReadRequest) - ), + }, ) _sym_db.RegisterMessage(ReadRequest) BeginTransactionRequest = _reflection.GeneratedProtocolMessageType( "BeginTransactionRequest", (_message.Message,), - dict( - DESCRIPTOR=_BEGINTRANSACTIONREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for + { + "DESCRIPTOR": _BEGINTRANSACTIONREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [BeginTransaction][google.spanner.v1.Spanner.BeginTransaction]. - Attributes: session: Required. The session in which the transaction runs. @@ -3096,19 +3156,17 @@ Required. Options for the new transaction. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.BeginTransactionRequest) - ), + }, ) _sym_db.RegisterMessage(BeginTransactionRequest) CommitRequest = _reflection.GeneratedProtocolMessageType( "CommitRequest", (_message.Message,), - dict( - DESCRIPTOR=_COMMITREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for - [Commit][google.spanner.v1.Spanner.Commit]. - + { + "DESCRIPTOR": _COMMITREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [Commit][google.spanner.v1.Spanner.Commit]. Attributes: session: @@ -3134,19 +3192,17 @@ in this list. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.CommitRequest) - ), + }, ) _sym_db.RegisterMessage(CommitRequest) CommitResponse = _reflection.GeneratedProtocolMessageType( "CommitResponse", (_message.Message,), - dict( - DESCRIPTOR=_COMMITRESPONSE, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The response for - [Commit][google.spanner.v1.Spanner.Commit]. - + { + "DESCRIPTOR": _COMMITRESPONSE, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The response for [Commit][google.spanner.v1.Spanner.Commit]. Attributes: commit_timestamp: @@ -3154,19 +3210,17 @@ committed. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.CommitResponse) - ), + }, ) _sym_db.RegisterMessage(CommitResponse) RollbackRequest = _reflection.GeneratedProtocolMessageType( "RollbackRequest", (_message.Message,), - dict( - DESCRIPTOR=_ROLLBACKREQUEST, - __module__="google.cloud.spanner_v1.proto.spanner_pb2", - __doc__="""The request for - [Rollback][google.spanner.v1.Spanner.Rollback]. - + { + "DESCRIPTOR": _ROLLBACKREQUEST, + "__module__": "google.cloud.spanner_v1.proto.spanner_pb2", + "__doc__": """The request for [Rollback][google.spanner.v1.Spanner.Rollback]. Attributes: session: @@ -3176,7 +3230,7 @@ Required. The transaction to roll back. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.RollbackRequest) - ), + }, ) _sym_db.RegisterMessage(RollbackRequest) @@ -3219,9 +3273,8 @@ full_name="google.spanner.v1.Spanner", file=DESCRIPTOR, index=0, - serialized_options=_b( - "\312A\026spanner.googleapis.com\322A[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.data" - ), + serialized_options=b"\312A\026spanner.googleapis.com\322A[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.data", + create_key=_descriptor._internal_create_key, serialized_start=4716, serialized_end=7596, methods=[ @@ -3232,9 +3285,8 @@ containing_service=None, input_type=_CREATESESSIONREQUEST, output_type=_SESSION, - serialized_options=_b( - '\202\323\344\223\002?":/v1/{database=projects/*/instances/*/databases/*}/sessions:\001*\332A\010database' - ), + serialized_options=b'\202\323\344\223\002?":/v1/{database=projects/*/instances/*/databases/*}/sessions:\001*\332A\010database', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="BatchCreateSessions", @@ -3243,9 +3295,8 @@ containing_service=None, input_type=_BATCHCREATESESSIONSREQUEST, output_type=_BATCHCREATESESSIONSRESPONSE, - serialized_options=_b( - '\202\323\344\223\002K"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\001*\332A\026database,session_count' - ), + serialized_options=b'\202\323\344\223\002K"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\001*\332A\026database,session_count', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="GetSession", @@ -3254,9 +3305,8 @@ containing_service=None, input_type=_GETSESSIONREQUEST, output_type=_SESSION, - serialized_options=_b( - "\202\323\344\223\002:\0228/v1/{name=projects/*/instances/*/databases/*/sessions/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002:\0228/v1/{name=projects/*/instances/*/databases/*/sessions/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="ListSessions", @@ -3265,9 +3315,8 @@ containing_service=None, input_type=_LISTSESSIONSREQUEST, output_type=_LISTSESSIONSRESPONSE, - serialized_options=_b( - "\202\323\344\223\002<\022:/v1/{database=projects/*/instances/*/databases/*}/sessions\332A\010database" - ), + serialized_options=b"\202\323\344\223\002<\022:/v1/{database=projects/*/instances/*/databases/*}/sessions\332A\010database", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="DeleteSession", @@ -3276,9 +3325,8 @@ containing_service=None, input_type=_DELETESESSIONREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - serialized_options=_b( - "\202\323\344\223\002:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\332A\004name" - ), + serialized_options=b"\202\323\344\223\002:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\332A\004name", + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="ExecuteSql", @@ -3287,9 +3335,8 @@ containing_service=None, input_type=_EXECUTESQLREQUEST, output_type=google_dot_cloud_dot_spanner__v1_dot_proto_dot_result__set__pb2._RESULTSET, - serialized_options=_b( - '\202\323\344\223\002K"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\001*' - ), + serialized_options=b'\202\323\344\223\002K"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="ExecuteStreamingSql", @@ -3298,9 +3345,8 @@ containing_service=None, input_type=_EXECUTESQLREQUEST, output_type=google_dot_cloud_dot_spanner__v1_dot_proto_dot_result__set__pb2._PARTIALRESULTSET, - serialized_options=_b( - '\202\323\344\223\002T"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\001*' - ), + serialized_options=b'\202\323\344\223\002T"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="ExecuteBatchDml", @@ -3309,9 +3355,8 @@ containing_service=None, input_type=_EXECUTEBATCHDMLREQUEST, output_type=_EXECUTEBATCHDMLRESPONSE, - serialized_options=_b( - '\202\323\344\223\002P"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\001*' - ), + serialized_options=b'\202\323\344\223\002P"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="Read", @@ -3320,9 +3365,8 @@ containing_service=None, input_type=_READREQUEST, output_type=google_dot_cloud_dot_spanner__v1_dot_proto_dot_result__set__pb2._RESULTSET, - serialized_options=_b( - '\202\323\344\223\002E"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\001*' - ), + serialized_options=b'\202\323\344\223\002E"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="StreamingRead", @@ -3331,9 +3375,8 @@ containing_service=None, input_type=_READREQUEST, output_type=google_dot_cloud_dot_spanner__v1_dot_proto_dot_result__set__pb2._PARTIALRESULTSET, - serialized_options=_b( - '\202\323\344\223\002N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\001*' - ), + serialized_options=b'\202\323\344\223\002N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="BeginTransaction", @@ -3342,9 +3385,8 @@ containing_service=None, input_type=_BEGINTRANSACTIONREQUEST, output_type=google_dot_cloud_dot_spanner__v1_dot_proto_dot_transaction__pb2._TRANSACTION, - serialized_options=_b( - '\202\323\344\223\002Q"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\001*\332A\017session,options' - ), + serialized_options=b'\202\323\344\223\002Q"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\001*\332A\017session,options', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="Commit", @@ -3353,9 +3395,8 @@ containing_service=None, input_type=_COMMITREQUEST, output_type=_COMMITRESPONSE, - serialized_options=_b( - '\202\323\344\223\002G"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\001*\332A session,transaction_id,mutations\332A(session,single_use_transaction,mutations' - ), + serialized_options=b'\202\323\344\223\002G"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\001*\332A session,transaction_id,mutations\332A(session,single_use_transaction,mutations', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="Rollback", @@ -3364,9 +3405,8 @@ containing_service=None, input_type=_ROLLBACKREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, - serialized_options=_b( - '\202\323\344\223\002I"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\001*\332A\026session,transaction_id' - ), + serialized_options=b'\202\323\344\223\002I"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\001*\332A\026session,transaction_id', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="PartitionQuery", @@ -3375,9 +3415,8 @@ containing_service=None, input_type=_PARTITIONQUERYREQUEST, output_type=_PARTITIONRESPONSE, - serialized_options=_b( - '\202\323\344\223\002O"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\001*' - ), + serialized_options=b'\202\323\344\223\002O"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name="PartitionRead", @@ -3386,9 +3425,8 @@ containing_service=None, input_type=_PARTITIONREADREQUEST, output_type=_PARTITIONRESPONSE, - serialized_options=_b( - '\202\323\344\223\002N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\001*' - ), + serialized_options=b'\202\323\344\223\002N"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\001*', + create_key=_descriptor._internal_create_key, ), ], ) diff --git a/google/cloud/spanner_v1/proto/transaction.proto b/google/cloud/spanner_v1/proto/transaction.proto index 6a429f5d41..0bcbfcf900 100644 --- a/google/cloud/spanner_v1/proto/transaction.proto +++ b/google/cloud/spanner_v1/proto/transaction.proto @@ -26,6 +26,7 @@ option java_multiple_files = true; option java_outer_classname = "TransactionProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // # Transactions // diff --git a/google/cloud/spanner_v1/proto/transaction_pb2.py b/google/cloud/spanner_v1/proto/transaction_pb2.py index aa83e3373c..865a2446ad 100644 --- a/google/cloud/spanner_v1/proto/transaction_pb2.py +++ b/google/cloud/spanner_v1/proto/transaction_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/transaction.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 @@ -24,12 +21,9 @@ name="google/cloud/spanner_v1/proto/transaction.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\020TransactionProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n/google/cloud/spanner_v1/proto/transaction.proto\x12\x11google.spanner.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xc3\x04\n\x12TransactionOptions\x12\x45\n\nread_write\x18\x01 \x01(\x0b\x32/.google.spanner.v1.TransactionOptions.ReadWriteH\x00\x12O\n\x0fpartitioned_dml\x18\x03 \x01(\x0b\x32\x34.google.spanner.v1.TransactionOptions.PartitionedDmlH\x00\x12\x43\n\tread_only\x18\x02 \x01(\x0b\x32..google.spanner.v1.TransactionOptions.ReadOnlyH\x00\x1a\x0b\n\tReadWrite\x1a\x10\n\x0ePartitionedDml\x1a\xa8\x02\n\x08ReadOnly\x12\x10\n\x06strong\x18\x01 \x01(\x08H\x00\x12\x38\n\x12min_read_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x32\n\rmax_staleness\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x34\n\x0eread_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x34\n\x0f\x65xact_staleness\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1d\n\x15return_read_timestamp\x18\x06 \x01(\x08\x42\x11\n\x0ftimestamp_boundB\x06\n\x04mode"M\n\x0bTransaction\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x32\n\x0eread_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"\xa4\x01\n\x13TransactionSelector\x12;\n\nsingle_use\x18\x01 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12\x0c\n\x02id\x18\x02 \x01(\x0cH\x00\x12\x36\n\x05\x62\x65gin\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x42\n\n\x08selectorB\x99\x01\n\x15\x63om.google.spanner.v1B\x10TransactionProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\020TransactionProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n/google/cloud/spanner_v1/proto/transaction.proto\x12\x11google.spanner.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xc3\x04\n\x12TransactionOptions\x12\x45\n\nread_write\x18\x01 \x01(\x0b\x32/.google.spanner.v1.TransactionOptions.ReadWriteH\x00\x12O\n\x0fpartitioned_dml\x18\x03 \x01(\x0b\x32\x34.google.spanner.v1.TransactionOptions.PartitionedDmlH\x00\x12\x43\n\tread_only\x18\x02 \x01(\x0b\x32..google.spanner.v1.TransactionOptions.ReadOnlyH\x00\x1a\x0b\n\tReadWrite\x1a\x10\n\x0ePartitionedDml\x1a\xa8\x02\n\x08ReadOnly\x12\x10\n\x06strong\x18\x01 \x01(\x08H\x00\x12\x38\n\x12min_read_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x32\n\rmax_staleness\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x34\n\x0eread_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x34\n\x0f\x65xact_staleness\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x1d\n\x15return_read_timestamp\x18\x06 \x01(\x08\x42\x11\n\x0ftimestamp_boundB\x06\n\x04mode"M\n\x0bTransaction\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x32\n\x0eread_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"\xa4\x01\n\x13TransactionSelector\x12;\n\nsingle_use\x18\x01 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12\x0c\n\x02id\x18\x02 \x01(\x0cH\x00\x12\x36\n\x05\x62\x65gin\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x42\n\n\x08selectorB\xb6\x01\n\x15\x63om.google.spanner.v1B\x10TransactionProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[ google_dot_protobuf_dot_duration__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, @@ -44,6 +38,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], @@ -63,6 +58,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], @@ -82,6 +78,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="strong", @@ -100,6 +97,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="min_read_timestamp", @@ -118,6 +116,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="max_staleness", @@ -136,6 +135,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="read_timestamp", @@ -154,6 +154,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="exact_staleness", @@ -172,6 +173,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="return_read_timestamp", @@ -190,6 +192,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -205,6 +208,7 @@ full_name="google.spanner.v1.TransactionOptions.ReadOnly.timestamp_bound", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -218,6 +222,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="read_write", @@ -236,6 +241,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="partitioned_dml", @@ -254,6 +260,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="read_only", @@ -272,6 +279,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -291,6 +299,7 @@ full_name="google.spanner.v1.TransactionOptions.mode", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -305,6 +314,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="id", @@ -315,7 +325,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b(""), + default_value=b"", message_type=None, enum_type=None, containing_type=None, @@ -323,6 +333,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="read_timestamp", @@ -341,6 +352,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -362,6 +374,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="single_use", @@ -380,6 +393,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="id", @@ -390,7 +404,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b(""), + default_value=b"", message_type=None, enum_type=None, containing_type=None, @@ -398,6 +412,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="begin", @@ -416,6 +431,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -431,6 +447,7 @@ full_name="google.spanner.v1.TransactionSelector.selector", index=0, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[], ) ], @@ -541,40 +558,35 @@ TransactionOptions = _reflection.GeneratedProtocolMessageType( "TransactionOptions", (_message.Message,), - dict( - ReadWrite=_reflection.GeneratedProtocolMessageType( + { + "ReadWrite": _reflection.GeneratedProtocolMessageType( "ReadWrite", (_message.Message,), - dict( - DESCRIPTOR=_TRANSACTIONOPTIONS_READWRITE, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""Message type to initiate a read-write transaction. - Currently this transaction type has no options. - - """, + { + "DESCRIPTOR": _TRANSACTIONOPTIONS_READWRITE, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """Message type to initiate a read-write transaction. Currently this + transaction type has no options.""", # @@protoc_insertion_point(class_scope:google.spanner.v1.TransactionOptions.ReadWrite) - ), + }, ), - PartitionedDml=_reflection.GeneratedProtocolMessageType( + "PartitionedDml": _reflection.GeneratedProtocolMessageType( "PartitionedDml", (_message.Message,), - dict( - DESCRIPTOR=_TRANSACTIONOPTIONS_PARTITIONEDDML, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""Message type to initiate a Partitioned DML transaction. - - """, + { + "DESCRIPTOR": _TRANSACTIONOPTIONS_PARTITIONEDDML, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """Message type to initiate a Partitioned DML transaction.""", # @@protoc_insertion_point(class_scope:google.spanner.v1.TransactionOptions.PartitionedDml) - ), + }, ), - ReadOnly=_reflection.GeneratedProtocolMessageType( + "ReadOnly": _reflection.GeneratedProtocolMessageType( "ReadOnly", (_message.Message,), - dict( - DESCRIPTOR=_TRANSACTIONOPTIONS_READONLY, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""Message type to initiate a read-only transaction. - + { + "DESCRIPTOR": _TRANSACTIONOPTIONS_READONLY, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """Message type to initiate a read-only transaction. Attributes: timestamp_bound: @@ -596,7 +608,7 @@ Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Because Cloud Spanner chooses the exact timestamp, this mode works even if - the client's local clock is substantially skewed from Cloud + the client’s local clock is substantially skewed from Cloud Spanner commit timestamps. Useful for reading the freshest data available at a nearby replica, while bounding the possible staleness if the local replica has fallen behind. @@ -607,7 +619,7 @@ reads at a specific timestamp are repeatable; the same read at the same timestamp always returns the same data. If the timestamp is in the future, the read will block until the - specified timestamp, modulo the read's deadline. Useful for + specified timestamp, modulo the read’s deadline. Useful for large scale consistent reads such as mapreduces, or for coordinating many reads against a consistent snapshot of the data. A timestamp in RFC3339 UTC "Zulu" format, accurate to @@ -618,7 +630,7 @@ Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Because Cloud Spanner chooses the exact timestamp, this mode works even if - the client's local clock is substantially skewed from Cloud + the client’s local clock is substantially skewed from Cloud Spanner commit timestamps. Useful for reading at nearby replicas without the distributed timestamp negotiation overhead of ``max_staleness``. @@ -628,12 +640,12 @@ that describes the transaction. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.TransactionOptions.ReadOnly) - ), + }, ), - DESCRIPTOR=_TRANSACTIONOPTIONS, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""# Transactions - + "DESCRIPTOR": _TRANSACTIONOPTIONS, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """# Transactions + Each session can have at most one active transaction at a time. After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new @@ -683,7 +695,7 @@ not been terminated by [Commit][google.spanner.v1.Spanner.Commit] or [Rollback][google.spanner.v1.Spanner.Rollback]. Long periods of inactivity at the client may cause Cloud Spanner to release a - transaction's locks and abort it. + transaction’s locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by [Commit][google.spanner.v1.Spanner.Commit]. @@ -701,7 +713,7 @@ the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about - how long the transaction's locks were held for. It is an error to use + how long the transaction’s locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. @@ -711,7 +723,7 @@ When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as - the original attempt. The original session's lock priority increases + the original attempt. The original session’s lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. @@ -727,7 +739,7 @@ A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they - don't hold on to locks indefinitely. In that case, the commit will fail + don’t hold on to locks indefinitely. In that case, the commit will fail with error ``ABORTED``. If this behavior is undesirable, periodically executing a simple SQL @@ -918,7 +930,6 @@ operations that are idempotent, such as deleting old rows from a very large table. - Attributes: mode: Required. The type of transaction. @@ -939,7 +950,7 @@ the ``session`` resource. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.TransactionOptions) - ), + }, ) _sym_db.RegisterMessage(TransactionOptions) _sym_db.RegisterMessage(TransactionOptions.ReadWrite) @@ -949,11 +960,10 @@ Transaction = _reflection.GeneratedProtocolMessageType( "Transaction", (_message.Message,), - dict( - DESCRIPTOR=_TRANSACTION, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""A transaction. - + { + "DESCRIPTOR": _TRANSACTION, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """A transaction. Attributes: id: @@ -973,24 +983,23 @@ nanoseconds. Example: ``"2014-10-02T15:01:23.045123456Z"``. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Transaction) - ), + }, ) _sym_db.RegisterMessage(Transaction) TransactionSelector = _reflection.GeneratedProtocolMessageType( "TransactionSelector", (_message.Message,), - dict( - DESCRIPTOR=_TRANSACTIONSELECTOR, - __module__="google.cloud.spanner_v1.proto.transaction_pb2", - __doc__="""This message is used to select the transaction in which a + { + "DESCRIPTOR": _TRANSACTIONSELECTOR, + "__module__": "google.cloud.spanner_v1.proto.transaction_pb2", + "__doc__": """This message is used to select the transaction in which a [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] call runs. See [TransactionOptions][google.spanner.v1.TransactionOptions] for more information about transactions. - Attributes: selector: If no fields are set, the default is a single use transaction @@ -1010,7 +1019,7 @@ [Transaction][google.spanner.v1.Transaction]. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.TransactionSelector) - ), + }, ) _sym_db.RegisterMessage(TransactionSelector) diff --git a/google/cloud/spanner_v1/proto/type.proto b/google/cloud/spanner_v1/proto/type.proto index b749d5084f..eebed5a49b 100644 --- a/google/cloud/spanner_v1/proto/type.proto +++ b/google/cloud/spanner_v1/proto/type.proto @@ -24,6 +24,7 @@ option java_multiple_files = true; option java_outer_classname = "TypeProto"; option java_package = "com.google.spanner.v1"; option php_namespace = "Google\\Cloud\\Spanner\\V1"; +option ruby_package = "Google::Cloud::Spanner::V1"; // `TypeCode` is used as part of [Type][google.spanner.v1.Type] to // indicate the type of a Cloud Spanner value. diff --git a/google/cloud/spanner_v1/proto/type_pb2.py b/google/cloud/spanner_v1/proto/type_pb2.py index 2ef35b36c6..7664963a70 100644 --- a/google/cloud/spanner_v1/proto/type_pb2.py +++ b/google/cloud/spanner_v1/proto/type_pb2.py @@ -2,9 +2,6 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/cloud/spanner_v1/proto/type.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 @@ -23,12 +20,9 @@ name="google/cloud/spanner_v1/proto/type.proto", package="google.spanner.v1", syntax="proto3", - serialized_options=_b( - "\n\025com.google.spanner.v1B\tTypeProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1" - ), - serialized_pb=_b( - '\n(google/cloud/spanner_v1/proto/type.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/api/annotations.proto"\x9a\x01\n\x04Type\x12)\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x1b.google.spanner.v1.TypeCode\x12\x33\n\x12\x61rray_element_type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type\x12\x32\n\x0bstruct_type\x18\x03 \x01(\x0b\x32\x1d.google.spanner.v1.StructType"\x7f\n\nStructType\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.spanner.v1.StructType.Field\x1a<\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type*\x8e\x01\n\x08TypeCode\x12\x19\n\x15TYPE_CODE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\x0b\n\x07\x46LOAT64\x10\x03\x12\r\n\tTIMESTAMP\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\n\n\x06STRING\x10\x06\x12\t\n\x05\x42YTES\x10\x07\x12\t\n\x05\x41RRAY\x10\x08\x12\n\n\x06STRUCT\x10\tB\x92\x01\n\x15\x63om.google.spanner.v1B\tTypeProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1b\x06proto3' - ), + serialized_options=b"\n\025com.google.spanner.v1B\tTypeProtoP\001Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1", + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n(google/cloud/spanner_v1/proto/type.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/api/annotations.proto"\x9a\x01\n\x04Type\x12)\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x1b.google.spanner.v1.TypeCode\x12\x33\n\x12\x61rray_element_type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type\x12\x32\n\x0bstruct_type\x18\x03 \x01(\x0b\x32\x1d.google.spanner.v1.StructType"\x7f\n\nStructType\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.spanner.v1.StructType.Field\x1a<\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type*\x8e\x01\n\x08TypeCode\x12\x19\n\x15TYPE_CODE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\x0b\n\x07\x46LOAT64\x10\x03\x12\r\n\tTIMESTAMP\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\n\n\x06STRING\x10\x06\x12\t\n\x05\x42YTES\x10\x07\x12\t\n\x05\x41RRAY\x10\x08\x12\n\n\x06STRUCT\x10\tB\xaf\x01\n\x15\x63om.google.spanner.v1B\tTypeProtoP\x01Z8google.golang.org/genproto/googleapis/spanner/v1;spanner\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3', dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR], ) @@ -37,6 +31,7 @@ full_name="google.spanner.v1.TypeCode", filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name="TYPE_CODE_UNSPECIFIED", @@ -44,33 +39,79 @@ number=0, serialized_options=None, type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="BOOL", index=1, number=1, serialized_options=None, type=None + name="BOOL", + index=1, + number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="INT64", index=2, number=2, serialized_options=None, type=None + name="INT64", + index=2, + number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="FLOAT64", index=3, number=3, serialized_options=None, type=None + name="FLOAT64", + index=3, + number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="TIMESTAMP", index=4, number=4, serialized_options=None, type=None + name="TIMESTAMP", + index=4, + number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="DATE", index=5, number=5, serialized_options=None, type=None + name="DATE", + index=5, + number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="STRING", index=6, number=6, serialized_options=None, type=None + name="STRING", + index=6, + number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="BYTES", index=7, number=7, serialized_options=None, type=None + name="BYTES", + index=7, + number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="ARRAY", index=8, number=8, serialized_options=None, type=None + name="ARRAY", + index=8, + number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), _descriptor.EnumValueDescriptor( - name="STRUCT", index=9, number=9, serialized_options=None, type=None + name="STRUCT", + index=9, + number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key, ), ], containing_type=None, @@ -99,6 +140,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="code", @@ -117,6 +159,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="array_element_type", @@ -135,6 +178,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="struct_type", @@ -153,6 +197,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -174,6 +219,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="name", @@ -184,7 +230,7 @@ cpp_type=9, label=1, has_default_value=False, - default_value=_b("").decode("utf-8"), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -192,6 +238,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), _descriptor.FieldDescriptor( name="type", @@ -210,6 +257,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ), ], extensions=[], @@ -230,6 +278,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name="fields", @@ -248,6 +297,7 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, ) ], extensions=[], @@ -276,12 +326,11 @@ Type = _reflection.GeneratedProtocolMessageType( "Type", (_message.Message,), - dict( - DESCRIPTOR=_TYPE, - __module__="google.cloud.spanner_v1.proto.type_pb2", - __doc__="""\ ``Type`` indicates the type of a Cloud Spanner value, as - might be stored in a table cell or returned from an SQL query. - + { + "DESCRIPTOR": _TYPE, + "__module__": "google.cloud.spanner_v1.proto.type_pb2", + "__doc__": """\ ``Type`` indicates the type of a Cloud Spanner value, as might be + stored in a table cell or returned from an SQL query. Attributes: code: @@ -294,26 +343,25 @@ struct_type: If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then - ``struct_type`` provides type information for the struct's + ``struct_type`` provides type information for the struct’s fields. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.Type) - ), + }, ) _sym_db.RegisterMessage(Type) StructType = _reflection.GeneratedProtocolMessageType( "StructType", (_message.Message,), - dict( - Field=_reflection.GeneratedProtocolMessageType( + { + "Field": _reflection.GeneratedProtocolMessageType( "Field", (_message.Message,), - dict( - DESCRIPTOR=_STRUCTTYPE_FIELD, - __module__="google.cloud.spanner_v1.proto.type_pb2", - __doc__="""Message representing a single field of a struct. - + { + "DESCRIPTOR": _STRUCTTYPE_FIELD, + "__module__": "google.cloud.spanner_v1.proto.type_pb2", + "__doc__": """Message representing a single field of a struct. Attributes: name: @@ -321,21 +369,20 @@ SQL queries, it is the column alias (e.g., ``"Word"`` in the query ``"SELECT 'hello' AS Word"``), or the column name (e.g., ``"ColName"`` in the query ``"SELECT ColName FROM Table"``). - Some columns might have an empty name (e.g., !"SELECT - UPPER(ColName)"\`). Note that a query result can contain + Some columns might have an empty name (e.g., !“SELECT + UPPER(ColName)”\`). Note that a query result can contain multiple fields with the same name. type: The type of the field. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.StructType.Field) - ), + }, ), - DESCRIPTOR=_STRUCTTYPE, - __module__="google.cloud.spanner_v1.proto.type_pb2", - __doc__="""\ ``StructType`` defines the fields of a + "DESCRIPTOR": _STRUCTTYPE, + "__module__": "google.cloud.spanner_v1.proto.type_pb2", + "__doc__": """\ ``StructType`` defines the fields of a [STRUCT][google.spanner.v1.TypeCode.STRUCT] type. - Attributes: fields: The list of fields that make up this struct. Order is @@ -347,7 +394,7 @@ the order of fields in the ``SELECT`` clause of a query. """, # @@protoc_insertion_point(class_scope:google.spanner.v1.StructType) - ), + }, ) _sym_db.RegisterMessage(StructType) _sym_db.RegisterMessage(StructType.Field) diff --git a/setup.py b/setup.py index 350d26ed91..eeddbb6932 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ name = "google-cloud-spanner" description = "Cloud Spanner API client library" -version = "1.17.0" +version = "1.17.1" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta' diff --git a/synth.metadata b/synth.metadata index a157d58dab..198e9c4cb0 100644 --- a/synth.metadata +++ b/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/python-spanner.git", - "sha": "b8c1a671fab4f08e6ba77628bdd3fa7b84c91e54" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "89e89786896d256c70f43e68a975470c4f4f220e", - "internalRef": "311239362" + "remote": "git@github.com:larkee/python-spanner.git", + "sha": "33055e577288cbcc848aa9abf43ccd382c9907a9" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "84c4156c49be9dcabacc8fd7b0585b6fd789ae47" + "sha": "4f2c9f752a94042472fc03c5bd9e06e89817d2bd" } } ], diff --git a/synth.py b/synth.py index 078a866c58..7f9540f72b 100644 --- a/synth.py +++ b/synth.py @@ -163,4 +163,12 @@ "include google/cloud/spanner_v1/gapic/transports/spanner.grpc.config\n", ) +s.replace( + ".kokoro/build.sh", + "# Remove old nox", + "# Set up creating a new instance for each system test run\n" + "export GOOGLE_CLOUD_TESTS_CREATE_SPANNER_INSTANCE=true\n" + "\n\g<0>", +) + s.shell.run(["nox", "-s", "blacken"], hide_output=False) diff --git a/tests/system/test_system.py b/tests/system/test_system.py index 56e7e93334..9fde7db0c3 100644 --- a/tests/system/test_system.py +++ b/tests/system/test_system.py @@ -93,7 +93,15 @@ def _list_instances(): def setUpModule(): - Config.CLIENT = Client() + if USE_EMULATOR: + from google.auth.credentials import AnonymousCredentials + + emulator_project = os.getenv("GCLOUD_PROJECT", "emulator-test-project") + Config.CLIENT = Client( + project=emulator_project, credentials=AnonymousCredentials() + ) + else: + Config.CLIENT = Client() retry = RetryErrors(exceptions.ServiceUnavailable) configs = list(retry(Config.CLIENT.list_instance_configs)()) @@ -135,6 +143,9 @@ def tearDown(self): for instance in self.instances_to_delete: instance.delete() + @unittest.skipIf( + CREATE_INSTANCE, "This test fails when system tests are run in parallel." + ) def test_list_instances(self): instances = list(Config.CLIENT.list_instances()) # We have added one new instance in `setUpModule`. @@ -1215,7 +1226,6 @@ def test_transaction_batch_update_wo_statements(self): with self.assertRaises(InvalidArgument): transaction.batch_update([]) - @unittest.skipIf(USE_EMULATOR, "Skipping partitioned DML") def test_execute_partitioned_dml(self): # [START spanner_test_dml_partioned_dml_update] retry = RetryInstanceState(_has_all_ddl) @@ -1329,6 +1339,7 @@ def test_transaction_query_w_concurrent_updates(self): PKEY = "query_w_concurrent_updates" self._transaction_concurrency_helper(self._query_w_concurrent_update, PKEY) + @unittest.skipIf(USE_EMULATOR, "Skipping concurrent transactions") def test_transaction_read_w_abort(self): retry = RetryInstanceState(_has_all_ddl) retry(self._db.reload)() @@ -1848,7 +1859,6 @@ def test_read_with_range_keys_and_index_open_open(self): expected = [data[keyrow]] + data[start + 1 : end] self.assertEqual(rows, expected) - @unittest.skipIf(USE_EMULATOR, "Skipping partitioned reads") def test_partition_read_w_index(self): row_count = 10 columns = self.COLUMNS[1], self.COLUMNS[2] diff --git a/tests/unit/gapic/v1/test_database_admin_client_v1.py b/tests/unit/gapic/v1/test_database_admin_client_v1.py index dec787ae89..96eac6d395 100644 --- a/tests/unit/gapic/v1/test_database_admin_client_v1.py +++ b/tests/unit/gapic/v1/test_database_admin_client_v1.py @@ -68,6 +68,53 @@ class CustomException(Exception): class TestDatabaseAdminClient(object): + def test_list_databases(self): + # Setup Expected Response + next_page_token = "" + databases_element = {} + databases = [databases_element] + expected_response = {"next_page_token": next_page_token, "databases": databases} + expected_response = spanner_database_admin_pb2.ListDatabasesResponse( + **expected_response + ) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = spanner_admin_database_v1.DatabaseAdminClient() + + # Setup Request + parent = client.instance_path("[PROJECT]", "[INSTANCE]") + + paged_list_response = client.list_databases(parent) + resources = list(paged_list_response) + assert len(resources) == 1 + + assert expected_response.databases[0] == resources[0] + + assert len(channel.requests) == 1 + expected_request = spanner_database_admin_pb2.ListDatabasesRequest( + parent=parent + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_list_databases_exception(self): + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = spanner_admin_database_v1.DatabaseAdminClient() + + # Setup request + parent = client.instance_path("[PROJECT]", "[INSTANCE]") + + paged_list_response = client.list_databases(parent) + with pytest.raises(CustomException): + list(paged_list_response) + def test_create_database(self): # Setup Expected Response name = "name3373707" @@ -793,50 +840,3 @@ def test_list_backup_operations_exception(self): paged_list_response = client.list_backup_operations(parent) with pytest.raises(CustomException): list(paged_list_response) - - def test_list_databases(self): - # Setup Expected Response - next_page_token = "" - databases_element = {} - databases = [databases_element] - expected_response = {"next_page_token": next_page_token, "databases": databases} - expected_response = spanner_database_admin_pb2.ListDatabasesResponse( - **expected_response - ) - - # Mock the API response - channel = ChannelStub(responses=[expected_response]) - patch = mock.patch("google.api_core.grpc_helpers.create_channel") - with patch as create_channel: - create_channel.return_value = channel - client = spanner_admin_database_v1.DatabaseAdminClient() - - # Setup Request - parent = client.instance_path("[PROJECT]", "[INSTANCE]") - - paged_list_response = client.list_databases(parent) - resources = list(paged_list_response) - assert len(resources) == 1 - - assert expected_response.databases[0] == resources[0] - - assert len(channel.requests) == 1 - expected_request = spanner_database_admin_pb2.ListDatabasesRequest( - parent=parent - ) - actual_request = channel.requests[0][1] - assert expected_request == actual_request - - def test_list_databases_exception(self): - channel = ChannelStub(responses=[CustomException()]) - patch = mock.patch("google.api_core.grpc_helpers.create_channel") - with patch as create_channel: - create_channel.return_value = channel - client = spanner_admin_database_v1.DatabaseAdminClient() - - # Setup request - parent = client.instance_path("[PROJECT]", "[INSTANCE]") - - paged_list_response = client.list_databases(parent) - with pytest.raises(CustomException): - list(paged_list_response)