google-cloud-securesourcemanager 0.1.17__tar.gz → 0.3.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.
- {google_cloud_securesourcemanager-0.1.17/google_cloud_securesourcemanager.egg-info → google_cloud_securesourcemanager-0.3.0}/PKG-INFO +5 -2
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/README.rst +1 -1
- google_cloud_securesourcemanager-0.3.0/google/cloud/securesourcemanager/gapic_version.py +16 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/__init__.py +104 -0
- google_cloud_securesourcemanager-0.3.0/google/cloud/securesourcemanager_v1/gapic_version.py +16 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/async_client.py +13 -13
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/client.py +45 -27
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/base.py +3 -2
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/grpc.py +5 -3
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/grpc_asyncio.py +5 -3
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/rest.py +3 -2
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/types/secure_source_manager.py +7 -7
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0/google_cloud_securesourcemanager.egg-info}/PKG-INFO +5 -2
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google_cloud_securesourcemanager.egg-info/requires.txt +4 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/setup.py +3 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/unit/gapic/securesourcemanager_v1/test_secure_source_manager.py +226 -29
- google_cloud_securesourcemanager-0.1.17/google/cloud/securesourcemanager/gapic_version.py +0 -16
- google_cloud_securesourcemanager-0.1.17/google/cloud/securesourcemanager_v1/gapic_version.py +0 -16
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/LICENSE +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/MANIFEST.in +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager/py.typed +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/gapic_metadata.json +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/py.typed +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/pagers.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/services/secure_source_manager/transports/rest_base.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google/cloud/securesourcemanager_v1/types/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google_cloud_securesourcemanager.egg-info/SOURCES.txt +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google_cloud_securesourcemanager.egg-info/dependency_links.txt +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google_cloud_securesourcemanager.egg-info/not-zip-safe +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/google_cloud_securesourcemanager.egg-info/top_level.txt +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/setup.cfg +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/unit/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/unit/gapic/__init__.py +0 -0
- {google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/unit/gapic/securesourcemanager_v1/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-securesourcemanager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Google Cloud Securesourcemanager API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-securesourcemanager
|
|
6
6
|
Author: Google LLC
|
|
@@ -19,12 +19,15 @@ 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
|
|
@@ -104,7 +107,7 @@ Supported Python Versions
|
|
|
104
107
|
Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
|
|
105
108
|
Python.
|
|
106
109
|
|
|
107
|
-
Python >= 3.7
|
|
110
|
+
Python >= 3.7, including 3.14
|
|
108
111
|
|
|
109
112
|
.. _active: https://devguide.python.org/devcycle/#in-development-main-branch
|
|
110
113
|
.. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
|
{google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/README.rst
RENAMED
|
@@ -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
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
__version__ = "0.3.0" # {x-release-please-version}
|
|
@@ -13,10 +13,20 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
#
|
|
16
|
+
import sys
|
|
17
|
+
|
|
18
|
+
import google.api_core as api_core
|
|
19
|
+
|
|
16
20
|
from google.cloud.securesourcemanager_v1 import gapic_version as package_version
|
|
17
21
|
|
|
18
22
|
__version__ = package_version.__version__
|
|
19
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
|
|
20
30
|
|
|
21
31
|
from .services.secure_source_manager import (
|
|
22
32
|
SecureSourceManagerAsyncClient,
|
|
@@ -99,6 +109,100 @@ from .types.secure_source_manager import (
|
|
|
99
109
|
UpdateRepositoryRequest,
|
|
100
110
|
)
|
|
101
111
|
|
|
112
|
+
if hasattr(api_core, "check_python_version") and hasattr(
|
|
113
|
+
api_core, "check_dependency_versions"
|
|
114
|
+
): # pragma: NO COVER
|
|
115
|
+
api_core.check_python_version("google.cloud.securesourcemanager_v1") # type: ignore
|
|
116
|
+
api_core.check_dependency_versions("google.cloud.securesourcemanager_v1") # type: ignore
|
|
117
|
+
else: # pragma: NO COVER
|
|
118
|
+
# An older version of api_core is installed which does not define the
|
|
119
|
+
# functions above. We do equivalent checks manually.
|
|
120
|
+
try:
|
|
121
|
+
import sys
|
|
122
|
+
import warnings
|
|
123
|
+
|
|
124
|
+
_py_version_str = sys.version.split()[0]
|
|
125
|
+
_package_label = "google.cloud.securesourcemanager_v1"
|
|
126
|
+
if sys.version_info < (3, 9):
|
|
127
|
+
warnings.warn(
|
|
128
|
+
"You are using a non-supported Python version "
|
|
129
|
+
+ f"({_py_version_str}). Google will not post any further "
|
|
130
|
+
+ f"updates to {_package_label} supporting this Python version. "
|
|
131
|
+
+ "Please upgrade to the latest Python version, or at "
|
|
132
|
+
+ f"least to Python 3.9, and then update {_package_label}.",
|
|
133
|
+
FutureWarning,
|
|
134
|
+
)
|
|
135
|
+
if sys.version_info[:2] == (3, 9):
|
|
136
|
+
warnings.warn(
|
|
137
|
+
f"You are using a Python version ({_py_version_str}) "
|
|
138
|
+
+ f"which Google will stop supporting in {_package_label} in "
|
|
139
|
+
+ "January 2026. Please "
|
|
140
|
+
+ "upgrade to the latest Python version, or at "
|
|
141
|
+
+ "least to Python 3.10, before then, and "
|
|
142
|
+
+ f"then update {_package_label}.",
|
|
143
|
+
FutureWarning,
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
def parse_version_to_tuple(version_string: str):
|
|
147
|
+
"""Safely converts a semantic version string to a comparable tuple of integers.
|
|
148
|
+
Example: "4.25.8" -> (4, 25, 8)
|
|
149
|
+
Ignores non-numeric parts and handles common version formats.
|
|
150
|
+
Args:
|
|
151
|
+
version_string: Version string in the format "x.y.z" or "x.y.z<suffix>"
|
|
152
|
+
Returns:
|
|
153
|
+
Tuple of integers for the parsed version string.
|
|
154
|
+
"""
|
|
155
|
+
parts = []
|
|
156
|
+
for part in version_string.split("."):
|
|
157
|
+
try:
|
|
158
|
+
parts.append(int(part))
|
|
159
|
+
except ValueError:
|
|
160
|
+
# If it's a non-numeric part (e.g., '1.0.0b1' -> 'b1'), stop here.
|
|
161
|
+
# This is a simplification compared to 'packaging.parse_version', but sufficient
|
|
162
|
+
# for comparing strictly numeric semantic versions.
|
|
163
|
+
break
|
|
164
|
+
return tuple(parts)
|
|
165
|
+
|
|
166
|
+
def _get_version(dependency_name):
|
|
167
|
+
try:
|
|
168
|
+
version_string: str = metadata.version(dependency_name)
|
|
169
|
+
parsed_version = parse_version_to_tuple(version_string)
|
|
170
|
+
return (parsed_version, version_string)
|
|
171
|
+
except Exception:
|
|
172
|
+
# Catch exceptions from metadata.version() (e.g., PackageNotFoundError)
|
|
173
|
+
# or errors during parse_version_to_tuple
|
|
174
|
+
return (None, "--")
|
|
175
|
+
|
|
176
|
+
_dependency_package = "google.protobuf"
|
|
177
|
+
_next_supported_version = "4.25.8"
|
|
178
|
+
_next_supported_version_tuple = (4, 25, 8)
|
|
179
|
+
_recommendation = " (we recommend 6.x)"
|
|
180
|
+
(_version_used, _version_used_string) = _get_version(_dependency_package)
|
|
181
|
+
if _version_used and _version_used < _next_supported_version_tuple:
|
|
182
|
+
warnings.warn(
|
|
183
|
+
f"Package {_package_label} depends on "
|
|
184
|
+
+ f"{_dependency_package}, currently installed at version "
|
|
185
|
+
+ f"{_version_used_string}. Future updates to "
|
|
186
|
+
+ f"{_package_label} will require {_dependency_package} at "
|
|
187
|
+
+ f"version {_next_supported_version} or higher{_recommendation}."
|
|
188
|
+
+ " Please ensure "
|
|
189
|
+
+ "that either (a) your Python environment doesn't pin the "
|
|
190
|
+
+ f"version of {_dependency_package}, so that updates to "
|
|
191
|
+
+ f"{_package_label} can require the higher version, or "
|
|
192
|
+
+ "(b) you manually update your Python environment to use at "
|
|
193
|
+
+ f"least version {_next_supported_version} of "
|
|
194
|
+
+ f"{_dependency_package}.",
|
|
195
|
+
FutureWarning,
|
|
196
|
+
)
|
|
197
|
+
except Exception:
|
|
198
|
+
warnings.warn(
|
|
199
|
+
"Could not determine the version of Python "
|
|
200
|
+
+ "currently being used. To continue receiving "
|
|
201
|
+
+ "updates for {_package_label}, ensure you are "
|
|
202
|
+
+ "using a supported version of Python; see "
|
|
203
|
+
+ "https://devguide.python.org/versions/"
|
|
204
|
+
)
|
|
205
|
+
|
|
102
206
|
__all__ = (
|
|
103
207
|
"SecureSourceManagerAsyncClient",
|
|
104
208
|
"BatchCreatePullRequestCommentsRequest",
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
__version__ = "0.3.0" # {x-release-please-version}
|
|
@@ -1984,7 +1984,7 @@ class SecureSourceManagerAsyncClient:
|
|
|
1984
1984
|
overwritten in the hook resource by the update. The
|
|
1985
1985
|
fields specified in the update_mask are relative to the
|
|
1986
1986
|
resource, not the full request. A field will be
|
|
1987
|
-
overwritten if it is in the mask. The special value "
|
|
1987
|
+
overwritten if it is in the mask. The special value "\*"
|
|
1988
1988
|
means full replacement.
|
|
1989
1989
|
|
|
1990
1990
|
This corresponds to the ``update_mask`` field
|
|
@@ -2278,19 +2278,19 @@ class SecureSourceManagerAsyncClient:
|
|
|
2278
2278
|
constraints based on attributes of the request, the
|
|
2279
2279
|
resource, or both. To learn which resources support
|
|
2280
2280
|
conditions in their IAM policies, see the [IAM
|
|
2281
|
-
documentation](
|
|
2281
|
+
documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
|
2282
2282
|
|
|
2283
2283
|
**JSON example:**
|
|
2284
2284
|
|
|
2285
|
-
:literal
|
|
2285
|
+
:literal:`` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }`\ \`
|
|
2286
2286
|
|
|
2287
2287
|
**YAML example:**
|
|
2288
2288
|
|
|
2289
|
-
:literal
|
|
2289
|
+
:literal:`` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3`\ \`
|
|
2290
2290
|
|
|
2291
2291
|
For a description of IAM and its features, see the
|
|
2292
2292
|
[IAM
|
|
2293
|
-
documentation](
|
|
2293
|
+
documentation](https://cloud.google.com/iam/docs/).
|
|
2294
2294
|
|
|
2295
2295
|
"""
|
|
2296
2296
|
# Create or coerce a protobuf request object.
|
|
@@ -2416,19 +2416,19 @@ class SecureSourceManagerAsyncClient:
|
|
|
2416
2416
|
constraints based on attributes of the request, the
|
|
2417
2417
|
resource, or both. To learn which resources support
|
|
2418
2418
|
conditions in their IAM policies, see the [IAM
|
|
2419
|
-
documentation](
|
|
2419
|
+
documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
|
2420
2420
|
|
|
2421
2421
|
**JSON example:**
|
|
2422
2422
|
|
|
2423
|
-
:literal
|
|
2423
|
+
:literal:`` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }`\ \`
|
|
2424
2424
|
|
|
2425
2425
|
**YAML example:**
|
|
2426
2426
|
|
|
2427
|
-
:literal
|
|
2427
|
+
:literal:`` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3`\ \`
|
|
2428
2428
|
|
|
2429
2429
|
For a description of IAM and its features, see the
|
|
2430
2430
|
[IAM
|
|
2431
|
-
documentation](
|
|
2431
|
+
documentation](https://cloud.google.com/iam/docs/).
|
|
2432
2432
|
|
|
2433
2433
|
"""
|
|
2434
2434
|
# Create or coerce a protobuf request object.
|
|
@@ -3031,7 +3031,7 @@ class SecureSourceManagerAsyncClient:
|
|
|
3031
3031
|
overwritten in the branchRule resource by the update.
|
|
3032
3032
|
The fields specified in the update_mask are relative to
|
|
3033
3033
|
the resource, not the full request. A field will be
|
|
3034
|
-
overwritten if it is in the mask. The special value "
|
|
3034
|
+
overwritten if it is in the mask. The special value "\*"
|
|
3035
3035
|
means full replacement.
|
|
3036
3036
|
|
|
3037
3037
|
This corresponds to the ``update_mask`` field
|
|
@@ -3697,7 +3697,7 @@ class SecureSourceManagerAsyncClient:
|
|
|
3697
3697
|
overwritten in the pull request resource by the update.
|
|
3698
3698
|
The fields specified in the update_mask are relative to
|
|
3699
3699
|
the resource, not the full request. A field will be
|
|
3700
|
-
overwritten if it is in the mask. The special value "
|
|
3700
|
+
overwritten if it is in the mask. The special value "\*"
|
|
3701
3701
|
means full replacement.
|
|
3702
3702
|
|
|
3703
3703
|
This corresponds to the ``update_mask`` field
|
|
@@ -4921,7 +4921,7 @@ class SecureSourceManagerAsyncClient:
|
|
|
4921
4921
|
overwritten in the issue resource by the update. The
|
|
4922
4922
|
fields specified in the update_mask are relative to the
|
|
4923
4923
|
resource, not the full request. A field will be
|
|
4924
|
-
overwritten if it is in the mask. The special value "
|
|
4924
|
+
overwritten if it is in the mask. The special value "\*"
|
|
4925
4925
|
means full replacement.
|
|
4926
4926
|
|
|
4927
4927
|
This corresponds to the ``update_mask`` field
|
|
@@ -6974,7 +6974,7 @@ class SecureSourceManagerAsyncClient:
|
|
|
6974
6974
|
overwritten in the issue comment resource by the update.
|
|
6975
6975
|
The fields specified in the update_mask are relative to
|
|
6976
6976
|
the resource, not the full request. A field will be
|
|
6977
|
-
overwritten if it is in the mask. The special value "
|
|
6977
|
+
overwritten if it is in the mask. The special value "\*"
|
|
6978
6978
|
means full replacement.
|
|
6979
6979
|
|
|
6980
6980
|
This corresponds to the ``update_mask`` field
|
|
@@ -163,6 +163,34 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
163
163
|
_DEFAULT_ENDPOINT_TEMPLATE = "securesourcemanager.{UNIVERSE_DOMAIN}"
|
|
164
164
|
_DEFAULT_UNIVERSE = "googleapis.com"
|
|
165
165
|
|
|
166
|
+
@staticmethod
|
|
167
|
+
def _use_client_cert_effective():
|
|
168
|
+
"""Returns whether client certificate should be used for mTLS if the
|
|
169
|
+
google-auth version supports should_use_client_cert automatic mTLS enablement.
|
|
170
|
+
|
|
171
|
+
Alternatively, read from the GOOGLE_API_USE_CLIENT_CERTIFICATE env var.
|
|
172
|
+
|
|
173
|
+
Returns:
|
|
174
|
+
bool: whether client certificate should be used for mTLS
|
|
175
|
+
Raises:
|
|
176
|
+
ValueError: (If using a version of google-auth without should_use_client_cert and
|
|
177
|
+
GOOGLE_API_USE_CLIENT_CERTIFICATE is set to an unexpected value.)
|
|
178
|
+
"""
|
|
179
|
+
# check if google-auth version supports should_use_client_cert for automatic mTLS enablement
|
|
180
|
+
if hasattr(mtls, "should_use_client_cert"): # pragma: NO COVER
|
|
181
|
+
return mtls.should_use_client_cert()
|
|
182
|
+
else: # pragma: NO COVER
|
|
183
|
+
# if unsupported, fallback to reading from env var
|
|
184
|
+
use_client_cert_str = os.getenv(
|
|
185
|
+
"GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
|
|
186
|
+
).lower()
|
|
187
|
+
if use_client_cert_str not in ("true", "false"):
|
|
188
|
+
raise ValueError(
|
|
189
|
+
"Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be"
|
|
190
|
+
" either `true` or `false`"
|
|
191
|
+
)
|
|
192
|
+
return use_client_cert_str == "true"
|
|
193
|
+
|
|
166
194
|
@classmethod
|
|
167
195
|
def from_service_account_info(cls, info: dict, *args, **kwargs):
|
|
168
196
|
"""Creates an instance of this client using the provided credentials
|
|
@@ -590,12 +618,8 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
590
618
|
)
|
|
591
619
|
if client_options is None:
|
|
592
620
|
client_options = client_options_lib.ClientOptions()
|
|
593
|
-
use_client_cert =
|
|
621
|
+
use_client_cert = SecureSourceManagerClient._use_client_cert_effective()
|
|
594
622
|
use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto")
|
|
595
|
-
if use_client_cert not in ("true", "false"):
|
|
596
|
-
raise ValueError(
|
|
597
|
-
"Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
|
|
598
|
-
)
|
|
599
623
|
if use_mtls_endpoint not in ("auto", "never", "always"):
|
|
600
624
|
raise MutualTLSChannelError(
|
|
601
625
|
"Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
|
|
@@ -603,7 +627,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
603
627
|
|
|
604
628
|
# Figure out the client cert source to use.
|
|
605
629
|
client_cert_source = None
|
|
606
|
-
if use_client_cert
|
|
630
|
+
if use_client_cert:
|
|
607
631
|
if client_options.client_cert_source:
|
|
608
632
|
client_cert_source = client_options.client_cert_source
|
|
609
633
|
elif mtls.has_default_client_cert_source():
|
|
@@ -635,20 +659,14 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
635
659
|
google.auth.exceptions.MutualTLSChannelError: If GOOGLE_API_USE_MTLS_ENDPOINT
|
|
636
660
|
is not any of ["auto", "never", "always"].
|
|
637
661
|
"""
|
|
638
|
-
use_client_cert =
|
|
639
|
-
"GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"
|
|
640
|
-
).lower()
|
|
662
|
+
use_client_cert = SecureSourceManagerClient._use_client_cert_effective()
|
|
641
663
|
use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto").lower()
|
|
642
664
|
universe_domain_env = os.getenv("GOOGLE_CLOUD_UNIVERSE_DOMAIN")
|
|
643
|
-
if use_client_cert not in ("true", "false"):
|
|
644
|
-
raise ValueError(
|
|
645
|
-
"Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
|
|
646
|
-
)
|
|
647
665
|
if use_mtls_endpoint not in ("auto", "never", "always"):
|
|
648
666
|
raise MutualTLSChannelError(
|
|
649
667
|
"Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
|
|
650
668
|
)
|
|
651
|
-
return use_client_cert
|
|
669
|
+
return use_client_cert, use_mtls_endpoint, universe_domain_env
|
|
652
670
|
|
|
653
671
|
@staticmethod
|
|
654
672
|
def _get_client_cert_source(provided_cert_source, use_cert_flag):
|
|
@@ -2576,7 +2594,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
2576
2594
|
overwritten in the hook resource by the update. The
|
|
2577
2595
|
fields specified in the update_mask are relative to the
|
|
2578
2596
|
resource, not the full request. A field will be
|
|
2579
|
-
overwritten if it is in the mask. The special value "
|
|
2597
|
+
overwritten if it is in the mask. The special value "\*"
|
|
2580
2598
|
means full replacement.
|
|
2581
2599
|
|
|
2582
2600
|
This corresponds to the ``update_mask`` field
|
|
@@ -2864,19 +2882,19 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
2864
2882
|
constraints based on attributes of the request, the
|
|
2865
2883
|
resource, or both. To learn which resources support
|
|
2866
2884
|
conditions in their IAM policies, see the [IAM
|
|
2867
|
-
documentation](
|
|
2885
|
+
documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
|
2868
2886
|
|
|
2869
2887
|
**JSON example:**
|
|
2870
2888
|
|
|
2871
|
-
:literal
|
|
2889
|
+
:literal:`` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }`\ \`
|
|
2872
2890
|
|
|
2873
2891
|
**YAML example:**
|
|
2874
2892
|
|
|
2875
|
-
:literal
|
|
2893
|
+
:literal:`` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3`\ \`
|
|
2876
2894
|
|
|
2877
2895
|
For a description of IAM and its features, see the
|
|
2878
2896
|
[IAM
|
|
2879
|
-
documentation](
|
|
2897
|
+
documentation](https://cloud.google.com/iam/docs/).
|
|
2880
2898
|
|
|
2881
2899
|
"""
|
|
2882
2900
|
# Create or coerce a protobuf request object.
|
|
@@ -3003,19 +3021,19 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
3003
3021
|
constraints based on attributes of the request, the
|
|
3004
3022
|
resource, or both. To learn which resources support
|
|
3005
3023
|
conditions in their IAM policies, see the [IAM
|
|
3006
|
-
documentation](
|
|
3024
|
+
documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
|
3007
3025
|
|
|
3008
3026
|
**JSON example:**
|
|
3009
3027
|
|
|
3010
|
-
:literal
|
|
3028
|
+
:literal:`` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }`\ \`
|
|
3011
3029
|
|
|
3012
3030
|
**YAML example:**
|
|
3013
3031
|
|
|
3014
|
-
:literal
|
|
3032
|
+
:literal:`` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3`\ \`
|
|
3015
3033
|
|
|
3016
3034
|
For a description of IAM and its features, see the
|
|
3017
3035
|
[IAM
|
|
3018
|
-
documentation](
|
|
3036
|
+
documentation](https://cloud.google.com/iam/docs/).
|
|
3019
3037
|
|
|
3020
3038
|
"""
|
|
3021
3039
|
# Create or coerce a protobuf request object.
|
|
@@ -3613,7 +3631,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
3613
3631
|
overwritten in the branchRule resource by the update.
|
|
3614
3632
|
The fields specified in the update_mask are relative to
|
|
3615
3633
|
the resource, not the full request. A field will be
|
|
3616
|
-
overwritten if it is in the mask. The special value "
|
|
3634
|
+
overwritten if it is in the mask. The special value "\*"
|
|
3617
3635
|
means full replacement.
|
|
3618
3636
|
|
|
3619
3637
|
This corresponds to the ``update_mask`` field
|
|
@@ -4264,7 +4282,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
4264
4282
|
overwritten in the pull request resource by the update.
|
|
4265
4283
|
The fields specified in the update_mask are relative to
|
|
4266
4284
|
the resource, not the full request. A field will be
|
|
4267
|
-
overwritten if it is in the mask. The special value "
|
|
4285
|
+
overwritten if it is in the mask. The special value "\*"
|
|
4268
4286
|
means full replacement.
|
|
4269
4287
|
|
|
4270
4288
|
This corresponds to the ``update_mask`` field
|
|
@@ -5462,7 +5480,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
5462
5480
|
overwritten in the issue resource by the update. The
|
|
5463
5481
|
fields specified in the update_mask are relative to the
|
|
5464
5482
|
resource, not the full request. A field will be
|
|
5465
|
-
overwritten if it is in the mask. The special value "
|
|
5483
|
+
overwritten if it is in the mask. The special value "\*"
|
|
5466
5484
|
means full replacement.
|
|
5467
5485
|
|
|
5468
5486
|
This corresponds to the ``update_mask`` field
|
|
@@ -7484,7 +7502,7 @@ class SecureSourceManagerClient(metaclass=SecureSourceManagerClientMeta):
|
|
|
7484
7502
|
overwritten in the issue comment resource by the update.
|
|
7485
7503
|
The fields specified in the update_mask are relative to
|
|
7486
7504
|
the resource, not the full request. A field will be
|
|
7487
|
-
overwritten if it is in the mask. The special value "
|
|
7505
|
+
overwritten if it is in the mask. The special value "\*"
|
|
7488
7506
|
means full replacement.
|
|
7489
7507
|
|
|
7490
7508
|
This corresponds to the ``update_mask`` field
|
|
@@ -70,9 +70,10 @@ class SecureSourceManagerTransport(abc.ABC):
|
|
|
70
70
|
credentials identify the application to the service; if none
|
|
71
71
|
are specified, the client will attempt to ascertain the
|
|
72
72
|
credentials from the environment.
|
|
73
|
-
credentials_file (Optional[str]): A file with credentials that can
|
|
73
|
+
credentials_file (Optional[str]): Deprecated. A file with credentials that can
|
|
74
74
|
be loaded with :func:`google.auth.load_credentials_from_file`.
|
|
75
|
-
This argument is mutually exclusive with credentials.
|
|
75
|
+
This argument is mutually exclusive with credentials. This argument will be
|
|
76
|
+
removed in the next major version of this library.
|
|
76
77
|
scopes (Optional[Sequence[str]]): A list of scopes.
|
|
77
78
|
quota_project_id (Optional[str]): An optional project to use for billing
|
|
78
79
|
and quota.
|
|
@@ -157,9 +157,10 @@ class SecureSourceManagerGrpcTransport(SecureSourceManagerTransport):
|
|
|
157
157
|
are specified, the client will attempt to ascertain the
|
|
158
158
|
credentials from the environment.
|
|
159
159
|
This argument is ignored if a ``channel`` instance is provided.
|
|
160
|
-
credentials_file (Optional[str]): A file with credentials that can
|
|
160
|
+
credentials_file (Optional[str]): Deprecated. A file with credentials that can
|
|
161
161
|
be loaded with :func:`google.auth.load_credentials_from_file`.
|
|
162
162
|
This argument is ignored if a ``channel`` instance is provided.
|
|
163
|
+
This argument will be removed in the next major version of this library.
|
|
163
164
|
scopes (Optional(Sequence[str])): A list of scopes. This argument is
|
|
164
165
|
ignored if a ``channel`` instance is provided.
|
|
165
166
|
channel (Optional[Union[grpc.Channel, Callable[..., grpc.Channel]]]):
|
|
@@ -293,9 +294,10 @@ class SecureSourceManagerGrpcTransport(SecureSourceManagerTransport):
|
|
|
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`.
|
|
@@ -154,8 +154,9 @@ class SecureSourceManagerGrpcAsyncIOTransport(SecureSourceManagerTransport):
|
|
|
154
154
|
credentials identify this application to the service. If
|
|
155
155
|
none are specified, the client will attempt to ascertain
|
|
156
156
|
the credentials from the environment.
|
|
157
|
-
credentials_file (Optional[str]): A file with credentials that can
|
|
158
|
-
be loaded with :func:`google.auth.load_credentials_from_file`.
|
|
157
|
+
credentials_file (Optional[str]): Deprecated. A file with credentials that can
|
|
158
|
+
be loaded with :func:`google.auth.load_credentials_from_file`. This argument will be
|
|
159
|
+
removed in the next major version of this library.
|
|
159
160
|
scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
|
|
160
161
|
service. These are only used when credentials are not specified and
|
|
161
162
|
are passed to :func:`google.auth.default`.
|
|
@@ -206,9 +207,10 @@ class SecureSourceManagerGrpcAsyncIOTransport(SecureSourceManagerTransport):
|
|
|
206
207
|
are specified, the client will attempt to ascertain the
|
|
207
208
|
credentials from the environment.
|
|
208
209
|
This argument is ignored if a ``channel`` instance is provided.
|
|
209
|
-
credentials_file (Optional[str]): A file with credentials that can
|
|
210
|
+
credentials_file (Optional[str]): Deprecated. A file with credentials that can
|
|
210
211
|
be loaded with :func:`google.auth.load_credentials_from_file`.
|
|
211
212
|
This argument is ignored if a ``channel`` instance is provided.
|
|
213
|
+
This argument will be removed in the next major version of this library.
|
|
212
214
|
scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
|
|
213
215
|
service. These are only used when credentials are not specified and
|
|
214
216
|
are passed to :func:`google.auth.default`.
|
|
@@ -3344,9 +3344,10 @@ class SecureSourceManagerRestTransport(_BaseSecureSourceManagerRestTransport):
|
|
|
3344
3344
|
are specified, the client will attempt to ascertain the
|
|
3345
3345
|
credentials from the environment.
|
|
3346
3346
|
|
|
3347
|
-
credentials_file (Optional[str]): A file with credentials that can
|
|
3347
|
+
credentials_file (Optional[str]): Deprecated. A file with credentials that can
|
|
3348
3348
|
be loaded with :func:`google.auth.load_credentials_from_file`.
|
|
3349
|
-
This argument is ignored if ``channel`` is provided.
|
|
3349
|
+
This argument is ignored if ``channel`` is provided. This argument will be
|
|
3350
|
+
removed in the next major version of this library.
|
|
3350
3351
|
scopes (Optional(Sequence[str])): A list of scopes. This argument is
|
|
3351
3352
|
ignored if ``channel`` is provided.
|
|
3352
3353
|
client_cert_source_for_mtls (Callable[[], Tuple[bytes, bytes]]): Client
|
|
@@ -137,7 +137,7 @@ class Instance(proto.Message):
|
|
|
137
137
|
kms_key (str):
|
|
138
138
|
Optional. Immutable. Customer-managed encryption key name,
|
|
139
139
|
in the format
|
|
140
|
-
projects
|
|
140
|
+
projects/*/locations/*/keyRings/*/cryptoKeys/*.
|
|
141
141
|
host_config (google.cloud.securesourcemanager_v1.types.Instance.HostConfig):
|
|
142
142
|
Output only. A list of hostnames for this
|
|
143
143
|
instance.
|
|
@@ -808,7 +808,7 @@ class BranchRule(proto.Message):
|
|
|
808
808
|
include_pattern (str):
|
|
809
809
|
Optional. The pattern of the branch that can match to this
|
|
810
810
|
BranchRule. Specified as regex. .\* for all branches.
|
|
811
|
-
Examples: main, (main|release
|
|
811
|
+
Examples: main, (main|release.\*). Current MVP phase only
|
|
812
812
|
support ``.*`` for wildcard.
|
|
813
813
|
disabled (bool):
|
|
814
814
|
Optional. Determines if the branch rule is
|
|
@@ -1937,7 +1937,7 @@ class UpdateHookRequest(proto.Message):
|
|
|
1937
1937
|
overwritten in the hook resource by the update. The fields
|
|
1938
1938
|
specified in the update_mask are relative to the resource,
|
|
1939
1939
|
not the full request. A field will be overwritten if it is
|
|
1940
|
-
in the mask. The special value "
|
|
1940
|
+
in the mask. The special value "\*" means full replacement.
|
|
1941
1941
|
hook (google.cloud.securesourcemanager_v1.types.Hook):
|
|
1942
1942
|
Required. The hook being updated.
|
|
1943
1943
|
"""
|
|
@@ -2079,7 +2079,7 @@ class UpdateBranchRuleRequest(proto.Message):
|
|
|
2079
2079
|
overwritten in the branchRule resource by the update. The
|
|
2080
2080
|
fields specified in the update_mask are relative to the
|
|
2081
2081
|
resource, not the full request. A field will be overwritten
|
|
2082
|
-
if it is in the mask. The special value "
|
|
2082
|
+
if it is in the mask. The special value "\*" means full
|
|
2083
2083
|
replacement.
|
|
2084
2084
|
"""
|
|
2085
2085
|
|
|
@@ -2237,7 +2237,7 @@ class UpdatePullRequestRequest(proto.Message):
|
|
|
2237
2237
|
overwritten in the pull request resource by the update. The
|
|
2238
2238
|
fields specified in the update_mask are relative to the
|
|
2239
2239
|
resource, not the full request. A field will be overwritten
|
|
2240
|
-
if it is in the mask. The special value "
|
|
2240
|
+
if it is in the mask. The special value "\*" means full
|
|
2241
2241
|
replacement.
|
|
2242
2242
|
"""
|
|
2243
2243
|
|
|
@@ -2472,7 +2472,7 @@ class UpdateIssueRequest(proto.Message):
|
|
|
2472
2472
|
overwritten in the issue resource by the update. The fields
|
|
2473
2473
|
specified in the update_mask are relative to the resource,
|
|
2474
2474
|
not the full request. A field will be overwritten if it is
|
|
2475
|
-
in the mask. The special value "
|
|
2475
|
+
in the mask. The special value "\*" means full replacement.
|
|
2476
2476
|
"""
|
|
2477
2477
|
|
|
2478
2478
|
issue: "Issue" = proto.Field(
|
|
@@ -3134,7 +3134,7 @@ class UpdateIssueCommentRequest(proto.Message):
|
|
|
3134
3134
|
overwritten in the issue comment resource by the update. The
|
|
3135
3135
|
fields specified in the update_mask are relative to the
|
|
3136
3136
|
resource, not the full request. A field will be overwritten
|
|
3137
|
-
if it is in the mask. The special value "
|
|
3137
|
+
if it is in the mask. The special value "\*" means full
|
|
3138
3138
|
replacement.
|
|
3139
3139
|
"""
|
|
3140
3140
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-securesourcemanager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Google Cloud Securesourcemanager API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-securesourcemanager
|
|
6
6
|
Author: Google LLC
|
|
@@ -19,12 +19,15 @@ 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
|
|
@@ -104,7 +107,7 @@ Supported Python Versions
|
|
|
104
107
|
Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
|
|
105
108
|
Python.
|
|
106
109
|
|
|
107
|
-
Python >= 3.7
|
|
110
|
+
Python >= 3.7, including 3.14
|
|
108
111
|
|
|
109
112
|
.. _active: https://devguide.python.org/devcycle/#in-development-main-branch
|
|
110
113
|
.. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
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
|
|
2
2
|
google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
|
|
3
|
+
grpcio<2.0.0,>=1.33.2
|
|
3
4
|
proto-plus<2.0.0,>=1.22.3
|
|
4
5
|
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
|
|
5
6
|
grpc-google-iam-v1<1.0.0,>=0.14.0
|
|
6
7
|
|
|
7
8
|
[:python_version >= "3.13"]
|
|
8
9
|
proto-plus<2.0.0,>=1.25.0
|
|
10
|
+
|
|
11
|
+
[:python_version >= "3.14"]
|
|
12
|
+
grpcio<2.0.0,>=1.75.1
|
|
@@ -45,6 +45,8 @@ dependencies = [
|
|
|
45
45
|
# Exclude incompatible versions of `google-auth`
|
|
46
46
|
# See https://github.com/googleapis/google-cloud-python/issues/12364
|
|
47
47
|
"google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0",
|
|
48
|
+
"grpcio >= 1.33.2, < 2.0.0",
|
|
49
|
+
"grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
|
|
48
50
|
"proto-plus >= 1.22.3, <2.0.0",
|
|
49
51
|
"proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'",
|
|
50
52
|
"protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
|
|
@@ -87,6 +89,7 @@ setuptools.setup(
|
|
|
87
89
|
"Programming Language :: Python :: 3.11",
|
|
88
90
|
"Programming Language :: Python :: 3.12",
|
|
89
91
|
"Programming Language :: Python :: 3.13",
|
|
92
|
+
"Programming Language :: Python :: 3.14",
|
|
90
93
|
"Operating System :: OS Independent",
|
|
91
94
|
"Topic :: Internet",
|
|
92
95
|
],
|
|
@@ -180,12 +180,19 @@ def test__read_environment_variables():
|
|
|
180
180
|
with mock.patch.dict(
|
|
181
181
|
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}
|
|
182
182
|
):
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
183
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
184
|
+
with pytest.raises(ValueError) as excinfo:
|
|
185
|
+
SecureSourceManagerClient._read_environment_variables()
|
|
186
|
+
assert (
|
|
187
|
+
str(excinfo.value)
|
|
188
|
+
== "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
|
|
189
|
+
)
|
|
190
|
+
else:
|
|
191
|
+
assert SecureSourceManagerClient._read_environment_variables() == (
|
|
192
|
+
False,
|
|
193
|
+
"auto",
|
|
194
|
+
None,
|
|
195
|
+
)
|
|
189
196
|
|
|
190
197
|
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}):
|
|
191
198
|
assert SecureSourceManagerClient._read_environment_variables() == (
|
|
@@ -224,6 +231,105 @@ def test__read_environment_variables():
|
|
|
224
231
|
)
|
|
225
232
|
|
|
226
233
|
|
|
234
|
+
def test_use_client_cert_effective():
|
|
235
|
+
# Test case 1: Test when `should_use_client_cert` returns True.
|
|
236
|
+
# We mock the `should_use_client_cert` function to simulate a scenario where
|
|
237
|
+
# the google-auth library supports automatic mTLS and determines that a
|
|
238
|
+
# client certificate should be used.
|
|
239
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
240
|
+
with mock.patch(
|
|
241
|
+
"google.auth.transport.mtls.should_use_client_cert", return_value=True
|
|
242
|
+
):
|
|
243
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is True
|
|
244
|
+
|
|
245
|
+
# Test case 2: Test when `should_use_client_cert` returns False.
|
|
246
|
+
# We mock the `should_use_client_cert` function to simulate a scenario where
|
|
247
|
+
# the google-auth library supports automatic mTLS and determines that a
|
|
248
|
+
# client certificate should NOT be used.
|
|
249
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
250
|
+
with mock.patch(
|
|
251
|
+
"google.auth.transport.mtls.should_use_client_cert", return_value=False
|
|
252
|
+
):
|
|
253
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
254
|
+
|
|
255
|
+
# Test case 3: Test when `should_use_client_cert` is unavailable and the
|
|
256
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "true".
|
|
257
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
258
|
+
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}):
|
|
259
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is True
|
|
260
|
+
|
|
261
|
+
# Test case 4: Test when `should_use_client_cert` is unavailable and the
|
|
262
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "false".
|
|
263
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
264
|
+
with mock.patch.dict(
|
|
265
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "false"}
|
|
266
|
+
):
|
|
267
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
268
|
+
|
|
269
|
+
# Test case 5: Test when `should_use_client_cert` is unavailable and the
|
|
270
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "True".
|
|
271
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
272
|
+
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "True"}):
|
|
273
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is True
|
|
274
|
+
|
|
275
|
+
# Test case 6: Test when `should_use_client_cert` is unavailable and the
|
|
276
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "False".
|
|
277
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
278
|
+
with mock.patch.dict(
|
|
279
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "False"}
|
|
280
|
+
):
|
|
281
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
282
|
+
|
|
283
|
+
# Test case 7: Test when `should_use_client_cert` is unavailable and the
|
|
284
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "TRUE".
|
|
285
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
286
|
+
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "TRUE"}):
|
|
287
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is True
|
|
288
|
+
|
|
289
|
+
# Test case 8: Test when `should_use_client_cert` is unavailable and the
|
|
290
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to "FALSE".
|
|
291
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
292
|
+
with mock.patch.dict(
|
|
293
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "FALSE"}
|
|
294
|
+
):
|
|
295
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
296
|
+
|
|
297
|
+
# Test case 9: Test when `should_use_client_cert` is unavailable and the
|
|
298
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not set.
|
|
299
|
+
# In this case, the method should return False, which is the default value.
|
|
300
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
301
|
+
with mock.patch.dict(os.environ, clear=True):
|
|
302
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
303
|
+
|
|
304
|
+
# Test case 10: Test when `should_use_client_cert` is unavailable and the
|
|
305
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to an invalid value.
|
|
306
|
+
# The method should raise a ValueError as the environment variable must be either
|
|
307
|
+
# "true" or "false".
|
|
308
|
+
if not hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
309
|
+
with mock.patch.dict(
|
|
310
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "unsupported"}
|
|
311
|
+
):
|
|
312
|
+
with pytest.raises(ValueError):
|
|
313
|
+
SecureSourceManagerClient._use_client_cert_effective()
|
|
314
|
+
|
|
315
|
+
# Test case 11: Test when `should_use_client_cert` is available and the
|
|
316
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is set to an invalid value.
|
|
317
|
+
# The method should return False as the environment variable is set to an invalid value.
|
|
318
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
319
|
+
with mock.patch.dict(
|
|
320
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "unsupported"}
|
|
321
|
+
):
|
|
322
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
323
|
+
|
|
324
|
+
# Test case 12: Test when `should_use_client_cert` is available and the
|
|
325
|
+
# `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is unset. Also,
|
|
326
|
+
# the GOOGLE_API_CONFIG environment variable is unset.
|
|
327
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
328
|
+
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": ""}):
|
|
329
|
+
with mock.patch.dict(os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": ""}):
|
|
330
|
+
assert SecureSourceManagerClient._use_client_cert_effective() is False
|
|
331
|
+
|
|
332
|
+
|
|
227
333
|
def test__get_client_cert_source():
|
|
228
334
|
mock_provided_cert_source = mock.Mock()
|
|
229
335
|
mock_default_cert_source = mock.Mock()
|
|
@@ -611,17 +717,6 @@ def test_secure_source_manager_client_client_options(
|
|
|
611
717
|
== "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
|
|
612
718
|
)
|
|
613
719
|
|
|
614
|
-
# Check the case GOOGLE_API_USE_CLIENT_CERTIFICATE has unsupported value.
|
|
615
|
-
with mock.patch.dict(
|
|
616
|
-
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}
|
|
617
|
-
):
|
|
618
|
-
with pytest.raises(ValueError) as excinfo:
|
|
619
|
-
client = client_class(transport=transport_name)
|
|
620
|
-
assert (
|
|
621
|
-
str(excinfo.value)
|
|
622
|
-
== "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
|
|
623
|
-
)
|
|
624
|
-
|
|
625
720
|
# Check the case quota_project_id is provided
|
|
626
721
|
options = client_options.ClientOptions(quota_project_id="octopus")
|
|
627
722
|
with mock.patch.object(transport_class, "__init__") as patched:
|
|
@@ -857,6 +952,119 @@ def test_secure_source_manager_client_get_mtls_endpoint_and_cert_source(client_c
|
|
|
857
952
|
assert api_endpoint == mock_api_endpoint
|
|
858
953
|
assert cert_source is None
|
|
859
954
|
|
|
955
|
+
# Test the case GOOGLE_API_USE_CLIENT_CERTIFICATE is "Unsupported".
|
|
956
|
+
with mock.patch.dict(
|
|
957
|
+
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}
|
|
958
|
+
):
|
|
959
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
960
|
+
mock_client_cert_source = mock.Mock()
|
|
961
|
+
mock_api_endpoint = "foo"
|
|
962
|
+
options = client_options.ClientOptions(
|
|
963
|
+
client_cert_source=mock_client_cert_source,
|
|
964
|
+
api_endpoint=mock_api_endpoint,
|
|
965
|
+
)
|
|
966
|
+
api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source(
|
|
967
|
+
options
|
|
968
|
+
)
|
|
969
|
+
assert api_endpoint == mock_api_endpoint
|
|
970
|
+
assert cert_source is None
|
|
971
|
+
|
|
972
|
+
# Test cases for mTLS enablement when GOOGLE_API_USE_CLIENT_CERTIFICATE is unset.
|
|
973
|
+
test_cases = [
|
|
974
|
+
(
|
|
975
|
+
# With workloads present in config, mTLS is enabled.
|
|
976
|
+
{
|
|
977
|
+
"version": 1,
|
|
978
|
+
"cert_configs": {
|
|
979
|
+
"workload": {
|
|
980
|
+
"cert_path": "path/to/cert/file",
|
|
981
|
+
"key_path": "path/to/key/file",
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
},
|
|
985
|
+
mock_client_cert_source,
|
|
986
|
+
),
|
|
987
|
+
(
|
|
988
|
+
# With workloads not present in config, mTLS is disabled.
|
|
989
|
+
{
|
|
990
|
+
"version": 1,
|
|
991
|
+
"cert_configs": {},
|
|
992
|
+
},
|
|
993
|
+
None,
|
|
994
|
+
),
|
|
995
|
+
]
|
|
996
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
997
|
+
for config_data, expected_cert_source in test_cases:
|
|
998
|
+
env = os.environ.copy()
|
|
999
|
+
env.pop("GOOGLE_API_USE_CLIENT_CERTIFICATE", None)
|
|
1000
|
+
with mock.patch.dict(os.environ, env, clear=True):
|
|
1001
|
+
config_filename = "mock_certificate_config.json"
|
|
1002
|
+
config_file_content = json.dumps(config_data)
|
|
1003
|
+
m = mock.mock_open(read_data=config_file_content)
|
|
1004
|
+
with mock.patch("builtins.open", m):
|
|
1005
|
+
with mock.patch.dict(
|
|
1006
|
+
os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename}
|
|
1007
|
+
):
|
|
1008
|
+
mock_api_endpoint = "foo"
|
|
1009
|
+
options = client_options.ClientOptions(
|
|
1010
|
+
client_cert_source=mock_client_cert_source,
|
|
1011
|
+
api_endpoint=mock_api_endpoint,
|
|
1012
|
+
)
|
|
1013
|
+
(
|
|
1014
|
+
api_endpoint,
|
|
1015
|
+
cert_source,
|
|
1016
|
+
) = client_class.get_mtls_endpoint_and_cert_source(options)
|
|
1017
|
+
assert api_endpoint == mock_api_endpoint
|
|
1018
|
+
assert cert_source is expected_cert_source
|
|
1019
|
+
|
|
1020
|
+
# Test cases for mTLS enablement when GOOGLE_API_USE_CLIENT_CERTIFICATE is unset(empty).
|
|
1021
|
+
test_cases = [
|
|
1022
|
+
(
|
|
1023
|
+
# With workloads present in config, mTLS is enabled.
|
|
1024
|
+
{
|
|
1025
|
+
"version": 1,
|
|
1026
|
+
"cert_configs": {
|
|
1027
|
+
"workload": {
|
|
1028
|
+
"cert_path": "path/to/cert/file",
|
|
1029
|
+
"key_path": "path/to/key/file",
|
|
1030
|
+
}
|
|
1031
|
+
},
|
|
1032
|
+
},
|
|
1033
|
+
mock_client_cert_source,
|
|
1034
|
+
),
|
|
1035
|
+
(
|
|
1036
|
+
# With workloads not present in config, mTLS is disabled.
|
|
1037
|
+
{
|
|
1038
|
+
"version": 1,
|
|
1039
|
+
"cert_configs": {},
|
|
1040
|
+
},
|
|
1041
|
+
None,
|
|
1042
|
+
),
|
|
1043
|
+
]
|
|
1044
|
+
if hasattr(google.auth.transport.mtls, "should_use_client_cert"):
|
|
1045
|
+
for config_data, expected_cert_source in test_cases:
|
|
1046
|
+
env = os.environ.copy()
|
|
1047
|
+
env.pop("GOOGLE_API_USE_CLIENT_CERTIFICATE", "")
|
|
1048
|
+
with mock.patch.dict(os.environ, env, clear=True):
|
|
1049
|
+
config_filename = "mock_certificate_config.json"
|
|
1050
|
+
config_file_content = json.dumps(config_data)
|
|
1051
|
+
m = mock.mock_open(read_data=config_file_content)
|
|
1052
|
+
with mock.patch("builtins.open", m):
|
|
1053
|
+
with mock.patch.dict(
|
|
1054
|
+
os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename}
|
|
1055
|
+
):
|
|
1056
|
+
mock_api_endpoint = "foo"
|
|
1057
|
+
options = client_options.ClientOptions(
|
|
1058
|
+
client_cert_source=mock_client_cert_source,
|
|
1059
|
+
api_endpoint=mock_api_endpoint,
|
|
1060
|
+
)
|
|
1061
|
+
(
|
|
1062
|
+
api_endpoint,
|
|
1063
|
+
cert_source,
|
|
1064
|
+
) = client_class.get_mtls_endpoint_and_cert_source(options)
|
|
1065
|
+
assert api_endpoint == mock_api_endpoint
|
|
1066
|
+
assert cert_source is expected_cert_source
|
|
1067
|
+
|
|
860
1068
|
# Test the case GOOGLE_API_USE_MTLS_ENDPOINT is "never".
|
|
861
1069
|
with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}):
|
|
862
1070
|
api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source()
|
|
@@ -907,18 +1115,6 @@ def test_secure_source_manager_client_get_mtls_endpoint_and_cert_source(client_c
|
|
|
907
1115
|
== "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`"
|
|
908
1116
|
)
|
|
909
1117
|
|
|
910
|
-
# Check the case GOOGLE_API_USE_CLIENT_CERTIFICATE has unsupported value.
|
|
911
|
-
with mock.patch.dict(
|
|
912
|
-
os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}
|
|
913
|
-
):
|
|
914
|
-
with pytest.raises(ValueError) as excinfo:
|
|
915
|
-
client_class.get_mtls_endpoint_and_cert_source()
|
|
916
|
-
|
|
917
|
-
assert (
|
|
918
|
-
str(excinfo.value)
|
|
919
|
-
== "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
|
|
920
|
-
)
|
|
921
|
-
|
|
922
1118
|
|
|
923
1119
|
@pytest.mark.parametrize(
|
|
924
1120
|
"client_class", [SecureSourceManagerClient, SecureSourceManagerAsyncClient]
|
|
@@ -44504,6 +44700,7 @@ def test_secure_source_manager_grpc_asyncio_transport_channel():
|
|
|
44504
44700
|
|
|
44505
44701
|
# Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are
|
|
44506
44702
|
# removed from grpc/grpc_asyncio transport constructor.
|
|
44703
|
+
@pytest.mark.filterwarnings("ignore::FutureWarning")
|
|
44507
44704
|
@pytest.mark.parametrize(
|
|
44508
44705
|
"transport_class",
|
|
44509
44706
|
[
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
__version__ = "0.1.17" # {x-release-please-version}
|
google_cloud_securesourcemanager-0.1.17/google/cloud/securesourcemanager_v1/gapic_version.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
__version__ = "0.1.17" # {x-release-please-version}
|
|
File without changes
|
{google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/MANIFEST.in
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/setup.cfg
RENAMED
|
File without changes
|
{google_cloud_securesourcemanager-0.1.17 → google_cloud_securesourcemanager-0.3.0}/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|