google-cloud-cloudcontrolspartner 0.2.7__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. {google_cloud_cloudcontrolspartner-0.2.7/google_cloud_cloudcontrolspartner.egg-info → google_cloud_cloudcontrolspartner-0.4.0}/PKG-INFO +17 -3
  2. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/README.rst +1 -1
  3. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner/gapic_version.py +1 -1
  4. google_cloud_cloudcontrolspartner-0.4.0/google/cloud/cloudcontrolspartner_v1/__init__.py +213 -0
  5. {google_cloud_cloudcontrolspartner-0.2.7/google/cloud/cloudcontrolspartner_v1beta → google_cloud_cloudcontrolspartner-0.4.0/google/cloud/cloudcontrolspartner_v1}/gapic_version.py +1 -1
  6. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/async_client.py +2 -2
  7. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/client.py +34 -16
  8. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/base.py +3 -2
  9. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc.py +5 -3
  10. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc_asyncio.py +5 -3
  11. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest.py +3 -2
  12. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/client.py +36 -14
  13. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/base.py +3 -2
  14. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc.py +5 -3
  15. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +5 -3
  16. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest.py +3 -2
  17. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/access_approval_requests.py +6 -6
  18. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/customers.py +1 -1
  19. google_cloud_cloudcontrolspartner-0.4.0/google/cloud/cloudcontrolspartner_v1beta/__init__.py +213 -0
  20. {google_cloud_cloudcontrolspartner-0.2.7/google/cloud/cloudcontrolspartner_v1 → google_cloud_cloudcontrolspartner-0.4.0/google/cloud/cloudcontrolspartner_v1beta}/gapic_version.py +1 -1
  21. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/async_client.py +2 -2
  22. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/client.py +34 -16
  23. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/base.py +3 -2
  24. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc.py +5 -3
  25. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc_asyncio.py +5 -3
  26. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest.py +3 -2
  27. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/client.py +36 -14
  28. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/base.py +3 -2
  29. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc.py +5 -3
  30. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +5 -3
  31. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest.py +3 -2
  32. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/access_approval_requests.py +6 -6
  33. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/customers.py +1 -1
  34. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0/google_cloud_cloudcontrolspartner.egg-info}/PKG-INFO +17 -3
  35. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google_cloud_cloudcontrolspartner.egg-info/requires.txt +4 -0
  36. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/setup.py +3 -0
  37. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_core.py +228 -29
  38. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_monitoring.py +262 -29
  39. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_core.py +228 -29
  40. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_monitoring.py +262 -29
  41. google_cloud_cloudcontrolspartner-0.2.7/google/cloud/cloudcontrolspartner_v1/__init__.py +0 -109
  42. google_cloud_cloudcontrolspartner-0.2.7/google/cloud/cloudcontrolspartner_v1beta/__init__.py +0 -109
  43. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/LICENSE +0 -0
  44. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/MANIFEST.in +0 -0
  45. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner/__init__.py +0 -0
  46. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner/py.typed +0 -0
  47. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/gapic_metadata.json +0 -0
  48. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/py.typed +0 -0
  49. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/__init__.py +0 -0
  50. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/__init__.py +0 -0
  51. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/pagers.py +0 -0
  52. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/__init__.py +0 -0
  53. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
  54. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/__init__.py +0 -0
  55. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/async_client.py +0 -0
  56. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/pagers.py +0 -0
  57. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
  58. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
  59. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/__init__.py +0 -0
  60. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/completion_state.py +0 -0
  61. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/core.py +0 -0
  62. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/customer_workloads.py +0 -0
  63. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/ekm_connections.py +0 -0
  64. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/monitoring.py +0 -0
  65. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/partner_permissions.py +0 -0
  66. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/partners.py +0 -0
  67. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1/types/violations.py +0 -0
  68. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/gapic_metadata.json +0 -0
  69. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/py.typed +0 -0
  70. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/__init__.py +0 -0
  71. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/__init__.py +0 -0
  72. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/pagers.py +0 -0
  73. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/__init__.py +0 -0
  74. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
  75. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/__init__.py +0 -0
  76. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/async_client.py +0 -0
  77. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/pagers.py +0 -0
  78. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
  79. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
  80. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/__init__.py +0 -0
  81. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/completion_state.py +0 -0
  82. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/core.py +0 -0
  83. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/customer_workloads.py +0 -0
  84. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/ekm_connections.py +0 -0
  85. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/monitoring.py +0 -0
  86. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/partner_permissions.py +0 -0
  87. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/partners.py +0 -0
  88. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google/cloud/cloudcontrolspartner_v1beta/types/violations.py +0 -0
  89. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google_cloud_cloudcontrolspartner.egg-info/SOURCES.txt +0 -0
  90. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google_cloud_cloudcontrolspartner.egg-info/dependency_links.txt +0 -0
  91. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google_cloud_cloudcontrolspartner.egg-info/not-zip-safe +0 -0
  92. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/google_cloud_cloudcontrolspartner.egg-info/top_level.txt +0 -0
  93. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/setup.cfg +0 -0
  94. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/__init__.py +0 -0
  95. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/__init__.py +0 -0
  96. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/__init__.py +0 -0
  97. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1/__init__.py +0 -0
  98. {google_cloud_cloudcontrolspartner-0.2.7 → google_cloud_cloudcontrolspartner-0.4.0}/tests/unit/gapic/cloudcontrolspartner_v1beta/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: google-cloud-cloudcontrolspartner
