google-cloud-cloudcontrolspartner 0.2.4__tar.gz → 0.2.5__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.
- {google_cloud_cloudcontrolspartner-0.2.4/google_cloud_cloudcontrolspartner.egg-info → google_cloud_cloudcontrolspartner-0.2.5}/PKG-INFO +1 -1
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner/gapic_version.py +1 -1
- {google_cloud_cloudcontrolspartner-0.2.4/google/cloud/cloudcontrolspartner_v1beta → google_cloud_cloudcontrolspartner-0.2.5/google/cloud/cloudcontrolspartner_v1}/gapic_version.py +1 -1
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/client.py +29 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest.py +245 -16
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/client.py +29 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest.py +60 -4
- {google_cloud_cloudcontrolspartner-0.2.4/google/cloud/cloudcontrolspartner_v1 → google_cloud_cloudcontrolspartner-0.2.5/google/cloud/cloudcontrolspartner_v1beta}/gapic_version.py +1 -1
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/client.py +29 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest.py +303 -20
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/client.py +29 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest.py +60 -4
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5/google_cloud_cloudcontrolspartner.egg-info}/PKG-INFO +1 -1
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_core.py +107 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/cloudcontrolspartner_v1/test_cloud_controls_partner_monitoring.py +62 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_core.py +119 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/cloudcontrolspartner_v1beta/test_cloud_controls_partner_monitoring.py +62 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/LICENSE +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/MANIFEST.in +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/README.rst +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner/py.typed +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/gapic_metadata.json +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/py.typed +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/async_client.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/pagers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc_asyncio.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/async_client.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/pagers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/access_approval_requests.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/completion_state.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/core.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/customer_workloads.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/customers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/ekm_connections.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/monitoring.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/partner_permissions.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/partners.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1/types/violations.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/gapic_metadata.json +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/py.typed +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/async_client.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/pagers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc_asyncio.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest_base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/async_client.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/pagers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest_base.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/access_approval_requests.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/completion_state.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/core.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/customer_workloads.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/customers.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/ekm_connections.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/monitoring.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/partner_permissions.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/partners.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google/cloud/cloudcontrolspartner_v1beta/types/violations.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google_cloud_cloudcontrolspartner.egg-info/SOURCES.txt +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google_cloud_cloudcontrolspartner.egg-info/dependency_links.txt +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google_cloud_cloudcontrolspartner.egg-info/not-zip-safe +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google_cloud_cloudcontrolspartner.egg-info/requires.txt +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/google_cloud_cloudcontrolspartner.egg-info/top_level.txt +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/setup.cfg +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/setup.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/tests/unit/gapic/cloudcontrolspartner_v1/__init__.py +0 -0
- {google_cloud_cloudcontrolspartner-0.2.4 → google_cloud_cloudcontrolspartner-0.2.5}/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.
|
|
3
|
+
Version: 0.2.5
|
|
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
|
|
@@ -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.
|
|
@@ -160,12 +160,35 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
160
160
|
def post_get_customer(self, response: customers.Customer) -> customers.Customer:
|
|
161
161
|
"""Post-rpc interceptor for get_customer
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
DEPRECATED. Please use the `post_get_customer_with_metadata`
|
|
164
|
+
interceptor instead.
|
|
165
|
+
|
|
166
|
+
Override in a subclass to read or manipulate the response
|
|
164
167
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
165
|
-
it is returned to user code.
|
|
168
|
+
it is returned to user code. This `post_get_customer` interceptor runs
|
|
169
|
+
before the `post_get_customer_with_metadata` interceptor.
|
|
166
170
|
"""
|
|
167
171
|
return response
|
|
168
172
|
|
|
173
|
+
def post_get_customer_with_metadata(
|
|
174
|
+
self,
|
|
175
|
+
response: customers.Customer,
|
|
176
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
177
|
+
) -> Tuple[customers.Customer, Sequence[Tuple[str, Union[str, bytes]]]]:
|
|
178
|
+
"""Post-rpc interceptor for get_customer
|
|
179
|
+
|
|
180
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
181
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
182
|
+
|
|
183
|
+
We recommend only using this `post_get_customer_with_metadata`
|
|
184
|
+
interceptor in new development instead of the `post_get_customer` interceptor.
|
|
185
|
+
When both interceptors are used, this `post_get_customer_with_metadata` interceptor runs after the
|
|
186
|
+
`post_get_customer` interceptor. The (possibly modified) response returned by
|
|
187
|
+
`post_get_customer` will be passed to
|
|
188
|
+
`post_get_customer_with_metadata`.
|
|
189
|
+
"""
|
|
190
|
+
return response, metadata
|
|
191
|
+
|
|
169
192
|
def pre_get_ekm_connections(
|
|
170
193
|
self,
|
|
171
194
|
request: ekm_connections.GetEkmConnectionsRequest,
|
|
@@ -186,12 +209,35 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
186
209
|
) -> ekm_connections.EkmConnections:
|
|
187
210
|
"""Post-rpc interceptor for get_ekm_connections
|
|
188
211
|
|
|
189
|
-
|
|
212
|
+
DEPRECATED. Please use the `post_get_ekm_connections_with_metadata`
|
|
213
|
+
interceptor instead.
|
|
214
|
+
|
|
215
|
+
Override in a subclass to read or manipulate the response
|
|
190
216
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
191
|
-
it is returned to user code.
|
|
217
|
+
it is returned to user code. This `post_get_ekm_connections` interceptor runs
|
|
218
|
+
before the `post_get_ekm_connections_with_metadata` interceptor.
|
|
192
219
|
"""
|
|
193
220
|
return response
|
|
194
221
|
|
|
222
|
+
def post_get_ekm_connections_with_metadata(
|
|
223
|
+
self,
|
|
224
|
+
response: ekm_connections.EkmConnections,
|
|
225
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
226
|
+
) -> Tuple[ekm_connections.EkmConnections, Sequence[Tuple[str, Union[str, bytes]]]]:
|
|
227
|
+
"""Post-rpc interceptor for get_ekm_connections
|
|
228
|
+
|
|
229
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
230
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
231
|
+
|
|
232
|
+
We recommend only using this `post_get_ekm_connections_with_metadata`
|
|
233
|
+
interceptor in new development instead of the `post_get_ekm_connections` interceptor.
|
|
234
|
+
When both interceptors are used, this `post_get_ekm_connections_with_metadata` interceptor runs after the
|
|
235
|
+
`post_get_ekm_connections` interceptor. The (possibly modified) response returned by
|
|
236
|
+
`post_get_ekm_connections` will be passed to
|
|
237
|
+
`post_get_ekm_connections_with_metadata`.
|
|
238
|
+
"""
|
|
239
|
+
return response, metadata
|
|
240
|
+
|
|
195
241
|
def pre_get_partner(
|
|
196
242
|
self,
|
|
197
243
|
request: partners.GetPartnerRequest,
|
|
@@ -207,12 +253,35 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
207
253
|
def post_get_partner(self, response: partners.Partner) -> partners.Partner:
|
|
208
254
|
"""Post-rpc interceptor for get_partner
|
|
209
255
|
|
|
210
|
-
|
|
256
|
+
DEPRECATED. Please use the `post_get_partner_with_metadata`
|
|
257
|
+
interceptor instead.
|
|
258
|
+
|
|
259
|
+
Override in a subclass to read or manipulate the response
|
|
211
260
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
212
|
-
it is returned to user code.
|
|
261
|
+
it is returned to user code. This `post_get_partner` interceptor runs
|
|
262
|
+
before the `post_get_partner_with_metadata` interceptor.
|
|
213
263
|
"""
|
|
214
264
|
return response
|
|
215
265
|
|
|
266
|
+
def post_get_partner_with_metadata(
|
|
267
|
+
self,
|
|
268
|
+
response: partners.Partner,
|
|
269
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
270
|
+
) -> Tuple[partners.Partner, Sequence[Tuple[str, Union[str, bytes]]]]:
|
|
271
|
+
"""Post-rpc interceptor for get_partner
|
|
272
|
+
|
|
273
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
274
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
275
|
+
|
|
276
|
+
We recommend only using this `post_get_partner_with_metadata`
|
|
277
|
+
interceptor in new development instead of the `post_get_partner` interceptor.
|
|
278
|
+
When both interceptors are used, this `post_get_partner_with_metadata` interceptor runs after the
|
|
279
|
+
`post_get_partner` interceptor. The (possibly modified) response returned by
|
|
280
|
+
`post_get_partner` will be passed to
|
|
281
|
+
`post_get_partner_with_metadata`.
|
|
282
|
+
"""
|
|
283
|
+
return response, metadata
|
|
284
|
+
|
|
216
285
|
def pre_get_partner_permissions(
|
|
217
286
|
self,
|
|
218
287
|
request: partner_permissions.GetPartnerPermissionsRequest,
|
|
@@ -233,12 +302,37 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
233
302
|
) -> partner_permissions.PartnerPermissions:
|
|
234
303
|
"""Post-rpc interceptor for get_partner_permissions
|
|
235
304
|
|
|
236
|
-
|
|
305
|
+
DEPRECATED. Please use the `post_get_partner_permissions_with_metadata`
|
|
306
|
+
interceptor instead.
|
|
307
|
+
|
|
308
|
+
Override in a subclass to read or manipulate the response
|
|
237
309
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
238
|
-
it is returned to user code.
|
|
310
|
+
it is returned to user code. This `post_get_partner_permissions` interceptor runs
|
|
311
|
+
before the `post_get_partner_permissions_with_metadata` interceptor.
|
|
239
312
|
"""
|
|
240
313
|
return response
|
|
241
314
|
|
|
315
|
+
def post_get_partner_permissions_with_metadata(
|
|
316
|
+
self,
|
|
317
|
+
response: partner_permissions.PartnerPermissions,
|
|
318
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
319
|
+
) -> Tuple[
|
|
320
|
+
partner_permissions.PartnerPermissions, Sequence[Tuple[str, Union[str, bytes]]]
|
|
321
|
+
]:
|
|
322
|
+
"""Post-rpc interceptor for get_partner_permissions
|
|
323
|
+
|
|
324
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
325
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
326
|
+
|
|
327
|
+
We recommend only using this `post_get_partner_permissions_with_metadata`
|
|
328
|
+
interceptor in new development instead of the `post_get_partner_permissions` interceptor.
|
|
329
|
+
When both interceptors are used, this `post_get_partner_permissions_with_metadata` interceptor runs after the
|
|
330
|
+
`post_get_partner_permissions` interceptor. The (possibly modified) response returned by
|
|
331
|
+
`post_get_partner_permissions` will be passed to
|
|
332
|
+
`post_get_partner_permissions_with_metadata`.
|
|
333
|
+
"""
|
|
334
|
+
return response, metadata
|
|
335
|
+
|
|
242
336
|
def pre_get_workload(
|
|
243
337
|
self,
|
|
244
338
|
request: customer_workloads.GetWorkloadRequest,
|
|
@@ -258,12 +352,35 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
258
352
|
) -> customer_workloads.Workload:
|
|
259
353
|
"""Post-rpc interceptor for get_workload
|
|
260
354
|
|
|
261
|
-
|
|
355
|
+
DEPRECATED. Please use the `post_get_workload_with_metadata`
|
|
356
|
+
interceptor instead.
|
|
357
|
+
|
|
358
|
+
Override in a subclass to read or manipulate the response
|
|
262
359
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
263
|
-
it is returned to user code.
|
|
360
|
+
it is returned to user code. This `post_get_workload` interceptor runs
|
|
361
|
+
before the `post_get_workload_with_metadata` interceptor.
|
|
264
362
|
"""
|
|
265
363
|
return response
|
|
266
364
|
|
|
365
|
+
def post_get_workload_with_metadata(
|
|
366
|
+
self,
|
|
367
|
+
response: customer_workloads.Workload,
|
|
368
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
369
|
+
) -> Tuple[customer_workloads.Workload, Sequence[Tuple[str, Union[str, bytes]]]]:
|
|
370
|
+
"""Post-rpc interceptor for get_workload
|
|
371
|
+
|
|
372
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
373
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
374
|
+
|
|
375
|
+
We recommend only using this `post_get_workload_with_metadata`
|
|
376
|
+
interceptor in new development instead of the `post_get_workload` interceptor.
|
|
377
|
+
When both interceptors are used, this `post_get_workload_with_metadata` interceptor runs after the
|
|
378
|
+
`post_get_workload` interceptor. The (possibly modified) response returned by
|
|
379
|
+
`post_get_workload` will be passed to
|
|
380
|
+
`post_get_workload_with_metadata`.
|
|
381
|
+
"""
|
|
382
|
+
return response, metadata
|
|
383
|
+
|
|
267
384
|
def pre_list_access_approval_requests(
|
|
268
385
|
self,
|
|
269
386
|
request: access_approval_requests.ListAccessApprovalRequestsRequest,
|
|
@@ -284,12 +401,38 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
284
401
|
) -> access_approval_requests.ListAccessApprovalRequestsResponse:
|
|
285
402
|
"""Post-rpc interceptor for list_access_approval_requests
|
|
286
403
|
|
|
287
|
-
|
|
404
|
+
DEPRECATED. Please use the `post_list_access_approval_requests_with_metadata`
|
|
405
|
+
interceptor instead.
|
|
406
|
+
|
|
407
|
+
Override in a subclass to read or manipulate the response
|
|
288
408
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
289
|
-
it is returned to user code.
|
|
409
|
+
it is returned to user code. This `post_list_access_approval_requests` interceptor runs
|
|
410
|
+
before the `post_list_access_approval_requests_with_metadata` interceptor.
|
|
290
411
|
"""
|
|
291
412
|
return response
|
|
292
413
|
|
|
414
|
+
def post_list_access_approval_requests_with_metadata(
|
|
415
|
+
self,
|
|
416
|
+
response: access_approval_requests.ListAccessApprovalRequestsResponse,
|
|
417
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
418
|
+
) -> Tuple[
|
|
419
|
+
access_approval_requests.ListAccessApprovalRequestsResponse,
|
|
420
|
+
Sequence[Tuple[str, Union[str, bytes]]],
|
|
421
|
+
]:
|
|
422
|
+
"""Post-rpc interceptor for list_access_approval_requests
|
|
423
|
+
|
|
424
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
425
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
426
|
+
|
|
427
|
+
We recommend only using this `post_list_access_approval_requests_with_metadata`
|
|
428
|
+
interceptor in new development instead of the `post_list_access_approval_requests` interceptor.
|
|
429
|
+
When both interceptors are used, this `post_list_access_approval_requests_with_metadata` interceptor runs after the
|
|
430
|
+
`post_list_access_approval_requests` interceptor. The (possibly modified) response returned by
|
|
431
|
+
`post_list_access_approval_requests` will be passed to
|
|
432
|
+
`post_list_access_approval_requests_with_metadata`.
|
|
433
|
+
"""
|
|
434
|
+
return response, metadata
|
|
435
|
+
|
|
293
436
|
def pre_list_customers(
|
|
294
437
|
self,
|
|
295
438
|
request: customers.ListCustomersRequest,
|
|
@@ -307,12 +450,37 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
307
450
|
) -> customers.ListCustomersResponse:
|
|
308
451
|
"""Post-rpc interceptor for list_customers
|
|
309
452
|
|
|
310
|
-
|
|
453
|
+
DEPRECATED. Please use the `post_list_customers_with_metadata`
|
|
454
|
+
interceptor instead.
|
|
455
|
+
|
|
456
|
+
Override in a subclass to read or manipulate the response
|
|
311
457
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
312
|
-
it is returned to user code.
|
|
458
|
+
it is returned to user code. This `post_list_customers` interceptor runs
|
|
459
|
+
before the `post_list_customers_with_metadata` interceptor.
|
|
313
460
|
"""
|
|
314
461
|
return response
|
|
315
462
|
|
|
463
|
+
def post_list_customers_with_metadata(
|
|
464
|
+
self,
|
|
465
|
+
response: customers.ListCustomersResponse,
|
|
466
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
467
|
+
) -> Tuple[
|
|
468
|
+
customers.ListCustomersResponse, Sequence[Tuple[str, Union[str, bytes]]]
|
|
469
|
+
]:
|
|
470
|
+
"""Post-rpc interceptor for list_customers
|
|
471
|
+
|
|
472
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
473
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
474
|
+
|
|
475
|
+
We recommend only using this `post_list_customers_with_metadata`
|
|
476
|
+
interceptor in new development instead of the `post_list_customers` interceptor.
|
|
477
|
+
When both interceptors are used, this `post_list_customers_with_metadata` interceptor runs after the
|
|
478
|
+
`post_list_customers` interceptor. The (possibly modified) response returned by
|
|
479
|
+
`post_list_customers` will be passed to
|
|
480
|
+
`post_list_customers_with_metadata`.
|
|
481
|
+
"""
|
|
482
|
+
return response, metadata
|
|
483
|
+
|
|
316
484
|
def pre_list_workloads(
|
|
317
485
|
self,
|
|
318
486
|
request: customer_workloads.ListWorkloadsRequest,
|
|
@@ -332,12 +500,38 @@ class CloudControlsPartnerCoreRestInterceptor:
|
|
|
332
500
|
) -> customer_workloads.ListWorkloadsResponse:
|
|
333
501
|
"""Post-rpc interceptor for list_workloads
|
|
334
502
|
|
|
335
|
-
|
|
503
|
+
DEPRECATED. Please use the `post_list_workloads_with_metadata`
|
|
504
|
+
interceptor instead.
|
|
505
|
+
|
|
506
|
+
Override in a subclass to read or manipulate the response
|
|
336
507
|
after it is returned by the CloudControlsPartnerCore server but before
|
|
337
|
-
it is returned to user code.
|
|
508
|
+
it is returned to user code. This `post_list_workloads` interceptor runs
|
|
509
|
+
before the `post_list_workloads_with_metadata` interceptor.
|
|
338
510
|
"""
|
|
339
511
|
return response
|
|
340
512
|
|
|
513
|
+
def post_list_workloads_with_metadata(
|
|
514
|
+
self,
|
|
515
|
+
response: customer_workloads.ListWorkloadsResponse,
|
|
516
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
517
|
+
) -> Tuple[
|
|
518
|
+
customer_workloads.ListWorkloadsResponse,
|
|
519
|
+
Sequence[Tuple[str, Union[str, bytes]]],
|
|
520
|
+
]:
|
|
521
|
+
"""Post-rpc interceptor for list_workloads
|
|
522
|
+
|
|
523
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
524
|
+
is returned by the CloudControlsPartnerCore server but before it is returned to user code.
|
|
525
|
+
|
|
526
|
+
We recommend only using this `post_list_workloads_with_metadata`
|
|
527
|
+
interceptor in new development instead of the `post_list_workloads` interceptor.
|
|
528
|
+
When both interceptors are used, this `post_list_workloads_with_metadata` interceptor runs after the
|
|
529
|
+
`post_list_workloads` interceptor. The (possibly modified) response returned by
|
|
530
|
+
`post_list_workloads` will be passed to
|
|
531
|
+
`post_list_workloads_with_metadata`.
|
|
532
|
+
"""
|
|
533
|
+
return response, metadata
|
|
534
|
+
|
|
341
535
|
|
|
342
536
|
@dataclasses.dataclass
|
|
343
537
|
class CloudControlsPartnerCoreRestStub:
|
|
@@ -545,6 +739,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
545
739
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
546
740
|
|
|
547
741
|
resp = self._interceptor.post_get_customer(resp)
|
|
742
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
743
|
+
resp, _ = self._interceptor.post_get_customer_with_metadata(
|
|
744
|
+
resp, response_metadata
|
|
745
|
+
)
|
|
548
746
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
549
747
|
logging.DEBUG
|
|
550
748
|
): # pragma: NO COVER
|
|
@@ -693,6 +891,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
693
891
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
694
892
|
|
|
695
893
|
resp = self._interceptor.post_get_ekm_connections(resp)
|
|
894
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
895
|
+
resp, _ = self._interceptor.post_get_ekm_connections_with_metadata(
|
|
896
|
+
resp, response_metadata
|
|
897
|
+
)
|
|
696
898
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
697
899
|
logging.DEBUG
|
|
698
900
|
): # pragma: NO COVER
|
|
@@ -834,6 +1036,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
834
1036
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
835
1037
|
|
|
836
1038
|
resp = self._interceptor.post_get_partner(resp)
|
|
1039
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1040
|
+
resp, _ = self._interceptor.post_get_partner_with_metadata(
|
|
1041
|
+
resp, response_metadata
|
|
1042
|
+
)
|
|
837
1043
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
838
1044
|
logging.DEBUG
|
|
839
1045
|
): # pragma: NO COVER
|
|
@@ -980,6 +1186,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
980
1186
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
981
1187
|
|
|
982
1188
|
resp = self._interceptor.post_get_partner_permissions(resp)
|
|
1189
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1190
|
+
resp, _ = self._interceptor.post_get_partner_permissions_with_metadata(
|
|
1191
|
+
resp, response_metadata
|
|
1192
|
+
)
|
|
983
1193
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
984
1194
|
logging.DEBUG
|
|
985
1195
|
): # pragma: NO COVER
|
|
@@ -1127,6 +1337,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
1127
1337
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
1128
1338
|
|
|
1129
1339
|
resp = self._interceptor.post_get_workload(resp)
|
|
1340
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1341
|
+
resp, _ = self._interceptor.post_get_workload_with_metadata(
|
|
1342
|
+
resp, response_metadata
|
|
1343
|
+
)
|
|
1130
1344
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
1131
1345
|
logging.DEBUG
|
|
1132
1346
|
): # pragma: NO COVER
|
|
@@ -1278,6 +1492,13 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
1278
1492
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
1279
1493
|
|
|
1280
1494
|
resp = self._interceptor.post_list_access_approval_requests(resp)
|
|
1495
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1496
|
+
(
|
|
1497
|
+
resp,
|
|
1498
|
+
_,
|
|
1499
|
+
) = self._interceptor.post_list_access_approval_requests_with_metadata(
|
|
1500
|
+
resp, response_metadata
|
|
1501
|
+
)
|
|
1281
1502
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
1282
1503
|
logging.DEBUG
|
|
1283
1504
|
): # pragma: NO COVER
|
|
@@ -1425,6 +1646,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
1425
1646
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
1426
1647
|
|
|
1427
1648
|
resp = self._interceptor.post_list_customers(resp)
|
|
1649
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1650
|
+
resp, _ = self._interceptor.post_list_customers_with_metadata(
|
|
1651
|
+
resp, response_metadata
|
|
1652
|
+
)
|
|
1428
1653
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
1429
1654
|
logging.DEBUG
|
|
1430
1655
|
): # pragma: NO COVER
|
|
@@ -1570,6 +1795,10 @@ class CloudControlsPartnerCoreRestTransport(_BaseCloudControlsPartnerCoreRestTra
|
|
|
1570
1795
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
1571
1796
|
|
|
1572
1797
|
resp = self._interceptor.post_list_workloads(resp)
|
|
1798
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
1799
|
+
resp, _ = self._interceptor.post_list_workloads_with_metadata(
|
|
1800
|
+
resp, response_metadata
|
|
1801
|
+
)
|
|
1573
1802
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
1574
1803
|
logging.DEBUG
|
|
1575
1804
|
): # pragma: NO COVER
|
|
@@ -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
|
|
@@ -501,6 +503,33 @@ class CloudControlsPartnerMonitoringClient(
|
|
|
501
503
|
# NOTE (b/349488459): universe validation is disabled until further notice.
|
|
502
504
|
return True
|
|
503
505
|
|
|
506
|
+
def _add_cred_info_for_auth_errors(
|
|
507
|
+
self, error: core_exceptions.GoogleAPICallError
|
|
508
|
+
) -> None:
|
|
509
|
+
"""Adds credential info string to error details for 401/403/404 errors.
|
|
510
|
+
|
|
511
|
+
Args:
|
|
512
|
+
error (google.api_core.exceptions.GoogleAPICallError): The error to add the cred info.
|
|
513
|
+
"""
|
|
514
|
+
if error.code not in [
|
|
515
|
+
HTTPStatus.UNAUTHORIZED,
|
|
516
|
+
HTTPStatus.FORBIDDEN,
|
|
517
|
+
HTTPStatus.NOT_FOUND,
|
|
518
|
+
]:
|
|
519
|
+
return
|
|
520
|
+
|
|
521
|
+
cred = self._transport._credentials
|
|
522
|
+
|
|
523
|
+
# get_cred_info is only available in google-auth>=2.35.0
|
|
524
|
+
if not hasattr(cred, "get_cred_info"):
|
|
525
|
+
return
|
|
526
|
+
|
|
527
|
+
# ignore the type check since pypy test fails when get_cred_info
|
|
528
|
+
# is not available
|
|
529
|
+
cred_info = cred.get_cred_info() # type: ignore
|
|
530
|
+
if cred_info and hasattr(error._details, "append"):
|
|
531
|
+
error._details.append(json.dumps(cred_info))
|
|
532
|
+
|
|
504
533
|
@property
|
|
505
534
|
def api_endpoint(self):
|
|
506
535
|
"""Return the API endpoint used by the client instance.
|
|
@@ -107,12 +107,35 @@ class CloudControlsPartnerMonitoringRestInterceptor:
|
|
|
107
107
|
) -> violations.Violation:
|
|
108
108
|
"""Post-rpc interceptor for get_violation
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
DEPRECATED. Please use the `post_get_violation_with_metadata`
|
|
111
|
+
interceptor instead.
|
|
112
|
+
|
|
113
|
+
Override in a subclass to read or manipulate the response
|
|
111
114
|
after it is returned by the CloudControlsPartnerMonitoring server but before
|
|
112
|
-
it is returned to user code.
|
|
115
|
+
it is returned to user code. This `post_get_violation` interceptor runs
|
|
116
|
+
before the `post_get_violation_with_metadata` interceptor.
|
|
113
117
|
"""
|
|
114
118
|
return response
|
|
115
119
|
|
|
120
|
+
def post_get_violation_with_metadata(
|
|
121
|
+
self,
|
|
122
|
+
response: violations.Violation,
|
|
123
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
124
|
+
) -> Tuple[violations.Violation, Sequence[Tuple[str, Union[str, bytes]]]]:
|
|
125
|
+
"""Post-rpc interceptor for get_violation
|
|
126
|
+
|
|
127
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
128
|
+
is returned by the CloudControlsPartnerMonitoring server but before it is returned to user code.
|
|
129
|
+
|
|
130
|
+
We recommend only using this `post_get_violation_with_metadata`
|
|
131
|
+
interceptor in new development instead of the `post_get_violation` interceptor.
|
|
132
|
+
When both interceptors are used, this `post_get_violation_with_metadata` interceptor runs after the
|
|
133
|
+
`post_get_violation` interceptor. The (possibly modified) response returned by
|
|
134
|
+
`post_get_violation` will be passed to
|
|
135
|
+
`post_get_violation_with_metadata`.
|
|
136
|
+
"""
|
|
137
|
+
return response, metadata
|
|
138
|
+
|
|
116
139
|
def pre_list_violations(
|
|
117
140
|
self,
|
|
118
141
|
request: violations.ListViolationsRequest,
|
|
@@ -132,12 +155,37 @@ class CloudControlsPartnerMonitoringRestInterceptor:
|
|
|
132
155
|
) -> violations.ListViolationsResponse:
|
|
133
156
|
"""Post-rpc interceptor for list_violations
|
|
134
157
|
|
|
135
|
-
|
|
158
|
+
DEPRECATED. Please use the `post_list_violations_with_metadata`
|
|
159
|
+
interceptor instead.
|
|
160
|
+
|
|
161
|
+
Override in a subclass to read or manipulate the response
|
|
136
162
|
after it is returned by the CloudControlsPartnerMonitoring server but before
|
|
137
|
-
it is returned to user code.
|
|
163
|
+
it is returned to user code. This `post_list_violations` interceptor runs
|
|
164
|
+
before the `post_list_violations_with_metadata` interceptor.
|
|
138
165
|
"""
|
|
139
166
|
return response
|
|
140
167
|
|
|
168
|
+
def post_list_violations_with_metadata(
|
|
169
|
+
self,
|
|
170
|
+
response: violations.ListViolationsResponse,
|
|
171
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]],
|
|
172
|
+
) -> Tuple[
|
|
173
|
+
violations.ListViolationsResponse, Sequence[Tuple[str, Union[str, bytes]]]
|
|
174
|
+
]:
|
|
175
|
+
"""Post-rpc interceptor for list_violations
|
|
176
|
+
|
|
177
|
+
Override in a subclass to read or manipulate the response or metadata after it
|
|
178
|
+
is returned by the CloudControlsPartnerMonitoring server but before it is returned to user code.
|
|
179
|
+
|
|
180
|
+
We recommend only using this `post_list_violations_with_metadata`
|
|
181
|
+
interceptor in new development instead of the `post_list_violations` interceptor.
|
|
182
|
+
When both interceptors are used, this `post_list_violations_with_metadata` interceptor runs after the
|
|
183
|
+
`post_list_violations` interceptor. The (possibly modified) response returned by
|
|
184
|
+
`post_list_violations` will be passed to
|
|
185
|
+
`post_list_violations_with_metadata`.
|
|
186
|
+
"""
|
|
187
|
+
return response, metadata
|
|
188
|
+
|
|
141
189
|
|
|
142
190
|
@dataclasses.dataclass
|
|
143
191
|
class CloudControlsPartnerMonitoringRestStub:
|
|
@@ -349,6 +397,10 @@ class CloudControlsPartnerMonitoringRestTransport(
|
|
|
349
397
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
350
398
|
|
|
351
399
|
resp = self._interceptor.post_get_violation(resp)
|
|
400
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
401
|
+
resp, _ = self._interceptor.post_get_violation_with_metadata(
|
|
402
|
+
resp, response_metadata
|
|
403
|
+
)
|
|
352
404
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
353
405
|
logging.DEBUG
|
|
354
406
|
): # pragma: NO COVER
|
|
@@ -493,6 +545,10 @@ class CloudControlsPartnerMonitoringRestTransport(
|
|
|
493
545
|
json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
|
|
494
546
|
|
|
495
547
|
resp = self._interceptor.post_list_violations(resp)
|
|
548
|
+
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
|
|
549
|
+
resp, _ = self._interceptor.post_list_violations_with_metadata(
|
|
550
|
+
resp, response_metadata
|
|
551
|
+
)
|
|
496
552
|
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
|
|
497
553
|
logging.DEBUG
|
|
498
554
|
): # pragma: NO COVER
|
|
@@ -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
|
|
@@ -616,6 +618,33 @@ class CloudControlsPartnerCoreClient(metaclass=CloudControlsPartnerCoreClientMet
|
|
|
616
618
|
# NOTE (b/349488459): universe validation is disabled until further notice.
|
|
617
619
|
return True
|
|
618
620
|
|
|
621
|
+
def _add_cred_info_for_auth_errors(
|
|
622
|
+
self, error: core_exceptions.GoogleAPICallError
|
|
623
|
+
) -> None:
|
|
624
|
+
"""Adds credential info string to error details for 401/403/404 errors.
|
|
625
|
+
|
|
626
|
+
Args:
|
|
627
|
+
error (google.api_core.exceptions.GoogleAPICallError): The error to add the cred info.
|
|
628
|
+
"""
|
|
629
|
+
if error.code not in [
|
|
630
|
+
HTTPStatus.UNAUTHORIZED,
|
|
631
|
+
HTTPStatus.FORBIDDEN,
|
|
632
|
+
HTTPStatus.NOT_FOUND,
|
|
633
|
+
]:
|
|
634
|
+
return
|
|
635
|
+
|
|
636
|
+
cred = self._transport._credentials
|
|
637
|
+
|
|
638
|
+
# get_cred_info is only available in google-auth>=2.35.0
|
|
639
|
+
if not hasattr(cred, "get_cred_info"):
|
|
640
|
+
return
|
|
641
|
+
|
|
642
|
+
# ignore the type check since pypy test fails when get_cred_info
|
|
643
|
+
# is not available
|
|
644
|
+
cred_info = cred.get_cred_info() # type: ignore
|
|
645
|
+
if cred_info and hasattr(error._details, "append"):
|
|
646
|
+
error._details.append(json.dumps(cred_info))
|
|
647
|
+
|
|
619
648
|
@property
|
|
620
649
|
def api_endpoint(self):
|
|
621
650
|
"""Return the API endpoint used by the client instance.
|