google-cloud-cloudcontrolspartner 0.2.4__tar.gz → 0.2.6__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 (98) hide show
  1. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/PKG-INFO +97 -8
  2. google_cloud_cloudcontrolspartner-0.2.6/README.rst +197 -0
  3. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner/gapic_version.py +1 -1
  4. {google_cloud_cloudcontrolspartner-0.2.4/google/cloud/cloudcontrolspartner_v1beta → google_cloud_cloudcontrolspartner-0.2.6/google/cloud/cloudcontrolspartner_v1}/gapic_version.py +1 -1
  5. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/async_client.py +32 -8
  6. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/client.py +61 -8
  7. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest.py +245 -16
  8. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/async_client.py +8 -2
  9. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/client.py +37 -2
  10. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest.py +60 -4
  11. {google_cloud_cloudcontrolspartner-0.2.4/google/cloud/cloudcontrolspartner_v1 → google_cloud_cloudcontrolspartner-0.2.6/google/cloud/cloudcontrolspartner_v1beta}/gapic_version.py +1 -1
  12. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/async_client.py +44 -11
  13. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/client.py +73 -11
  14. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest.py +303 -20
  15. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/async_client.py +8 -2
  16. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/client.py +37 -2
  17. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest.py +60 -4
  18. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google_cloud_cloudcontrolspartner.egg-info/PKG-INFO +97 -8
  19. google_cloud_cloudcontrolspartner-0.2.6/google_cloud_cloudcontrolspartner.egg-info/requires.txt +7 -0
  20. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/setup.py +5 -5
  21. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_core.py +107 -0
  22. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_monitoring.py +62 -0
  23. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_core.py +119 -0
  24. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_monitoring.py +62 -0
  25. google_cloud_cloudcontrolspartner-0.2.4/README.rst +0 -108
  26. google_cloud_cloudcontrolspartner-0.2.4/google_cloud_cloudcontrolspartner.egg-info/requires.txt +0 -7
  27. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/LICENSE +0 -0
  28. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/MANIFEST.in +0 -0
  29. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner/__init__.py +0 -0
  30. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner/py.typed +0 -0
  31. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/__init__.py +0 -0
  32. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/gapic_metadata.json +0 -0
  33. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/py.typed +0 -0
  34. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/__init__.py +0 -0
  35. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/__init__.py +0 -0
  36. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/pagers.py +0 -0
  37. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/__init__.py +0 -0
  38. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/base.py +0 -0
  39. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc.py +0 -0
  40. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc_asyncio.py +0 -0
  41. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
  42. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/__init__.py +0 -0
  43. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/pagers.py +0 -0
  44. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
  45. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/base.py +0 -0
  46. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc.py +0 -0
  47. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +0 -0
  48. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
  49. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/__init__.py +0 -0
  50. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/access_approval_requests.py +0 -0
  51. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/completion_state.py +0 -0
  52. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/core.py +0 -0
  53. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/customer_workloads.py +0 -0
  54. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/customers.py +0 -0
  55. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/ekm_connections.py +0 -0
  56. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/monitoring.py +0 -0
  57. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/partner_permissions.py +0 -0
  58. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/partners.py +0 -0
  59. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1/types/violations.py +0 -0
  60. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/__init__.py +0 -0
  61. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/gapic_metadata.json +0 -0
  62. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/py.typed +0 -0
  63. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/__init__.py +0 -0
  64. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/__init__.py +0 -0
  65. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/pagers.py +0 -0
  66. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/__init__.py +0 -0
  67. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/base.py +0 -0
  68. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc.py +0 -0
  69. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc_asyncio.py +0 -0
  70. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
  71. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/__init__.py +0 -0
  72. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/pagers.py +0 -0
  73. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
  74. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/base.py +0 -0
  75. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc.py +0 -0
  76. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +0 -0
  77. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
  78. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/__init__.py +0 -0
  79. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/access_approval_requests.py +0 -0
  80. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/completion_state.py +0 -0
  81. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/core.py +0 -0
  82. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/customer_workloads.py +0 -0
  83. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/customers.py +0 -0
  84. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/ekm_connections.py +0 -0
  85. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/monitoring.py +0 -0
  86. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/partner_permissions.py +0 -0
  87. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/partners.py +0 -0
  88. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google/cloud/cloudcontrolspartner_v1beta/types/violations.py +0 -0
  89. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google_cloud_cloudcontrolspartner.egg-info/SOURCES.txt +0 -0
  90. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google_cloud_cloudcontrolspartner.egg-info/dependency_links.txt +0 -0
  91. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google_cloud_cloudcontrolspartner.egg-info/not-zip-safe +0 -0
  92. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/google_cloud_cloudcontrolspartner.egg-info/top_level.txt +0 -0
  93. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/setup.cfg +0 -0
  94. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/__init__.py +0 -0
  95. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/__init__.py +0 -0
  96. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/__init__.py +0 -0
  97. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1/__init__.py +0 -0
  98. {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.6}/tests/unit/gapic/cloudcontrolspartner_v1beta/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-cloudcontrolspartner
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: Google Cloud Cloudcontrolspartner API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-cloudcontrolspartner
6
6
  Author: Google LLC
