google-cloud-sql 0.1.1__py3-none-any.whl

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 (274) hide show
  1. google/cloud/sqladmin/__init__.py +605 -0
  2. google/cloud/sqladmin/gapic_version.py +16 -0
  3. google/cloud/sqladmin/py.typed +2 -0
  4. google/cloud/sqladmin_v1/__init__.py +616 -0
  5. google/cloud/sqladmin_v1/_compat.py +262 -0
  6. google/cloud/sqladmin_v1/gapic_metadata.json +959 -0
  7. google/cloud/sqladmin_v1/gapic_version.py +16 -0
  8. google/cloud/sqladmin_v1/py.typed +2 -0
  9. google/cloud/sqladmin_v1/services/__init__.py +15 -0
  10. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/__init__.py +22 -0
  11. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/async_client.py +336 -0
  12. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/client.py +613 -0
  13. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/transports/__init__.py +34 -0
  14. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/transports/base.py +159 -0
  15. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/transports/grpc.py +339 -0
  16. google/cloud/sqladmin_v1/services/sql_available_database_versions_service/transports/grpc_asyncio.py +356 -0
  17. google/cloud/sqladmin_v1/services/sql_backup_runs_service/__init__.py +22 -0
  18. google/cloud/sqladmin_v1/services/sql_backup_runs_service/async_client.py +697 -0
  19. google/cloud/sqladmin_v1/services/sql_backup_runs_service/client.py +977 -0
  20. google/cloud/sqladmin_v1/services/sql_backup_runs_service/pagers.py +199 -0
  21. google/cloud/sqladmin_v1/services/sql_backup_runs_service/transports/__init__.py +32 -0
  22. google/cloud/sqladmin_v1/services/sql_backup_runs_service/transports/base.py +225 -0
  23. google/cloud/sqladmin_v1/services/sql_backup_runs_service/transports/grpc.py +456 -0
  24. google/cloud/sqladmin_v1/services/sql_backup_runs_service/transports/grpc_asyncio.py +495 -0
  25. google/cloud/sqladmin_v1/services/sql_backups_service/__init__.py +22 -0
  26. google/cloud/sqladmin_v1/services/sql_backups_service/async_client.py +946 -0
  27. google/cloud/sqladmin_v1/services/sql_backups_service/client.py +1244 -0
  28. google/cloud/sqladmin_v1/services/sql_backups_service/pagers.py +197 -0
  29. google/cloud/sqladmin_v1/services/sql_backups_service/transports/__init__.py +32 -0
  30. google/cloud/sqladmin_v1/services/sql_backups_service/transports/base.py +237 -0
  31. google/cloud/sqladmin_v1/services/sql_backups_service/transports/grpc.py +478 -0
  32. google/cloud/sqladmin_v1/services/sql_backups_service/transports/grpc_asyncio.py +527 -0
  33. google/cloud/sqladmin_v1/services/sql_connect_service/__init__.py +22 -0
  34. google/cloud/sqladmin_v1/services/sql_connect_service/async_client.py +591 -0
  35. google/cloud/sqladmin_v1/services/sql_connect_service/client.py +867 -0
  36. google/cloud/sqladmin_v1/services/sql_connect_service/transports/__init__.py +32 -0
  37. google/cloud/sqladmin_v1/services/sql_connect_service/transports/base.py +215 -0
  38. google/cloud/sqladmin_v1/services/sql_connect_service/transports/grpc.py +430 -0
  39. google/cloud/sqladmin_v1/services/sql_connect_service/transports/grpc_asyncio.py +464 -0
  40. google/cloud/sqladmin_v1/services/sql_databases_service/__init__.py +22 -0
  41. google/cloud/sqladmin_v1/services/sql_databases_service/async_client.py +872 -0
  42. google/cloud/sqladmin_v1/services/sql_databases_service/client.py +1152 -0
  43. google/cloud/sqladmin_v1/services/sql_databases_service/transports/__init__.py +32 -0
  44. google/cloud/sqladmin_v1/services/sql_databases_service/transports/base.py +251 -0
  45. google/cloud/sqladmin_v1/services/sql_databases_service/transports/grpc.py +515 -0
  46. google/cloud/sqladmin_v1/services/sql_databases_service/transports/grpc_asyncio.py +568 -0
  47. google/cloud/sqladmin_v1/services/sql_events_service/__init__.py +22 -0
  48. google/cloud/sqladmin_v1/services/sql_events_service/async_client.py +311 -0
  49. google/cloud/sqladmin_v1/services/sql_events_service/client.py +593 -0
  50. google/cloud/sqladmin_v1/services/sql_events_service/transports/__init__.py +32 -0
  51. google/cloud/sqladmin_v1/services/sql_events_service/transports/base.py +159 -0
  52. google/cloud/sqladmin_v1/services/sql_events_service/transports/grpc.py +337 -0
  53. google/cloud/sqladmin_v1/services/sql_events_service/transports/grpc_asyncio.py +354 -0
  54. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/__init__.py +22 -0
  55. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/async_client.py +327 -0
  56. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/client.py +605 -0
  57. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/transports/__init__.py +32 -0
  58. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/transports/base.py +159 -0
  59. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/transports/grpc.py +337 -0
  60. google/cloud/sqladmin_v1/services/sql_feature_eligibility_service/transports/grpc_asyncio.py +356 -0
  61. google/cloud/sqladmin_v1/services/sql_flags_service/__init__.py +22 -0
  62. google/cloud/sqladmin_v1/services/sql_flags_service/async_client.py +386 -0
  63. google/cloud/sqladmin_v1/services/sql_flags_service/client.py +667 -0
  64. google/cloud/sqladmin_v1/services/sql_flags_service/transports/__init__.py +32 -0
  65. google/cloud/sqladmin_v1/services/sql_flags_service/transports/base.py +181 -0
  66. google/cloud/sqladmin_v1/services/sql_flags_service/transports/grpc.py +367 -0
  67. google/cloud/sqladmin_v1/services/sql_flags_service/transports/grpc_asyncio.py +391 -0
  68. google/cloud/sqladmin_v1/services/sql_iam_policies_service/__init__.py +22 -0
  69. google/cloud/sqladmin_v1/services/sql_iam_policies_service/async_client.py +315 -0
  70. google/cloud/sqladmin_v1/services/sql_iam_policies_service/client.py +593 -0
  71. google/cloud/sqladmin_v1/services/sql_iam_policies_service/transports/__init__.py +32 -0
  72. google/cloud/sqladmin_v1/services/sql_iam_policies_service/transports/base.py +159 -0
  73. google/cloud/sqladmin_v1/services/sql_iam_policies_service/transports/grpc.py +336 -0
  74. google/cloud/sqladmin_v1/services/sql_iam_policies_service/transports/grpc_asyncio.py +353 -0
  75. google/cloud/sqladmin_v1/services/sql_instance_names_service/__init__.py +22 -0
  76. google/cloud/sqladmin_v1/services/sql_instance_names_service/async_client.py +321 -0
  77. google/cloud/sqladmin_v1/services/sql_instance_names_service/client.py +595 -0
  78. google/cloud/sqladmin_v1/services/sql_instance_names_service/transports/__init__.py +32 -0
  79. google/cloud/sqladmin_v1/services/sql_instance_names_service/transports/base.py +159 -0
  80. google/cloud/sqladmin_v1/services/sql_instance_names_service/transports/grpc.py +336 -0
  81. google/cloud/sqladmin_v1/services/sql_instance_names_service/transports/grpc_asyncio.py +353 -0
  82. google/cloud/sqladmin_v1/services/sql_instances_service/__init__.py +22 -0
  83. google/cloud/sqladmin_v1/services/sql_instances_service/async_client.py +4519 -0
  84. google/cloud/sqladmin_v1/services/sql_instances_service/client.py +4833 -0
  85. google/cloud/sqladmin_v1/services/sql_instances_service/pagers.py +197 -0
  86. google/cloud/sqladmin_v1/services/sql_instances_service/transports/__init__.py +32 -0
  87. google/cloud/sqladmin_v1/services/sql_instances_service/transports/base.py +801 -0
  88. google/cloud/sqladmin_v1/services/sql_instances_service/transports/grpc.py +1661 -0
  89. google/cloud/sqladmin_v1/services/sql_instances_service/transports/grpc_asyncio.py +1904 -0
  90. google/cloud/sqladmin_v1/services/sql_operations_service/__init__.py +22 -0
  91. google/cloud/sqladmin_v1/services/sql_operations_service/async_client.py +591 -0
  92. google/cloud/sqladmin_v1/services/sql_operations_service/client.py +871 -0
  93. google/cloud/sqladmin_v1/services/sql_operations_service/pagers.py +197 -0
  94. google/cloud/sqladmin_v1/services/sql_operations_service/transports/__init__.py +32 -0
  95. google/cloud/sqladmin_v1/services/sql_operations_service/transports/base.py +210 -0
  96. google/cloud/sqladmin_v1/services/sql_operations_service/transports/grpc.py +426 -0
  97. google/cloud/sqladmin_v1/services/sql_operations_service/transports/grpc_asyncio.py +462 -0
  98. google/cloud/sqladmin_v1/services/sql_regions_service/__init__.py +22 -0
  99. google/cloud/sqladmin_v1/services/sql_regions_service/async_client.py +314 -0
  100. google/cloud/sqladmin_v1/services/sql_regions_service/client.py +596 -0
  101. google/cloud/sqladmin_v1/services/sql_regions_service/transports/__init__.py +32 -0
  102. google/cloud/sqladmin_v1/services/sql_regions_service/transports/base.py +159 -0
  103. google/cloud/sqladmin_v1/services/sql_regions_service/transports/grpc.py +338 -0
  104. google/cloud/sqladmin_v1/services/sql_regions_service/transports/grpc_asyncio.py +355 -0
  105. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/__init__.py +22 -0
  106. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/async_client.py +680 -0
  107. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/client.py +960 -0
  108. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/transports/__init__.py +32 -0
  109. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/transports/base.py +226 -0
  110. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/transports/grpc.py +461 -0
  111. google/cloud/sqladmin_v1/services/sql_ssl_certs_service/transports/grpc_asyncio.py +501 -0
  112. google/cloud/sqladmin_v1/services/sql_tiers_service/__init__.py +22 -0
  113. google/cloud/sqladmin_v1/services/sql_tiers_service/async_client.py +395 -0
  114. google/cloud/sqladmin_v1/services/sql_tiers_service/client.py +676 -0
  115. google/cloud/sqladmin_v1/services/sql_tiers_service/transports/__init__.py +32 -0
  116. google/cloud/sqladmin_v1/services/sql_tiers_service/transports/base.py +181 -0
  117. google/cloud/sqladmin_v1/services/sql_tiers_service/transports/grpc.py +369 -0
  118. google/cloud/sqladmin_v1/services/sql_tiers_service/transports/grpc_asyncio.py +393 -0
  119. google/cloud/sqladmin_v1/services/sql_users_service/__init__.py +22 -0
  120. google/cloud/sqladmin_v1/services/sql_users_service/async_client.py +754 -0
  121. google/cloud/sqladmin_v1/services/sql_users_service/client.py +1035 -0
  122. google/cloud/sqladmin_v1/services/sql_users_service/transports/__init__.py +32 -0
  123. google/cloud/sqladmin_v1/services/sql_users_service/transports/base.py +237 -0
  124. google/cloud/sqladmin_v1/services/sql_users_service/transports/grpc.py +477 -0
  125. google/cloud/sqladmin_v1/services/sql_users_service/transports/grpc_asyncio.py +526 -0
  126. google/cloud/sqladmin_v1/types/__init__.py +472 -0
  127. google/cloud/sqladmin_v1/types/cloud_sql_available_database_versions.py +24 -0
  128. google/cloud/sqladmin_v1/types/cloud_sql_backup_runs.py +438 -0
  129. google/cloud/sqladmin_v1/types/cloud_sql_backups.py +467 -0
  130. google/cloud/sqladmin_v1/types/cloud_sql_connect.py +385 -0
  131. google/cloud/sqladmin_v1/types/cloud_sql_databases.py +202 -0
  132. google/cloud/sqladmin_v1/types/cloud_sql_events.py +24 -0
  133. google/cloud/sqladmin_v1/types/cloud_sql_feature_eligibility.py +24 -0
  134. google/cloud/sqladmin_v1/types/cloud_sql_flags.py +272 -0
  135. google/cloud/sqladmin_v1/types/cloud_sql_iam_policies.py +24 -0
  136. google/cloud/sqladmin_v1/types/cloud_sql_instance_names.py +24 -0
  137. google/cloud/sqladmin_v1/types/cloud_sql_instances.py +4514 -0
  138. google/cloud/sqladmin_v1/types/cloud_sql_operations.py +164 -0
  139. google/cloud/sqladmin_v1/types/cloud_sql_regions.py +24 -0
  140. google/cloud/sqladmin_v1/types/cloud_sql_resources.py +4678 -0
  141. google/cloud/sqladmin_v1/types/cloud_sql_ssl_certs.py +220 -0
  142. google/cloud/sqladmin_v1/types/cloud_sql_tiers.py +108 -0
  143. google/cloud/sqladmin_v1/types/cloud_sql_users.py +571 -0
  144. google/cloud/sqladmin_v1beta4/__init__.py +583 -0
  145. google/cloud/sqladmin_v1beta4/_compat.py +262 -0
  146. google/cloud/sqladmin_v1beta4/gapic_metadata.json +1371 -0
  147. google/cloud/sqladmin_v1beta4/gapic_version.py +16 -0
  148. google/cloud/sqladmin_v1beta4/py.typed +2 -0
  149. google/cloud/sqladmin_v1beta4/services/__init__.py +15 -0
  150. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/__init__.py +22 -0
  151. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/async_client.py +689 -0
  152. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/client.py +971 -0
  153. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/pagers.py +197 -0
  154. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/__init__.py +36 -0
  155. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/base.py +223 -0
  156. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/grpc.py +449 -0
  157. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/grpc_asyncio.py +490 -0
  158. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/rest.py +1038 -0
  159. google/cloud/sqladmin_v1beta4/services/sql_backup_runs_service/transports/rest_base.py +150 -0
  160. google/cloud/sqladmin_v1beta4/services/sql_backups_service/__init__.py +22 -0
  161. google/cloud/sqladmin_v1beta4/services/sql_backups_service/async_client.py +941 -0
  162. google/cloud/sqladmin_v1beta4/services/sql_backups_service/client.py +1241 -0
  163. google/cloud/sqladmin_v1beta4/services/sql_backups_service/pagers.py +197 -0
  164. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/__init__.py +36 -0
  165. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/base.py +234 -0
  166. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/grpc.py +470 -0
  167. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/grpc_asyncio.py +521 -0
  168. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/rest.py +1238 -0
  169. google/cloud/sqladmin_v1beta4/services/sql_backups_service/transports/rest_base.py +175 -0
  170. google/cloud/sqladmin_v1beta4/services/sql_connect_service/__init__.py +22 -0
  171. google/cloud/sqladmin_v1beta4/services/sql_connect_service/async_client.py +591 -0
  172. google/cloud/sqladmin_v1beta4/services/sql_connect_service/client.py +869 -0
  173. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/__init__.py +36 -0
  174. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/base.py +215 -0
  175. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/grpc.py +430 -0
  176. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/grpc_asyncio.py +464 -0
  177. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/rest.py +852 -0
  178. google/cloud/sqladmin_v1beta4/services/sql_connect_service/transports/rest_base.py +138 -0
  179. google/cloud/sqladmin_v1beta4/services/sql_data_service/__init__.py +22 -0
  180. google/cloud/sqladmin_v1beta4/services/sql_data_service/async_client.py +444 -0
  181. google/cloud/sqladmin_v1beta4/services/sql_data_service/client.py +739 -0
  182. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/__init__.py +36 -0
  183. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/base.py +181 -0
  184. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/grpc.py +407 -0
  185. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/grpc_asyncio.py +431 -0
  186. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/rest.py +213 -0
  187. google/cloud/sqladmin_v1beta4/services/sql_data_service/transports/rest_base.py +97 -0
  188. google/cloud/sqladmin_v1beta4/services/sql_databases_service/__init__.py +22 -0
  189. google/cloud/sqladmin_v1beta4/services/sql_databases_service/async_client.py +860 -0
  190. google/cloud/sqladmin_v1beta4/services/sql_databases_service/client.py +1142 -0
  191. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/__init__.py +36 -0
  192. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/base.py +251 -0
  193. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/grpc.py +502 -0
  194. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/grpc_asyncio.py +561 -0
  195. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/rest.py +1468 -0
  196. google/cloud/sqladmin_v1beta4/services/sql_databases_service/transports/rest_base.py +180 -0
  197. google/cloud/sqladmin_v1beta4/services/sql_flags_service/__init__.py +22 -0
  198. google/cloud/sqladmin_v1beta4/services/sql_flags_service/async_client.py +386 -0
  199. google/cloud/sqladmin_v1beta4/services/sql_flags_service/client.py +669 -0
  200. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/__init__.py +36 -0
  201. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/base.py +181 -0
  202. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/grpc.py +365 -0
  203. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/grpc_asyncio.py +389 -0
  204. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/rest.py +392 -0
  205. google/cloud/sqladmin_v1beta4/services/sql_flags_service/transports/rest_base.py +107 -0
  206. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/__init__.py +22 -0
  207. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/async_client.py +315 -0
  208. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/client.py +595 -0
  209. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/__init__.py +39 -0
  210. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/base.py +159 -0
  211. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/grpc.py +336 -0
  212. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/grpc_asyncio.py +353 -0
  213. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/rest.py +184 -0
  214. google/cloud/sqladmin_v1beta4/services/sql_iam_policies_service/transports/rest_base.py +91 -0
  215. google/cloud/sqladmin_v1beta4/services/sql_instances_service/__init__.py +22 -0
  216. google/cloud/sqladmin_v1beta4/services/sql_instances_service/async_client.py +4399 -0
  217. google/cloud/sqladmin_v1beta4/services/sql_instances_service/client.py +4715 -0
  218. google/cloud/sqladmin_v1beta4/services/sql_instances_service/pagers.py +197 -0
  219. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/__init__.py +36 -0
  220. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/base.py +801 -0
  221. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/grpc.py +1627 -0
  222. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/grpc_asyncio.py +1895 -0
  223. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/rest.py +9625 -0
  224. google/cloud/sqladmin_v1beta4/services/sql_instances_service/transports/rest_base.py +744 -0
  225. google/cloud/sqladmin_v1beta4/services/sql_operations_service/__init__.py +22 -0
  226. google/cloud/sqladmin_v1beta4/services/sql_operations_service/async_client.py +585 -0
  227. google/cloud/sqladmin_v1beta4/services/sql_operations_service/client.py +867 -0
  228. google/cloud/sqladmin_v1beta4/services/sql_operations_service/pagers.py +197 -0
  229. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/__init__.py +36 -0
  230. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/base.py +210 -0
  231. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/grpc.py +422 -0
  232. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/grpc_asyncio.py +458 -0
  233. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/rest.py +744 -0
  234. google/cloud/sqladmin_v1beta4/services/sql_operations_service/transports/rest_base.py +136 -0
  235. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/__init__.py +22 -0
  236. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/async_client.py +672 -0
  237. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/client.py +954 -0
  238. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/__init__.py +36 -0
  239. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/base.py +226 -0
  240. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/grpc.py +453 -0
  241. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/grpc_asyncio.py +497 -0
  242. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/rest.py +1036 -0
  243. google/cloud/sqladmin_v1beta4/services/sql_ssl_certs_service/transports/rest_base.py +150 -0
  244. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/__init__.py +22 -0
  245. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/async_client.py +393 -0
  246. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/client.py +676 -0
  247. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/__init__.py +36 -0
  248. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/base.py +181 -0
  249. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/grpc.py +368 -0
  250. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/grpc_asyncio.py +392 -0
  251. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/rest.py +396 -0
  252. google/cloud/sqladmin_v1beta4/services/sql_tiers_service/transports/rest_base.py +107 -0
  253. google/cloud/sqladmin_v1beta4/services/sql_users_service/__init__.py +22 -0
  254. google/cloud/sqladmin_v1beta4/services/sql_users_service/async_client.py +754 -0
  255. google/cloud/sqladmin_v1beta4/services/sql_users_service/client.py +1037 -0
  256. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/__init__.py +36 -0
  257. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/base.py +237 -0
  258. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/grpc.py +475 -0
  259. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/grpc_asyncio.py +524 -0
  260. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/rest.py +1249 -0
  261. google/cloud/sqladmin_v1beta4/services/sql_users_service/transports/rest_base.py +165 -0
  262. google/cloud/sqladmin_v1beta4/types/__init__.py +480 -0
  263. google/cloud/sqladmin_v1beta4/types/cloud_sql.py +2666 -0
  264. google/cloud/sqladmin_v1beta4/types/cloud_sql_connect.py +386 -0
  265. google/cloud/sqladmin_v1beta4/types/cloud_sql_data.py +339 -0
  266. google/cloud/sqladmin_v1beta4/types/cloud_sql_iam_policies.py +24 -0
  267. google/cloud/sqladmin_v1beta4/types/cloud_sql_resources.py +8111 -0
  268. google/cloud/sqladmin_v1beta4/types/cloud_sql_tiers.py +108 -0
  269. google/cloud/sqladmin_v1beta4/types/cloud_sql_users.py +573 -0
  270. google_cloud_sql-0.1.1.dist-info/METADATA +239 -0
  271. google_cloud_sql-0.1.1.dist-info/RECORD +274 -0
  272. google_cloud_sql-0.1.1.dist-info/WHEEL +5 -0
  273. google_cloud_sql-0.1.1.dist-info/licenses/LICENSE +202 -0
  274. google_cloud_sql-0.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1152 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2026 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ import json