3
- Version: 0.2.7
3
+ Version: 0.4.0
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
@@ -19,15 +19,29 @@ Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
22
23
  Classifier: Operating System :: OS Independent
23
24
  Classifier: Topic :: Internet
24
25
  Requires-Python: >=3.7
25
26
  License-File: LICENSE
26
27
  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
28
  Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
29
+ Requires-Dist: grpcio<2.0.0,>=1.33.2
30
+ Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
28
31
  Requires-Dist: proto-plus<2.0.0,>=1.22.3
29
32
  Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
30
33
  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
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: home-page
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: platform
42
+ Dynamic: requires-dist
43
+ Dynamic: requires-python
44
+ Dynamic: summary
31
45
 
32
46
  Python Client for Cloud Controls Partner API
33
47
  ============================================
@@ -92,7 +106,7 @@ Supported Python Versions
92
106
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
93
107
  Python.
94
108
 
95
- Python >= 3.7
109
+ Python >= 3.7, including 3.14
96
110
 
97
111
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
98
112
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
@@ -61,7 +61,7 @@ Supported Python Versions
61
61
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
62
62
  Python.
63
63
 
64
- Python >= 3.7
64
+ Python >= 3.7, including 3.14
65
65
 
66
66
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
67
67
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
@@ -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.7" # {x-release-please-version}
16
+ __version__ = "0.4.0" # {x-release-please-version}
@@ -0,0 +1,213 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2025 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 sys
17
+
18
+ import google.api_core as api_core
19
+
20
+ from google.cloud.cloudcontrolspartner_v1 import gapic_version as package_version
21
+
22
+ __version__ = package_version.__version__
23
+
24
+ if sys.version_info >= (3, 8): # pragma: NO COVER
25
+ from importlib import metadata
26
+ else: # pragma: NO COVER
27
+ # TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
28
+ # this code path once we drop support for Python 3.7
29
+ import importlib_metadata as metadata
30
+
31
+ from .services.cloud_controls_partner_core import (
32
+ CloudControlsPartnerCoreAsyncClient,
33
+ CloudControlsPartnerCoreClient,
34
+ )
35
+ from .services.cloud_controls_partner_monitoring import (
36
+ CloudControlsPartnerMonitoringAsyncClient,
37
+ CloudControlsPartnerMonitoringClient,
38
+ )
39
+ from .types.access_approval_requests import (
40
+ AccessApprovalRequest,
41
+ AccessReason,
42
+ ListAccessApprovalRequestsRequest,
43
+ ListAccessApprovalRequestsResponse,
44
+ )
45
+ from .types.completion_state import CompletionState
46
+ from .types.core import OperationMetadata
47
+ from .types.customer_workloads import (
48
+ GetWorkloadRequest,
49
+ ListWorkloadsRequest,
50
+ ListWorkloadsResponse,
51
+ Workload,
52
+ WorkloadOnboardingState,
53
+ WorkloadOnboardingStep,
54
+ )
55
+ from .types.customers import (
56
+ CreateCustomerRequest,
57
+ Customer,
58
+ CustomerOnboardingState,
59
+ CustomerOnboardingStep,
60
+ DeleteCustomerRequest,
61
+ GetCustomerRequest,
62
+ ListCustomersRequest,
63
+ ListCustomersResponse,
64
+ UpdateCustomerRequest,
65
+ )
66
+ from .types.ekm_connections import (
67
+ EkmConnection,
68
+ EkmConnections,
69
+ GetEkmConnectionsRequest,
70
+ )
71
+ from .types.partner_permissions import GetPartnerPermissionsRequest, PartnerPermissions
72
+ from .types.partners import EkmMetadata, GetPartnerRequest, Partner, Sku
73
+ from .types.violations import (
74
+ GetViolationRequest,
75
+ ListViolationsRequest,
76
+ ListViolationsResponse,
77
+ Violation,
78
+ )
79
+
80
+ if hasattr(api_core, "check_python_version") and hasattr(
81
+ api_core, "check_dependency_versions"
82
+ ): # pragma: NO COVER
83
+ api_core.check_python_version("google.cloud.cloudcontrolspartner_v1") # type: ignore
84
+ api_core.check_dependency_versions("google.cloud.cloudcontrolspartner_v1") # type: ignore
85
+ else: # pragma: NO COVER
86
+ # An older version of api_core is installed which does not define the
87
+ # functions above. We do equivalent checks manually.
88
+ try:
89
+ import sys
90
+ import warnings
91
+
92
+ _py_version_str = sys.version.split()[0]
93
+ _package_label = "google.cloud.cloudcontrolspartner_v1"
94
+ if sys.version_info < (3, 9):
95
+ warnings.warn(
96
+ "You are using a non-supported Python version "
97
+ + f"({_py_version_str}). Google will not post any further "
98
+ + f"updates to {_package_label} supporting this Python version. "
99
+ + "Please upgrade to the latest Python version, or at "
100
+ + f"least to Python 3.9, and then update {_package_label}.",
101
+ FutureWarning,
102
+ )
103
+ if sys.version_info[:2] == (3, 9):
104
+ warnings.warn(
105
+ f"You are using a Python version ({_py_version_str}) "
106
+ + f"which Google will stop supporting in {_package_label} in "
107
+ + "January 2026. Please "
108
+ + "upgrade to the latest Python version, or at "
109
+ + "least to Python 3.10, before then, and "
110
+ + f"then update {_package_label}.",
111
+ FutureWarning,
112
+ )
113
+
114
+ def parse_version_to_tuple(version_string: str):
115
+ """Safely converts a semantic version string to a comparable tuple of integers.
116
+ Example: "4.25.8" -> (4, 25, 8)
117
+ Ignores non-numeric parts and handles common version formats.
118
+ Args:
119
+ version_string: Version string in the format "x.y.z" or "x.y.z<suffix>"
120
+ Returns:
121
+ Tuple of integers for the parsed version string.
122
+ """
123
+ parts = []
124
+ for part in version_string.split("."):
125
+ try:
126
+ parts.append(int(part))
127
+ except ValueError:
128
+ # If it's a non-numeric part (e.g., '1.0.0b1' -> 'b1'), stop here.
129
+ # This is a simplification compared to 'packaging.parse_version', but sufficient
130
+ # for comparing strictly numeric semantic versions.
131
+ break
132
+ return tuple(parts)
133
+
134
+ def _get_version(dependency_name):
135
+ try:
136
+ version_string: str = metadata.version(dependency_name)
137
+ parsed_version = parse_version_to_tuple(version_string)
138
+ return (parsed_version, version_string)
139
+ except Exception:
140
+ # Catch exceptions from metadata.version() (e.g., PackageNotFoundError)
141
+ # or errors during parse_version_to_tuple
142
+ return (None, "--")
143
+
144
+ _dependency_package = "google.protobuf"
145
+ _next_supported_version = "4.25.8"
146
+ _next_supported_version_tuple = (4, 25, 8)
147
+ _recommendation = " (we recommend 6.x)"
148
+ (_version_used, _version_used_string) = _get_version(_dependency_package)
149
+ if _version_used and _version_used < _next_supported_version_tuple:
150
+ warnings.warn(
151
+ f"Package {_package_label} depends on "
152
+ + f"{_dependency_package}, currently installed at version "
153
+ + f"{_version_used_string}. Future updates to "
154
+ + f"{_package_label} will require {_dependency_package} at "
155
+ + f"version {_next_supported_version} or higher{_recommendation}."
156
+ + " Please ensure "
157
+ + "that either (a) your Python environment doesn't pin the "
158
+ + f"version of {_dependency_package}, so that updates to "
159
+ + f"{_package_label} can require the higher version, or "
160
+ + "(b) you manually update your Python environment to use at "
161
+ + f"least version {_next_supported_version} of "
162
+ + f"{_dependency_package}.",
163
+ FutureWarning,
164
+ )
165
+ except Exception:
166
+ warnings.warn(
167
+ "Could not determine the version of Python "
168
+ + "currently being used. To continue receiving "
169
+ + "updates for {_package_label}, ensure you are "
170
+ + "using a supported version of Python; see "
171
+ + "https://devguide.python.org/versions/"
172
+ )
173
+
174
+ __all__ = (
175
+ "CloudControlsPartnerCoreAsyncClient",
176
+ "CloudControlsPartnerMonitoringAsyncClient",
177
+ "AccessApprovalRequest",
178
+ "AccessReason",
179
+ "CloudControlsPartnerCoreClient",
180
+ "CloudControlsPartnerMonitoringClient",
181
+ "CompletionState",
182
+ "CreateCustomerRequest",
183
+ "Customer",
184
+ "CustomerOnboardingState",
185
+ "CustomerOnboardingStep",
186
+ "DeleteCustomerRequest",
187
+ "EkmConnection",
188
+ "EkmConnections",
189
+ "EkmMetadata",
190
+ "GetCustomerRequest",
191
+ "GetEkmConnectionsRequest",
192
+ "GetPartnerPermissionsRequest",
193
+ "GetPartnerRequest",
194
+ "GetViolationRequest",
195
+ "GetWorkloadRequest",
196
+ "ListAccessApprovalRequestsRequest",
197
+ "ListAccessApprovalRequestsResponse",
198
+ "ListCustomersRequest",
199
+ "ListCustomersResponse",
200
+ "ListViolationsRequest",
201
+ "ListViolationsResponse",
202
+ "ListWorkloadsRequest",
203
+ "ListWorkloadsResponse",
204
+ "OperationMetadata",
205
+ "Partner",
206
+ "PartnerPermissions",
207
+ "Sku",
208
+ "UpdateCustomerRequest",
209
+ "Violation",
210
+ "Workload",
211
+ "WorkloadOnboardingState",
212
+ "WorkloadOnboardingStep",
213
+ )
@@ -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.7" # {x-release-please-version}
16
+ __version__ = "0.4.0" # {x-release-please-version}
@@ -395,7 +395,7 @@ class CloudControlsPartnerCoreAsyncClient:
395
395
  Returns:
396
396
  google.cloud.cloudcontrolspartner_v1.types.Workload:
397
397
  Contains metadata around the [Workload
398
- resource](\ https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload)
398
+ resource](https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload)
399
399
  in the Assured Workloads API.
400
400
 
401
401
  """
@@ -1579,7 +1579,7 @@ class CloudControlsPartnerCoreAsyncClient:
1579
1579
  The request object. Message for deleting customer
1580
1580
  name (:class:`str`):
1581
1581
  Required. name of the resource to be deleted format:
1582
- name=organizations/\ */locations/*/customers/\*
1582
+ name=organizations/*/locations/*/customers/\*
1583
1583
 
1584
1584
  This corresponds to the ``name`` field
1585
1585
  on the ``request`` instance; if ``request`` is provided, this
@@ -161,6 +161,34 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
161
161
  _DEFAULT_ENDPOINT_TEMPLATE = "cloudcontrolspartner.{UNIVERSE_DOMAIN}"
162
162
  _DEFAULT_UNIVERSE = "googleapis.com"
163
163
 
164
+ @staticmethod
165
+ def _use_client_cert_effective():
166
+ """Returns whether client certificate should be used for mTLS if the
167
+ google-auth version supports should_use_client_cert automatic mTLS enablement.
168
+
169
+ Alternatively, read from the GOOGLE_API_USE_CLIENT_CERTIFICATE env var.
170
+
171
+ Returns:
172
+ bool: whether client certificate should be used for mTLS
173
+ Raises:
174
+ ValueError: (If using a version of google-auth without should_use_client_cert and
175
+ GOOGLE_API_USE_CLIENT_CERTIFICATE is set to an unexpected value.)
176
+ """
177
+ # check if google-auth version supports should_use_client_cert for automatic mTLS enablement
178
+ if hasattr(mtls, "should_use_client_cert"): # pragma: NO COVER
179
+ return mtls.should_use_client_cert()
180
+ else: # pragma: NO COVER
181
+ # if unsupported, fallback to reading from env var
182
+ use_client_cert_str = os.getenv(
183
+ "GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
184
+ ).lower()
185
+ if use_client_cert_str not in ("true", "false"):
186
+ raise ValueError(
187
+ "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be"
188
+ " either `true` or `false`"
189
+ )
190
+ return use_client_cert_str == "true"
191
+
164
192
  @classmethod
165
193
  def from_service_account_info(cls, info: dict, *args, **kwargs):
166
194
  """Creates an instance of this client using the provided credentials