@@ -23,11 +23,11 @@ Classifier: Operating System :: OS Independent
23
23
  Classifier: Topic :: Internet
24
24
  Requires-Python: >=3.7
25
25
  License-File: LICENSE
26
- Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.1
27
- Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0dev,>=2.14.1
28
- Requires-Dist: proto-plus<2.0.0dev,>=1.22.3
29
- Requires-Dist: proto-plus<2.0.0dev,>=1.25.0; python_version >= "3.13"
30
- Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.2
26
+ Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0,>=1.34.1
27
+ Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
28
+ Requires-Dist: proto-plus<2.0.0,>=1.22.3
29
+ Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
30
+ Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
31
31
 
32
32
  Python Client for Cloud Controls Partner API
33
33
  ============================================
@@ -57,12 +57,12 @@ In order to use this library, you first need to go through the following steps:
57
57
  1. `Select or create a Cloud Platform project.`_
58
58
  2. `Enable billing for your project.`_
59
59
  3. `Enable the Cloud Controls Partner API.`_
60
- 4. `Setup Authentication.`_
60
+ 4. `Set up Authentication.`_
61
61
 
62
62
  .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
63
63
  .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
64
64
  .. _Enable the Cloud Controls Partner API.: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
65
- .. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
65
+ .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
66
66
 
67
67
  Installation
68
68
  ~~~~~~~~~~~~
@@ -137,3 +137,92 @@ Next Steps
137
137
 
138
138
  .. _Cloud Controls Partner API Product documentation: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
139
139
  .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
