google-cloud-spanner 3.54.0__tar.gz → 3.56.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. {google_cloud_spanner-3.54.0/google_cloud_spanner.egg-info → google_cloud_spanner-3.56.0}/PKG-INFO +21 -2
  2. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/README.rst +7 -0
  3. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/__init__.py +5 -1
  4. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/gapic_metadata.json +15 -0
  5. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/gapic_version.py +1 -1
  6. {google_cloud_spanner-3.54.0/google/cloud/spanner_admin_instance_v1 → google_cloud_spanner-3.56.0/google/cloud/spanner_admin_database_v1}/services/__init__.py +1 -1
  7. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/__init__.py +1 -1
  8. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/async_client.py +230 -27
  9. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/client.py +228 -27
  10. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/pagers.py +1 -1
  11. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/__init__.py +1 -1
  12. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/base.py +22 -1
  13. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc.py +35 -3
  14. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc_asyncio.py +39 -1
  15. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest.py +43 -1
  16. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest_base.py +5 -1
  17. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/types/__init__.py +5 -1
  18. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/types/backup.py +1 -1
  19. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/types/backup_schedule.py +1 -1
  20. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/types/common.py +1 -1
  21. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/types/spanner_database_admin.py +55 -1
  22. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/__init__.py +1 -1
  23. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/gapic_version.py +1 -1
  24. {google_cloud_spanner-3.54.0/google/cloud/spanner_v1 → google_cloud_spanner-3.56.0/google/cloud/spanner_admin_instance_v1}/services/__init__.py +1 -1
  25. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/__init__.py +1 -1
  26. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/async_client.py +308 -21
  27. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/client.py +315 -21
  28. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/pagers.py +1 -1
  29. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/__init__.py +1 -1
  30. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/base.py +58 -1
  31. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc.py +72 -3
  32. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc_asyncio.py +91 -1
  33. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest.py +685 -13
  34. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest_base.py +181 -1
  35. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/types/__init__.py +1 -1
  36. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/types/common.py +1 -1
  37. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/types/spanner_instance_admin.py +1 -1
  38. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/connection.py +29 -5
  39. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/transaction_helper.py +4 -2
  40. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/_helpers.py +20 -8
  41. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/batch.py +102 -90
  42. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/client.py +12 -1
  43. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/database.py +205 -48
  44. google_cloud_spanner-3.56.0/google/cloud/spanner_v1/database_sessions_manager.py +277 -0
  45. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/gapic_version.py +1 -1
  46. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/metrics_exporter.py +3 -0
  47. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/pool.py +30 -10
  48. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/request_id_header.py +29 -3
  49. {google_cloud_spanner-3.54.0/tests → google_cloud_spanner-3.56.0/google/cloud/spanner_v1/services}/__init__.py +1 -1
  50. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/__init__.py +1 -1
  51. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/async_client.py +40 -11
  52. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/client.py +40 -12
  53. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/pagers.py +1 -1
  54. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/__init__.py +1 -1
  55. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/base.py +5 -1
  56. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/grpc.py +2 -4
  57. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/grpc_asyncio.py +1 -1
  58. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/rest.py +6 -1
  59. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/services/spanner/transports/rest_base.py +3 -1
  60. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/session.py +147 -70
  61. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/snapshot.py +440 -259
  62. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/streamed.py +8 -7
  63. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/database_test.py +9 -0
  64. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/interceptors.py +53 -0
  65. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/mock_spanner.py +23 -10
  66. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/transaction.py +350 -251
  67. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/__init__.py +5 -1
  68. google_cloud_spanner-3.56.0/google/cloud/spanner_v1/types/change_stream.py +700 -0
  69. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/commit_response.py +14 -4
  70. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/keys.py +1 -1
  71. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/mutation.py +1 -1
  72. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/query_plan.py +1 -1
  73. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/result_set.py +41 -29
  74. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/spanner.py +1 -1
  75. google_cloud_spanner-3.56.0/google/cloud/spanner_v1/types/transaction.py +494 -0
  76. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/types/type.py +1 -1
  77. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0/google_cloud_spanner.egg-info}/PKG-INFO +21 -2
  78. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google_cloud_spanner.egg-info/SOURCES.txt +5 -1
  79. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/setup.cfg +0 -3
  80. {google_cloud_spanner-3.54.0/google/cloud/spanner_admin_database_v1/services → google_cloud_spanner-3.56.0/tests}/__init__.py +1 -1
  81. google_cloud_spanner-3.56.0/tests/_builders.py +231 -0
  82. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/_helpers.py +21 -0
  83. google_cloud_spanner-3.56.0/tests/mockserver_tests/mock_server_test_base.py +337 -0
  84. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/mockserver_tests/test_aborted_transaction.py +50 -38
  85. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/mockserver_tests/test_basics.py +87 -19
  86. google_cloud_spanner-3.56.0/tests/mockserver_tests/test_request_id_header.py +300 -0
  87. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/mockserver_tests/test_tags.py +71 -42
  88. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/_helpers.py +2 -2
  89. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_dbapi.py +36 -22
  90. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_observability_options.py +148 -50
  91. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_session_api.py +449 -119
  92. google_cloud_spanner-3.56.0/tests/unit/__init__.py +15 -0
  93. google_cloud_spanner-3.56.0/tests/unit/gapic/__init__.py +15 -0
  94. google_cloud_spanner-3.56.0/tests/unit/gapic/spanner_admin_database_v1/__init__.py +15 -0
  95. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/gapic/spanner_admin_database_v1/test_database_admin.py +413 -1
  96. google_cloud_spanner-3.56.0/tests/unit/gapic/spanner_admin_instance_v1/__init__.py +15 -0
  97. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/gapic/spanner_admin_instance_v1/test_instance_admin.py +840 -1
  98. google_cloud_spanner-3.56.0/tests/unit/gapic/spanner_v1/__init__.py +15 -0
  99. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/gapic/spanner_v1/test_spanner.py +5 -1
  100. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_connect.py +35 -15
  101. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_connection.py +71 -39
  102. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_cursor.py +65 -9
  103. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_transaction_helper.py +1 -1
  104. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test__helpers.py +15 -8
  105. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_batch.py +78 -18
  106. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_client.py +32 -40
  107. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_database.py +550 -94
  108. google_cloud_spanner-3.56.0/tests/unit/test_database_session_manager.py +321 -0
  109. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_instance.py +10 -8
  110. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics.py +29 -2
  111. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics_exporter.py +24 -11
  112. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_pool.py +74 -38
  113. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_session.py +667 -203
  114. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_snapshot.py +713 -575
  115. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_spanner.py +232 -63
  116. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_streamed.py +36 -5
  117. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_transaction.py +524 -296
  118. google_cloud_spanner-3.54.0/google/cloud/spanner_v1/types/transaction.py +0 -818
  119. google_cloud_spanner-3.54.0/tests/mockserver_tests/mock_server_test_base.py +0 -191
  120. google_cloud_spanner-3.54.0/tests/unit/__init__.py +0 -15
  121. google_cloud_spanner-3.54.0/tests/unit/gapic/__init__.py +0 -15
  122. google_cloud_spanner-3.54.0/tests/unit/gapic/spanner_admin_database_v1/__init__.py +0 -15
  123. google_cloud_spanner-3.54.0/tests/unit/gapic/spanner_admin_instance_v1/__init__.py +0 -15
  124. google_cloud_spanner-3.54.0/tests/unit/gapic/spanner_v1/__init__.py +0 -15
  125. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/LICENSE +0 -0
  126. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/MANIFEST.in +0 -0
  127. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner.py +0 -0
  128. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_database_v1/py.typed +0 -0
  129. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/gapic_metadata.json +0 -0
  130. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_admin_instance_v1/py.typed +0 -0
  131. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/__init__.py +0 -0
  132. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/_helpers.py +0 -0
  133. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/batch_dml_executor.py +0 -0
  134. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/checksum.py +0 -0
  135. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/client_side_statement_executor.py +0 -0
  136. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/client_side_statement_parser.py +0 -0
  137. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/cursor.py +0 -0
  138. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/exceptions.py +0 -0
  139. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/parse_utils.py +0 -0
  140. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/parsed_statement.py +0 -0
  141. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/parser.py +0 -0
  142. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/partition_helper.py +0 -0
  143. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/types.py +0 -0
  144. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/utils.py +0 -0
  145. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_dbapi/version.py +0 -0
  146. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/__init__.py +0 -0
  147. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/_opentelemetry_tracing.py +0 -0
  148. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/backup.py +0 -0
  149. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/data_types.py +0 -0
  150. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/gapic_metadata.json +0 -0
  151. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/instance.py +0 -0
  152. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/keyset.py +0 -0
  153. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/merged_result_set.py +0 -0
  154. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/constants.py +0 -0
  155. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/metrics_capture.py +0 -0
  156. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/metrics_interceptor.py +0 -0
  157. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/metrics_tracer.py +0 -0
  158. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/metrics_tracer_factory.py +0 -0
  159. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/metrics/spanner_metrics_tracer_factory.py +0 -0
  160. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/param_types.py +0 -0
  161. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/py.typed +0 -0
  162. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/table.py +0 -0
  163. {google_cloud_spanner-3.54.0/tests/system/utils → google_cloud_spanner-3.56.0/google/cloud/spanner_v1/testing}/__init__.py +0 -0
  164. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/mock_database_admin.py +0 -0
  165. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/spanner_database_admin_pb2_grpc.py +0 -0
  166. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google/cloud/spanner_v1/testing/spanner_pb2_grpc.py +0 -0
  167. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google_cloud_spanner.egg-info/dependency_links.txt +0 -0
  168. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google_cloud_spanner.egg-info/not-zip-safe +0 -0
  169. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google_cloud_spanner.egg-info/requires.txt +0 -0
  170. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/google_cloud_spanner.egg-info/top_level.txt +0 -0
  171. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/setup.py +0 -0
  172. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/_fixtures.py +0 -0
  173. {google_cloud_spanner-3.54.0/tests/system → google_cloud_spanner-3.56.0/tests/mockserver_tests}/__init__.py +0 -0
  174. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/mockserver_tests/test_dbapi_autocommit.py +0 -0
  175. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/mockserver_tests/test_dbapi_isolation_level.py +0 -0
  176. {google_cloud_spanner-3.54.0/tests/mockserver_tests → google_cloud_spanner-3.56.0/tests/system}/__init__.py +0 -0
  177. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/_sample_data.py +0 -0
  178. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/conftest.py +0 -0
  179. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_backup_api.py +0 -0
  180. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_database_api.py +0 -0
  181. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_instance_api.py +0 -0
  182. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_streaming_chunking.py +0 -0
  183. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/test_table_api.py +0 -0
  184. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/testdata/descriptors.pb +0 -0
  185. {google_cloud_spanner-3.54.0/tests/unit → google_cloud_spanner-3.56.0/tests/system}/testdata/singer.proto +0 -0
  186. {google_cloud_spanner-3.54.0/tests/unit → google_cloud_spanner-3.56.0/tests/system}/testdata/singer_pb2.py +0 -0
  187. {google_cloud_spanner-3.54.0/google/cloud/spanner_v1/testing → google_cloud_spanner-3.56.0/tests/system/utils}/__init__.py +0 -0
  188. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/utils/clear_streaming.py +0 -0
  189. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/utils/populate_streaming.py +0 -0
  190. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/utils/scrub_instances.py +0 -0
  191. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/system/utils/streaming_utils.py +0 -0
  192. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/__init__.py +0 -0
  193. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test__helpers.py +0 -0
  194. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_batch_dml_executor.py +0 -0
  195. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_checksum.py +0 -0
  196. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_client_side_statement_executor.py +0 -0
  197. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_globals.py +0 -0
  198. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_parse_utils.py +0 -0
  199. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_parser.py +0 -0
  200. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_types.py +0 -0
  201. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/spanner_dbapi/test_utils.py +0 -0
  202. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/streaming-read-acceptance-test.json +0 -0
  203. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test__opentelemetry_tracing.py +0 -0
  204. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_atomic_counter.py +0 -0
  205. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_backup.py +0 -0
  206. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_datatypes.py +0 -0
  207. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_keyset.py +0 -0
  208. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics_capture.py +0 -0
  209. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics_interceptor.py +0 -0
  210. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics_tracer.py +0 -0
  211. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_metrics_tracer_factory.py +0 -0
  212. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_packaging.py +0 -0
  213. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_param_types.py +0 -0
  214. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_spanner_metrics_tracer_factory.py +0 -0
  215. {google_cloud_spanner-3.54.0 → google_cloud_spanner-3.56.0}/tests/unit/test_table.py +0 -0
  216. {google_cloud_spanner-3.54.0/tests/system → google_cloud_spanner-3.56.0/tests/unit}/testdata/singer.proto +0 -0
  217. {google_cloud_spanner-3.54.0/tests/system → google_cloud_spanner-3.56.0/tests/unit}/testdata/singer_pb2.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: google-cloud-spanner
