Skip to content
This repository was archived by the owner on Oct 29, 2023. It is now read-only.

Commit b6df5e4

Browse files
chore: use gapic-generator-python 0.58.4 (#227)
- [ ] Regenerate this pull request now. fix: provide appropriate mock values for message body fields committer: dovs PiperOrigin-RevId: 419025932 Source-Link: googleapis/googleapis@73da669 Source-Link: https://github.com/googleapis/googleapis-gen/commit/46df624a54b9ed47c1a7eefb7a49413cf7b82f98 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDZkZjYyNGE1NGI5ZWQ0N2MxYTdlZWZiN2E0OTQxM2NmN2I4MmY5OCJ9 fix(deps): require google-api-core>=1.28.0 fix(deps): require proto-plus>=1.15.0 fix(deps): drop packaging dependency docs: list oneofs in docstring
1 parent 4971166 commit b6df5e4

File tree

10 files changed

+414
-437
lines changed

10 files changed

+414
-437
lines changed

google/cloud/iot_v1/services/device_manager/async_client.py

Lines changed: 66 additions & 61 deletions
Large diffs are not rendered by default.

google/cloud/iot_v1/services/device_manager/client.py

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,26 @@
1414
# limitations under the License.
1515
#
1616
from collections import OrderedDict
17-
from distutils import util
1817
import os
1918
import re
2019
from typing import Dict, Optional, Sequence, Tuple, Type, Union
2120
import pkg_resources
2221

23-
from google.api_core import client_options as client_options_lib # type: ignore
24-
from google.api_core import exceptions as core_exceptions # type: ignore
25-
from google.api_core import gapic_v1 # type: ignore
26-
from google.api_core import retry as retries # type: ignore
22+
from google.api_core import client_options as client_options_lib
23+
from google.api_core import exceptions as core_exceptions
24+
from google.api_core import gapic_v1
25+
from google.api_core import retry as retries
2726
from google.auth import credentials as ga_credentials # type: ignore
2827
from google.auth.transport import mtls # type: ignore
2928
from google.auth.transport.grpc import SslCredentials # type: ignore
3029
from google.auth.exceptions import MutualTLSChannelError # type: ignore
3130
from google.oauth2 import service_account # type: ignore
3231

32+
try:
33+
OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault]
34+
except AttributeError: # pragma: NO COVER
35+
OptionalRetry = Union[retries.Retry, object] # type: ignore
36+
3337
from google.cloud.iot_v1.services.device_manager import pagers
3438
from google.cloud.iot_v1.types import device_manager
3539
from google.cloud.iot_v1.types import resources
@@ -303,8 +307,15 @@ def __init__(
303307
client_options = client_options_lib.ClientOptions()
304308

305309
# Create SSL credentials for mutual TLS if needed.
306-
use_client_cert = bool(
307-
util.strtobool(os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false"))
310+
if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in (
311+
"true",
312+
"false",
313+
):
314+
raise ValueError(
315+
"Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`"
316+
)
317+
use_client_cert = (
318+
os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true"
308319
)
309320

310321
client_cert_source_func = None
@@ -375,7 +386,7 @@ def create_device_registry(
375386
*,
376387
parent: str = None,
377388
device_registry: resources.DeviceRegistry = None,
378-
retry: retries.Retry = gapic_v1.method.DEFAULT,
389+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
379390
timeout: float = None,
380391
metadata: Sequence[Tuple[str, str]] = (),
381392
) -> resources.DeviceRegistry:
@@ -455,7 +466,7 @@ def get_device_registry(
455466
request: Union[device_manager.GetDeviceRegistryRequest, dict] = None,
456467
*,
457468
name: str = None,
458-
retry: retries.Retry = gapic_v1.method.DEFAULT,
469+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
459470
timeout: float = None,
460471
metadata: Sequence[Tuple[str, str]] = (),
461472
) -> resources.DeviceRegistry:
@@ -524,7 +535,7 @@ def update_device_registry(
524535
*,
525536
device_registry: resources.DeviceRegistry = None,
526537
update_mask: field_mask_pb2.FieldMask = None,
527-
retry: retries.Retry = gapic_v1.method.DEFAULT,
538+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
528539
timeout: float = None,
529540
metadata: Sequence[Tuple[str, str]] = (),
530541
) -> resources.DeviceRegistry:
@@ -609,7 +620,7 @@ def delete_device_registry(
609620
request: Union[device_manager.DeleteDeviceRegistryRequest, dict] = None,
610621
*,
611622
name: str = None,
612-
retry: retries.Retry = gapic_v1.method.DEFAULT,
623+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
613624
timeout: float = None,
614625
metadata: Sequence[Tuple[str, str]] = (),
615626
) -> None:
@@ -672,7 +683,7 @@ def list_device_registries(
672683
request: Union[device_manager.ListDeviceRegistriesRequest, dict] = None,
673684
*,
674685
parent: str = None,
675-
retry: retries.Retry = gapic_v1.method.DEFAULT,
686+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
676687
timeout: float = None,
677688
metadata: Sequence[Tuple[str, str]] = (),
678689
) -> pagers.ListDeviceRegistriesPager:
@@ -752,7 +763,7 @@ def create_device(
752763
*,
753764
parent: str = None,
754765
device: resources.Device = None,
755-
retry: retries.Retry = gapic_v1.method.DEFAULT,
766+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
756767
timeout: float = None,
757768
metadata: Sequence[Tuple[str, str]] = (),
758769
) -> resources.Device:
@@ -832,7 +843,7 @@ def get_device(
832843
request: Union[device_manager.GetDeviceRequest, dict] = None,
833844
*,
834845
name: str = None,
835-
retry: retries.Retry = gapic_v1.method.DEFAULT,
846+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
836847
timeout: float = None,
837848
metadata: Sequence[Tuple[str, str]] = (),
838849
) -> resources.Device:
@@ -903,7 +914,7 @@ def update_device(
903914
*,
904915
device: resources.Device = None,
905916
update_mask: field_mask_pb2.FieldMask = None,
906-
retry: retries.Retry = gapic_v1.method.DEFAULT,
917+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
907918
timeout: float = None,
908919
metadata: Sequence[Tuple[str, str]] = (),
909920
) -> resources.Device:
@@ -988,7 +999,7 @@ def delete_device(
988999
request: Union[device_manager.DeleteDeviceRequest, dict] = None,
9891000
*,
9901001
name: str = None,
991-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1002+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
9921003
timeout: float = None,
9931004
metadata: Sequence[Tuple[str, str]] = (),
9941005
) -> None:
@@ -1053,7 +1064,7 @@ def list_devices(
10531064
request: Union[device_manager.ListDevicesRequest, dict] = None,
10541065
*,
10551066
parent: str = None,
1056-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1067+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
10571068
timeout: float = None,
10581069
metadata: Sequence[Tuple[str, str]] = (),
10591070
) -> pagers.ListDevicesPager:
@@ -1133,7 +1144,7 @@ def modify_cloud_to_device_config(
11331144
*,
11341145
name: str = None,
11351146
binary_data: bytes = None,
1136-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1147+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
11371148
timeout: float = None,
11381149
metadata: Sequence[Tuple[str, str]] = (),
11391150
) -> resources.DeviceConfig:
@@ -1219,7 +1230,7 @@ def list_device_config_versions(
12191230
request: Union[device_manager.ListDeviceConfigVersionsRequest, dict] = None,
12201231
*,
12211232
name: str = None,
1222-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1233+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
12231234
timeout: float = None,
12241235
metadata: Sequence[Tuple[str, str]] = (),
12251236
) -> device_manager.ListDeviceConfigVersionsResponse:
@@ -1293,7 +1304,7 @@ def list_device_states(
12931304
request: Union[device_manager.ListDeviceStatesRequest, dict] = None,
12941305
*,
12951306
name: str = None,
1296-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1307+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
12971308
timeout: float = None,
12981309
metadata: Sequence[Tuple[str, str]] = (),
12991310
) -> device_manager.ListDeviceStatesResponse:
@@ -1364,7 +1375,7 @@ def set_iam_policy(
13641375
request: Union[iam_policy_pb2.SetIamPolicyRequest, dict] = None,
13651376
*,
13661377
resource: str = None,
1367-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1378+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
13681379
timeout: float = None,
13691380
metadata: Sequence[Tuple[str, str]] = (),
13701381
) -> policy_pb2.Policy:
@@ -1490,7 +1501,7 @@ def get_iam_policy(
14901501
request: Union[iam_policy_pb2.GetIamPolicyRequest, dict] = None,
14911502
*,
14921503
resource: str = None,
1493-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1504+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
14941505
timeout: float = None,
14951506
metadata: Sequence[Tuple[str, str]] = (),
14961507
) -> policy_pb2.Policy:
@@ -1618,7 +1629,7 @@ def test_iam_permissions(
16181629
*,
16191630
resource: str = None,
16201631
permissions: Sequence[str] = None,
1621-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1632+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
16221633
timeout: float = None,
16231634
metadata: Sequence[Tuple[str, str]] = (),
16241635
) -> iam_policy_pb2.TestIamPermissionsResponse:
@@ -1703,7 +1714,7 @@ def send_command_to_device(
17031714
name: str = None,
17041715
binary_data: bytes = None,
17051716
subfolder: str = None,
1706-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1717+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
17071718
timeout: float = None,
17081719
metadata: Sequence[Tuple[str, str]] = (),
17091720
) -> device_manager.SendCommandToDeviceResponse:
@@ -1817,7 +1828,7 @@ def bind_device_to_gateway(
18171828
parent: str = None,
18181829
gateway_id: str = None,
18191830
device_id: str = None,
1820-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1831+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
18211832
timeout: float = None,
18221833
metadata: Sequence[Tuple[str, str]] = (),
18231834
) -> device_manager.BindDeviceToGatewayResponse:
@@ -1906,7 +1917,7 @@ def unbind_device_from_gateway(
19061917
parent: str = None,
19071918
gateway_id: str = None,
19081919
device_id: str = None,
1909-
retry: retries.Retry = gapic_v1.method.DEFAULT,
1920+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
19101921
timeout: float = None,
19111922
metadata: Sequence[Tuple[str, str]] = (),
19121923
) -> device_manager.UnbindDeviceFromGatewayResponse:

google/cloud/iot_v1/services/device_manager/transports/base.py

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
#
1616
import abc
1717
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
18-
import packaging.version
1918
import pkg_resources
2019

2120
import google.auth # type: ignore
22-
import google.api_core # type: ignore
23-
from google.api_core import exceptions as core_exceptions # type: ignore
24-
from google.api_core import gapic_v1 # type: ignore
25-
from google.api_core import retry as retries # type: ignore
21+
import google.api_core
22+
from google.api_core import exceptions as core_exceptions
23+
from google.api_core import gapic_v1
24+
from google.api_core import retry as retries
2625
from google.auth import credentials as ga_credentials # type: ignore
2726
from google.oauth2 import service_account # type: ignore
2827

@@ -39,15 +38,6 @@
3938
except pkg_resources.DistributionNotFound:
4039
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo()
4140

42-
try:
43-
# google.auth.__version__ was added in 1.26.0
44-
_GOOGLE_AUTH_VERSION = google.auth.__version__
45-
except AttributeError:
46-
try: # try pkg_resources if it is available
47-
_GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version
48-
except pkg_resources.DistributionNotFound: # pragma: NO COVER
49-
_GOOGLE_AUTH_VERSION = None
50-
5141

5242
class DeviceManagerTransport(abc.ABC):
5343
"""Abstract transport class for DeviceManager."""
@@ -100,7 +90,7 @@ def __init__(
10090
host += ":443"
10191
self._host = host
10292

103-
scopes_kwargs = self._get_scopes_kwargs(self._host, scopes)
93+
scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES}
10494

10595
# Save the scopes.
10696
self._scopes = scopes
@@ -116,7 +106,6 @@ def __init__(
116106
credentials, _ = google.auth.load_credentials_from_file(
117107
credentials_file, **scopes_kwargs, quota_project_id=quota_project_id
118108
)
119-
120109
elif credentials is None:
121110
credentials, _ = google.auth.default(
122111
**scopes_kwargs, quota_project_id=quota_project_id
@@ -133,29 +122,6 @@ def __init__(
133122
# Save the credentials.
134123
self._credentials = credentials
135124

136-
# TODO(busunkim): This method is in the base transport
137-
# to avoid duplicating code across the transport classes. These functions
138-
# should be deleted once the minimum required versions of google-auth is increased.
139-
140-
# TODO: Remove this function once google-auth >= 1.25.0 is required
141-
@classmethod
142-
def _get_scopes_kwargs(
143-
cls, host: str, scopes: Optional[Sequence[str]]
144-
) -> Dict[str, Optional[Sequence[str]]]:
145-
"""Returns scopes kwargs to pass to google-auth methods depending on the google-auth version"""
146-
147-
scopes_kwargs = {}
148-
149-
if _GOOGLE_AUTH_VERSION and (
150-
packaging.version.parse(_GOOGLE_AUTH_VERSION)
151-
>= packaging.version.parse("1.25.0")
152-
):
153-
scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES}
154-
else:
155-
scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES}
156-
157-
return scopes_kwargs
158-
159125
def _prep_wrapped_messages(self, client_info):
160126
# Precompute the wrapped methods.
161127
self._wrapped_methods = {

google/cloud/iot_v1/services/device_manager/transports/grpc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import warnings
1717
from typing import Callable, Dict, Optional, Sequence, Tuple, Union
1818

19-
from google.api_core import grpc_helpers # type: ignore
20-
from google.api_core import gapic_v1 # type: ignore
19+
from google.api_core import grpc_helpers
20+
from google.api_core import gapic_v1
2121
import google.auth # type: ignore
2222
from google.auth import credentials as ga_credentials # type: ignore
2323
from google.auth.transport.grpc import SslCredentials # type: ignore

google/cloud/iot_v1/services/device_manager/transports/grpc_asyncio.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
import warnings
1717
from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union
1818

19-
from google.api_core import gapic_v1 # type: ignore
20-
from google.api_core import grpc_helpers_async # type: ignore
19+
from google.api_core import gapic_v1
20+
from google.api_core import grpc_helpers_async
2121
from google.auth import credentials as ga_credentials # type: ignore
2222
from google.auth.transport.grpc import SslCredentials # type: ignore
23-
import packaging.version
2423

2524
import grpc # type: ignore
2625
from grpc.experimental import aio # type: ignore

google/cloud/iot_v1/types/device_manager.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,24 +292,37 @@ class GatewayListOptions(proto.Message):
292292
r"""Options for limiting the list based on gateway type and
293293
associations.
294294
295+
This message has `oneof`_ fields (mutually exclusive fields).
296+
For each oneof, at most one member field can be set at the same time.
297+
Setting any member of the oneof automatically clears all other
298+
members.
299+
300+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
301+
295302
Attributes:
296303
gateway_type (google.cloud.iot_v1.types.GatewayType):
297304
If ``GATEWAY`` is specified, only gateways are returned. If
298305
``NON_GATEWAY`` is specified, only non-gateway devices are
299306
returned. If ``GATEWAY_TYPE_UNSPECIFIED`` is specified, all
300307
devices are returned.
308+
309+
This field is a member of `oneof`_ ``filter``.
301310
associations_gateway_id (str):
302311
If set, only devices associated with the specified gateway
303312
are returned. The gateway ID can be numeric (``num_id``) or
304313
the user-defined string (``id``). For example, if ``123`` is
305314
specified, only devices bound to the gateway with ``num_id``
306315
123 are returned.
316+
317+
This field is a member of `oneof`_ ``filter``.
307318
associations_device_id (str):
308319
If set, returns only the gateways with which the specified
309320
device is associated. The device ID can be numeric
310321
(``num_id``) or the user-defined string (``id``). For
311322
example, if ``456`` is specified, returns only the gateways
312323
to which the device with ``num_id`` 456 is bound.
324+
325+
This field is a member of `oneof`_ ``filter``.
313326
"""
314327

315328
gateway_type = proto.Field(

google/cloud/iot_v1/types/resources.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,15 @@ class RegistryCredential(proto.Message):
418418
r"""A server-stored registry credential used to validate device
419419
credentials.
420420
421+
422+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
423+
421424
Attributes:
422425
public_key_certificate (google.cloud.iot_v1.types.PublicKeyCertificate):
423426
A public key certificate used to verify the
424427
device credentials.
428+
429+
This field is a member of `oneof`_ ``credential``.
425430
"""
426431

427432
public_key_certificate = proto.Field(
@@ -480,6 +485,8 @@ class PublicKeyCertificate(proto.Message):
480485
class DeviceCredential(proto.Message):
481486
r"""A server-stored device credential used for authentication.
482487
488+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
489+
483490
Attributes:
484491
public_key (google.cloud.iot_v1.types.PublicKeyCredential):
485492
A public key used to verify the signature of
@@ -498,6 +505,8 @@ class DeviceCredential(proto.Message):
498505
keys will be accepted. New device credentials
499506
must be different from every registry-level
500507
certificate.
508+
509+
This field is a member of `oneof`_ ``credential``.
501510
expiration_time (google.protobuf.timestamp_pb2.Timestamp):
502511
[Optional] The time at which this credential becomes
503512
invalid. This credential will be ignored for new client

0 commit comments

Comments
 (0)