@@ -466,12 +494,8 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
466
494
  )
467
495
  if client_options is None:
468
496
  client_options = client_options_lib.ClientOptions()
469
- use_client_cert = os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")
497
+ use_client_cert = CloudControlsPartnerCoreClient._use_client_cert_effective()
470
498
  use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto")
471
- if use_client_cert not in ("true", "false"):
472
- raise ValueError(
473
- "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
474
- )
475
499
  if use_mtls_endpoint not in ("auto", "never", "always"):
476
500
  raise MutualTLSChannelError(
477
501
  "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
@@ -479,7 +503,7 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
479
503
 
480
504
  # Figure out the client cert source to use.
481
505
  client_cert_source = None
482
- if use_client_cert == "true":
506
+ if use_client_cert:
483
507
  if client_options.client_cert_source:
484
508
  client_cert_source = client_options.client_cert_source
485
509
  elif mtls.has_default_client_cert_source():
@@ -511,20 +535,14 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
511
535
  google.auth.exceptions.MutualTLSChannelError: If GOOGLE_API_USE_MTLS_ENDPOINT
512
536
  is not any of ["auto", "never", "always"].
513
537
  """
514
- use_client_cert = os.getenv(
515
- "GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
516
- ).lower()
538
+ use_client_cert = CloudControlsPartnerCoreClient._use_client_cert_effective()
517
539
  use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto").lower()
518
540
  universe_domain_env = os.getenv("GOOGLE_CLOUD_UNIVERSE_DOMAIN")
519
- if use_client_cert not in ("true", "false"):
520
- raise ValueError(
521
- "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
522
- )
523
541
  if use_mtls_endpoint not in ("auto", "never", "always"):
524
542
  raise MutualTLSChannelError(
525
543
  "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
526
544
  )
527
- return use_client_cert == "true", use_mtls_endpoint, universe_domain_env
545
+ return use_client_cert, use_mtls_endpoint, universe_domain_env
528
546
 
529
547
  @staticmethod
530
548
  def _get_client_cert_source(provided_cert_source, use_cert_flag):
@@ -908,7 +926,7 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
908
926
  Returns:
909
927
  google.cloud.cloudcontrolspartner_v1.types.Workload:
910
928
  Contains metadata around the [Workload
911
- resource](\ https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload)
929
+ resource](https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload)
912
930
  in the Assured Workloads API.
913
931
 
914
932
  """
@@ -2064,7 +2082,7 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
2064
2082
  The request object. Message for deleting customer
2065
2083
  name (str):
2066
2084
  Required. name of the resource to be deleted format:
2067
- name=organizations/\ */locations/*/customers/\*
2085
+ name=organizations/*/locations/*/customers/\*
2068
2086
 
2069
2087
  This corresponds to the ``name`` field
2070
2088
  on the ``request`` instance; if ``request`` is provided, this
@@ -74,9 +74,10 @@ class CloudControlsPartnerCoreTransport(abc.ABC):
74
74
  credentials identify the application to the service; if none
75
75
  are specified, the client will attempt to ascertain the
76
76
  credentials from the environment.
77
- credentials_file (Optional[str]): A file with credentials that can
77
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
78
78
  be loaded with :func:`google.auth.load_credentials_from_file`.
79
- This argument is mutually exclusive with credentials.
79
+ This argument is mutually exclusive with credentials. This argument will be
80
+ removed in the next major version of this library.
80
81
  scopes (Optional[Sequence[str]]): A list of scopes.
81
82
  quota_project_id (Optional[str]): An optional project to use for billing
82
83
  and quota.
@@ -158,9 +158,10 @@ class CloudControlsPartnerCoreGrpcTransport(CloudControlsPartnerCoreTransport):
158
158
  are specified, the client will attempt to ascertain the
159
159
  credentials from the environment.
160
160
  This argument is ignored if a ``channel`` instance is provided.
161
- credentials_file (Optional[str]): A file with credentials that can
161
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
162
162
  be loaded with :func:`google.auth.load_credentials_from_file`.
163
163
  This argument is ignored if a ``channel`` instance is provided.
164
+ This argument will be removed in the next major version of this library.
164
165
  scopes (Optional(Sequence[str])): A list of scopes. This argument is
165
166
  ignored if a ``channel`` instance is provided.
166
167
  channel (Optional[Union[grpc.Channel, Callable[..., grpc.Channel]]]):
@@ -293,9 +294,10 @@ class CloudControlsPartnerCoreGrpcTransport(CloudControlsPartnerCoreTransport):
293
294
  credentials identify this application to the service. If
294
295
  none are specified, the client will attempt to ascertain
295
296
  the credentials from the environment.
296
- credentials_file (Optional[str]): A file with credentials that can
297
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
297
298
  be loaded with :func:`google.auth.load_credentials_from_file`.
298
- This argument is mutually exclusive with credentials.
299
+ This argument is mutually exclusive with credentials. This argument will be
300
+ removed in the next major version of this library.
299
301
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
300
302
  service. These are only used when credentials are not specified and
301
303
  are passed to :func:`google.auth.default`.
@@ -155,8 +155,9 @@ class CloudControlsPartnerCoreGrpcAsyncIOTransport(CloudControlsPartnerCoreTrans
155
155
  credentials identify this application to the service. If
156
156
  none are specified, the client will attempt to ascertain
157
157
  the credentials from the environment.
158
- credentials_file (Optional[str]): A file with credentials that can
159
- be loaded with :func:`google.auth.load_credentials_from_file`.
158
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
159
+ be loaded with :func:`google.auth.load_credentials_from_file`. This argument will be
160
+ removed in the next major version of this library.
160
161
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
161
162
  service. These are only used when credentials are not specified and
162
163
  are passed to :func:`google.auth.default`.
@@ -207,9 +208,10 @@ class CloudControlsPartnerCoreGrpcAsyncIOTransport(CloudControlsPartnerCoreTrans
207
208
  are specified, the client will attempt to ascertain the
208
209
  credentials from the environment.
209
210
  This argument is ignored if a ``channel`` instance is provided.
210
- credentials_file (Optional[str]): A file with credentials that can
211
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
211
212
  be loaded with :func:`google.auth.load_credentials_from_file`.
212
213
  This argument is ignored if a ``channel`` instance is provided.
214
+ This argument will be removed in the next major version of this library.
213
215
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
214
216
  service. These are only used when credentials are not specified and
215
217
  are passed to :func:`google.auth.default`.
@@ -709,9 +709,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
709
709
  are specified, the client will attempt to ascertain the
710
710
  credentials from the environment.
711
711
 
712
- credentials_file (Optional[str]): A file with credentials that can
712
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
713
713
  be loaded with :func:`google.auth.load_credentials_from_file`.
714
- This argument is ignored if ``channel`` is provided.
714
+ This argument is ignored if ``channel`` is provided. This argument will be
715
+ removed in the next major version of this library.
715
716
  scopes (Optional(Sequence[str])): A list of scopes. This argument is
716
717
  ignored if ``channel`` is provided.
717
718
  client_cert_source_for_mtls (Callable[[], Tuple[bytes, bytes]]): Client
@@ -160,6 +160,34 @@ class CloudControlsPartnerMonitoringClient(
160
160
  _DEFAULT_ENDPOINT_TEMPLATE = "cloudcontrolspartner.{UNIVERSE_DOMAIN}"
161
161
  _DEFAULT_UNIVERSE = "googleapis.com"
162
162
 
163
+ @staticmethod
164
+ def _use_client_cert_effective():
165
+ """Returns whether client certificate should be used for mTLS if the
166
+ google-auth version supports should_use_client_cert automatic mTLS enablement.
167
+
168
+ Alternatively, read from the GOOGLE_API_USE_CLIENT_CERTIFICATE env var.
169
+
170
+ Returns:
171
+ bool: whether client certificate should be used for mTLS
172
+ Raises:
173
+ ValueError: (If using a version of google-auth without should_use_client_cert and
174
+ GOOGLE_API_USE_CLIENT_CERTIFICATE is set to an unexpected value.)
175
+ """
176
+ # check if google-auth version supports should_use_client_cert for automatic mTLS enablement
177
+ if hasattr(mtls, "should_use_client_cert"): # pragma: NO COVER
178
+ return mtls.should_use_client_cert()
179
+ else: # pragma: NO COVER
180
+ # if unsupported, fallback to reading from env var
181
+ use_client_cert_str = os.getenv(
182
+ "GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
183
+ ).lower()
184
+ if use_client_cert_str not in ("true", "false"):
185
+ raise ValueError(
186
+ "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be"
187
+ " either `true` or `false`"
188
+ )
189
+ return use_client_cert_str == "true"
190
+
163
191
  @classmethod
164
192
  def from_service_account_info(cls, info: dict, *args, **kwargs):
165
193
  """Creates an instance of this client using the provided credentials
@@ -351,12 +379,10 @@ class CloudControlsPartnerMonitoringClient(
351
379
  )
352
380
  if client_options is None:
353
381
  client_options = client_options_lib.ClientOptions()
354
- use_client_cert = os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")
382
+ use_client_cert = (
383
+ CloudControlsPartnerMonitoringClient._use_client_cert_effective()
384
+ )
355
385
  use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto")
356
- if use_client_cert not in ("true", "false"):
357
- raise ValueError(
358
- "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
359
- )
360
386
  if use_mtls_endpoint not in ("auto", "never", "always"):
361
387
  raise MutualTLSChannelError(
362
388
  "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
@@ -364,7 +390,7 @@ class CloudControlsPartnerMonitoringClient(
364
390
 
365
391
  # Figure out the client cert source to use.
366
392
  client_cert_source = None
367
- if use_client_cert == "true":
393
+ if use_client_cert:
368
394
  if client_options.client_cert_source:
369
395
  client_cert_source = client_options.client_cert_source
370
396
  elif mtls.has_default_client_cert_source():
@@ -396,20 +422,16 @@ class CloudControlsPartnerMonitoringClient(
396
422
  google.auth.exceptions.MutualTLSChannelError: If GOOGLE_API_USE_MTLS_ENDPOINT
397
423
  is not any of ["auto", "never", "always"].
398
424
  """
399
- use_client_cert = os.getenv(
400
- "GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
401
- ).lower()
425
+ use_client_cert = (
426
+ CloudControlsPartnerMonitoringClient._use_client_cert_effective()
427
+ )
402
428
  use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto").lower()
403
429
  universe_domain_env = os.getenv("GOOGLE_CLOUD_UNIVERSE_DOMAIN")
404
- if use_client_cert not in ("true", "false"):
405
- raise ValueError(
406
- "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
407
- )
408
430
  if use_mtls_endpoint not in ("auto", "never", "always"):
409
431
  raise MutualTLSChannelError(
410
432
  "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
411
433
  )
412
- return use_client_cert == "true", use_mtls_endpoint, universe_domain_env
434
+ return use_client_cert, use_mtls_endpoint, universe_domain_env
413
435
 
414
436
  @staticmethod
415
437
  def _get_client_cert_source(provided_cert_source, use_cert_flag):
@@ -66,9 +66,10 @@ class CloudControlsPartnerMonitoringTransport(abc.ABC):
66
66
  credentials identify the application to the service; if none
67
67
  are specified, the client will attempt to ascertain the
68
68
  credentials from the environment.
69
- credentials_file (Optional[str]): A file with credentials that can
69
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
70
70
  be loaded with :func:`google.auth.load_credentials_from_file`.
71
- This argument is mutually exclusive with credentials.
71
+ This argument is mutually exclusive with credentials. This argument will be
72
+ removed in the next major version of this library.
72
73
  scopes (Optional[Sequence[str]]): A list of scopes.
73
74
  quota_project_id (Optional[str]): An optional project to use for billing
74
75
  and quota.
@@ -152,9 +152,10 @@ class CloudControlsPartnerMonitoringGrpcTransport(
152
152
  are specified, the client will attempt to ascertain the
153
153
  credentials from the environment.
154
154
  This argument is ignored if a ``channel`` instance is provided.
155
- credentials_file (Optional[str]): A file with credentials that can
155
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
156
156
  be loaded with :func:`google.auth.load_credentials_from_file`.
157
157
  This argument is ignored if a ``channel`` instance is provided.
158
+ This argument will be removed in the next major version of this library.
158
159
  scopes (Optional(Sequence[str])): A list of scopes. This argument is
159
160
  ignored if a ``channel`` instance is provided.
160
161
  channel (Optional[Union[grpc.Channel, Callable[..., grpc.Channel]]]):
@@ -287,9 +288,10 @@ class CloudControlsPartnerMonitoringGrpcTransport(
287
288
  credentials identify this application to the service. If
288
289
  none are specified, the client will attempt to ascertain
289
290
  the credentials from the environment.
290
- credentials_file (Optional[str]): A file with credentials that can
291
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
291
292
  be loaded with :func:`google.auth.load_credentials_from_file`.
292
- This argument is mutually exclusive with credentials.
293
+ This argument is mutually exclusive with credentials. This argument will be
294
+ removed in the next major version of this library.
293
295
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
294
296
  service. These are only used when credentials are not specified and
295
297
  are passed to :func:`google.auth.default`.
@@ -149,8 +149,9 @@ class CloudControlsPartnerMonitoringGrpcAsyncIOTransport(
149
149
  credentials identify this application to the service. If
150
150
  none are specified, the client will attempt to ascertain
151
151
  the credentials from the environment.
152
- credentials_file (Optional[str]): A file with credentials that can
153
- be loaded with :func:`google.auth.load_credentials_from_file`.
152
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
153
+ be loaded with :func:`google.auth.load_credentials_from_file`. This argument will be
154
+ removed in the next major version of this library.
154
155
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
155
156
  service. These are only used when credentials are not specified and
156
157
  are passed to :func:`google.auth.default`.
@@ -201,9 +202,10 @@ class CloudControlsPartnerMonitoringGrpcAsyncIOTransport(
201
202
  are specified, the client will attempt to ascertain the
202
203
  credentials from the environment.
203
204
  This argument is ignored if a ``channel`` instance is provided.
204
- credentials_file (Optional[str]): A file with credentials that can
205
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
205
206
  be loaded with :func:`google.auth.load_credentials_from_file`.
206
207
  This argument is ignored if a ``channel`` instance is provided.
208
+ This argument will be removed in the next major version of this library.
207
209
  scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
208
210
  service. These are only used when credentials are not specified and
209
211
  are passed to :func:`google.auth.default`.
@@ -238,9 +238,10 @@ class CloudControlsPartnerMonitoringRestTransport(
238
238
  are specified, the client will attempt to ascertain the
239
239
  credentials from the environment.
240
240
 
241
- credentials_file (Optional[str]): A file with credentials that can
241
+ credentials_file (Optional[str]): Deprecated. A file with credentials that can
242
242
  be loaded with :func:`google.auth.load_credentials_from_file`.
243
- This argument is ignored if ``channel`` is provided.
243
+ This argument is ignored if ``channel`` is provided. This argument will be
244
+ removed in the next major version of this library.
244
245
  scopes (Optional(Sequence[str])): A list of scopes. This argument is
245
246
  ignored if ``channel`` is provided.
246
247
  client_cert_source_for_mtls (Callable[[], Tuple[bytes, bytes]]): Client