diff --git a/.flake8 b/.flake8 index 29227d4..2e43874 100644 --- a/.flake8 +++ b/.flake8 @@ -16,7 +16,7 @@ # Generated by synthtool. DO NOT EDIT! [flake8] -ignore = E203, E266, E501, W503 +ignore = E203, E231, E266, E501, W503 exclude = # Exclude generated code. **/proto/** diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 44c78f7..757c9dc 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:4e1991042fe54b991db9ca17c8fb386e61b22fe4d1472a568bf0fcac85dcf5d3 + digest: sha256:81ed5ecdfc7cac5b699ba4537376f3563f6f04122c4ec9e735d3b3dc1d43dd32 +# created: 2022-05-05T22:08:23.383410683Z diff --git a/.github/auto-approve.yml b/.github/auto-approve.yml new file mode 100644 index 0000000..311ebbb --- /dev/null +++ b/.github/auto-approve.yml @@ -0,0 +1,3 @@ +# https://github.com/googleapis/repo-automation-bots/tree/main/packages/auto-approve +processes: + - "OwlBotTemplateChanges" diff --git a/.github/auto-label.yaml b/.github/auto-label.yaml new file mode 100644 index 0000000..41bff0b --- /dev/null +++ b/.github/auto-label.yaml @@ -0,0 +1,15 @@ +# Copyright 2022 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +requestsize: + enabled: true diff --git a/.github/release-please.yml b/.github/release-please.yml index 466597e..6def37a 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1,2 +1,8 @@ releaseType: python handleGHRelease: true +# NOTE: this section is generated by synthtool.languages.python +# See https://github.com/googleapis/synthtool/blob/master/synthtool/languages/python.py +branches: +- branch: v0 + handleGHRelease: true + releaseType: python diff --git a/.kokoro/docker/docs/Dockerfile b/.kokoro/docker/docs/Dockerfile index 4e1b1fb..238b87b 100644 --- a/.kokoro/docker/docs/Dockerfile +++ b/.kokoro/docker/docs/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ubuntu:20.04 +from ubuntu:22.04 ENV DEBIAN_FRONTEND noninteractive @@ -60,8 +60,24 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/cache/apt/archives/*.deb +###################### Install python 3.8.11 + +# Download python 3.8.11 +RUN wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz + +# Extract files +RUN tar -xvf Python-3.8.11.tgz + +# Install python 3.8.11 +RUN ./Python-3.8.11/configure --enable-optimizations +RUN make altinstall + +###################### Install pip RUN wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ - && python3.8 /tmp/get-pip.py \ + && python3 /tmp/get-pip.py \ && rm /tmp/get-pip.py +# Test pip +RUN python3 -m pip + CMD ["python3.8"] diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 62eb5a7..46d2371 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,7 +22,7 @@ repos: - id: end-of-file-fixer - id: check-yaml - repo: https://github.com/psf/black - rev: 19.10b0 + rev: 22.3.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d08193..33a8ae9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # Changelog -### [1.4.1](https://github.com/googleapis/python-managed-identities/compare/v1.4.0...v1.4.1) (2022-03-05) +## [1.4.2](https://github.com/googleapis/python-managed-identities/compare/v1.4.1...v1.4.2) (2022-06-03) + + +### Bug Fixes + +* **deps:** require protobuf <4.0.0dev ([#146](https://github.com/googleapis/python-managed-identities/issues/146)) ([fb8eaf8](https://github.com/googleapis/python-managed-identities/commit/fb8eaf8ee5f16bffeb4335fd52134a313c98eef9)) + + +### Documentation + +* fix changelog header to consistent size ([#145](https://github.com/googleapis/python-managed-identities/issues/145)) ([5549f26](https://github.com/googleapis/python-managed-identities/commit/5549f264cce65c9ff59e859690ee76f1a96c2c05)) + +## [1.4.1](https://github.com/googleapis/python-managed-identities/compare/v1.4.0...v1.4.1) (2022-03-05) ### Bug Fixes @@ -21,7 +33,7 @@ * **deps:** remove unused dependency libcst ([#109](https://github.com/googleapis/python-managed-identities/issues/109)) ([8d92706](https://github.com/googleapis/python-managed-identities/commit/8d9270668ae4f9ee090d84559e45f6ba4d1756eb)) * resolve DuplicateCredentialArgs error when using credentials_file ([ed0bec5](https://github.com/googleapis/python-managed-identities/commit/ed0bec5588b9e0809d37e7902a375ce776ecdfc5)) -### [1.3.1](https://www.github.com/googleapis/python-managed-identities/compare/v1.3.0...v1.3.1) (2021-11-01) +## [1.3.1](https://www.github.com/googleapis/python-managed-identities/compare/v1.3.0...v1.3.1) (2021-11-01) ### Bug Fixes @@ -48,21 +60,21 @@ * add context manager support in client ([#78](https://www.github.com/googleapis/python-managed-identities/issues/78)) ([9cad312](https://www.github.com/googleapis/python-managed-identities/commit/9cad312b3673009f8bcd6b51c8a24fe5dda468f0)) -### [1.1.3](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.2...v1.1.3) (2021-09-30) +## [1.1.3](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.2...v1.1.3) (2021-09-30) ### Bug Fixes * improper types in pagers generation ([4d42021](https://www.github.com/googleapis/python-managed-identities/commit/4d4202106eb7ed5af809a96f823e4b8067709f6e)) -### [1.1.2](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.1...v1.1.2) (2021-09-24) +## [1.1.2](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.1...v1.1.2) (2021-09-24) ### Bug Fixes * add 'dict' annotation type to 'request' ([9da978a](https://www.github.com/googleapis/python-managed-identities/commit/9da978af7a5e95cbc6edae861978ed492797a0c9)) -### [1.1.1](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.0...v1.1.1) (2021-07-26) +## [1.1.1](https://www.github.com/googleapis/python-managed-identities/compare/v1.1.0...v1.1.1) (2021-07-26) ### Bug Fixes diff --git a/docs/conf.py b/docs/conf.py index 592ac6f..6a78048 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,9 +24,9 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os import shlex +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the @@ -361,7 +361,10 @@ intersphinx_mapping = { "python": ("https://python.readthedocs.org/en/latest/", None), "google-auth": ("https://googleapis.dev/python/google-auth/latest/", None), - "google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None,), + "google.api_core": ( + "https://googleapis.dev/python/google-api-core/latest/", + None, + ), "grpc": ("https://grpc.github.io/grpc/python/", None), "proto-plus": ("https://proto-plus-python.readthedocs.io/en/latest/", None), "protobuf": ("https://googleapis.dev/python/protobuf/latest/", None), diff --git a/google/cloud/managedidentities/__init__.py b/google/cloud/managedidentities/__init__.py index ea0c2de..840c7bd 100644 --- a/google/cloud/managedidentities/__init__.py +++ b/google/cloud/managedidentities/__init__.py @@ -14,54 +14,28 @@ # limitations under the License. # -from google.cloud.managedidentities_v1.services.managed_identities_service.client import ( - ManagedIdentitiesServiceClient, -) from google.cloud.managedidentities_v1.services.managed_identities_service.async_client import ( ManagedIdentitiesServiceAsyncClient, ) - -from google.cloud.managedidentities_v1.types.managed_identities_service import ( - AttachTrustRequest, +from google.cloud.managedidentities_v1.services.managed_identities_service.client import ( + ManagedIdentitiesServiceClient, ) from google.cloud.managedidentities_v1.types.managed_identities_service import ( + AttachTrustRequest, CreateMicrosoftAdDomainRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( DeleteDomainRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( DetachTrustRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( GetDomainRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ListDomainsRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ListDomainsResponse, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( OpMetadata, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ReconfigureTrustRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ResetAdminPasswordRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ResetAdminPasswordResponse, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( UpdateDomainRequest, -) -from google.cloud.managedidentities_v1.types.managed_identities_service import ( ValidateTrustRequest, ) -from google.cloud.managedidentities_v1.types.resource import Domain -from google.cloud.managedidentities_v1.types.resource import Trust +from google.cloud.managedidentities_v1.types.resource import Domain, Trust __all__ = ( "ManagedIdentitiesServiceClient", diff --git a/google/cloud/managedidentities_v1/__init__.py b/google/cloud/managedidentities_v1/__init__.py index 33c51d1..c9a31bf 100644 --- a/google/cloud/managedidentities_v1/__init__.py +++ b/google/cloud/managedidentities_v1/__init__.py @@ -14,24 +14,26 @@ # limitations under the License. # -from .services.managed_identities_service import ManagedIdentitiesServiceClient -from .services.managed_identities_service import ManagedIdentitiesServiceAsyncClient - -from .types.managed_identities_service import AttachTrustRequest -from .types.managed_identities_service import CreateMicrosoftAdDomainRequest -from .types.managed_identities_service import DeleteDomainRequest -from .types.managed_identities_service import DetachTrustRequest -from .types.managed_identities_service import GetDomainRequest -from .types.managed_identities_service import ListDomainsRequest -from .types.managed_identities_service import ListDomainsResponse -from .types.managed_identities_service import OpMetadata -from .types.managed_identities_service import ReconfigureTrustRequest -from .types.managed_identities_service import ResetAdminPasswordRequest -from .types.managed_identities_service import ResetAdminPasswordResponse -from .types.managed_identities_service import UpdateDomainRequest -from .types.managed_identities_service import ValidateTrustRequest -from .types.resource import Domain -from .types.resource import Trust +from .services.managed_identities_service import ( + ManagedIdentitiesServiceAsyncClient, + ManagedIdentitiesServiceClient, +) +from .types.managed_identities_service import ( + AttachTrustRequest, + CreateMicrosoftAdDomainRequest, + DeleteDomainRequest, + DetachTrustRequest, + GetDomainRequest, + ListDomainsRequest, + ListDomainsResponse, + OpMetadata, + ReconfigureTrustRequest, + ResetAdminPasswordRequest, + ResetAdminPasswordResponse, + UpdateDomainRequest, + ValidateTrustRequest, +) +from .types.resource import Domain, Trust __all__ = ( "ManagedIdentitiesServiceAsyncClient", diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/__init__.py b/google/cloud/managedidentities_v1/services/managed_identities_service/__init__.py index 18307af..99bfad2 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/__init__.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/__init__.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .client import ManagedIdentitiesServiceClient from .async_client import ManagedIdentitiesServiceAsyncClient +from .client import ManagedIdentitiesServiceClient __all__ = ( "ManagedIdentitiesServiceClient", diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/async_client.py b/google/cloud/managedidentities_v1/services/managed_identities_service/async_client.py index 726163c..413bcf4 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/async_client.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/async_client.py @@ -16,15 +16,15 @@ from collections import OrderedDict import functools import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries +from google.api_core.client_options import ClientOptions from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] @@ -33,15 +33,16 @@ from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore -from google.cloud.managedidentities_v1.services.managed_identities_service import pagers -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore -from .transports.base import ManagedIdentitiesServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import ManagedIdentitiesServiceGrpcAsyncIOTransport + +from google.cloud.managedidentities_v1.services.managed_identities_service import pagers +from google.cloud.managedidentities_v1.types import managed_identities_service, resource + from .client import ManagedIdentitiesServiceClient +from .transports.base import DEFAULT_CLIENT_INFO, ManagedIdentitiesServiceTransport +from .transports.grpc_asyncio import ManagedIdentitiesServiceGrpcAsyncIOTransport class ManagedIdentitiesServiceAsyncClient: @@ -267,9 +268,9 @@ async def create_microsoft_ad_domain( from google.cloud import managedidentities_v1 - def sample_create_microsoft_ad_domain(): + async def sample_create_microsoft_ad_domain(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) domain = managedidentities_v1.Domain() @@ -288,7 +289,7 @@ def sample_create_microsoft_ad_domain(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -381,7 +382,12 @@ def sample_create_microsoft_ad_domain(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -411,9 +417,9 @@ async def reset_admin_password( from google.cloud import managedidentities_v1 - def sample_reset_admin_password(): + async def sample_reset_admin_password(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) request = managedidentities_v1.ResetAdminPasswordRequest( @@ -421,7 +427,7 @@ def sample_reset_admin_password(): ) # Make the request - response = client.reset_admin_password(request=request) + response = await client.reset_admin_password(request=request) # Handle the response print(response) @@ -481,7 +487,12 @@ def sample_reset_admin_password(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -501,9 +512,9 @@ async def list_domains( from google.cloud import managedidentities_v1 - def sample_list_domains(): + async def sample_list_domains(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) request = managedidentities_v1.ListDomainsRequest( @@ -514,7 +525,7 @@ def sample_list_domains(): page_result = client.list_domains(request=request) # Handle the response - for response in page_result: + async for response in page_result: print(response) Args: @@ -575,12 +586,20 @@ def sample_list_domains(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # This method is paged; wrap the response in a pager, which provides # an `__aiter__` convenience method. response = pagers.ListDomainsAsyncPager( - method=rpc, request=request, response=response, metadata=metadata, + method=rpc, + request=request, + response=response, + metadata=metadata, ) # Done; return the response. @@ -601,9 +620,9 @@ async def get_domain( from google.cloud import managedidentities_v1 - def sample_get_domain(): + async def sample_get_domain(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) request = managedidentities_v1.GetDomainRequest( @@ -611,7 +630,7 @@ def sample_get_domain(): ) # Make the request - response = client.get_domain(request=request) + response = await client.get_domain(request=request) # Handle the response print(response) @@ -671,7 +690,12 @@ def sample_get_domain(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -692,9 +716,9 @@ async def update_domain( from google.cloud import managedidentities_v1 - def sample_update_domain(): + async def sample_update_domain(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) domain = managedidentities_v1.Domain() @@ -711,7 +735,7 @@ def sample_update_domain(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -791,7 +815,12 @@ def sample_update_domain(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -819,9 +848,9 @@ async def delete_domain( from google.cloud import managedidentities_v1 - def sample_delete_domain(): + async def sample_delete_domain(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) request = managedidentities_v1.DeleteDomainRequest( @@ -833,7 +862,7 @@ def sample_delete_domain(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -906,7 +935,12 @@ def sample_delete_domain(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -935,9 +969,9 @@ async def attach_trust( from google.cloud import managedidentities_v1 - def sample_attach_trust(): + async def sample_attach_trust(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) trust = managedidentities_v1.Trust() @@ -957,7 +991,7 @@ def sample_attach_trust(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -1028,7 +1062,12 @@ def sample_attach_trust(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -1058,9 +1097,9 @@ async def reconfigure_trust( from google.cloud import managedidentities_v1 - def sample_reconfigure_trust(): + async def sample_reconfigure_trust(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) request = managedidentities_v1.ReconfigureTrustRequest( @@ -1074,7 +1113,7 @@ def sample_reconfigure_trust(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -1158,7 +1197,12 @@ def sample_reconfigure_trust(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -1187,9 +1231,9 @@ async def detach_trust( from google.cloud import managedidentities_v1 - def sample_detach_trust(): + async def sample_detach_trust(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) trust = managedidentities_v1.Trust() @@ -1209,7 +1253,7 @@ def sample_detach_trust(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -1282,7 +1326,12 @@ def sample_detach_trust(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( @@ -1309,14 +1358,13 @@ async def validate_trust( reachable, and that the target domain is able to accept incoming trust requests. - .. code-block:: python from google.cloud import managedidentities_v1 - def sample_validate_trust(): + async def sample_validate_trust(): # Create a client - client = managedidentities_v1.ManagedIdentitiesServiceClient() + client = managedidentities_v1.ManagedIdentitiesServiceAsyncClient() # Initialize request argument(s) trust = managedidentities_v1.Trust() @@ -1336,7 +1384,7 @@ def sample_validate_trust(): print("Waiting for operation to complete...") - response = operation.result() + response = await operation.result() # Handle the response print(response) @@ -1409,7 +1457,12 @@ def sample_validate_trust(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation_async.from_gapic( diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/client.py b/google/cloud/managedidentities_v1/services/managed_identities_service/client.py index d8fb78d..b067c05 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/client.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/client.py @@ -16,18 +16,18 @@ from collections import OrderedDict import os import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries from google.auth import credentials as ga_credentials # type: ignore +from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.auth.transport import mtls # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] @@ -36,13 +36,14 @@ from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore -from google.cloud.managedidentities_v1.services.managed_identities_service import pagers -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore -from .transports.base import ManagedIdentitiesServiceTransport, DEFAULT_CLIENT_INFO + +from google.cloud.managedidentities_v1.services.managed_identities_service import pagers +from google.cloud.managedidentities_v1.types import managed_identities_service, resource + +from .transports.base import DEFAULT_CLIENT_INFO, ManagedIdentitiesServiceTransport from .transports.grpc import ManagedIdentitiesServiceGrpcTransport from .transports.grpc_asyncio import ManagedIdentitiesServiceGrpcAsyncIOTransport @@ -62,7 +63,8 @@ class ManagedIdentitiesServiceClientMeta(type): _transport_registry["grpc_asyncio"] = ManagedIdentitiesServiceGrpcAsyncIOTransport def get_transport_class( - cls, label: str = None, + cls, + label: str = None, ) -> Type[ManagedIdentitiesServiceTransport]: """Returns an appropriate transport class. @@ -203,10 +205,16 @@ def transport(self) -> ManagedIdentitiesServiceTransport: return self._transport @staticmethod - def domain_path(project: str, location: str, domain: str,) -> str: + def domain_path( + project: str, + location: str, + domain: str, + ) -> str: """Returns a fully-qualified domain string.""" return "projects/{project}/locations/{location}/domains/{domain}".format( - project=project, location=location, domain=domain, + project=project, + location=location, + domain=domain, ) @staticmethod @@ -219,7 +227,9 @@ def parse_domain_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_billing_account_path(billing_account: str,) -> str: + def common_billing_account_path( + billing_account: str, + ) -> str: """Returns a fully-qualified billing_account string.""" return "billingAccounts/{billing_account}".format( billing_account=billing_account, @@ -232,9 +242,13 @@ def parse_common_billing_account_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_folder_path(folder: str,) -> str: + def common_folder_path( + folder: str, + ) -> str: """Returns a fully-qualified folder string.""" - return "folders/{folder}".format(folder=folder,) + return "folders/{folder}".format( + folder=folder, + ) @staticmethod def parse_common_folder_path(path: str) -> Dict[str, str]: @@ -243,9 +257,13 @@ def parse_common_folder_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_organization_path(organization: str,) -> str: + def common_organization_path( + organization: str, + ) -> str: """Returns a fully-qualified organization string.""" - return "organizations/{organization}".format(organization=organization,) + return "organizations/{organization}".format( + organization=organization, + ) @staticmethod def parse_common_organization_path(path: str) -> Dict[str, str]: @@ -254,9 +272,13 @@ def parse_common_organization_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_project_path(project: str,) -> str: + def common_project_path( + project: str, + ) -> str: """Returns a fully-qualified project string.""" - return "projects/{project}".format(project=project,) + return "projects/{project}".format( + project=project, + ) @staticmethod def parse_common_project_path(path: str) -> Dict[str, str]: @@ -265,10 +287,14 @@ def parse_common_project_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_location_path(project: str, location: str,) -> str: + def common_location_path( + project: str, + location: str, + ) -> str: """Returns a fully-qualified location string.""" return "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) @staticmethod @@ -579,7 +605,12 @@ def sample_create_microsoft_ad_domain(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -681,7 +712,12 @@ def sample_reset_admin_password(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -775,12 +811,20 @@ def sample_list_domains(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # This method is paged; wrap the response in a pager, which provides # an `__iter__` convenience method. response = pagers.ListDomainsPager( - method=rpc, request=request, response=response, metadata=metadata, + method=rpc, + request=request, + response=response, + metadata=metadata, ) # Done; return the response. @@ -871,7 +915,12 @@ def sample_get_domain(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -991,7 +1040,12 @@ def sample_update_domain(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -1106,7 +1160,12 @@ def sample_delete_domain(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -1228,7 +1287,12 @@ def sample_attach_trust(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -1358,7 +1422,12 @@ def sample_reconfigure_trust(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -1482,7 +1551,12 @@ def sample_detach_trust(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( @@ -1509,7 +1583,6 @@ def validate_trust( reachable, and that the target domain is able to accept incoming trust requests. - .. code-block:: python from google.cloud import managedidentities_v1 @@ -1609,7 +1682,12 @@ def sample_validate_trust(): ) # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Wrap the response in an operation future. response = operation.from_gapic( diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/pagers.py b/google/cloud/managedidentities_v1/services/managed_identities_service/pagers.py index 05f1413..e8c14d3 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/pagers.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/pagers.py @@ -18,14 +18,13 @@ AsyncIterator, Awaitable, Callable, + Iterator, + Optional, Sequence, Tuple, - Optional, - Iterator, ) -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource +from google.cloud.managedidentities_v1.types import managed_identities_service, resource class ListDomainsPager: diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/__init__.py b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/__init__.py index cc5e5d6..944572e 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/__init__.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/__init__.py @@ -20,7 +20,6 @@ from .grpc import ManagedIdentitiesServiceGrpcTransport from .grpc_asyncio import ManagedIdentitiesServiceGrpcAsyncIOTransport - # Compile a registry of transports. _transport_registry = ( OrderedDict() diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/base.py b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/base.py index 174fc56..4381a13 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/base.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/base.py @@ -15,20 +15,18 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources -import google.auth # type: ignore import google.api_core from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 +from google.api_core import gapic_v1, operations_v1 from google.api_core import retry as retries -from google.api_core import operations_v1 +import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore +from google.longrunning import operations_pb2 # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource -from google.longrunning import operations_pb2 # type: ignore +from google.cloud.managedidentities_v1.types import managed_identities_service, resource try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( @@ -83,6 +81,7 @@ def __init__( always_use_jwt_access (Optional[bool]): Whether self signed JWT should be used for service account credentials. """ + # Save the hostname. Default to port 443 (HTTPS) if none is specified. if ":" not in host: host += ":443" @@ -134,37 +133,53 @@ def _prep_wrapped_messages(self, client_info): client_info=client_info, ), self.list_domains: gapic_v1.method.wrap_method( - self.list_domains, default_timeout=60.0, client_info=client_info, + self.list_domains, + default_timeout=60.0, + client_info=client_info, ), self.get_domain: gapic_v1.method.wrap_method( - self.get_domain, default_timeout=60.0, client_info=client_info, + self.get_domain, + default_timeout=60.0, + client_info=client_info, ), self.update_domain: gapic_v1.method.wrap_method( - self.update_domain, default_timeout=60.0, client_info=client_info, + self.update_domain, + default_timeout=60.0, + client_info=client_info, ), self.delete_domain: gapic_v1.method.wrap_method( - self.delete_domain, default_timeout=60.0, client_info=client_info, + self.delete_domain, + default_timeout=60.0, + client_info=client_info, ), self.attach_trust: gapic_v1.method.wrap_method( - self.attach_trust, default_timeout=60.0, client_info=client_info, + self.attach_trust, + default_timeout=60.0, + client_info=client_info, ), self.reconfigure_trust: gapic_v1.method.wrap_method( - self.reconfigure_trust, default_timeout=60.0, client_info=client_info, + self.reconfigure_trust, + default_timeout=60.0, + client_info=client_info, ), self.detach_trust: gapic_v1.method.wrap_method( - self.detach_trust, default_timeout=60.0, client_info=client_info, + self.detach_trust, + default_timeout=60.0, + client_info=client_info, ), self.validate_trust: gapic_v1.method.wrap_method( - self.validate_trust, default_timeout=60.0, client_info=client_info, + self.validate_trust, + default_timeout=60.0, + client_info=client_info, ), } def close(self): """Closes resources associated with the transport. - .. warning:: - Only call this method if the transport is NOT shared - with other clients - this may cause errors in other clients! + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! """ raise NotImplementedError() @@ -269,5 +284,9 @@ def validate_trust( ]: raise NotImplementedError() + @property + def kind(self) -> str: + raise NotImplementedError() + __all__ = ("ManagedIdentitiesServiceTransport",) diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc.py b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc.py index 7a5a337..7641b45 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc.py @@ -13,22 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import grpc_helpers -from google.api_core import operations_v1 -from google.api_core import gapic_v1 +from google.api_core import gapic_v1, grpc_helpers, operations_v1 import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.longrunning import operations_pb2 # type: ignore import grpc # type: ignore -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource -from google.longrunning import operations_pb2 # type: ignore -from .base import ManagedIdentitiesServiceTransport, DEFAULT_CLIENT_INFO +from google.cloud.managedidentities_v1.types import managed_identities_service, resource + +from .base import DEFAULT_CLIENT_INFO, ManagedIdentitiesServiceTransport class ManagedIdentitiesServiceGrpcTransport(ManagedIdentitiesServiceTransport): @@ -262,8 +259,7 @@ def create_channel( @property def grpc_channel(self) -> grpc.Channel: - """Return the channel designed to connect to this service. - """ + """Return the channel designed to connect to this service.""" return self._grpc_channel @property @@ -566,5 +562,9 @@ def validate_trust( def close(self): self.grpc_channel.close() + @property + def kind(self) -> str: + return "grpc" + __all__ = ("ManagedIdentitiesServiceGrpcTransport",) diff --git a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc_asyncio.py b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc_asyncio.py index 6e9666a..c3ffdbb 100644 --- a/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc_asyncio.py +++ b/google/cloud/managedidentities_v1/services/managed_identities_service/transports/grpc_asyncio.py @@ -13,22 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers_async -from google.api_core import operations_v1 +from google.api_core import gapic_v1, grpc_helpers_async, operations_v1 from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.longrunning import operations_pb2 # type: ignore import grpc # type: ignore from grpc.experimental import aio # type: ignore -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource -from google.longrunning import operations_pb2 # type: ignore -from .base import ManagedIdentitiesServiceTransport, DEFAULT_CLIENT_INFO +from google.cloud.managedidentities_v1.types import managed_identities_service, resource + +from .base import DEFAULT_CLIENT_INFO, ManagedIdentitiesServiceTransport from .grpc import ManagedIdentitiesServiceGrpcTransport diff --git a/google/cloud/managedidentities_v1/types/__init__.py b/google/cloud/managedidentities_v1/types/__init__.py index 412502e..ced04eb 100644 --- a/google/cloud/managedidentities_v1/types/__init__.py +++ b/google/cloud/managedidentities_v1/types/__init__.py @@ -28,10 +28,7 @@ UpdateDomainRequest, ValidateTrustRequest, ) -from .resource import ( - Domain, - Trust, -) +from .resource import Domain, Trust __all__ = ( "AttachTrustRequest", diff --git a/google/cloud/managedidentities_v1/types/managed_identities_service.py b/google/cloud/managedidentities_v1/types/managed_identities_service.py index 0092a57..59ea7ba 100644 --- a/google/cloud/managedidentities_v1/types/managed_identities_service.py +++ b/google/cloud/managedidentities_v1/types/managed_identities_service.py @@ -13,12 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import proto # type: ignore - -from google.cloud.managedidentities_v1.types import resource from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore +import proto # type: ignore +from google.cloud.managedidentities_v1.types import resource __protobuf__ = proto.module( package="google.cloud.managedidentities.v1", @@ -67,12 +66,32 @@ class OpMetadata(proto.Message): operation. """ - create_time = proto.Field(proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp,) - end_time = proto.Field(proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp,) - target = proto.Field(proto.STRING, number=3,) - verb = proto.Field(proto.STRING, number=4,) - requested_cancellation = proto.Field(proto.BOOL, number=5,) - api_version = proto.Field(proto.STRING, number=6,) + create_time = proto.Field( + proto.MESSAGE, + number=1, + message=timestamp_pb2.Timestamp, + ) + end_time = proto.Field( + proto.MESSAGE, + number=2, + message=timestamp_pb2.Timestamp, + ) + target = proto.Field( + proto.STRING, + number=3, + ) + verb = proto.Field( + proto.STRING, + number=4, + ) + requested_cancellation = proto.Field( + proto.BOOL, + number=5, + ) + api_version = proto.Field( + proto.STRING, + number=6, + ) class CreateMicrosoftAdDomainRequest(proto.Message): @@ -102,9 +121,19 @@ class CreateMicrosoftAdDomainRequest(proto.Message): Required. A Managed Identity domain resource. """ - parent = proto.Field(proto.STRING, number=1,) - domain_name = proto.Field(proto.STRING, number=2,) - domain = proto.Field(proto.MESSAGE, number=3, message=resource.Domain,) + parent = proto.Field( + proto.STRING, + number=1, + ) + domain_name = proto.Field( + proto.STRING, + number=2, + ) + domain = proto.Field( + proto.MESSAGE, + number=3, + message=resource.Domain, + ) class ResetAdminPasswordRequest(proto.Message): @@ -117,7 +146,10 @@ class ResetAdminPasswordRequest(proto.Message): ``projects/{project_id}/locations/global/domains/{domain_name}`` """ - name = proto.Field(proto.STRING, number=1,) + name = proto.Field( + proto.STRING, + number=1, + ) class ResetAdminPasswordResponse(proto.Message): @@ -131,7 +163,10 @@ class ResetAdminPasswordResponse(proto.Message): more information. """ - password = proto.Field(proto.STRING, number=1,) + password = proto.Field( + proto.STRING, + number=1, + ) class ListDomainsRequest(proto.Message): @@ -162,11 +197,26 @@ class ListDomainsRequest(proto.Message): for more information. """ - parent = proto.Field(proto.STRING, number=1,) - page_size = proto.Field(proto.INT32, number=2,) - page_token = proto.Field(proto.STRING, number=3,) - filter = proto.Field(proto.STRING, number=4,) - order_by = proto.Field(proto.STRING, number=5,) + parent = proto.Field( + proto.STRING, + number=1, + ) + page_size = proto.Field( + proto.INT32, + number=2, + ) + page_token = proto.Field( + proto.STRING, + number=3, + ) + filter = proto.Field( + proto.STRING, + number=4, + ) + order_by = proto.Field( + proto.STRING, + number=5, + ) class ListDomainsResponse(proto.Message): @@ -190,9 +240,19 @@ class ListDomainsResponse(proto.Message): def raw_page(self): return self - domains = proto.RepeatedField(proto.MESSAGE, number=1, message=resource.Domain,) - next_page_token = proto.Field(proto.STRING, number=2,) - unreachable = proto.RepeatedField(proto.STRING, number=3,) + domains = proto.RepeatedField( + proto.MESSAGE, + number=1, + message=resource.Domain, + ) + next_page_token = proto.Field( + proto.STRING, + number=2, + ) + unreachable = proto.RepeatedField( + proto.STRING, + number=3, + ) class GetDomainRequest(proto.Message): @@ -205,7 +265,10 @@ class GetDomainRequest(proto.Message): ``projects/{project_id}/locations/global/domains/{domain_name}`` """ - name = proto.Field(proto.STRING, number=1,) + name = proto.Field( + proto.STRING, + number=1, + ) class UpdateDomainRequest(proto.Message): @@ -228,9 +291,15 @@ class UpdateDomainRequest(proto.Message): """ update_mask = proto.Field( - proto.MESSAGE, number=1, message=field_mask_pb2.FieldMask, + proto.MESSAGE, + number=1, + message=field_mask_pb2.FieldMask, + ) + domain = proto.Field( + proto.MESSAGE, + number=2, + message=resource.Domain, ) - domain = proto.Field(proto.MESSAGE, number=2, message=resource.Domain,) class DeleteDomainRequest(proto.Message): @@ -243,7 +312,10 @@ class DeleteDomainRequest(proto.Message): ``projects/{project_id}/locations/global/domains/{domain_name}`` """ - name = proto.Field(proto.STRING, number=1,) + name = proto.Field( + proto.STRING, + number=1, + ) class AttachTrustRequest(proto.Message): @@ -259,8 +331,15 @@ class AttachTrustRequest(proto.Message): Required. The domain trust resource. """ - name = proto.Field(proto.STRING, number=1,) - trust = proto.Field(proto.MESSAGE, number=2, message=resource.Trust,) + name = proto.Field( + proto.STRING, + number=1, + ) + trust = proto.Field( + proto.MESSAGE, + number=2, + message=resource.Trust, + ) class ReconfigureTrustRequest(proto.Message): @@ -281,9 +360,18 @@ class ReconfigureTrustRequest(proto.Message): trust. """ - name = proto.Field(proto.STRING, number=1,) - target_domain_name = proto.Field(proto.STRING, number=2,) - target_dns_ip_addresses = proto.RepeatedField(proto.STRING, number=3,) + name = proto.Field( + proto.STRING, + number=1, + ) + target_domain_name = proto.Field( + proto.STRING, + number=2, + ) + target_dns_ip_addresses = proto.RepeatedField( + proto.STRING, + number=3, + ) class DetachTrustRequest(proto.Message): @@ -300,8 +388,15 @@ class DetachTrustRequest(proto.Message): removed. """ - name = proto.Field(proto.STRING, number=1,) - trust = proto.Field(proto.MESSAGE, number=2, message=resource.Trust,) + name = proto.Field( + proto.STRING, + number=1, + ) + trust = proto.Field( + proto.MESSAGE, + number=2, + message=resource.Trust, + ) class ValidateTrustRequest(proto.Message): @@ -318,8 +413,15 @@ class ValidateTrustRequest(proto.Message): state for. """ - name = proto.Field(proto.STRING, number=1,) - trust = proto.Field(proto.MESSAGE, number=2, message=resource.Trust,) + name = proto.Field( + proto.STRING, + number=1, + ) + trust = proto.Field( + proto.MESSAGE, + number=2, + message=resource.Trust, + ) __all__ = tuple(sorted(__protobuf__.manifest)) diff --git a/google/cloud/managedidentities_v1/types/resource.py b/google/cloud/managedidentities_v1/types/resource.py index b472519..487b6ae 100644 --- a/google/cloud/managedidentities_v1/types/resource.py +++ b/google/cloud/managedidentities_v1/types/resource.py @@ -13,13 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import proto # type: ignore - from google.protobuf import timestamp_pb2 # type: ignore - +import proto # type: ignore __protobuf__ = proto.module( - package="google.cloud.managedidentities.v1", manifest={"Domain", "Trust",}, + package="google.cloud.managedidentities.v1", + manifest={ + "Domain", + "Trust", + }, ) @@ -30,7 +32,7 @@ class Domain(proto.Message): name (str): Required. The unique name of the domain using the form: ``projects/{project_id}/locations/global/domains/{domain_name}``. - labels (Sequence[google.cloud.managedidentities_v1.types.Domain.LabelsEntry]): + labels (Mapping[str, str]): Optional. Resource labels that can contain user-provided metadata. authorized_networks (Sequence[str]): @@ -87,22 +89,59 @@ class State(proto.Enum): PERFORMING_MAINTENANCE = 6 UNAVAILABLE = 7 - name = proto.Field(proto.STRING, number=1,) - labels = proto.MapField(proto.STRING, proto.STRING, number=2,) - authorized_networks = proto.RepeatedField(proto.STRING, number=3,) - reserved_ip_range = proto.Field(proto.STRING, number=4,) - locations = proto.RepeatedField(proto.STRING, number=5,) - admin = proto.Field(proto.STRING, number=6,) - fqdn = proto.Field(proto.STRING, number=10,) + name = proto.Field( + proto.STRING, + number=1, + ) + labels = proto.MapField( + proto.STRING, + proto.STRING, + number=2, + ) + authorized_networks = proto.RepeatedField( + proto.STRING, + number=3, + ) + reserved_ip_range = proto.Field( + proto.STRING, + number=4, + ) + locations = proto.RepeatedField( + proto.STRING, + number=5, + ) + admin = proto.Field( + proto.STRING, + number=6, + ) + fqdn = proto.Field( + proto.STRING, + number=10, + ) create_time = proto.Field( - proto.MESSAGE, number=11, message=timestamp_pb2.Timestamp, + proto.MESSAGE, + number=11, + message=timestamp_pb2.Timestamp, ) update_time = proto.Field( - proto.MESSAGE, number=12, message=timestamp_pb2.Timestamp, + proto.MESSAGE, + number=12, + message=timestamp_pb2.Timestamp, + ) + state = proto.Field( + proto.ENUM, + number=13, + enum=State, + ) + status_message = proto.Field( + proto.STRING, + number=14, + ) + trusts = proto.RepeatedField( + proto.MESSAGE, + number=15, + message="Trust", ) - state = proto.Field(proto.ENUM, number=13, enum=State,) - status_message = proto.Field(proto.STRING, number=14,) - trusts = proto.RepeatedField(proto.MESSAGE, number=15, message="Trust",) class Trust(proto.Message): @@ -175,18 +214,55 @@ class TrustDirection(proto.Enum): OUTBOUND = 2 BIDIRECTIONAL = 3 - target_domain_name = proto.Field(proto.STRING, number=1,) - trust_type = proto.Field(proto.ENUM, number=2, enum=TrustType,) - trust_direction = proto.Field(proto.ENUM, number=3, enum=TrustDirection,) - selective_authentication = proto.Field(proto.BOOL, number=4,) - target_dns_ip_addresses = proto.RepeatedField(proto.STRING, number=5,) - trust_handshake_secret = proto.Field(proto.STRING, number=6,) - create_time = proto.Field(proto.MESSAGE, number=7, message=timestamp_pb2.Timestamp,) - update_time = proto.Field(proto.MESSAGE, number=8, message=timestamp_pb2.Timestamp,) - state = proto.Field(proto.ENUM, number=9, enum=State,) - state_description = proto.Field(proto.STRING, number=11,) + target_domain_name = proto.Field( + proto.STRING, + number=1, + ) + trust_type = proto.Field( + proto.ENUM, + number=2, + enum=TrustType, + ) + trust_direction = proto.Field( + proto.ENUM, + number=3, + enum=TrustDirection, + ) + selective_authentication = proto.Field( + proto.BOOL, + number=4, + ) + target_dns_ip_addresses = proto.RepeatedField( + proto.STRING, + number=5, + ) + trust_handshake_secret = proto.Field( + proto.STRING, + number=6, + ) + create_time = proto.Field( + proto.MESSAGE, + number=7, + message=timestamp_pb2.Timestamp, + ) + update_time = proto.Field( + proto.MESSAGE, + number=8, + message=timestamp_pb2.Timestamp, + ) + state = proto.Field( + proto.ENUM, + number=9, + enum=State, + ) + state_description = proto.Field( + proto.STRING, + number=11, + ) last_trust_heartbeat_time = proto.Field( - proto.MESSAGE, number=12, message=timestamp_pb2.Timestamp, + proto.MESSAGE, + number=12, + message=timestamp_pb2.Timestamp, ) diff --git a/noxfile.py b/noxfile.py index 2a2001c..7c1742d 100644 --- a/noxfile.py +++ b/noxfile.py @@ -17,19 +17,45 @@ # Generated by synthtool. DO NOT EDIT! from __future__ import absolute_import + import os import pathlib import shutil +import warnings import nox - -BLACK_VERSION = "black==19.10b0" -BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] +BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" +LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] DEFAULT_PYTHON_VERSION = "3.8" -SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"] + UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] +UNIT_TEST_STANDARD_DEPENDENCIES = [ + "mock", + "asyncmock", + "pytest", + "pytest-cov", + "pytest-asyncio", +] +UNIT_TEST_EXTERNAL_DEPENDENCIES = [] +UNIT_TEST_LOCAL_DEPENDENCIES = [] +UNIT_TEST_DEPENDENCIES = [] +UNIT_TEST_EXTRAS = [] +UNIT_TEST_EXTRAS_BY_PYTHON = {} + +SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"] +SYSTEM_TEST_STANDARD_DEPENDENCIES = [ + "mock", + "pytest", + "google-cloud-testutils", +] +SYSTEM_TEST_EXTERNAL_DEPENDENCIES = [] +SYSTEM_TEST_LOCAL_DEPENDENCIES = [] +SYSTEM_TEST_DEPENDENCIES = [] +SYSTEM_TEST_EXTRAS = [] +SYSTEM_TEST_EXTRAS_BY_PYTHON = {} CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -57,7 +83,9 @@ def lint(session): """ session.install("flake8", BLACK_VERSION) session.run( - "black", "--check", *BLACK_PATHS, + "black", + "--check", + *LINT_PATHS, ) session.run("flake8", "google", "tests") @@ -67,7 +95,28 @@ def blacken(session): """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) session.run( - "black", *BLACK_PATHS, + "black", + *LINT_PATHS, + ) + + +@nox.session(python=DEFAULT_PYTHON_VERSION) +def format(session): + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run( + "isort", + "--fss", + *LINT_PATHS, + ) + session.run( + "black", + *LINT_PATHS, ) @@ -78,23 +127,41 @@ def lint_setup_py(session): session.run("python", "setup.py", "check", "--restructuredtext", "--strict") +def install_unittest_dependencies(session, *constraints): + standard_deps = UNIT_TEST_STANDARD_DEPENDENCIES + UNIT_TEST_DEPENDENCIES + session.install(*standard_deps, *constraints) + + if UNIT_TEST_EXTERNAL_DEPENDENCIES: + warnings.warn( + "'unit_test_external_dependencies' is deprecated. Instead, please " + "use 'unit_test_dependencies' or 'unit_test_local_dependencies'.", + DeprecationWarning, + ) + session.install(*UNIT_TEST_EXTERNAL_DEPENDENCIES, *constraints) + + if UNIT_TEST_LOCAL_DEPENDENCIES: + session.install(*UNIT_TEST_LOCAL_DEPENDENCIES, *constraints) + + if UNIT_TEST_EXTRAS_BY_PYTHON: + extras = UNIT_TEST_EXTRAS_BY_PYTHON.get(session.python, []) + elif UNIT_TEST_EXTRAS: + extras = UNIT_TEST_EXTRAS + else: + extras = [] + + if extras: + session.install("-e", f".[{','.join(extras)}]", *constraints) + else: + session.install("-e", ".", *constraints) + + def default(session): # Install all test dependencies, then install this package in-place. constraints_path = str( CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt" ) - session.install( - "mock", - "asyncmock", - "pytest", - "pytest-cov", - "pytest-asyncio", - "-c", - constraints_path, - ) - - session.install("-e", ".", "-c", constraints_path) + install_unittest_dependencies(session, "-c", constraints_path) # Run py.test against the unit tests. session.run( @@ -118,6 +185,35 @@ def unit(session): default(session) +def install_systemtest_dependencies(session, *constraints): + + # Use pre-release gRPC for system tests. + session.install("--pre", "grpcio") + + session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_EXTERNAL_DEPENDENCIES: + session.install(*SYSTEM_TEST_EXTERNAL_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_LOCAL_DEPENDENCIES: + session.install("-e", *SYSTEM_TEST_LOCAL_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_DEPENDENCIES: + session.install("-e", *SYSTEM_TEST_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_EXTRAS_BY_PYTHON: + extras = SYSTEM_TEST_EXTRAS_BY_PYTHON.get(session.python, []) + elif SYSTEM_TEST_EXTRAS: + extras = SYSTEM_TEST_EXTRAS + else: + extras = [] + + if extras: + session.install("-e", f".[{','.join(extras)}]", *constraints) + else: + session.install("-e", ".", *constraints) + + @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) def system(session): """Run the system test suite.""" @@ -140,13 +236,7 @@ def system(session): if not system_test_exists and not system_test_folder_exists: session.skip("System tests were not found") - # Use pre-release gRPC for system tests. - session.install("--pre", "grpcio") - - # Install all test dependencies, then install this package into the - # virtualenv's dist-packages. - session.install("mock", "pytest", "google-cloud-testutils", "-c", constraints_path) - session.install("-e", ".", "-c", constraints_path) + install_systemtest_dependencies(session, "-c", constraints_path) # Run py.test against the system tests. if system_test_exists: diff --git a/samples/generated_samples/snippet_metadata_managedidentities_v1.json b/samples/generated_samples/snippet_metadata_managedidentities_v1.json index ba3b4da..2ab73c4 100644 --- a/samples/generated_samples/snippet_metadata_managedidentities_v1.json +++ b/samples/generated_samples/snippet_metadata_managedidentities_v1.json @@ -1,16 +1,65 @@ { + "clientLibrary": { + "apis": [ + { + "id": "google.cloud.managedidentities.v1", + "version": "v1" + } + ], + "language": "PYTHON", + "name": "google-cloud-managed-identities" + }, "snippets": [ { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.attach_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.AttachTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "AttachTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.AttachTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "attach_trust" }, + "description": "Sample for AttachTrust", "file": "managedidentities_v1_generated_managed_identities_service_attach_trust_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_AttachTrust_async", "segments": [ { @@ -43,18 +92,58 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_attach_trust_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.attach_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.AttachTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "AttachTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.AttachTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "attach_trust" }, + "description": "Sample for AttachTrust", "file": "managedidentities_v1_generated_managed_identities_service_attach_trust_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_AttachTrust_sync", "segments": [ { @@ -87,19 +176,63 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_attach_trust_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.create_microsoft_ad_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.CreateMicrosoftAdDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "CreateMicrosoftAdDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.CreateMicrosoftAdDomainRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "domain_name", + "type": "str" + }, + { + "name": "domain", + "type": "google.cloud.managedidentities_v1.types.Domain" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "create_microsoft_ad_domain" }, + "description": "Sample for CreateMicrosoftAdDomain", "file": "managedidentities_v1_generated_managed_identities_service_create_microsoft_ad_domain_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_CreateMicrosoftAdDomain_async", "segments": [ { @@ -132,18 +265,62 @@ "start": 53, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_create_microsoft_ad_domain_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.create_microsoft_ad_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.CreateMicrosoftAdDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "CreateMicrosoftAdDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.CreateMicrosoftAdDomainRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "domain_name", + "type": "str" + }, + { + "name": "domain", + "type": "google.cloud.managedidentities_v1.types.Domain" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "create_microsoft_ad_domain" }, + "description": "Sample for CreateMicrosoftAdDomain", "file": "managedidentities_v1_generated_managed_identities_service_create_microsoft_ad_domain_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_CreateMicrosoftAdDomain_sync", "segments": [ { @@ -176,19 +353,55 @@ "start": 53, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_create_microsoft_ad_domain_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.delete_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.DeleteDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "DeleteDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.DeleteDomainRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "delete_domain" }, + "description": "Sample for DeleteDomain", "file": "managedidentities_v1_generated_managed_identities_service_delete_domain_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_DeleteDomain_async", "segments": [ { @@ -221,18 +434,54 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_delete_domain_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.delete_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.DeleteDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "DeleteDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.DeleteDomainRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "delete_domain" }, + "description": "Sample for DeleteDomain", "file": "managedidentities_v1_generated_managed_identities_service_delete_domain_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_DeleteDomain_sync", "segments": [ { @@ -265,19 +514,59 @@ "start": 46, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_delete_domain_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.detach_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.DetachTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "DetachTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.DetachTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "detach_trust" }, + "description": "Sample for DetachTrust", "file": "managedidentities_v1_generated_managed_identities_service_detach_trust_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_DetachTrust_async", "segments": [ { @@ -310,18 +599,58 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_detach_trust_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.detach_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.DetachTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "DetachTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.DetachTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "detach_trust" }, + "description": "Sample for DetachTrust", "file": "managedidentities_v1_generated_managed_identities_service_detach_trust_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_DetachTrust_sync", "segments": [ { @@ -354,19 +683,55 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_detach_trust_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.get_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.GetDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "GetDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.GetDomainRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.types.Domain", + "shortName": "get_domain" }, + "description": "Sample for GetDomain", "file": "managedidentities_v1_generated_managed_identities_service_get_domain_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_GetDomain_async", "segments": [ { @@ -399,18 +764,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_get_domain_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.get_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.GetDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "GetDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.GetDomainRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.types.Domain", + "shortName": "get_domain" }, + "description": "Sample for GetDomain", "file": "managedidentities_v1_generated_managed_identities_service_get_domain_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_GetDomain_sync", "segments": [ { @@ -443,19 +844,55 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_get_domain_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.list_domains", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ListDomains", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ListDomains" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ListDomainsRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.services.managed_identities_service.pagers.ListDomainsAsyncPager", + "shortName": "list_domains" }, + "description": "Sample for ListDomains", "file": "managedidentities_v1_generated_managed_identities_service_list_domains_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ListDomains_async", "segments": [ { @@ -488,18 +925,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_list_domains_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.list_domains", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ListDomains", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ListDomains" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ListDomainsRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.services.managed_identities_service.pagers.ListDomainsPager", + "shortName": "list_domains" }, + "description": "Sample for ListDomains", "file": "managedidentities_v1_generated_managed_identities_service_list_domains_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ListDomains_sync", "segments": [ { @@ -532,19 +1005,63 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_list_domains_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.reconfigure_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ReconfigureTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ReconfigureTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ReconfigureTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "target_domain_name", + "type": "str" + }, + { + "name": "target_dns_ip_addresses", + "type": "Sequence[str]" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "reconfigure_trust" }, + "description": "Sample for ReconfigureTrust", "file": "managedidentities_v1_generated_managed_identities_service_reconfigure_trust_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ReconfigureTrust_async", "segments": [ { @@ -577,18 +1094,62 @@ "start": 48, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_reconfigure_trust_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.reconfigure_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ReconfigureTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ReconfigureTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ReconfigureTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "target_domain_name", + "type": "str" + }, + { + "name": "target_dns_ip_addresses", + "type": "Sequence[str]" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "reconfigure_trust" }, + "description": "Sample for ReconfigureTrust", "file": "managedidentities_v1_generated_managed_identities_service_reconfigure_trust_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ReconfigureTrust_sync", "segments": [ { @@ -621,19 +1182,55 @@ "start": 48, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_reconfigure_trust_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.reset_admin_password", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ResetAdminPassword", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ResetAdminPassword" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ResetAdminPasswordRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.types.ResetAdminPasswordResponse", + "shortName": "reset_admin_password" }, + "description": "Sample for ResetAdminPassword", "file": "managedidentities_v1_generated_managed_identities_service_reset_admin_password_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ResetAdminPassword_async", "segments": [ { @@ -666,18 +1263,54 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_reset_admin_password_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.reset_admin_password", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ResetAdminPassword", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ResetAdminPassword" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ResetAdminPasswordRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.managedidentities_v1.types.ResetAdminPasswordResponse", + "shortName": "reset_admin_password" }, + "description": "Sample for ResetAdminPassword", "file": "managedidentities_v1_generated_managed_identities_service_reset_admin_password_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ResetAdminPassword_sync", "segments": [ { @@ -710,19 +1343,59 @@ "start": 42, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_reset_admin_password_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.update_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.UpdateDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "UpdateDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.UpdateDomainRequest" + }, + { + "name": "domain", + "type": "google.cloud.managedidentities_v1.types.Domain" + }, + { + "name": "update_mask", + "type": "google.protobuf.field_mask_pb2.FieldMask" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "update_domain" }, + "description": "Sample for UpdateDomain", "file": "managedidentities_v1_generated_managed_identities_service_update_domain_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_UpdateDomain_async", "segments": [ { @@ -755,18 +1428,58 @@ "start": 51, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_update_domain_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.update_domain", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.UpdateDomain", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "UpdateDomain" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.UpdateDomainRequest" + }, + { + "name": "domain", + "type": "google.cloud.managedidentities_v1.types.Domain" + }, + { + "name": "update_mask", + "type": "google.protobuf.field_mask_pb2.FieldMask" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "update_domain" }, + "description": "Sample for UpdateDomain", "file": "managedidentities_v1_generated_managed_identities_service_update_domain_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_UpdateDomain_sync", "segments": [ { @@ -799,19 +1512,59 @@ "start": 51, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_update_domain_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient", + "shortName": "ManagedIdentitiesServiceAsyncClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceAsyncClient.validate_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ValidateTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ValidateTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ValidateTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation_async.AsyncOperation", + "shortName": "validate_trust" }, + "description": "Sample for ValidateTrust", "file": "managedidentities_v1_generated_managed_identities_service_validate_trust_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ValidateTrust_async", "segments": [ { @@ -844,18 +1597,58 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_validate_trust_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient", + "shortName": "ManagedIdentitiesServiceClient" + }, + "fullName": "google.cloud.managedidentities_v1.ManagedIdentitiesServiceClient.validate_trust", "method": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService.ValidateTrust", "service": { + "fullName": "google.cloud.managedidentities.v1.ManagedIdentitiesService", "shortName": "ManagedIdentitiesService" }, "shortName": "ValidateTrust" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.managedidentities_v1.types.ValidateTrustRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "trust", + "type": "google.cloud.managedidentities_v1.types.Trust" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.api_core.operation.Operation", + "shortName": "validate_trust" }, + "description": "Sample for ValidateTrust", "file": "managedidentities_v1_generated_managed_identities_service_validate_trust_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "managedidentities_v1_generated_ManagedIdentitiesService_ValidateTrust_sync", "segments": [ { @@ -888,7 +1681,8 @@ "start": 54, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "managedidentities_v1_generated_managed_identities_service_validate_trust_sync.py" } ] } diff --git a/scripts/readme-gen/readme_gen.py b/scripts/readme-gen/readme_gen.py index d309d6e..91b5967 100644 --- a/scripts/readme-gen/readme_gen.py +++ b/scripts/readme-gen/readme_gen.py @@ -28,7 +28,10 @@ jinja_env = jinja2.Environment( trim_blocks=True, loader=jinja2.FileSystemLoader( - os.path.abspath(os.path.join(os.path.dirname(__file__), 'templates')))) + os.path.abspath(os.path.join(os.path.dirname(__file__), "templates")) + ), + autoescape=True, +) README_TMPL = jinja_env.get_template('README.tmpl.rst') diff --git a/setup.py b/setup.py index 7964756..c885ac9 100644 --- a/setup.py +++ b/setup.py @@ -17,10 +17,11 @@ import io import os + import setuptools # type: ignore name = "google-cloud-managed-identities" -version = "1.4.1" +version = "1.4.2" description = "Managed Service for Microsoft Active Directory API client library" release_status = "Development Status :: 5 - Production/Stable" url = "https://github.com/googleapis/python-managed-identities" @@ -29,7 +30,8 @@ # Until this issue is closed # https://github.com/googleapis/google-cloud-python/issues/10566 "google-api-core[grpc] >= 1.31.5, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0", - "proto-plus >= 1.15.0", + "proto-plus >= 1.15.0, <2.0.0dev", + "protobuf >= 3.19.0, <4.0.0dev", ] package_root = os.path.abspath(os.path.dirname(__file__)) diff --git a/testing/constraints-3.6.txt b/testing/constraints-3.6.txt index fe87928..e96de94 100644 --- a/testing/constraints-3.6.txt +++ b/testing/constraints-3.6.txt @@ -21,3 +21,4 @@ # Then this file should have foo==1.14.0 google-api-core==1.31.5 proto-plus==1.15.0 +protobuf==3.19.0 diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt index e69de29..e96de94 100644 --- a/testing/constraints-3.7.txt +++ b/testing/constraints-3.7.txt @@ -0,0 +1,24 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This constraints file is used to check that lower bounds +# are correct in setup.py +# List *all* library dependencies and extras in this file. +# Pin the version to the lower bound. +# +# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", +# Then this file should have foo==1.14.0 +google-api-core==1.31.5 +proto-plus==1.15.0 +protobuf==3.19.0 diff --git a/tests/unit/gapic/managedidentities_v1/test_managed_identities_service.py b/tests/unit/gapic/managedidentities_v1/test_managed_identities_service.py index d3a0021..059d671 100644 --- a/tests/unit/gapic/managedidentities_v1/test_managed_identities_service.py +++ b/tests/unit/gapic/managedidentities_v1/test_managed_identities_service.py @@ -14,44 +14,47 @@ # limitations under the License. # import os -import mock -import grpc -from grpc.experimental import aio -import math -import pytest -from proto.marshal.rules.dates import DurationRule, TimestampRule +# try/except added for compatibility with python < 3.8 +try: + from unittest import mock + from unittest.mock import AsyncMock +except ImportError: + import mock +import math +from google.api_core import ( + future, + gapic_v1, + grpc_helpers, + grpc_helpers_async, + operation, + operations_v1, + path_template, +) from google.api_core import client_options from google.api_core import exceptions as core_exceptions -from google.api_core import future -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers -from google.api_core import grpc_helpers_async -from google.api_core import operation from google.api_core import operation_async # type: ignore -from google.api_core import operations_v1 -from google.api_core import path_template +import google.auth from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError +from google.longrunning import operations_pb2 +from google.oauth2 import service_account +from google.protobuf import field_mask_pb2 # type: ignore +from google.protobuf import timestamp_pb2 # type: ignore +import grpc +from grpc.experimental import aio +from proto.marshal.rules.dates import DurationRule, TimestampRule +import pytest + from google.cloud.managedidentities_v1.services.managed_identities_service import ( ManagedIdentitiesServiceAsyncClient, -) -from google.cloud.managedidentities_v1.services.managed_identities_service import ( ManagedIdentitiesServiceClient, -) -from google.cloud.managedidentities_v1.services.managed_identities_service import pagers -from google.cloud.managedidentities_v1.services.managed_identities_service import ( + pagers, transports, ) -from google.cloud.managedidentities_v1.types import managed_identities_service -from google.cloud.managedidentities_v1.types import resource -from google.longrunning import operations_pb2 -from google.oauth2 import service_account -from google.protobuf import field_mask_pb2 # type: ignore -from google.protobuf import timestamp_pb2 # type: ignore -import google.auth +from google.cloud.managedidentities_v1.types import managed_identities_service, resource def client_cert_source_callback(): @@ -100,21 +103,26 @@ def test__get_default_mtls_endpoint(): @pytest.mark.parametrize( - "client_class", - [ManagedIdentitiesServiceClient, ManagedIdentitiesServiceAsyncClient,], + "client_class,transport_name", + [ + (ManagedIdentitiesServiceClient, "grpc"), + (ManagedIdentitiesServiceAsyncClient, "grpc_asyncio"), + ], ) -def test_managed_identities_service_client_from_service_account_info(client_class): +def test_managed_identities_service_client_from_service_account_info( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_info" ) as factory: factory.return_value = creds info = {"valid": True} - client = client_class.from_service_account_info(info) + client = client_class.from_service_account_info(info, transport=transport_name) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "managedidentities.googleapis.com:443" + assert client.transport._host == ("managedidentities.googleapis.com:443") @pytest.mark.parametrize( @@ -143,24 +151,33 @@ def test_managed_identities_service_client_service_account_always_use_jwt( @pytest.mark.parametrize( - "client_class", - [ManagedIdentitiesServiceClient, ManagedIdentitiesServiceAsyncClient,], + "client_class,transport_name", + [ + (ManagedIdentitiesServiceClient, "grpc"), + (ManagedIdentitiesServiceAsyncClient, "grpc_asyncio"), + ], ) -def test_managed_identities_service_client_from_service_account_file(client_class): +def test_managed_identities_service_client_from_service_account_file( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_file" ) as factory: factory.return_value = creds - client = client_class.from_service_account_file("dummy/file/path.json") + client = client_class.from_service_account_file( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - client = client_class.from_service_account_json("dummy/file/path.json") + client = client_class.from_service_account_json( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "managedidentities.googleapis.com:443" + assert client.transport._host == ("managedidentities.googleapis.com:443") def test_managed_identities_service_client_get_transport_class(): @@ -533,7 +550,9 @@ def test_managed_identities_service_client_client_options_scopes( client_class, transport_class, transport_name ): # Check the case scopes are provided. - options = client_options.ClientOptions(scopes=["1", "2"],) + options = client_options.ClientOptions( + scopes=["1", "2"], + ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None client = client_class(client_options=options, transport=transport_name) @@ -674,11 +693,16 @@ def test_managed_identities_service_client_create_channel_credentials_file( @pytest.mark.parametrize( - "request_type", [managed_identities_service.CreateMicrosoftAdDomainRequest, dict,] + "request_type", + [ + managed_identities_service.CreateMicrosoftAdDomainRequest, + dict, + ], ) def test_create_microsoft_ad_domain(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -706,7 +730,8 @@ def test_create_microsoft_ad_domain_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -725,7 +750,8 @@ async def test_create_microsoft_ad_domain_async( request_type=managed_identities_service.CreateMicrosoftAdDomainRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -765,7 +791,7 @@ def test_create_microsoft_ad_domain_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.CreateMicrosoftAdDomainRequest() - request.parent = "parent/value" + request.parent = "parent_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -781,7 +807,10 @@ def test_create_microsoft_ad_domain_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "parent=parent/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -794,7 +823,7 @@ async def test_create_microsoft_ad_domain_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.CreateMicrosoftAdDomainRequest() - request.parent = "parent/value" + request.parent = "parent_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -812,7 +841,10 @@ async def test_create_microsoft_ad_domain_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "parent=parent/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] def test_create_microsoft_ad_domain_flattened(): @@ -922,11 +954,16 @@ async def test_create_microsoft_ad_domain_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [managed_identities_service.ResetAdminPasswordRequest, dict,] + "request_type", + [ + managed_identities_service.ResetAdminPasswordRequest, + dict, + ], ) def test_reset_admin_password(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -957,7 +994,8 @@ def test_reset_admin_password_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -976,7 +1014,8 @@ async def test_reset_admin_password_async( request_type=managed_identities_service.ResetAdminPasswordRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1019,7 +1058,7 @@ def test_reset_admin_password_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.ResetAdminPasswordRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1035,7 +1074,10 @@ def test_reset_admin_password_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -1048,7 +1090,7 @@ async def test_reset_admin_password_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.ResetAdminPasswordRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1066,7 +1108,10 @@ async def test_reset_admin_password_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_reset_admin_password_flattened(): @@ -1082,7 +1127,9 @@ def test_reset_admin_password_flattened(): call.return_value = managed_identities_service.ResetAdminPasswordResponse() # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - client.reset_admin_password(name="name_value",) + client.reset_admin_password( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1102,7 +1149,8 @@ def test_reset_admin_password_flattened_error(): # fields is an error. with pytest.raises(ValueError): client.reset_admin_password( - managed_identities_service.ResetAdminPasswordRequest(), name="name_value", + managed_identities_service.ResetAdminPasswordRequest(), + name="name_value", ) @@ -1124,7 +1172,9 @@ async def test_reset_admin_password_flattened_async(): ) # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - response = await client.reset_admin_password(name="name_value",) + response = await client.reset_admin_password( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1145,16 +1195,22 @@ async def test_reset_admin_password_flattened_error_async(): # fields is an error. with pytest.raises(ValueError): await client.reset_admin_password( - managed_identities_service.ResetAdminPasswordRequest(), name="name_value", + managed_identities_service.ResetAdminPasswordRequest(), + name="name_value", ) @pytest.mark.parametrize( - "request_type", [managed_identities_service.ListDomainsRequest, dict,] + "request_type", + [ + managed_identities_service.ListDomainsRequest, + dict, + ], ) def test_list_domains(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1165,7 +1221,8 @@ def test_list_domains(request_type, transport: str = "grpc"): with mock.patch.object(type(client.transport.list_domains), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = managed_identities_service.ListDomainsResponse( - next_page_token="next_page_token_value", unreachable=["unreachable_value"], + next_page_token="next_page_token_value", + unreachable=["unreachable_value"], ) response = client.list_domains(request) @@ -1184,7 +1241,8 @@ def test_list_domains_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1201,7 +1259,8 @@ async def test_list_domains_async( request_type=managed_identities_service.ListDomainsRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1244,7 +1303,7 @@ def test_list_domains_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.ListDomainsRequest() - request.parent = "parent/value" + request.parent = "parent_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.list_domains), "__call__") as call: @@ -1258,7 +1317,10 @@ def test_list_domains_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "parent=parent/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -1271,7 +1333,7 @@ async def test_list_domains_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.ListDomainsRequest() - request.parent = "parent/value" + request.parent = "parent_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.list_domains), "__call__") as call: @@ -1287,7 +1349,10 @@ async def test_list_domains_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "parent=parent/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] def test_list_domains_flattened(): @@ -1301,7 +1366,9 @@ def test_list_domains_flattened(): call.return_value = managed_identities_service.ListDomainsResponse() # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - client.list_domains(parent="parent_value",) + client.list_domains( + parent="parent_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1321,7 +1388,8 @@ def test_list_domains_flattened_error(): # fields is an error. with pytest.raises(ValueError): client.list_domains( - managed_identities_service.ListDomainsRequest(), parent="parent_value", + managed_identities_service.ListDomainsRequest(), + parent="parent_value", ) @@ -1341,7 +1409,9 @@ async def test_list_domains_flattened_async(): ) # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - response = await client.list_domains(parent="parent_value",) + response = await client.list_domains( + parent="parent_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1362,13 +1432,15 @@ async def test_list_domains_flattened_error_async(): # fields is an error. with pytest.raises(ValueError): await client.list_domains( - managed_identities_service.ListDomainsRequest(), parent="parent_value", + managed_identities_service.ListDomainsRequest(), + parent="parent_value", ) def test_list_domains_pager(transport_name: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials, transport=transport_name, + credentials=ga_credentials.AnonymousCredentials, + transport=transport_name, ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1376,17 +1448,28 @@ def test_list_domains_pager(transport_name: str = "grpc"): # Set the response to a series of pages. call.side_effect = ( managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + resource.Domain(), + ], next_page_token="abc", ), managed_identities_service.ListDomainsResponse( - domains=[], next_page_token="def", + domains=[], + next_page_token="def", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(),], next_page_token="ghi", + domains=[ + resource.Domain(), + ], + next_page_token="ghi", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + ], ), RuntimeError, ) @@ -1399,14 +1482,15 @@ def test_list_domains_pager(transport_name: str = "grpc"): assert pager._metadata == metadata - results = [i for i in pager] + results = list(pager) assert len(results) == 6 assert all(isinstance(i, resource.Domain) for i in results) def test_list_domains_pages(transport_name: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials, transport=transport_name, + credentials=ga_credentials.AnonymousCredentials, + transport=transport_name, ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1414,17 +1498,28 @@ def test_list_domains_pages(transport_name: str = "grpc"): # Set the response to a series of pages. call.side_effect = ( managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + resource.Domain(), + ], next_page_token="abc", ), managed_identities_service.ListDomainsResponse( - domains=[], next_page_token="def", + domains=[], + next_page_token="def", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(),], next_page_token="ghi", + domains=[ + resource.Domain(), + ], + next_page_token="ghi", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + ], ), RuntimeError, ) @@ -1446,24 +1541,37 @@ async def test_list_domains_async_pager(): # Set the response to a series of pages. call.side_effect = ( managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + resource.Domain(), + ], next_page_token="abc", ), managed_identities_service.ListDomainsResponse( - domains=[], next_page_token="def", + domains=[], + next_page_token="def", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(),], next_page_token="ghi", + domains=[ + resource.Domain(), + ], + next_page_token="ghi", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + ], ), RuntimeError, ) - async_pager = await client.list_domains(request={},) + async_pager = await client.list_domains( + request={}, + ) assert async_pager.next_page_token == "abc" responses = [] - async for response in async_pager: + async for response in async_pager: # pragma: no branch responses.append(response) assert len(responses) == 6 @@ -1483,33 +1591,51 @@ async def test_list_domains_async_pages(): # Set the response to a series of pages. call.side_effect = ( managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + resource.Domain(), + ], next_page_token="abc", ), managed_identities_service.ListDomainsResponse( - domains=[], next_page_token="def", + domains=[], + next_page_token="def", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(),], next_page_token="ghi", + domains=[ + resource.Domain(), + ], + next_page_token="ghi", ), managed_identities_service.ListDomainsResponse( - domains=[resource.Domain(), resource.Domain(),], + domains=[ + resource.Domain(), + resource.Domain(), + ], ), RuntimeError, ) pages = [] - async for page_ in (await client.list_domains(request={})).pages: + async for page_ in ( + await client.list_domains(request={}) + ).pages: # pragma: no branch pages.append(page_) for page_, token in zip(pages, ["abc", "def", "ghi", ""]): assert page_.raw_page.next_page_token == token @pytest.mark.parametrize( - "request_type", [managed_identities_service.GetDomainRequest, dict,] + "request_type", + [ + managed_identities_service.GetDomainRequest, + dict, + ], ) def test_get_domain(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1552,7 +1678,8 @@ def test_get_domain_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1569,7 +1696,8 @@ async def test_get_domain_async( request_type=managed_identities_service.GetDomainRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1624,7 +1752,7 @@ def test_get_domain_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.GetDomainRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.get_domain), "__call__") as call: @@ -1638,7 +1766,10 @@ def test_get_domain_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -1651,7 +1782,7 @@ async def test_get_domain_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.GetDomainRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.get_domain), "__call__") as call: @@ -1665,7 +1796,10 @@ async def test_get_domain_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_get_domain_flattened(): @@ -1679,7 +1813,9 @@ def test_get_domain_flattened(): call.return_value = resource.Domain() # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - client.get_domain(name="name_value",) + client.get_domain( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1699,7 +1835,8 @@ def test_get_domain_flattened_error(): # fields is an error. with pytest.raises(ValueError): client.get_domain( - managed_identities_service.GetDomainRequest(), name="name_value", + managed_identities_service.GetDomainRequest(), + name="name_value", ) @@ -1717,7 +1854,9 @@ async def test_get_domain_flattened_async(): call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(resource.Domain()) # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - response = await client.get_domain(name="name_value",) + response = await client.get_domain( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -1738,16 +1877,22 @@ async def test_get_domain_flattened_error_async(): # fields is an error. with pytest.raises(ValueError): await client.get_domain( - managed_identities_service.GetDomainRequest(), name="name_value", + managed_identities_service.GetDomainRequest(), + name="name_value", ) @pytest.mark.parametrize( - "request_type", [managed_identities_service.UpdateDomainRequest, dict,] + "request_type", + [ + managed_identities_service.UpdateDomainRequest, + dict, + ], ) def test_update_domain(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1773,7 +1918,8 @@ def test_update_domain_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1790,7 +1936,8 @@ async def test_update_domain_async( request_type=managed_identities_service.UpdateDomainRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1828,7 +1975,7 @@ def test_update_domain_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.UpdateDomainRequest() - request.domain.name = "domain.name/value" + request.domain.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.update_domain), "__call__") as call: @@ -1842,7 +1989,10 @@ def test_update_domain_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "domain.name=domain.name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "domain.name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -1855,7 +2005,7 @@ async def test_update_domain_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.UpdateDomainRequest() - request.domain.name = "domain.name/value" + request.domain.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.update_domain), "__call__") as call: @@ -1871,7 +2021,10 @@ async def test_update_domain_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "domain.name=domain.name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "domain.name=name_value", + ) in kw["metadata"] def test_update_domain_flattened(): @@ -1967,11 +2120,16 @@ async def test_update_domain_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [managed_identities_service.DeleteDomainRequest, dict,] + "request_type", + [ + managed_identities_service.DeleteDomainRequest, + dict, + ], ) def test_delete_domain(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1997,7 +2155,8 @@ def test_delete_domain_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -2014,7 +2173,8 @@ async def test_delete_domain_async( request_type=managed_identities_service.DeleteDomainRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2052,7 +2212,7 @@ def test_delete_domain_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.DeleteDomainRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.delete_domain), "__call__") as call: @@ -2066,7 +2226,10 @@ def test_delete_domain_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -2079,7 +2242,7 @@ async def test_delete_domain_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.DeleteDomainRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.delete_domain), "__call__") as call: @@ -2095,7 +2258,10 @@ async def test_delete_domain_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_delete_domain_flattened(): @@ -2109,7 +2275,9 @@ def test_delete_domain_flattened(): call.return_value = operations_pb2.Operation(name="operations/op") # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - client.delete_domain(name="name_value",) + client.delete_domain( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -2129,7 +2297,8 @@ def test_delete_domain_flattened_error(): # fields is an error. with pytest.raises(ValueError): client.delete_domain( - managed_identities_service.DeleteDomainRequest(), name="name_value", + managed_identities_service.DeleteDomainRequest(), + name="name_value", ) @@ -2149,7 +2318,9 @@ async def test_delete_domain_flattened_async(): ) # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. - response = await client.delete_domain(name="name_value",) + response = await client.delete_domain( + name="name_value", + ) # Establish that the underlying call was made with the expected # request object values. @@ -2170,16 +2341,22 @@ async def test_delete_domain_flattened_error_async(): # fields is an error. with pytest.raises(ValueError): await client.delete_domain( - managed_identities_service.DeleteDomainRequest(), name="name_value", + managed_identities_service.DeleteDomainRequest(), + name="name_value", ) @pytest.mark.parametrize( - "request_type", [managed_identities_service.AttachTrustRequest, dict,] + "request_type", + [ + managed_identities_service.AttachTrustRequest, + dict, + ], ) def test_attach_trust(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2205,7 +2382,8 @@ def test_attach_trust_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -2222,7 +2400,8 @@ async def test_attach_trust_async( request_type=managed_identities_service.AttachTrustRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2260,7 +2439,7 @@ def test_attach_trust_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.AttachTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.attach_trust), "__call__") as call: @@ -2274,7 +2453,10 @@ def test_attach_trust_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -2287,7 +2469,7 @@ async def test_attach_trust_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.AttachTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.attach_trust), "__call__") as call: @@ -2303,7 +2485,10 @@ async def test_attach_trust_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_attach_trust_flattened(): @@ -2399,11 +2584,16 @@ async def test_attach_trust_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [managed_identities_service.ReconfigureTrustRequest, dict,] + "request_type", + [ + managed_identities_service.ReconfigureTrustRequest, + dict, + ], ) def test_reconfigure_trust(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2431,7 +2621,8 @@ def test_reconfigure_trust_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -2450,7 +2641,8 @@ async def test_reconfigure_trust_async( request_type=managed_identities_service.ReconfigureTrustRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2490,7 +2682,7 @@ def test_reconfigure_trust_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.ReconfigureTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -2506,7 +2698,10 @@ def test_reconfigure_trust_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -2519,7 +2714,7 @@ async def test_reconfigure_trust_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.ReconfigureTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -2537,7 +2732,10 @@ async def test_reconfigure_trust_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_reconfigure_trust_flattened(): @@ -2647,11 +2845,16 @@ async def test_reconfigure_trust_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [managed_identities_service.DetachTrustRequest, dict,] + "request_type", + [ + managed_identities_service.DetachTrustRequest, + dict, + ], ) def test_detach_trust(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2677,7 +2880,8 @@ def test_detach_trust_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -2694,7 +2898,8 @@ async def test_detach_trust_async( request_type=managed_identities_service.DetachTrustRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2732,7 +2937,7 @@ def test_detach_trust_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.DetachTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.detach_trust), "__call__") as call: @@ -2746,7 +2951,10 @@ def test_detach_trust_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -2759,7 +2967,7 @@ async def test_detach_trust_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.DetachTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.detach_trust), "__call__") as call: @@ -2775,7 +2983,10 @@ async def test_detach_trust_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_detach_trust_flattened(): @@ -2871,11 +3082,16 @@ async def test_detach_trust_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [managed_identities_service.ValidateTrustRequest, dict,] + "request_type", + [ + managed_identities_service.ValidateTrustRequest, + dict, + ], ) def test_validate_trust(request_type, transport: str = "grpc"): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2901,7 +3117,8 @@ def test_validate_trust_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -2918,7 +3135,8 @@ async def test_validate_trust_async( request_type=managed_identities_service.ValidateTrustRequest, ): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -2956,7 +3174,7 @@ def test_validate_trust_field_headers(): # a field header. Set these to a non-empty value. request = managed_identities_service.ValidateTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.validate_trust), "__call__") as call: @@ -2970,7 +3188,10 @@ def test_validate_trust_field_headers(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] @pytest.mark.asyncio @@ -2983,7 +3204,7 @@ async def test_validate_trust_field_headers_async(): # a field header. Set these to a non-empty value. request = managed_identities_service.ValidateTrustRequest() - request.name = "name/value" + request.name = "name_value" # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.validate_trust), "__call__") as call: @@ -2999,7 +3220,10 @@ async def test_validate_trust_field_headers_async(): # Establish that the field header was sent. _, _, kw = call.mock_calls[0] - assert ("x-goog-request-params", "name=name/value",) in kw["metadata"] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] def test_validate_trust_flattened(): @@ -3101,7 +3325,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # It is an error to provide a credentials file and a transport instance. @@ -3122,7 +3347,8 @@ def test_credentials_transport_error(): options.api_key = "api_key" with pytest.raises(ValueError): client = ManagedIdentitiesServiceClient( - client_options=options, transport=transport, + client_options=options, + transport=transport, ) # It is an error to provide an api_key and a credential. @@ -3139,7 +3365,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = ManagedIdentitiesServiceClient( - client_options={"scopes": ["1", "2"]}, transport=transport, + client_options={"scopes": ["1", "2"]}, + transport=transport, ) @@ -3182,13 +3409,27 @@ def test_transport_adc(transport_class): adc.assert_called_once() +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + ], +) +def test_transport_kind(transport_name): + transport = ManagedIdentitiesServiceClient.get_transport_class(transport_name)( + credentials=ga_credentials.AnonymousCredentials(), + ) + assert transport.kind == transport_name + + def test_transport_grpc_default(): # A client should use the gRPC transport by default. client = ManagedIdentitiesServiceClient( credentials=ga_credentials.AnonymousCredentials(), ) assert isinstance( - client.transport, transports.ManagedIdentitiesServiceGrpcTransport, + client.transport, + transports.ManagedIdentitiesServiceGrpcTransport, ) @@ -3237,6 +3478,14 @@ def test_managed_identities_service_base_transport(): with pytest.raises(NotImplementedError): transport.operations_client + # Catch all for all remaining methods and properties + remainder = [ + "kind", + ] + for r in remainder: + with pytest.raises(NotImplementedError): + getattr(transport, r)() + def test_managed_identities_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file @@ -3248,7 +3497,8 @@ def test_managed_identities_service_base_transport_with_credentials_file(): Transport.return_value = None load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) transport = transports.ManagedIdentitiesServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", + credentials_file="credentials.json", + quota_project_id="octopus", ) load_creds.assert_called_once_with( "credentials.json", @@ -3385,24 +3635,40 @@ def test_managed_identities_service_grpc_transport_client_cert_source_for_mtls( ) -def test_managed_identities_service_host_no_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_managed_identities_service_host_no_port(transport_name): client = ManagedIdentitiesServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="managedidentities.googleapis.com" ), + transport=transport_name, ) - assert client.transport._host == "managedidentities.googleapis.com:443" + assert client.transport._host == ("managedidentities.googleapis.com:443") -def test_managed_identities_service_host_with_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_managed_identities_service_host_with_port(transport_name): client = ManagedIdentitiesServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="managedidentities.googleapis.com:8000" ), + transport=transport_name, ) - assert client.transport._host == "managedidentities.googleapis.com:8000" + assert client.transport._host == ("managedidentities.googleapis.com:8000") def test_managed_identities_service_grpc_transport_channel(): @@ -3410,7 +3676,8 @@ def test_managed_identities_service_grpc_transport_channel(): # Check that channel is used if provided. transport = transports.ManagedIdentitiesServiceGrpcTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -3422,7 +3689,8 @@ def test_managed_identities_service_grpc_asyncio_transport_channel(): # Check that channel is used if provided. transport = transports.ManagedIdentitiesServiceGrpcAsyncIOTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -3531,12 +3799,16 @@ def test_managed_identities_service_transport_channel_mtls_with_adc(transport_cl def test_managed_identities_service_grpc_lro_client(): client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) transport = client.transport # Ensure that we have a api-core operations client. - assert isinstance(transport.operations_client, operations_v1.OperationsClient,) + assert isinstance( + transport.operations_client, + operations_v1.OperationsClient, + ) # Ensure that subsequent calls to the property send the exact same object. assert transport.operations_client is transport.operations_client @@ -3544,12 +3816,16 @@ def test_managed_identities_service_grpc_lro_client(): def test_managed_identities_service_grpc_lro_async_client(): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc_asyncio", ) transport = client.transport # Ensure that we have a api-core operations client. - assert isinstance(transport.operations_client, operations_v1.OperationsAsyncClient,) + assert isinstance( + transport.operations_client, + operations_v1.OperationsAsyncClient, + ) # Ensure that subsequent calls to the property send the exact same object. assert transport.operations_client is transport.operations_client @@ -3560,7 +3836,9 @@ def test_domain_path(): location = "clam" domain = "whelk" expected = "projects/{project}/locations/{location}/domains/{domain}".format( - project=project, location=location, domain=domain, + project=project, + location=location, + domain=domain, ) actual = ManagedIdentitiesServiceClient.domain_path(project, location, domain) assert expected == actual @@ -3601,7 +3879,9 @@ def test_parse_common_billing_account_path(): def test_common_folder_path(): folder = "winkle" - expected = "folders/{folder}".format(folder=folder,) + expected = "folders/{folder}".format( + folder=folder, + ) actual = ManagedIdentitiesServiceClient.common_folder_path(folder) assert expected == actual @@ -3619,7 +3899,9 @@ def test_parse_common_folder_path(): def test_common_organization_path(): organization = "scallop" - expected = "organizations/{organization}".format(organization=organization,) + expected = "organizations/{organization}".format( + organization=organization, + ) actual = ManagedIdentitiesServiceClient.common_organization_path(organization) assert expected == actual @@ -3637,7 +3919,9 @@ def test_parse_common_organization_path(): def test_common_project_path(): project = "squid" - expected = "projects/{project}".format(project=project,) + expected = "projects/{project}".format( + project=project, + ) actual = ManagedIdentitiesServiceClient.common_project_path(project) assert expected == actual @@ -3657,7 +3941,8 @@ def test_common_location_path(): project = "whelk" location = "octopus" expected = "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) actual = ManagedIdentitiesServiceClient.common_location_path(project, location) assert expected == actual @@ -3682,7 +3967,8 @@ def test_client_with_default_client_info(): transports.ManagedIdentitiesServiceTransport, "_prep_wrapped_messages" ) as prep: client = ManagedIdentitiesServiceClient( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -3691,7 +3977,8 @@ def test_client_with_default_client_info(): ) as prep: transport_class = ManagedIdentitiesServiceClient.get_transport_class() transport = transport_class( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -3699,7 +3986,8 @@ def test_client_with_default_client_info(): @pytest.mark.asyncio async def test_transport_close_async(): client = ManagedIdentitiesServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc_asyncio", ) with mock.patch.object( type(getattr(client.transport, "grpc_channel")), "close"