17
+ import logging as std_logging
18
+ import os
19
+ import re
20
+ import warnings
21
+ from collections import OrderedDict
22
+ from http import HTTPStatus
23
+ from typing import (
24
+ Callable,
25
+ Dict,
26
+ Mapping,
27
+ MutableMapping,
28
+ MutableSequence,
29
+ Optional,
30
+ Sequence,
31
+ Tuple,
32
+ Type,
33
+ Union,
34
+ cast,
35
+ )
36
+
37
+ import google.protobuf
38
+ from google.api_core import client_options as client_options_lib
39
+ from google.api_core import exceptions as core_exceptions
40
+ from google.api_core import gapic_v1
41
+ from google.api_core import retry as retries
42
+ from google.auth import credentials as ga_credentials # type: ignore
43
+ from google.auth.exceptions import MutualTLSChannelError # type: ignore
44
+ from google.auth.transport import mtls # type: ignore
45
+ from google.auth.transport.grpc import SslCredentials # type: ignore
46
+ from google.oauth2 import service_account # type: ignore
47
+
48
+ from google.cloud.sqladmin_v1 import gapic_version as package_version
49
+ from google.cloud.sqladmin_v1._compat import (
50
+ get_api_endpoint,
51
+ get_default_mtls_endpoint,
52
+ get_universe_domain,
53
+ read_environment_variables,
54
+ should_use_client_cert,
55
+ )
56
+
57
+ try:
58
+ OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None]
59
+ except AttributeError: # pragma: NO COVER
60
+ OptionalRetry = Union[retries.Retry, object, None] # type: ignore
61
+
62
+ try:
63
+ from google.api_core import client_logging # type: ignore
64
+
65
+ CLIENT_LOGGING_SUPPORTED = True # pragma: NO COVER
66
+ except ImportError: # pragma: NO COVER
67
+ CLIENT_LOGGING_SUPPORTED = False
68
+
69
+ _LOGGER = std_logging.getLogger(__name__)
70
+
71
+ import google.protobuf.timestamp_pb2 as timestamp_pb2 # type: ignore
72
+ from google.cloud.location import locations_pb2 # type: ignore
73
+ from google.longrunning import operations_pb2 # type: ignore
74
+
75
+ from google.cloud.sqladmin_v1.types import cloud_sql_databases, cloud_sql_resources
76
+
77
+ from .transports.base import DEFAULT_CLIENT_INFO, SqlDatabasesServiceTransport
78
+ from .transports.grpc import SqlDatabasesServiceGrpcTransport
79
+ from .transports.grpc_asyncio import SqlDatabasesServiceGrpcAsyncIOTransport
80
+
81
+
82
+ class SqlDatabasesServiceClientMeta(type):
83
+ """Metaclass for the SqlDatabasesService client.
84
+
85
+ This provides class-level methods for building and retrieving
86
+ support objects (e.g. transport) without polluting the client instance
87
+ objects.
88
+ """
89
+
90
+ _transport_registry = OrderedDict() # type: Dict[str, Type[SqlDatabasesServiceTransport]]
91
+ _transport_registry["grpc"] = SqlDatabasesServiceGrpcTransport
92
+ _transport_registry["grpc_asyncio"] = SqlDatabasesServiceGrpcAsyncIOTransport
93
+
94
+ def get_transport_class(
95
+ cls,
96
+ label: Optional[str] = None,
97
+ ) -> Type[SqlDatabasesServiceTransport]:
98
+ """Returns an appropriate transport class.
99
+
100
+ Args:
101
+ label: The name of the desired transport. If none is
102
+ provided, then the first transport in the registry is used.
103
+
104
+ Returns:
105
+ The transport class to use.
106
+ """
107
+ # If a specific transport is requested, return that one.
108
+ if label:
109
+ return cls._transport_registry[label]
110
+
111
+ # No transport is requested; return the default (that is, the first one
112
+ # in the dictionary).
113
+ return next(iter(cls._transport_registry.values()))
114
+
115
+
116
+ class SqlDatabasesServiceClient(metaclass=SqlDatabasesServiceClientMeta):
117
+ """Service to manage databases."""
118
+
119
+ # Note: DEFAULT_ENDPOINT is deprecated. Use _DEFAULT_ENDPOINT_TEMPLATE instead.
120
+ DEFAULT_ENDPOINT = "sqladmin.googleapis.com"
121
+ DEFAULT_MTLS_ENDPOINT = get_default_mtls_endpoint(DEFAULT_ENDPOINT)
122
+
123
+ _DEFAULT_ENDPOINT_TEMPLATE = "sqladmin.{UNIVERSE_DOMAIN}"
124
+ _DEFAULT_UNIVERSE = "googleapis.com"
125
+
126
+ @classmethod
127
+ def from_service_account_info(cls, info: dict, *args, **kwargs):
128
+ """Creates an instance of this client using the provided credentials
129
+ info.
130
+
131
+ Args:
132
+ info (dict): The service account private key info.
133
+ args: Additional arguments to pass to the constructor.
134
+ kwargs: Additional arguments to pass to the constructor.
135
+
136
+ Returns:
137
+ SqlDatabasesServiceClient: The constructed client.
138
+ """
139
+ credentials = service_account.Credentials.from_service_account_info(info)
140
+ kwargs["credentials"] = credentials
141
+ return cls(*args, **kwargs)
142
+
143
+ @classmethod
144
+ def from_service_account_file(cls, filename: str, *args, **kwargs):
145
+ """Creates an instance of this client using the provided credentials
146
+ file.
147
+
148
+ Args:
149
+ filename (str): The path to the service account private key json
150
+ file.
151
+ args: Additional arguments to pass to the constructor.
152
+ kwargs: Additional arguments to pass to the constructor.
153
+
154
+ Returns:
155
+ SqlDatabasesServiceClient: The constructed client.
156
+ """
157
+ credentials = service_account.Credentials.from_service_account_file(filename)
158
+ kwargs["credentials"] = credentials
159
+ return cls(*args, **kwargs)
160
+
161
+ from_service_account_json = from_service_account_file
162
+
163
+ @property
164
+ def transport(self) -> SqlDatabasesServiceTransport:
165
+ """Returns the transport used by the client instance.
166
+
167
+ Returns:
168
+ SqlDatabasesServiceTransport: The transport used by the client
169
+ instance.
170
+ """
171
+ return self._transport
172
+
173
+ @staticmethod
174
+ def common_billing_account_path(
175
+ billing_account: str,
176
+ ) -> str:
177
+ """Returns a fully-qualified billing_account string."""
178
+ return "billingAccounts/{billing_account}".format(
179
+ billing_account=billing_account,
180
+ )
181
+
182
+ @staticmethod
183
+ def parse_common_billing_account_path(path: str) -> Dict[str, str]:
184
+ """Parse a billing_account path into its component segments."""
185
+ m = re.match(r"^billingAccounts/(?P<billing_account>.+?)$", path)
186
+ return m.groupdict() if m else {}
187
+
188
+ @staticmethod
189
+ def common_folder_path(
190
+ folder: str,
191
+ ) -> str:
192
+ """Returns a fully-qualified folder string."""
193
+ return "folders/{folder}".format(
194
+ folder=folder,
195
+ )
196
+
197
+ @staticmethod
198
+ def parse_common_folder_path(path: str) -> Dict[str, str]:
199
+ """Parse a folder path into its component segments."""
200
+ m = re.match(r"^folders/(?P<folder>.+?)$", path)
201
+ return m.groupdict() if m else {}
202
+
203
+ @staticmethod
204
+ def common_organization_path(
205
+ organization: str,
206
+ ) -> str:
207
+ """Returns a fully-qualified organization string."""
208
+ return "organizations/{organization}".format(
209
+ organization=organization,
210
+ )
211
+
212
+ @staticmethod
213
+ def parse_common_organization_path(path: str) -> Dict[str, str]:
214
+ """Parse a organization path into its component segments."""
215
+ m = re.match(r"^organizations/(?P<organization>.+?)$", path)
216
+ return m.groupdict() if m else {}
217
+
218
+ @staticmethod
219
+ def common_project_path(
220
+ project: str,
221
+ ) -> str:
222
+ """Returns a fully-qualified project string."""
223
+ return "projects/{project}".format(
224
+ project=project,
225
+ )
226
+
227
+ @staticmethod
228
+ def parse_common_project_path(path: str) -> Dict[str, str]:
229
+ """Parse a project path into its component segments."""
230
+ m = re.match(r"^projects/(?P<project>.+?)$", path)
231
+ return m.groupdict() if m else {}
232
+
233
+ @staticmethod
234
+ def common_location_path(
235
+ project: str,
236
+ location: str,
237
+ ) -> str:
238
+ """Returns a fully-qualified location string."""
239
+ return "projects/{project}/locations/{location}".format(
240
+ project=project,
241
+ location=location,
242
+ )
243
+
244
+ @staticmethod
245
+ def parse_common_location_path(path: str) -> Dict[str, str]:
246
+ """Parse a location path into its component segments."""
247
+ m = re.match(r"^projects/(?P<project>.+?)/locations/(?P<location>.+?)$", path)
248
+ return m.groupdict() if m else {}
249
+
250
+ @classmethod
251
+ def get_mtls_endpoint_and_cert_source(
252
+ cls, client_options: Optional[client_options_lib.ClientOptions] = None
253
+ ):
254
+ """Deprecated. Return the API endpoint and client cert source for mutual TLS.
255
+
256
+ The client cert source is determined in the following order:
257
+ (1) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not "true", the
258
+ client cert source is None.
259
+ (2) if `client_options.client_cert_source` is provided, use the provided one; if the
260
+ default client cert source exists, use the default one; otherwise the client cert
261
+ source is None.
262
+
263
+ The API endpoint is determined in the following order:
264
+ (1) if `client_options.api_endpoint` if provided, use the provided one.
265
+ (2) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is "always", use the
266
+ default mTLS endpoint; if the environment variable is "never", use the default API
267
+ endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
268
+ use the default API endpoint.
269
+
270
+ More details can be found at https://google.aip.dev/auth/4114.
271
+
272
+ Args:
273
+ client_options (google.api_core.client_options.ClientOptions): Custom options for the
274
+ client. Only the `api_endpoint` and `client_cert_source` properties may be used
275
+ in this method.
276
+
277
+ Returns:
278
+ Tuple[str, Callable[[], Tuple[bytes, bytes]]]: returns the API endpoint and the
279
+ client cert source to use.
280
+
281
+ Raises:
282
+ google.auth.exceptions.MutualTLSChannelError: If any errors happen.
283
+ """
284
+
285
+ warnings.warn(
286
+ "get_mtls_endpoint_and_cert_source is deprecated. Use the api_endpoint property instead.",
287
+ DeprecationWarning,
288
+ )
289
+ if client_options is None:
290
+ client_options = client_options_lib.ClientOptions()
291
+ use_client_cert = should_use_client_cert()
292
+ use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto")
293
+ if use_mtls_endpoint not in ("auto", "never", "always"):
294
+ raise MutualTLSChannelError(
295
+ "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
296
+ )
297
+
298
+ # Figure out the client cert source to use.
299
+ client_cert_source = None
300
+ if use_client_cert:
301
+ if client_options.client_cert_source:
302
+ client_cert_source = client_options.client_cert_source
303
+ elif mtls.has_default_client_cert_source():
304
+ client_cert_source = mtls.default_client_cert_source()
305
+
306
+ # Figure out which api endpoint to use.
307
+ if client_options.api_endpoint is not None:
308
+ api_endpoint = client_options.api_endpoint
309
+ elif use_mtls_endpoint == "always" or (
310
+ use_mtls_endpoint == "auto" and client_cert_source
311
+ ):
312
+ api_endpoint = cls.DEFAULT_MTLS_ENDPOINT # type: ignore
313
+ else:
314
+ api_endpoint = cls.DEFAULT_ENDPOINT
315
+
316
+ return api_endpoint, client_cert_source
317
+
318
+ @staticmethod
319
+ def _get_client_cert_source(provided_cert_source, use_cert_flag):
320
+ """Return the client cert source to be used by the client.
321
+
322
+ Args:
323
+ provided_cert_source (bytes): The client certificate source provided.
324
+ use_cert_flag (bool): A flag indicating whether to use the client certificate.
325
+
326
+ Returns:
327
+ bytes or None: The client cert source to be used by the client.
328
+ """
329
+ client_cert_source = None
330
+ if use_cert_flag:
331
+ if provided_cert_source:
332
+ client_cert_source = provided_cert_source
333
+ elif mtls.has_default_client_cert_source():
334
+ client_cert_source = mtls.default_client_cert_source()
335
+ return client_cert_source
336
+
337
+ def _validate_universe_domain(self):
338
+ """Validates client's and credentials' universe domains are consistent.
339
+
340
+ Returns:
341
+ bool: True iff the configured universe domain is valid.
342
+
343
+ Raises:
344
+ ValueError: If the configured universe domain is not valid.
345
+ """
346
+
347
+ # NOTE (b/349488459): universe validation is disabled until further notice.
348
+ return True
349
+
350
+ def _add_cred_info_for_auth_errors(
351
+ self, error: core_exceptions.GoogleAPICallError
352
+ ) -> None:
353
+ """Adds credential info string to error details for 401/403/404 errors.
354
+
355
+ Args:
356
+ error (google.api_core.exceptions.GoogleAPICallError): The error to add the cred info.
357
+ """
358
+ if error.code not in [
359
+ HTTPStatus.UNAUTHORIZED,
360
+ HTTPStatus.FORBIDDEN,
361
+ HTTPStatus.NOT_FOUND,
362
+ ]:
363
+ return
364
+
365
+ cred = self._transport._credentials
366
+
367
+ # get_cred_info is only available in google-auth>=2.35.0
368
+ if not hasattr(cred, "get_cred_info"):
369
+ return
370
+
371
+ # ignore the type check since pypy test fails when get_cred_info
372
+ # is not available
373
+ cred_info = cred.get_cred_info() # type: ignore
374
+ if cred_info and hasattr(error._details, "append"):
375
+ error._details.append(json.dumps(cred_info))
376
+
377
+ @property
378
+ def api_endpoint(self) -> str:
379
+ """Return the API endpoint used by the client instance.
380
+
381
+ Returns:
382
+ str: The API endpoint used by the client instance.
383
+ """
384
+ return self._api_endpoint
385
+
386
+ @property
387
+ def universe_domain(self) -> str:
388
+ """Return the universe domain used by the client instance.
389
+
390
+ Returns:
391
+ str: The universe domain used by the client instance.
392
+ """
393
+ return self._universe_domain
394
+
395
+ def __init__(
396
+ self,
397
+ *,
398
+ credentials: Optional[ga_credentials.Credentials] = None,
399
+ transport: Optional[
400
+ Union[
401
+ str,
402
+ SqlDatabasesServiceTransport,
403
+ Callable[..., SqlDatabasesServiceTransport],
404
+ ]
405
+ ] = None,
406
+ client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None,
407
+ client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
408
+ ) -> None:
409
+ """Instantiates the sql databases service client.
410
+
411
+ Args:
412
+ credentials (Optional[google.auth.credentials.Credentials]): The
413
+ authorization credentials to attach to requests. These
414
+ credentials identify the application to the service; if none
415
+ are specified, the client will attempt to ascertain the
416
+ credentials from the environment.
417
+ transport (Optional[Union[str,SqlDatabasesServiceTransport,Callable[..., SqlDatabasesServiceTransport]]]):
418
+ The transport to use, or a Callable that constructs and returns a new transport.
419
+ If a Callable is given, it will be called with the same set of initialization
420
+ arguments as used in the SqlDatabasesServiceTransport constructor.
421
+ If set to None, a transport is chosen automatically.
422
+ client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]):
423
+ Custom options for the client.
424
+
425
+ 1. The ``api_endpoint`` property can be used to override the
426
+ default endpoint provided by the client when ``transport`` is
427
+ not explicitly provided. Only if this property is not set and
428
+ ``transport`` was not explicitly provided, the endpoint is
429
+ determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment
430
+ variable, which have one of the following values:
431
+ "always" (always use the default mTLS endpoint), "never" (always
432
+ use the default regular endpoint) and "auto" (auto-switch to the
433
+ default mTLS endpoint if client certificate is present; this is
434
+ the default value).
435
+
436
+ 2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable
437
+ is "true", then the ``client_cert_source`` property can be used
438
+ to provide a client certificate for mTLS transport. If
439
+ not provided, the default SSL client certificate will be used if
440
+ present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not
441
+ set, no client certificate will be used.
442
+
443
+ 3. The ``universe_domain`` property can be used to override the
444
+ default "googleapis.com" universe. Note that the ``api_endpoint``
445
+ property still takes precedence; and ``universe_domain`` is
446
+ currently not supported for mTLS.
447
+
448
+ client_info (google.api_core.gapic_v1.client_info.ClientInfo):
449
+ The client info used to send a user-agent string along with
450
+ API requests. If ``None``, then default info will be used.
451
+ Generally, you only need to set this if you're developing
452
+ your own client library.
453
+
454
+ Raises:
455
+ google.auth.exceptions.MutualTLSChannelError: If mutual TLS transport
456
+ creation failed for any reason.
457
+ """
458
+ self._client_options = client_options
459
+ if isinstance(self._client_options, dict):
460
+ self._client_options = client_options_lib.from_dict(self._client_options)
461
+ if self._client_options is None:
462
+ self._client_options = client_options_lib.ClientOptions()
463
+ self._client_options = cast(
464
+ client_options_lib.ClientOptions, self._client_options
465
+ )
466
+
467
+ universe_domain_opt = getattr(self._client_options, "universe_domain", None)
468
+
469
+ self._use_client_cert, self._use_mtls_endpoint, self._universe_domain_env = (
470
+ read_environment_variables()
471
+ )
472
+ self._client_cert_source = SqlDatabasesServiceClient._get_client_cert_source(
473
+ self._client_options.client_cert_source, self._use_client_cert
474
+ )
475
+ self._universe_domain = get_universe_domain(
476
+ universe_domain_opt,
477
+ self._universe_domain_env,
478
+ default_universe=SqlDatabasesServiceClient._DEFAULT_UNIVERSE,
479
+ )
480
+ self._api_endpoint: str = "" # updated below, depending on `transport`
481
+
482
+ # Initialize the universe domain validation.
483
+ self._is_universe_domain_valid = False
484
+
485
+ if CLIENT_LOGGING_SUPPORTED: # pragma: NO COVER
486
+ # Setup logging.
487
+ client_logging.initialize_logging()
488
+
489
+ api_key_value = getattr(self._client_options, "api_key", None)
490
+ if api_key_value and credentials:
491
+ raise ValueError(
492
+ "client_options.api_key and credentials are mutually exclusive"
493
+ )
494
+
495
+ # Save or instantiate the transport.
496
+ # Ordinarily, we provide the transport, but allowing a custom transport
497
+ # instance provides an extensibility point for unusual situations.
498
+ transport_provided = isinstance(transport, SqlDatabasesServiceTransport)
499
+ if transport_provided:
500
+ # transport is a SqlDatabasesServiceTransport instance.
501
+ if credentials or self._client_options.credentials_file or api_key_value:
502
+ raise ValueError(
503
+ "When providing a transport instance, "
504
+ "provide its credentials directly."
505
+ )
506
+ if self._client_options.scopes:
507
+ raise ValueError(
508
+ "When providing a transport instance, provide its scopes directly."
509
+ )
510
+ self._transport = cast(SqlDatabasesServiceTransport, transport)
511
+ self._api_endpoint = self._transport.host
512
+
513
+ self._api_endpoint = self._api_endpoint or get_api_endpoint(
514
+ api_override=self._client_options.api_endpoint,
515
+ universe_domain=self._universe_domain,
516
+ default_universe=SqlDatabasesServiceClient._DEFAULT_UNIVERSE,
517
+ default_mtls_endpoint=SqlDatabasesServiceClient.DEFAULT_MTLS_ENDPOINT,
518
+ default_endpoint_template=SqlDatabasesServiceClient._DEFAULT_ENDPOINT_TEMPLATE,
519
+ use_mtls=self._use_mtls_endpoint == "always"
520
+ or (self._use_mtls_endpoint == "auto" and self._client_cert_source),
521
+ )
522
+
523
+ if not transport_provided:
524
+ import google.auth._default # type: ignore
525
+
526
+ if api_key_value and hasattr(
527
+ google.auth._default, "get_api_key_credentials"
528
+ ):
529
+ credentials = google.auth._default.get_api_key_credentials(
530
+ api_key_value
531
+ )
532
+
533
+ transport_init: Union[
534
+ Type[SqlDatabasesServiceTransport],
535
+ Callable[..., SqlDatabasesServiceTransport],
536
+ ] = (
537
+ SqlDatabasesServiceClient.get_transport_class(transport)
538
+ if isinstance(transport, str) or transport is None
539
+ else cast(Callable[..., SqlDatabasesServiceTransport], transport)
540
+ )
541
+ # initialize with the provided callable or the passed in class
542
+ self._transport = transport_init(
543
+ credentials=credentials,
544
+ credentials_file=self._client_options.credentials_file,
545
+ host=self._api_endpoint,
546
+ scopes=self._client_options.scopes,
547
+ client_cert_source_for_mtls=self._client_cert_source,
548
+ quota_project_id=self._client_options.quota_project_id,
549
+ client_info=client_info,
550
+ always_use_jwt_access=True,
551
+ api_audience=self._client_options.api_audience,
552
+ )
553
+
554
+ if "async" not in str(self._transport):
555
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
556
+ std_logging.DEBUG
557
+ ): # pragma: NO COVER
558
+ _LOGGER.debug(
559
+ "Created client `google.cloud.sql_v1.SqlDatabasesServiceClient`.",
560
+ extra={
561
+ "serviceName": "google.cloud.sql.v1.SqlDatabasesService",
562
+ "universeDomain": getattr(
563
+ self._transport._credentials, "universe_domain", ""
564
+ ),
565
+ "credentialsType": f"{type(self._transport._credentials).__module__}.{type(self._transport._credentials).__qualname__}",
566
+ "credentialsInfo": getattr(
567
+ self.transport._credentials, "get_cred_info", lambda: None
568
+ )(),
569
+ }
570
+ if hasattr(self._transport, "_credentials")
571
+ else {
572
+ "serviceName": "google.cloud.sql.v1.SqlDatabasesService",
573
+ "credentialsType": None,
574
+ },
575
+ )
576
+
577
+ def delete(
578
+ self,
579
+ request: Optional[
580
+ Union[cloud_sql_databases.SqlDatabasesDeleteRequest, dict]
581
+ ] = None,
582
+ *,
583
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
584
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
585
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
586
+ ) -> cloud_sql_resources.Operation:
587
+ r"""Deletes a database from a Cloud SQL instance.
588
+
589
+ .. code-block:: python
590
+
591
+ # This snippet has been automatically generated and should be regarded as a
592
+ # code template only.
593
+ # It will require modifications to work:
594
+ # - It may require correct/in-range values for request initialization.
595
+ # - It may require specifying regional endpoints when creating the service
596
+ # client as shown in:
597
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
598
+ from google.cloud import sqladmin_v1
599
+
600
+ def sample_delete():
601
+ # Create a client
602
+ client = sqladmin_v1.SqlDatabasesServiceClient()
603
+
604
+ # Initialize request argument(s)
605
+ request = sqladmin_v1.SqlDatabasesDeleteRequest(
606
+ )
607
+
608
+ # Make the request
609
+ response = client.delete(request=request)
610
+
611
+ # Handle the response
612
+ print(response)
613
+
614
+ Args:
615
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesDeleteRequest, dict]):
616
+ The request object. Database delete request.
617
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
618
+ should be retried.
619
+ timeout (float): The timeout for this request.
620
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
621
+ sent along with the request as metadata. Normally, each value must be of type `str`,
622
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
623
+ be of type `bytes`.
624
+
625
+ Returns:
626
+ google.cloud.sqladmin_v1.types.Operation:
627
+ An Operation resource.&nbsp;For
628
+ successful operations that return an
629
+ Operation resource, only the fields
630
+ relevant to the operation are populated
631
+ in the resource.
632
+
633
+ """
634
+ # Create or coerce a protobuf request object.
635
+ # - Use the request object if provided (there's no risk of modifying the input as
636
+ # there are no flattened fields), or create one.
637
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesDeleteRequest):
638
+ request = cloud_sql_databases.SqlDatabasesDeleteRequest(request)
639
+
640
+ # Wrap the RPC method; this adds retry and timeout information,
641
+ # and friendly error handling.
642
+ rpc = self._transport._wrapped_methods[self._transport.delete]
643
+
644
+ # Certain fields should be provided within the metadata header;
645
+ # add these here.
646
+ metadata = tuple(metadata) + (
647
+ gapic_v1.routing_header.to_grpc_metadata(
648
+ (
649
+ ("project", request.project),
650
+ ("instance", request.instance),
651
+ ("database", request.database),
652
+ )
653
+ ),
654
+ )
655
+
656
+ # Validate the universe domain.
657
+ self._validate_universe_domain()
658
+
659
+ # Send the request.
660
+ response = rpc(
661
+ request,
662
+ retry=retry,
663
+ timeout=timeout,
664
+ metadata=metadata,
665
+ )
666
+
667
+ # Done; return the response.
668
+ return response
669
+
670
+ def get(
671
+ self,
672
+ request: Optional[
673
+ Union[cloud_sql_databases.SqlDatabasesGetRequest, dict]
674
+ ] = None,
675
+ *,
676
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
677
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
678
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
679
+ ) -> cloud_sql_resources.Database:
680
+ r"""Retrieves a resource containing information about a
681
+ database inside a Cloud SQL instance.
682
+
683
+ .. code-block:: python
684
+
685
+ # This snippet has been automatically generated and should be regarded as a
686
+ # code template only.
687
+ # It will require modifications to work:
688
+ # - It may require correct/in-range values for request initialization.
689
+ # - It may require specifying regional endpoints when creating the service
690
+ # client as shown in:
691
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
692
+ from google.cloud import sqladmin_v1
693
+
694
+ def sample_get():
695
+ # Create a client
696
+ client = sqladmin_v1.SqlDatabasesServiceClient()
697
+
698
+ # Initialize request argument(s)
699
+ request = sqladmin_v1.SqlDatabasesGetRequest(
700
+ )
701
+
702
+ # Make the request
703
+ response = client.get(request=request)
704
+
705
+ # Handle the response
706
+ print(response)
707
+
708
+ Args:
709
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesGetRequest, dict]):
710
+ The request object. Database get request.
711
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
712
+ should be retried.
713
+ timeout (float): The timeout for this request.
714
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
715
+ sent along with the request as metadata. Normally, each value must be of type `str`,
716
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
717
+ be of type `bytes`.
718
+
719
+ Returns:
720
+ google.cloud.sqladmin_v1.types.Database:
721
+ Represents a SQL database on the
722
+ Cloud SQL instance.
723
+
724
+ """
725
+ # Create or coerce a protobuf request object.
726
+ # - Use the request object if provided (there's no risk of modifying the input as
727
+ # there are no flattened fields), or create one.
728
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesGetRequest):
729
+ request = cloud_sql_databases.SqlDatabasesGetRequest(request)
730
+
731
+ # Wrap the RPC method; this adds retry and timeout information,
732
+ # and friendly error handling.
733
+ rpc = self._transport._wrapped_methods[self._transport.get]
734
+
735
+ # Certain fields should be provided within the metadata header;
736
+ # add these here.
737
+ metadata = tuple(metadata) + (
738
+ gapic_v1.routing_header.to_grpc_metadata(
739
+ (
740
+ ("project", request.project),
741
+ ("instance", request.instance),
742
+ ("database", request.database),
743
+ )
744
+ ),
745
+ )
746
+
747
+ # Validate the universe domain.
748
+ self._validate_universe_domain()
749
+
750
+ # Send the request.
751
+ response = rpc(
752
+ request,
753
+ retry=retry,
754
+ timeout=timeout,
755
+ metadata=metadata,
756
+ )
757
+
758
+ # Done; return the response.
759
+ return response
760
+
761
+ def insert(
762
+ self,
763
+ request: Optional[
764
+ Union[cloud_sql_databases.SqlDatabasesInsertRequest, dict]
765
+ ] = None,
766
+ *,
767
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
768
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
769
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
770
+ ) -> cloud_sql_resources.Operation:
771
+ r"""Inserts a resource containing information about a database
772
+ inside a Cloud SQL instance.
773
+
774
+ **Note:** You can't modify the default character set and
775
+ collation.
776
+
777
+ .. code-block:: python
778
+
779
+ # This snippet has been automatically generated and should be regarded as a
780
+ # code template only.
781
+ # It will require modifications to work:
782
+ # - It may require correct/in-range values for request initialization.
783
+ # - It may require specifying regional endpoints when creating the service
784
+ # client as shown in:
785
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
786
+ from google.cloud import sqladmin_v1
787
+
788
+ def sample_insert():
789
+ # Create a client
790
+ client = sqladmin_v1.SqlDatabasesServiceClient()
791
+
792
+ # Initialize request argument(s)
793
+ request = sqladmin_v1.SqlDatabasesInsertRequest(
794
+ )
795
+
796
+ # Make the request
797
+ response = client.insert(request=request)
798
+
799
+ # Handle the response
800
+ print(response)
801
+
802
+ Args:
803
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesInsertRequest, dict]):
804
+ The request object. Database insert request.
805
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
806
+ should be retried.
807
+ timeout (float): The timeout for this request.
808
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
809
+ sent along with the request as metadata. Normally, each value must be of type `str`,
810
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
811
+ be of type `bytes`.
812
+
813
+ Returns:
814
+ google.cloud.sqladmin_v1.types.Operation:
815
+ An Operation resource.&nbsp;For
816
+ successful operations that return an
817
+ Operation resource, only the fields
818
+ relevant to the operation are populated
819
+ in the resource.
820
+
821
+ """
822
+ # Create or coerce a protobuf request object.
823
+ # - Use the request object if provided (there's no risk of modifying the input as
824
+ # there are no flattened fields), or create one.
825
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesInsertRequest):
826
+ request = cloud_sql_databases.SqlDatabasesInsertRequest(request)
827
+
828
+ # Wrap the RPC method; this adds retry and timeout information,
829
+ # and friendly error handling.
830
+ rpc = self._transport._wrapped_methods[self._transport.insert]
831
+
832
+ # Certain fields should be provided within the metadata header;
833
+ # add these here.
834
+ metadata = tuple(metadata) + (
835
+ gapic_v1.routing_header.to_grpc_metadata(
836
+ (
837
+ ("project", request.project),
838
+ ("instance", request.instance),
839
+ )
840
+ ),
841
+ )
842
+
843
+ # Validate the universe domain.
844
+ self._validate_universe_domain()
845
+
846
+ # Send the request.
847
+ response = rpc(
848
+ request,
849
+ retry=retry,
850
+ timeout=timeout,
851
+ metadata=metadata,
852
+ )
853
+
854
+ # Done; return the response.
855
+ return response
856
+
857
+ def list(
858
+ self,
859
+ request: Optional[
860
+ Union[cloud_sql_databases.SqlDatabasesListRequest, dict]
861
+ ] = None,
862
+ *,
863
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
864
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
865
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
866
+ ) -> cloud_sql_databases.DatabasesListResponse:
867
+ r"""Lists databases in the specified Cloud SQL instance.
868
+
869
+ .. code-block:: python
870
+
871
+ # This snippet has been automatically generated and should be regarded as a
872
+ # code template only.
873
+ # It will require modifications to work:
874
+ # - It may require correct/in-range values for request initialization.
875
+ # - It may require specifying regional endpoints when creating the service
876
+ # client as shown in:
877
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
878
+ from google.cloud import sqladmin_v1
879
+
880
+ def sample_list():
881
+ # Create a client
882
+ client = sqladmin_v1.SqlDatabasesServiceClient()
883
+
884
+ # Initialize request argument(s)
885
+ request = sqladmin_v1.SqlDatabasesListRequest(
886
+ )
887
+
888
+ # Make the request
889
+ response = client.list(request=request)
890
+
891
+ # Handle the response
892
+ print(response)
893
+
894
+ Args:
895
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesListRequest, dict]):
896
+ The request object. Database list request.
897
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
898
+ should be retried.
899
+ timeout (float): The timeout for this request.
900
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
901
+ sent along with the request as metadata. Normally, each value must be of type `str`,
902
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
903
+ be of type `bytes`.
904
+
905
+ Returns:
906
+ google.cloud.sqladmin_v1.types.DatabasesListResponse:
907
+ Database list response.
908
+ """
909
+ # Create or coerce a protobuf request object.
910
+ # - Use the request object if provided (there's no risk of modifying the input as
911
+ # there are no flattened fields), or create one.
912
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesListRequest):
913
+ request = cloud_sql_databases.SqlDatabasesListRequest(request)
914
+
915
+ # Wrap the RPC method; this adds retry and timeout information,
916
+ # and friendly error handling.
917
+ rpc = self._transport._wrapped_methods[self._transport.list]
918
+
919
+ # Certain fields should be provided within the metadata header;
920
+ # add these here.
921
+ metadata = tuple(metadata) + (
922
+ gapic_v1.routing_header.to_grpc_metadata(
923
+ (
924
+ ("project", request.project),
925
+ ("instance", request.instance),
926
+ )
927
+ ),
928
+ )
929
+
930
+ # Validate the universe domain.
931
+ self._validate_universe_domain()
932
+
933
+ # Send the request.
934
+ response = rpc(
935
+ request,
936
+ retry=retry,
937
+ timeout=timeout,
938
+ metadata=metadata,
939
+ )
940
+
941
+ # Done; return the response.
942
+ return response
943
+
944
+ def patch(
945
+ self,
946
+ request: Optional[
947
+ Union[cloud_sql_databases.SqlDatabasesUpdateRequest, dict]
948
+ ] = None,
949
+ *,
950
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
951
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
952
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
953
+ ) -> cloud_sql_resources.Operation:
954
+ r"""Partially updates a resource containing information
955
+ about a database inside a Cloud SQL instance. This
956
+ method supports patch semantics.
957
+
958
+ .. code-block:: python
959
+
960
+ # This snippet has been automatically generated and should be regarded as a
961
+ # code template only.
962
+ # It will require modifications to work:
963
+ # - It may require correct/in-range values for request initialization.
964
+ # - It may require specifying regional endpoints when creating the service
965
+ # client as shown in:
966
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
967
+ from google.cloud import sqladmin_v1
968
+
969
+ def sample_patch():
970
+ # Create a client
971
+ client = sqladmin_v1.SqlDatabasesServiceClient()
972
+
973
+ # Initialize request argument(s)
974
+ request = sqladmin_v1.SqlDatabasesUpdateRequest(
975
+ )
976
+
977
+ # Make the request
978
+ response = client.patch(request=request)
979
+
980
+ # Handle the response
981
+ print(response)
982
+
983
+ Args:
984
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesUpdateRequest, dict]):
985
+ The request object. Database update request.
986
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
987
+ should be retried.
988
+ timeout (float): The timeout for this request.
989
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
990
+ sent along with the request as metadata. Normally, each value must be of type `str`,
991
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
992
+ be of type `bytes`.
993
+
994
+ Returns:
995
+ google.cloud.sqladmin_v1.types.Operation:
996
+ An Operation resource.&nbsp;For
997
+ successful operations that return an
998
+ Operation resource, only the fields
999
+ relevant to the operation are populated
1000
+ in the resource.
1001
+
1002
+ """
1003
+ # Create or coerce a protobuf request object.
1004
+ # - Use the request object if provided (there's no risk of modifying the input as
1005
+ # there are no flattened fields), or create one.
1006
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesUpdateRequest):
1007
+ request = cloud_sql_databases.SqlDatabasesUpdateRequest(request)
1008
+
1009
+ # Wrap the RPC method; this adds retry and timeout information,
1010
+ # and friendly error handling.
1011
+ rpc = self._transport._wrapped_methods[self._transport.patch]
1012
+
1013
+ # Certain fields should be provided within the metadata header;
1014
+ # add these here.
1015
+ metadata = tuple(metadata) + (
1016
+ gapic_v1.routing_header.to_grpc_metadata(
1017
+ (
1018
+ ("project", request.project),
1019
+ ("instance", request.instance),
1020
+ ("database", request.database),
1021
+ )
1022
+ ),
1023
+ )
1024
+
1025
+ # Validate the universe domain.
1026
+ self._validate_universe_domain()
1027
+
1028
+ # Send the request.
1029
+ response = rpc(
1030
+ request,
1031
+ retry=retry,
1032
+ timeout=timeout,
1033
+ metadata=metadata,
1034
+ )
1035
+
1036
+ # Done; return the response.
1037
+ return response
1038
+
1039
+ def update(
1040
+ self,
1041
+ request: Optional[
1042
+ Union[cloud_sql_databases.SqlDatabasesUpdateRequest, dict]
1043
+ ] = None,
1044
+ *,
1045
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1046
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1047
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1048
+ ) -> cloud_sql_resources.Operation:
1049
+ r"""Updates a resource containing information about a
1050
+ database inside a Cloud SQL instance.
1051
+
1052
+ .. code-block:: python
1053
+
1054
+ # This snippet has been automatically generated and should be regarded as a
1055
+ # code template only.
1056
+ # It will require modifications to work:
1057
+ # - It may require correct/in-range values for request initialization.
1058
+ # - It may require specifying regional endpoints when creating the service
1059
+ # client as shown in:
1060
+ # https://googleapis.dev/python/google-api-core/latest/client_options.html
1061
+ from google.cloud import sqladmin_v1
1062
+
1063
+ def sample_update():
1064
+ # Create a client
1065
+ client = sqladmin_v1.SqlDatabasesServiceClient()
1066
+
1067
+ # Initialize request argument(s)
1068
+ request = sqladmin_v1.SqlDatabasesUpdateRequest(
1069
+ )
1070
+
1071
+ # Make the request
1072
+ response = client.update(request=request)
1073
+
1074
+ # Handle the response
1075
+ print(response)
1076
+
1077
+ Args:
1078
+ request (Union[google.cloud.sqladmin_v1.types.SqlDatabasesUpdateRequest, dict]):
1079
+ The request object. Database update request.
1080
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1081
+ should be retried.
1082
+ timeout (float): The timeout for this request.
1083
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1084
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1085
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1086
+ be of type `bytes`.
1087
+
1088
+ Returns:
1089
+ google.cloud.sqladmin_v1.types.Operation:
1090
+ An Operation resource.&nbsp;For
1091
+ successful operations that return an
1092
+ Operation resource, only the fields
1093
+ relevant to the operation are populated
1094
+ in the resource.
1095
+
1096
+ """
1097
+ # Create or coerce a protobuf request object.
1098
+ # - Use the request object if provided (there's no risk of modifying the input as
1099
+ # there are no flattened fields), or create one.
1100
+ if not isinstance(request, cloud_sql_databases.SqlDatabasesUpdateRequest):
1101
+ request = cloud_sql_databases.SqlDatabasesUpdateRequest(request)
1102
+
1103
+ # Wrap the RPC method; this adds retry and timeout information,
1104
+ # and friendly error handling.
1105
+ rpc = self._transport._wrapped_methods[self._transport.update]
1106
+
1107
+ # Certain fields should be provided within the metadata header;
1108
+ # add these here.
1109
+ metadata = tuple(metadata) + (
1110
+ gapic_v1.routing_header.to_grpc_metadata(
1111
+ (
1112
+ ("project", request.project),
1113
+ ("instance", request.instance),
1114
+ ("database", request.database),
1115
+ )
1116
+ ),
1117
+ )
1118
+
1119
+ # Validate the universe domain.
1120
+ self._validate_universe_domain()
1121
+
1122
+ # Send the request.
1123
+ response = rpc(
1124
+ request,
1125
+ retry=retry,
1126
+ timeout=timeout,
1127
+ metadata=metadata,
1128
+ )
1129
+
1130
+ # Done; return the response.
1131
+ return response
1132
+
1133
+ def __enter__(self) -> "SqlDatabasesServiceClient":
1134
+ return self
1135
+
1136
+ def __exit__(self, type, value, traceback):
1137
+ """Releases underlying transport's resources.
1138
+
1139
+ .. warning::
1140
+ ONLY use as a context manager if the transport is NOT shared
1141
+ with other clients! Exiting the with block will CLOSE the transport
1142
+ and may cause errors in other clients!
1143
+ """
1144
+ self.transport.close()
1145
+
1146
+
1147
+ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(
1148
+ gapic_version=package_version.__version__
1149
+ )
1150
+ DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__
1151
+
1152
+ __all__ = ("SqlDatabasesServiceClient",)