140
+
141
+ Logging
142
+ -------
143
+
144
+ This library uses the standard Python :code:`logging` functionality to log some RPC events that could be of interest for debugging and monitoring purposes.
145
+ Note the following:
146
+
147
+ #. Logs may contain sensitive information. Take care to **restrict access to the logs** if they are saved, whether it be on local storage or on Google Cloud Logging.
148
+ #. Google may refine the occurrence, level, and content of various log messages in this library without flagging such changes as breaking. **Do not depend on immutability of the logging events**.
149
+ #. By default, the logging events from this library are not handled. You must **explicitly configure log handling** using one of the mechanisms below.
150
+
151
+ Simple, environment-based configuration
152
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
+
154
+ To enable logging for this library without any changes in your code, set the :code:`GOOGLE_SDK_PYTHON_LOGGING_SCOPE` environment variable to a valid Google
155
+ logging scope. This configures handling of logging events (at level :code:`logging.DEBUG` or higher) from this library in a default manner, emitting the logged
156
+ messages in a structured format. It does not currently allow customizing the logging levels captured nor the handlers, formatters, etc. used for any logging
157
+ event.
158
+
159
+ A logging scope is a period-separated namespace that begins with :code:`google`, identifying the Python module or package to log.
160
+
161
+ - Valid logging scopes: :code:`google`, :code:`google.cloud.asset.v1`, :code:`google.api`, :code:`google.auth`, etc.
162
+ - Invalid logging scopes: :code:`foo`, :code:`123`, etc.
163
+
164
+ **NOTE**: If the logging scope is invalid, the library does not set up any logging handlers.
165
+
166
+ Environment-Based Examples
167
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
168
+
169
+ - Enabling the default handler for all Google-based loggers
170
+
171
+ .. code-block:: console
172
+
173
+ export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
174
+
175
+ - Enabling the default handler for a specific Google module (for a client library called :code:`library_v1`):
176
+
177
+ .. code-block:: console
178
+
179
+ export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.cloud.library_v1
180
+
181
+
182
+ Advanced, code-based configuration
183
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
184
+
185
+ You can also configure a valid logging scope using Python's standard `logging` mechanism.
186
+
187
+ Code-Based Examples
188
+ ^^^^^^^^^^^^^^^^^^^
189
+
190
+ - Configuring a handler for all Google-based loggers
191
+
192
+ .. code-block:: python
193
+
194
+ import logging
195
+
196
+ from google.cloud.translate_v3 import translate
197
+
198
+ base_logger = logging.getLogger("google")
199
+ base_logger.addHandler(logging.StreamHandler())
200
+ base_logger.setLevel(logging.DEBUG)
201
+
202
+ - Configuring a handler for a specific Google module (for a client library called :code:`library_v1`):
203
+
204
+ .. code-block:: python
205
+
206
+ import logging
207
+
208
+ from google.cloud.translate_v3 import translate
209
+
210
+ base_logger = logging.getLogger("google.cloud.library_v1")
211
+ base_logger.addHandler(logging.StreamHandler())
212
+ base_logger.setLevel(logging.DEBUG)
213
+
214
+ Logging details
215
+ ~~~~~~~~~~~~~~~
216
+
217
+ #. Regardless of which of the mechanisms above you use to configure logging for this library, by default logging events are not propagated up to the root
218
+ logger from the `google`-level logger. If you need the events to be propagated to the root logger, you must explicitly set
219
+ :code:`logging.getLogger("google").propagate = True` in your code.
220
+ #. You can mix the different logging configurations above for different Google modules. For example, you may want use a code-based logging configuration for
221
+ one library, but decide you need to also set up environment-based logging configuration for another library.
222
+
223
+ #. If you attempt to use both code-based and environment-based configuration for the same module, the environment-based configuration will be ineffectual
224
+ if the code -based configuration gets applied first.
225
+
226
+ #. The Google-specific logging configurations (default handlers for environment-based configuration; not propagating logging events to the root logger) get
227
+ executed the first time *any* client library is instantiated in your application, and only if the affected loggers have not been previously configured.
228
+ (This is the reason for 2.i. above.)
@@ -0,0 +1,197 @@
1
+ Python Client for Cloud Controls Partner API
2
+ ============================================
3
+
4
+ |preview| |pypi| |versions|
5
+
6
+ `Cloud Controls Partner API`_: Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering.
7
+
8
+ - `Client Library Documentation`_
9
+ - `Product Documentation`_
10
+
11
+ .. |preview| image:: https://img.shields.io/badge/support-preview-orange.svg
12
+ :target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#stability-levels
13
+ .. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-cloudcontrolspartner.svg
14
+ :target: https://pypi.org/project/google-cloud-cloudcontrolspartner/
15
+ .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-cloudcontrolspartner.svg
16
+ :target: https://pypi.org/project/google-cloud-cloudcontrolspartner/
17
+ .. _Cloud Controls Partner API: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
18
+ .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/google-cloud-cloudcontrolspartner/latest/summary_overview
19
+ .. _Product Documentation: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
20
+
21
+ Quick Start
22
+ -----------
23
+
24
+ In order to use this library, you first need to go through the following steps:
25
+
26
+ 1. `Select or create a Cloud Platform project.`_
27
+ 2. `Enable billing for your project.`_
28
+ 3. `Enable the Cloud Controls Partner API.`_
29
+ 4. `Set up Authentication.`_
30
+
31
+ .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
32
+ .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
33
+ .. _Enable the Cloud Controls Partner API.: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
34
+ .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
35
+
36
+ Installation
37
+ ~~~~~~~~~~~~
38
+
39
+ Install this library in a virtual environment using `venv`_. `venv`_ is a tool that
40
+ creates isolated Python environments. These isolated environments can have separate
41
+ versions of Python packages, which allows you to isolate one project's dependencies
42
+ from the dependencies of other projects.
43
+
44
+ With `venv`_, it's possible to install this library without needing system
45
+ install permissions, and without clashing with the installed system
46
+ dependencies.
47
+
48
+ .. _`venv`: https://docs.python.org/3/library/venv.html
49
+
50
+
51
+ Code samples and snippets
52
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
53
+
54
+ Code samples and snippets live in the `samples/`_ folder.
55
+
56
+ .. _samples/: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-cloudcontrolspartner/samples
57
+
58
+
59
+ Supported Python Versions
60
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
61
+ Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
62
+ Python.
63
+
64
+ Python >= 3.7
65
+
66
+ .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
67
+ .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
68
+
69
+ Unsupported Python Versions
70
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
71
+ Python <= 3.6
72
+
73
+ If you are using an `end-of-life`_
74
+ version of Python, we recommend that you update as soon as possible to an actively supported version.
75
+
76
+ .. _end-of-life: https://devguide.python.org/devcycle/#end-of-life-branches
77
+
78
+ Mac/Linux
79
+ ^^^^^^^^^
80
+
81
+ .. code-block:: console
82
+
83
+ python3 -m venv <your-env>
84
+ source <your-env>/bin/activate
85
+ pip install google-cloud-cloudcontrolspartner
86
+
87
+
88
+ Windows
89
+ ^^^^^^^
90
+
91
+ .. code-block:: console
92
+
93
+ py -m venv <your-env>
94
+ .\<your-env>\Scripts\activate
95
+ pip install google-cloud-cloudcontrolspartner
96
+
97
+ Next Steps
98
+ ~~~~~~~~~~
99
+
100
+ - Read the `Client Library Documentation`_ for Cloud Controls Partner API
101
+ to see other available methods on the client.
102
+ - Read the `Cloud Controls Partner API Product documentation`_ to learn
103
+ more about the product and see How-to Guides.
104
+ - View this `README`_ to see the full list of Cloud
105
+ APIs that we cover.
106
+
107
+ .. _Cloud Controls Partner API Product documentation: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest
108
+ .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
109
+
110
+ Logging
111
+ -------
112
+
113
+ This library uses the standard Python :code:`logging` functionality to log some RPC events that could be of interest for debugging and monitoring purposes.
114
+ Note the following:
115
+
116
+ #. Logs may contain sensitive information. Take care to **restrict access to the logs** if they are saved, whether it be on local storage or on Google Cloud Logging.
117
+ #. Google may refine the occurrence, level, and content of various log messages in this library without flagging such changes as breaking. **Do not depend on immutability of the logging events**.
118
+ #. By default, the logging events from this library are not handled. You must **explicitly configure log handling** using one of the mechanisms below.
119
+
120
+ Simple, environment-based configuration
121
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122
+
123
+ To enable logging for this library without any changes in your code, set the :code:`GOOGLE_SDK_PYTHON_LOGGING_SCOPE` environment variable to a valid Google
124
+ logging scope. This configures handling of logging events (at level :code:`logging.DEBUG` or higher) from this library in a default manner, emitting the logged
125
+ messages in a structured format. It does not currently allow customizing the logging levels captured nor the handlers, formatters, etc. used for any logging
126
+ event.
127
+
128
+ A logging scope is a period-separated namespace that begins with :code:`google`, identifying the Python module or package to log.
129
+
130
+ - Valid logging scopes: :code:`google`, :code:`google.cloud.asset.v1`, :code:`google.api`, :code:`google.auth`, etc.
131
+ - Invalid logging scopes: :code:`foo`, :code:`123`, etc.
132
+
133
+ **NOTE**: If the logging scope is invalid, the library does not set up any logging handlers.
134
+
135
+ Environment-Based Examples
136
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
137
+
138
+ - Enabling the default handler for all Google-based loggers
139
+
140
+ .. code-block:: console
141
+
142
+ export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
143
+
144
+ - Enabling the default handler for a specific Google module (for a client library called :code:`library_v1`):
145
+
146
+ .. code-block:: console
147
+
148
+ export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.cloud.library_v1
149
+
150
+
151
+ Advanced, code-based configuration
152
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
+
154
+ You can also configure a valid logging scope using Python's standard `logging` mechanism.
155
+
156
+ Code-Based Examples
157
+ ^^^^^^^^^^^^^^^^^^^
158
+
159
+ - Configuring a handler for all Google-based loggers
160
+
161
+ .. code-block:: python
162
+
163
+ import logging
164
+
165
+ from google.cloud.translate_v3 import translate
166
+
167
+ base_logger = logging.getLogger("google")
168
+ base_logger.addHandler(logging.StreamHandler())
169
+ base_logger.setLevel(logging.DEBUG)
170
+
171
+ - Configuring a handler for a specific Google module (for a client library called :code:`library_v1`):
172
+
173
+ .. code-block:: python
174
+
175
+ import logging
176
+
177
+ from google.cloud.translate_v3 import translate
178
+
179
+ base_logger = logging.getLogger("google.cloud.library_v1")
180
+ base_logger.addHandler(logging.StreamHandler())
181
+ base_logger.setLevel(logging.DEBUG)
182
+
183
+ Logging details
184
+ ~~~~~~~~~~~~~~~
185
+
186
+ #. Regardless of which of the mechanisms above you use to configure logging for this library, by default logging events are not propagated up to the root
187
+ logger from the `google`-level logger. If you need the events to be propagated to the root logger, you must explicitly set
188
+ :code:`logging.getLogger("google").propagate = True` in your code.
189
+ #. You can mix the different logging configurations above for different Google modules. For example, you may want use a code-based logging configuration for
190
+ one library, but decide you need to also set up environment-based logging configuration for another library.
191
+
192
+ #. If you attempt to use both code-based and environment-based configuration for the same module, the environment-based configuration will be ineffectual
193
+ if the code -based configuration gets applied first.
194
+
195
+ #. The Google-specific logging configurations (default handlers for environment-based configuration; not propagating logging events to the root logger) get
196
+ executed the first time *any* client library is instantiated in your application, and only if the affected loggers have not been previously configured.
197
+ (This is the reason for 2.i. above.)
@@ -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__ = "0.2.4" # {x-release-please-version}
16
+ __version__ = "0.2.6" # {x-release-please-version}
@@ -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__ = "0.2.4" # {x-release-please-version}
16
+ __version__ = "0.2.6" # {x-release-please-version}
@@ -400,7 +400,10 @@ class CloudControlsPartnerCoreAsyncClient:
400
400
  # Create or coerce a protobuf request object.