3
- Version: 3.54.0
3
+ Version: 3.56.0
4
4
  Summary: Google Cloud Spanner API client library
5
5
  Home-page: https://github.com/googleapis/python-spanner
6
6
  Author: Google LLC
@@ -39,6 +39,18 @@ Requires-Dist: google-cloud-monitoring>=2.16.0; extra == "tracing"
39
39
  Requires-Dist: mmh3>=4.1.0; extra == "tracing"
40
40
  Provides-Extra: libcst
41
41
  Requires-Dist: libcst>=0.2.5; extra == "libcst"
42
+ Dynamic: author
43
+ Dynamic: author-email
44
+ Dynamic: classifier
45
+ Dynamic: description
46
+ Dynamic: home-page
47
+ Dynamic: license
48
+ Dynamic: license-file
49
+ Dynamic: platform
50
+ Dynamic: provides-extra
51
+ Dynamic: requires-dist
52
+ Dynamic: requires-python
53
+ Dynamic: summary
42
54
 
43
55
  Python Client for Cloud Spanner
44
56
  ===============================
@@ -294,6 +306,13 @@ Connection API represents a wrap-around for Python Spanner API, written in accor
294
306
  result = cursor.fetchall()
295
307
 
296
308
 
309
+ If using [fine-grained access controls](https://cloud.google.com/spanner/docs/access-with-fgac) you can pass a ``database_role`` argument to connect as that role:
310
+
311
+ .. code:: python
312
+
313
+ connection = connect("instance-id", "database-id", database_role='your-role')
314
+
315
+
297
316
  Aborted Transactions Retry Mechanism
298
317
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
299
318
 
@@ -252,6 +252,13 @@ Connection API represents a wrap-around for Python Spanner API, written in accor
252
252
  result = cursor.fetchall()
253
253
 
254
254
 
255
+ If using [fine-grained access controls](https://cloud.google.com/spanner/docs/access-with-fgac) you can pass a ``database_role`` argument to connect as that role:
256
+
257
+ .. code:: python
258
+
259
+ connection = connect("instance-id", "database-id", database_role='your-role')
260
+
261
+
255
262
  Aborted Transactions Retry Mechanism
256
263
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
257
264
 
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2024 Google LLC
2
+ # Copyright 2025 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -63,6 +63,8 @@ from .types.spanner_database_admin import DropDatabaseRequest
63
63
  from .types.spanner_database_admin import GetDatabaseDdlRequest
64
64
  from .types.spanner_database_admin import GetDatabaseDdlResponse
65
65
  from .types.spanner_database_admin import GetDatabaseRequest
66
+ from .types.spanner_database_admin import InternalUpdateGraphOperationRequest
67
+ from .types.spanner_database_admin import InternalUpdateGraphOperationResponse
66
68
  from .types.spanner_database_admin import ListDatabaseOperationsRequest
67
69
  from .types.spanner_database_admin import ListDatabaseOperationsResponse
68
70
  from .types.spanner_database_admin import ListDatabaseRolesRequest
@@ -117,6 +119,8 @@ __all__ = (
117
119
  "GetDatabaseDdlResponse",
118
120
  "GetDatabaseRequest",
119
121
  "IncrementalBackupSpec",
122
+ "InternalUpdateGraphOperationRequest",
123
+ "InternalUpdateGraphOperationResponse",
120
124
  "ListBackupOperationsRequest",
121
125
  "ListBackupOperationsResponse",
122
126
  "ListBackupSchedulesRequest",
@@ -75,6 +75,11 @@
75
75
  "get_iam_policy"
76
76
  ]
77
77
  },
78
+ "InternalUpdateGraphOperation": {
79
+ "methods": [
80
+ "internal_update_graph_operation"
81
+ ]
82
+ },
78
83
  "ListBackupOperations": {
79
84
  "methods": [
80
85
  "list_backup_operations"
@@ -210,6 +215,11 @@
210
215
  "get_iam_policy"
211
216
  ]
212
217
  },
218
+ "InternalUpdateGraphOperation": {
219
+ "methods": [
220
+ "internal_update_graph_operation"
221
+ ]
222
+ },
213
223
  "ListBackupOperations": {
214
224
  "methods": [
215
225
  "list_backup_operations"
@@ -345,6 +355,11 @@
345
355
  "get_iam_policy"
346
356
  ]
347
357
  },
358
+ "InternalUpdateGraphOperation": {
359
+ "methods": [
360
+ "internal_update_graph_operation"
361
+ ]
362
+ },
348
363
  "ListBackupOperations": {
349
364
  "methods": [
350
365
  "list_backup_operations"
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "3.54.0" # {x-release-please-version}
16
+ __version__ = "3.56.0" # {x-release-please-version}
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2024 Google LLC
2
+ # Copyright 2025 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2024 Google LLC
2
+ # Copyright 2025 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2024 Google LLC
2
+ # Copyright 2025 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -28,6 +28,7 @@ from typing import (
28
28
  Type,
29
29
  Union,
30
30
  )
31
+ import uuid
31
32
 
32
33
  from google.cloud.spanner_admin_database_v1 import gapic_version as package_version
33
34
 
@@ -37,6 +38,7 @@ from google.api_core import gapic_v1
37
38
  from google.api_core import retry_async as retries
38
39
  from google.auth import credentials as ga_credentials # type: ignore
39
40
  from google.oauth2 import service_account # type: ignore
41
+ import google.protobuf
40
42
 
41
43
 
42
44
  try:
@@ -405,7 +407,10 @@ class DatabaseAdminAsyncClient:
405
407
  # Create or coerce a protobuf request object.
406
408
  # - Quick check: If we got a request object, we should *not* have
407
409
  # gotten any keyword arguments that map to the request.
408
- has_flattened_params = any([parent])
410
+ flattened_params = [parent]
411
+ has_flattened_params = (
412
+ len([param for param in flattened_params if param is not None]) > 0
413
+ )
409
414
  if request is not None and has_flattened_params:
410
415
  raise ValueError(
411
416
  "If the `request` argument is set, then none of "
@@ -557,7 +562,10 @@ class DatabaseAdminAsyncClient:
557
562
  # Create or coerce a protobuf request object.
558
563
  # - Quick check: If we got a request object, we should *not* have
559
564
  # gotten any keyword arguments that map to the request.
560
- has_flattened_params = any([parent, create_statement])
565
+ flattened_params = [parent, create_statement]
566
+ has_flattened_params = (
567
+ len([param for param in flattened_params if param is not None]) > 0
568
+ )
561
569
  if request is not None and has_flattened_params:
562
570
  raise ValueError(
563
571
  "If the `request` argument is set, then none of "
@@ -676,7 +684,10 @@ class DatabaseAdminAsyncClient:
676
684
  # Create or coerce a protobuf request object.
677
685
  # - Quick check: If we got a request object, we should *not* have
678
686
  # gotten any keyword arguments that map to the request.
679
- has_flattened_params = any([name])
687
+ flattened_params = [name]
688
+ has_flattened_params = (
689
+ len([param for param in flattened_params if param is not None]) > 0
690
+ )
680
691
  if request is not None and has_flattened_params:
681
692
  raise ValueError(
682
693
  "If the `request` argument is set, then none of "
@@ -842,7 +853,10 @@ class DatabaseAdminAsyncClient:
842
853
  # Create or coerce a protobuf request object.
843
854
  # - Quick check: If we got a request object, we should *not* have
844
855
  # gotten any keyword arguments that map to the request.
845
- has_flattened_params = any([database, update_mask])
856
+ flattened_params = [database, update_mask]
857
+ has_flattened_params = (
858
+ len([param for param in flattened_params if param is not None]) > 0
859
+ )
846
860
  if request is not None and has_flattened_params:
847
861
  raise ValueError(
848
862
  "If the `request` argument is set, then none of "
@@ -1010,7 +1024,10 @@ class DatabaseAdminAsyncClient:
1010
1024
  # Create or coerce a protobuf request object.
1011
1025
  # - Quick check: If we got a request object, we should *not* have
1012
1026
  # gotten any keyword arguments that map to the request.
1013
- has_flattened_params = any([database, statements])
1027
+ flattened_params = [database, statements]
1028
+ has_flattened_params = (
1029
+ len([param for param in flattened_params if param is not None]) > 0
1030
+ )
1014
1031
  if request is not None and has_flattened_params:
1015
1032
  raise ValueError(
1016
1033
  "If the `request` argument is set, then none of "
@@ -1122,7 +1139,10 @@ class DatabaseAdminAsyncClient:
1122
1139
  # Create or coerce a protobuf request object.
1123
1140
  # - Quick check: If we got a request object, we should *not* have
1124
1141
  # gotten any keyword arguments that map to the request.
1125
- has_flattened_params = any([database])
1142
+ flattened_params = [database]
1143
+ has_flattened_params = (
1144
+ len([param for param in flattened_params if param is not None]) > 0
1145
+ )
1126
1146
  if request is not None and has_flattened_params:
1127
1147
  raise ValueError(
1128
1148
  "If the `request` argument is set, then none of "
@@ -1233,7 +1253,10 @@ class DatabaseAdminAsyncClient:
1233
1253
  # Create or coerce a protobuf request object.
1234
1254
  # - Quick check: If we got a request object, we should *not* have
1235
1255
  # gotten any keyword arguments that map to the request.
1236
- has_flattened_params = any([database])
1256
+ flattened_params = [database]
1257
+ has_flattened_params = (
1258
+ len([param for param in flattened_params if param is not None]) > 0
1259
+ )
1237
1260
  if request is not None and has_flattened_params:
1238
1261
  raise ValueError(
1239
1262
  "If the `request` argument is set, then none of "
@@ -1379,7 +1402,10 @@ class DatabaseAdminAsyncClient:
1379
1402
  # Create or coerce a protobuf request object.
1380
1403
  # - Quick check: If we got a request object, we should *not* have
1381
1404
  # gotten any keyword arguments that map to the request.
1382
- has_flattened_params = any([resource])
1405
+ flattened_params = [resource]
1406
+ has_flattened_params = (
1407
+ len([param for param in flattened_params if param is not None]) > 0
1408
+ )
1383
1409
  if request is not None and has_flattened_params:
1384
1410
  raise ValueError(
1385
1411
  "If the `request` argument is set, then none of "
@@ -1523,7 +1549,10 @@ class DatabaseAdminAsyncClient:
1523
1549
  # Create or coerce a protobuf request object.
1524
1550
  # - Quick check: If we got a request object, we should *not* have
1525
1551
  # gotten any keyword arguments that map to the request.
1526
- has_flattened_params = any([resource])
1552
+ flattened_params = [resource]
1553
+ has_flattened_params = (
1554
+ len([param for param in flattened_params if param is not None]) > 0
1555
+ )
1527
1556
  if request is not None and has_flattened_params:
1528
1557
  raise ValueError(
1529
1558
  "If the `request` argument is set, then none of "
@@ -1648,7 +1677,10 @@ class DatabaseAdminAsyncClient:
1648
1677
  # Create or coerce a protobuf request object.
1649
1678
  # - Quick check: If we got a request object, we should *not* have
1650
1679
  # gotten any keyword arguments that map to the request.
1651
- has_flattened_params = any([resource, permissions])
1680
+ flattened_params = [resource, permissions]
1681
+ has_flattened_params = (
1682
+ len([param for param in flattened_params if param is not None]) > 0
1683
+ )
1652
1684
  if request is not None and has_flattened_params:
1653
1685
  raise ValueError(
1654
1686
  "If the `request` argument is set, then none of "
@@ -1796,7 +1828,10 @@ class DatabaseAdminAsyncClient:
1796
1828
  # Create or coerce a protobuf request object.
1797
1829
  # - Quick check: If we got a request object, we should *not* have
1798
1830
  # gotten any keyword arguments that map to the request.
1799
- has_flattened_params = any([parent, backup, backup_id])
1831
+ flattened_params = [parent, backup, backup_id]
1832
+ has_flattened_params = (
1833
+ len([param for param in flattened_params if param is not None]) > 0
1834
+ )
1800
1835
  if request is not None and has_flattened_params:
1801
1836
  raise ValueError(
1802
1837
  "If the `request` argument is set, then none of "
@@ -1973,7 +2008,10 @@ class DatabaseAdminAsyncClient:
1973
2008
  # Create or coerce a protobuf request object.
1974
2009
  # - Quick check: If we got a request object, we should *not* have
1975
2010
  # gotten any keyword arguments that map to the request.
1976
- has_flattened_params = any([parent, backup_id, source_backup, expire_time])
2011
+ flattened_params = [parent, backup_id, source_backup, expire_time]
2012
+ has_flattened_params = (
2013
+ len([param for param in flattened_params if param is not None]) > 0
2014
+ )
1977
2015
  if request is not None and has_flattened_params:
1978
2016
  raise ValueError(
1979
2017
  "If the `request` argument is set, then none of "
@@ -2094,7 +2132,10 @@ class DatabaseAdminAsyncClient:
2094
2132
  # Create or coerce a protobuf request object.
2095
2133
  # - Quick check: If we got a request object, we should *not* have
2096
2134
  # gotten any keyword arguments that map to the request.
2097
- has_flattened_params = any([name])
2135
+ flattened_params = [name]
2136
+ has_flattened_params = (
2137
+ len([param for param in flattened_params if param is not None]) > 0
2138
+ )
2098
2139
  if request is not None and has_flattened_params:
2099
2140
  raise ValueError(
2100
2141
  "If the `request` argument is set, then none of "
@@ -2217,7 +2258,10 @@ class DatabaseAdminAsyncClient:
2217
2258
  # Create or coerce a protobuf request object.
2218
2259
  # - Quick check: If we got a request object, we should *not* have
2219
2260
  # gotten any keyword arguments that map to the request.
2220
- has_flattened_params = any([backup, update_mask])
2261
+ flattened_params = [backup, update_mask]
2262
+ has_flattened_params = (
2263
+ len([param for param in flattened_params if param is not None]) > 0
2264
+ )
2221
2265
  if request is not None and has_flattened_params:
2222
2266
  raise ValueError(
2223
2267
  "If the `request` argument is set, then none of "
@@ -2322,7 +2366,10 @@ class DatabaseAdminAsyncClient:
2322
2366
  # Create or coerce a protobuf request object.
2323
2367
  # - Quick check: If we got a request object, we should *not* have
2324
2368
  # gotten any keyword arguments that map to the request.
2325
- has_flattened_params = any([name])
2369
+ flattened_params = [name]
2370
+ has_flattened_params = (
2371
+ len([param for param in flattened_params if param is not None]) > 0
2372
+ )
2326
2373
  if request is not None and has_flattened_params:
2327
2374
  raise ValueError(
2328
2375
  "If the `request` argument is set, then none of "
@@ -2433,7 +2480,10 @@ class DatabaseAdminAsyncClient:
2433
2480
  # Create or coerce a protobuf request object.
2434
2481
  # - Quick check: If we got a request object, we should *not* have
2435
2482
  # gotten any keyword arguments that map to the request.
2436
- has_flattened_params = any([parent])
2483
+ flattened_params = [parent]
2484
+ has_flattened_params = (
2485
+ len([param for param in flattened_params if param is not None]) > 0
2486
+ )
2437
2487
  if request is not None and has_flattened_params:
2438
2488
  raise ValueError(
2439
2489
  "If the `request` argument is set, then none of "
@@ -2604,7 +2654,10 @@ class DatabaseAdminAsyncClient:
2604
2654
  # Create or coerce a protobuf request object.
2605
2655
  # - Quick check: If we got a request object, we should *not* have
2606
2656
  # gotten any keyword arguments that map to the request.
2607
- has_flattened_params = any([parent, database_id, backup])
2657
+ flattened_params = [parent, database_id, backup]
2658
+ has_flattened_params = (
2659
+ len([param for param in flattened_params if param is not None]) > 0
2660
+ )
2608
2661
  if request is not None and has_flattened_params:
2609
2662
  raise ValueError(
2610
2663
  "If the `request` argument is set, then none of "
@@ -2740,7 +2793,10 @@ class DatabaseAdminAsyncClient:
2740
2793
  # Create or coerce a protobuf request object.
2741
2794
  # - Quick check: If we got a request object, we should *not* have
2742
2795
  # gotten any keyword arguments that map to the request.
2743
- has_flattened_params = any([parent])
2796
+ flattened_params = [parent]
2797
+ has_flattened_params = (
2798
+ len([param for param in flattened_params if param is not None]) > 0
2799
+ )
2744
2800
  if request is not None and has_flattened_params:
2745
2801
  raise ValueError(
2746
2802
  "If the `request` argument is set, then none of "
@@ -2877,7 +2933,10 @@ class DatabaseAdminAsyncClient:
2877
2933
  # Create or coerce a protobuf request object.
2878
2934
  # - Quick check: If we got a request object, we should *not* have
2879
2935
  # gotten any keyword arguments that map to the request.
2880
- has_flattened_params = any([parent])
2936
+ flattened_params = [parent]
2937
+ has_flattened_params = (
2938
+ len([param for param in flattened_params if param is not None]) > 0
2939
+ )
2881
2940
  if request is not None and has_flattened_params:
2882
2941
  raise ValueError(
2883
2942
  "If the `request` argument is set, then none of "
@@ -3003,7 +3062,10 @@ class DatabaseAdminAsyncClient:
3003
3062
  # Create or coerce a protobuf request object.
3004
3063
  # - Quick check: If we got a request object, we should *not* have
3005
3064
  # gotten any keyword arguments that map to the request.
3006
- has_flattened_params = any([parent])
3065
+ flattened_params = [parent]
3066
+ has_flattened_params = (
3067
+ len([param for param in flattened_params if param is not None]) > 0
3068
+ )
3007
3069
  if request is not None and has_flattened_params:
3008
3070
  raise ValueError(
3009
3071
  "If the `request` argument is set, then none of "
@@ -3134,7 +3196,10 @@ class DatabaseAdminAsyncClient:
3134
3196
  # Create or coerce a protobuf request object.
3135
3197
  # - Quick check: If we got a request object, we should *not* have
3136
3198
  # gotten any keyword arguments that map to the request.
3137
- has_flattened_params = any([database, split_points])
3199
+ flattened_params = [database, split_points]
3200
+ has_flattened_params = (
3201
+ len([param for param in flattened_params if param is not None]) > 0
3202
+ )
3138
3203
  if request is not None and has_flattened_params:
3139
3204
  raise ValueError(
3140
3205
  "If the `request` argument is set, then none of "
@@ -3266,7 +3331,10 @@ class DatabaseAdminAsyncClient:
3266
3331
  # Create or coerce a protobuf request object.
3267
3332
  # - Quick check: If we got a request object, we should *not* have
3268
3333
  # gotten any keyword arguments that map to the request.
3269
- has_flattened_params = any([parent, backup_schedule, backup_schedule_id])
3334
+ flattened_params = [parent, backup_schedule, backup_schedule_id]
3335
+ has_flattened_params = (
3336
+ len([param for param in flattened_params if param is not None]) > 0
3337
+ )
3270
3338
  if request is not None and has_flattened_params:
3271
3339
  raise ValueError(
3272
3340
  "If the `request` argument is set, then none of "
@@ -3380,7 +3448,10 @@ class DatabaseAdminAsyncClient:
3380
3448
  # Create or coerce a protobuf request object.
3381
3449
  # - Quick check: If we got a request object, we should *not* have
3382
3450
  # gotten any keyword arguments that map to the request.
3383
- has_flattened_params = any([name])
3451
+ flattened_params = [name]
3452
+ has_flattened_params = (
3453
+ len([param for param in flattened_params if param is not None]) > 0
3454
+ )
3384
3455
  if request is not None and has_flattened_params:
3385
3456
  raise ValueError(
3386
3457
  "If the `request` argument is set, then none of "
@@ -3506,7 +3577,10 @@ class DatabaseAdminAsyncClient:
3506
3577
  # Create or coerce a protobuf request object.
3507
3578
  # - Quick check: If we got a request object, we should *not* have
3508
3579
  # gotten any keyword arguments that map to the request.
3509
- has_flattened_params = any([backup_schedule, update_mask])
3580
+ flattened_params = [backup_schedule, update_mask]
3581
+ has_flattened_params = (
3582
+ len([param for param in flattened_params if param is not None]) > 0
3583
+ )
3510
3584
  if request is not None and has_flattened_params:
3511
3585
  raise ValueError(
3512
3586
  "If the `request` argument is set, then none of "
@@ -3612,7 +3686,10 @@ class DatabaseAdminAsyncClient:
3612
3686
  # Create or coerce a protobuf request object.
3613
3687
  # - Quick check: If we got a request object, we should *not* have
3614
3688
  # gotten any keyword arguments that map to the request.
3615
- has_flattened_params = any([name])
3689
+ flattened_params = [name]
3690
+ has_flattened_params = (
3691
+ len([param for param in flattened_params if param is not None]) > 0
3692
+ )
3616
3693
  if request is not None and has_flattened_params:
3617
3694
  raise ValueError(
3618
3695
  "If the `request` argument is set, then none of "
@@ -3725,7 +3802,10 @@ class DatabaseAdminAsyncClient:
3725
3802
  # Create or coerce a protobuf request object.
3726
3803
  # - Quick check: If we got a request object, we should *not* have
3727
3804
  # gotten any keyword arguments that map to the request.
3728
- has_flattened_params = any([parent])
3805
+ flattened_params = [parent]
3806
+ has_flattened_params = (
3807
+ len([param for param in flattened_params if param is not None]) > 0
3808
+ )
3729
3809
  if request is not None and has_flattened_params:
3730
3810
  raise ValueError(
3731
3811
  "If the `request` argument is set, then none of "
@@ -3779,6 +3859,126 @@ class DatabaseAdminAsyncClient:
3779
3859
  # Done; return the response.
3780
3860
  return response
3781
3861
 
3862
+ async def internal_update_graph_operation(
3863
+ self,
3864
+ request: Optional[
3865
+ Union[spanner_database_admin.InternalUpdateGraphOperationRequest, dict]
3866
+ ] = None,
3867
+ *,
3868
+ database: Optional[str] = None,
3869
+ operation_id: Optional[str] = None,
3870
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
3871
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
3872
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
3873
+ ) -> spanner_database_admin.InternalUpdateGraphOperationResponse:
3874
+ r"""This is an internal API called by Spanner Graph jobs.
3875
+ You should never need to call this API directly.
3876
+
3877
+ .. code-block:: python
3878
+
3879
+ # This snippet has been automatically generated and should be regarded as a
3880
+ # code template only.
3881
+ # It will require modifications to work:
3882
+ # - It may require correct/in-range values for request initialization.
3883
+ # - It may require specifying regional endpoints when creating the service
3884
+ # client as shown in:
3885
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
3886
+ from google.cloud import spanner_admin_database_v1
3887
+
3888
+ async def sample_internal_update_graph_operation():
3889
+ # Create a client
3890
+ client = spanner_admin_database_v1.DatabaseAdminAsyncClient()
3891
+
3892
+ # Initialize request argument(s)
3893
+ request = spanner_admin_database_v1.InternalUpdateGraphOperationRequest(
3894
+ database="database_value",
3895
+ operation_id="operation_id_value",
3896
+ vm_identity_token="vm_identity_token_value",
3897
+ )
3898
+
3899
+ # Make the request
3900
+ response = await client.internal_update_graph_operation(request=request)
3901
+
3902
+ # Handle the response
3903
+ print(response)
3904
+
3905
+ Args:
3906
+ request (Optional[Union[google.cloud.spanner_admin_database_v1.types.InternalUpdateGraphOperationRequest, dict]]):
3907
+ The request object. Internal request proto, do not use
3908
+ directly.
3909
+ database (:class:`str`):
3910
+ Internal field, do not use directly.
3911
+ This corresponds to the ``database`` field
3912
+ on the ``request`` instance; if ``request`` is provided, this
3913
+ should not be set.
3914
+ operation_id (:class:`str`):
3915
+ Internal field, do not use directly.
3916
+ This corresponds to the ``operation_id`` field
3917
+ on the ``request`` instance; if ``request`` is provided, this
3918
+ should not be set.
3919
+ retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any,
3920
+ should be retried.
3921
+ timeout (float): The timeout for this request.
3922
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
3923
+ sent along with the request as metadata. Normally, each value must be of type `str`,
3924
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
3925
+ be of type `bytes`.
3926
+
3927
+ Returns:
3928
+ google.cloud.spanner_admin_database_v1.types.InternalUpdateGraphOperationResponse:
3929
+ Internal response proto, do not use
3930
+ directly.
3931
+
3932
+ """
3933
+ # Create or coerce a protobuf request object.
3934
+ # - Quick check: If we got a request object, we should *not* have
3935
+ # gotten any keyword arguments that map to the request.
3936
+ flattened_params = [database, operation_id]
3937
+ has_flattened_params = (
3938
+ len([param for param in flattened_params if param is not None]) > 0
3939
+ )
3940
+ if request is not None and has_flattened_params:
3941
+ raise ValueError(
3942
+ "If the `request` argument is set, then none of "
3943
+ "the individual field arguments should be set."
3944
+ )
3945
+
3946
+ # - Use the request object if provided (there's no risk of modifying the input as
3947
+ # there are no flattened fields), or create one.
3948
+ if not isinstance(
3949
+ request, spanner_database_admin.InternalUpdateGraphOperationRequest
3950
+ ):
3951
+ request = spanner_database_admin.InternalUpdateGraphOperationRequest(
3952
+ request
3953
+ )
3954
+
3955
+ # If we have keyword arguments corresponding to fields on the
3956
+ # request, apply these.
3957
+ if database is not None:
3958
+ request.database = database
3959
+ if operation_id is not None:
3960
+ request.operation_id = operation_id
3961
+
3962
+ # Wrap the RPC method; this adds retry and timeout information,
3963
+ # and friendly error handling.
3964
+ rpc = self._client._transport._wrapped_methods[
3965
+ self._client._transport.internal_update_graph_operation
3966
+ ]
3967
+
3968
+ # Validate the universe domain.
3969
+ self._client._validate_universe_domain()
3970
+
3971
+ # Send the request.
3972
+ response = await rpc(
3973
+ request,
3974
+ retry=retry,
3975
+ timeout=timeout,
3976
+ metadata=metadata,
3977
+ )
3978
+
3979
+ # Done; return the response.
3980
+ return response
3981
+
3782
3982
  async def list_operations(
3783
3983
  self,
3784
3984
  request: Optional[operations_pb2.ListOperationsRequest] = None,
@@ -4011,5 +4211,8 @@ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(
4011
4211
  gapic_version=package_version.__version__
4012
4212
  )
4013
4213
 
4214
+ if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER
4215
+ DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__
4216
+
4014
4217
 
4015
4218
  __all__ = ("DatabaseAdminAsyncClient",)