401
401
  # - Quick check: If we got a request object, we should *not* have
402
402
  # gotten any keyword arguments that map to the request.
403
- has_flattened_params = any([name])
403
+ flattened_params = [name]
404
+ has_flattened_params = (
405
+ len([param for param in flattened_params if param is not None]) > 0
406
+ )
404
407
  if request is not None and has_flattened_params:
405
408
  raise ValueError(
406
409
  "If the `request` argument is set, then none of "
@@ -511,7 +514,10 @@ class CloudControlsPartnerCoreAsyncClient:
511
514
  # Create or coerce a protobuf request object.
512
515
  # - Quick check: If we got a request object, we should *not* have
513
516
  # gotten any keyword arguments that map to the request.
514
- has_flattened_params = any([parent])
517
+ flattened_params = [parent]
518
+ has_flattened_params = (
519
+ len([param for param in flattened_params if param is not None]) > 0
520
+ )
515
521
  if request is not None and has_flattened_params:
516
522
  raise ValueError(
517
523
  "If the `request` argument is set, then none of "
@@ -629,7 +635,10 @@ class CloudControlsPartnerCoreAsyncClient:
629
635
  # Create or coerce a protobuf request object.
630
636
  # - Quick check: If we got a request object, we should *not* have
631
637
  # gotten any keyword arguments that map to the request.
632
- has_flattened_params = any([name])
638
+ flattened_params = [name]
639
+ has_flattened_params = (
640
+ len([param for param in flattened_params if param is not None]) > 0
641
+ )
633
642
  if request is not None and has_flattened_params:
634
643
  raise ValueError(
635
644
  "If the `request` argument is set, then none of "
@@ -741,7 +750,10 @@ class CloudControlsPartnerCoreAsyncClient:
741
750
  # Create or coerce a protobuf request object.
742
751
  # - Quick check: If we got a request object, we should *not* have
743
752
  # gotten any keyword arguments that map to the request.
744
- has_flattened_params = any([parent])
753
+ flattened_params = [parent]
754
+ has_flattened_params = (
755
+ len([param for param in flattened_params if param is not None]) > 0
756
+ )
745
757
  if request is not None and has_flattened_params:
746
758
  raise ValueError(
747
759
  "If the `request` argument is set, then none of "
@@ -860,7 +872,10 @@ class CloudControlsPartnerCoreAsyncClient:
860
872
  # Create or coerce a protobuf request object.
861
873
  # - Quick check: If we got a request object, we should *not* have
862
874
  # gotten any keyword arguments that map to the request.
863
- has_flattened_params = any([name])
875
+ flattened_params = [name]
876
+ has_flattened_params = (
877
+ len([param for param in flattened_params if param is not None]) > 0
878
+ )
864
879
  if request is not None and has_flattened_params:
865
880
  raise ValueError(
866
881
  "If the `request` argument is set, then none of "
@@ -970,7 +985,10 @@ class CloudControlsPartnerCoreAsyncClient:
970
985
  # Create or coerce a protobuf request object.
971
986
  # - Quick check: If we got a request object, we should *not* have
972
987
  # gotten any keyword arguments that map to the request.
973
- has_flattened_params = any([name])
988
+ flattened_params = [name]
989
+ has_flattened_params = (
990
+ len([param for param in flattened_params if param is not None]) > 0
991
+ )
974
992
  if request is not None and has_flattened_params:
975
993
  raise ValueError(
976
994
  "If the `request` argument is set, then none of "
@@ -1090,7 +1108,10 @@ class CloudControlsPartnerCoreAsyncClient:
1090
1108
  # Create or coerce a protobuf request object.
1091
1109
  # - Quick check: If we got a request object, we should *not* have
1092
1110
  # gotten any keyword arguments that map to the request.
1093
- has_flattened_params = any([parent])
1111
+ flattened_params = [parent]
1112
+ has_flattened_params = (
1113
+ len([param for param in flattened_params if param is not None]) > 0
1114
+ )
1094
1115
  if request is not None and has_flattened_params:
1095
1116
  raise ValueError(
1096
1117
  "If the `request` argument is set, then none of "
@@ -1210,7 +1231,10 @@ class CloudControlsPartnerCoreAsyncClient:
1210
1231
  # Create or coerce a protobuf request object.
1211
1232
  # - Quick check: If we got a request object, we should *not* have
1212
1233
  # gotten any keyword arguments that map to the request.
1213
- has_flattened_params = any([name])
1234
+ flattened_params = [name]
1235
+ has_flattened_params = (
1236
+ len([param for param in flattened_params if param is not None]) > 0
1237
+ )
1214
1238
  if request is not None and has_flattened_params:
1215
1239
  raise ValueError(
1216
1240
  "If the `request` argument is set, then none of "
@@ -14,6 +14,8 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  from collections import OrderedDict
17
+ from http import HTTPStatus
18
+ import json
17
19
  import logging as std_logging
18
20
  import os
19
21
  import re
@@ -615,6 +617,33 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
615
617
  # NOTE (b/349488459): universe validation is disabled until further notice.
616
618
  return True
617
619
 
620
+ def _add_cred_info_for_auth_errors(
621
+ self, error: core_exceptions.GoogleAPICallError
622
+ ) -> None:
623
+ """Adds credential info string to error details for 401/403/404 errors.
624
+
625
+ Args:
626
+ error (google.api_core.exceptions.GoogleAPICallError): The error to add the cred info.
627
+ """
628
+ if error.code not in [
629
+ HTTPStatus.UNAUTHORIZED,
630
+ HTTPStatus.FORBIDDEN,
631
+ HTTPStatus.NOT_FOUND,
632
+ ]:
633
+ return
634
+
635
+ cred = self._transport._credentials
636
+
637
+ # get_cred_info is only available in google-auth>=2.35.0
638
+ if not hasattr(cred, "get_cred_info"):
639
+ return
640
+
641
+ # ignore the type check since pypy test fails when get_cred_info
642
+ # is not available
643
+ cred_info = cred.get_cred_info() # type: ignore
644
+ if cred_info and hasattr(error._details, "append"):
645
+ error._details.append(json.dumps(cred_info))
646
+
618
647
  @property
619
648
  def api_endpoint(self):
620
649
  """Return the API endpoint used by the client instance.
@@ -884,7 +913,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
884
913
  # Create or coerce a protobuf request object.
885
914
  # - Quick check: If we got a request object, we should *not* have
886
915
  # gotten any keyword arguments that map to the request.
887
- has_flattened_params = any([name])
916
+ flattened_params = [name]
917
+ has_flattened_params = (
918
+ len([param for param in flattened_params if param is not None]) > 0
919
+ )
888
920
  if request is not None and has_flattened_params:
889
921
  raise ValueError(
890
922
  "If the `request` argument is set, then none of "
@@ -992,7 +1024,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
992
1024
  # Create or coerce a protobuf request object.
993
1025
  # - Quick check: If we got a request object, we should *not* have
994
1026
  # gotten any keyword arguments that map to the request.
995
- has_flattened_params = any([parent])
1027
+ flattened_params = [parent]
1028
+ has_flattened_params = (
1029
+ len([param for param in flattened_params if param is not None]) > 0
1030
+ )
996
1031
  if request is not None and has_flattened_params:
997
1032
  raise ValueError(
998
1033
  "If the `request` argument is set, then none of "
@@ -1107,7 +1142,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1107
1142
  # Create or coerce a protobuf request object.
1108
1143
  # - Quick check: If we got a request object, we should *not* have
1109
1144
  # gotten any keyword arguments that map to the request.
1110
- has_flattened_params = any([name])
1145
+ flattened_params = [name]
1146
+ has_flattened_params = (
1147
+ len([param for param in flattened_params if param is not None]) > 0
1148
+ )
1111
1149
  if request is not None and has_flattened_params:
1112
1150
  raise ValueError(
1113
1151
  "If the `request` argument is set, then none of "
@@ -1216,7 +1254,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1216
1254
  # Create or coerce a protobuf request object.
1217
1255
  # - Quick check: If we got a request object, we should *not* have
1218
1256
  # gotten any keyword arguments that map to the request.
1219
- has_flattened_params = any([parent])
1257
+ flattened_params = [parent]
1258
+ has_flattened_params = (
1259
+ len([param for param in flattened_params if param is not None]) > 0
1260
+ )
1220
1261
  if request is not None and has_flattened_params:
1221
1262
  raise ValueError(
1222
1263
  "If the `request` argument is set, then none of "
@@ -1332,7 +1373,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1332
1373
  # Create or coerce a protobuf request object.
1333
1374
  # - Quick check: If we got a request object, we should *not* have
1334
1375
  # gotten any keyword arguments that map to the request.
1335
- has_flattened_params = any([name])
1376
+ flattened_params = [name]
1377
+ has_flattened_params = (
1378
+ len([param for param in flattened_params if param is not None]) > 0
1379
+ )
1336
1380
  if request is not None and has_flattened_params:
1337
1381
  raise ValueError(
1338
1382
  "If the `request` argument is set, then none of "
@@ -1439,7 +1483,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1439
1483
  # Create or coerce a protobuf request object.
1440
1484
  # - Quick check: If we got a request object, we should *not* have
1441
1485
  # gotten any keyword arguments that map to the request.
1442
- has_flattened_params = any([name])
1486
+ flattened_params = [name]
1487
+ has_flattened_params = (
1488
+ len([param for param in flattened_params if param is not None]) > 0
1489
+ )
1443
1490
  if request is not None and has_flattened_params:
1444
1491
  raise ValueError(
1445
1492
  "If the `request` argument is set, then none of "
@@ -1556,7 +1603,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1556
1603
  # Create or coerce a protobuf request object.
1557
1604
  # - Quick check: If we got a request object, we should *not* have
1558
1605
  # gotten any keyword arguments that map to the request.
1559
- has_flattened_params = any([parent])
1606
+ flattened_params = [parent]
1607
+ has_flattened_params = (
1608
+ len([param for param in flattened_params if param is not None]) > 0
1609
+ )
1560
1610
  if request is not None and has_flattened_params:
1561
1611
  raise ValueError(
1562
1612
  "If the `request` argument is set, then none of "
@@ -1675,7 +1725,10 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
1675
1725
  # Create or coerce a protobuf request object.
1676
1726
  # - Quick check: If we got a request object, we should *not* have
1677
1727
  # gotten any keyword arguments that map to the request.
1678
- has_flattened_params = any([name])
1728
+ flattened_params = [name]
1729
+ has_flattened_params = (
1730
+ len([param for param in flattened_params if param is not None]) > 0
1731
+ )
1679
1732
  if request is not None and has_flattened_params:
1680
1733
  raise ValueError(
1681
1734
  "If the `request` argument is set, then none of "