Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [Many APIs] Allow users to explicitly configure universe domain #12240

Merged
merged 8 commits into from
Feb 1, 2024
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
__version__ = "2.27.0" # {x-release-please-version}
__version__ = "0.0.0" # {x-release-please-version}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
__version__ = "2.27.0" # {x-release-please-version}
__version__ = "0.0.0" # {x-release-please-version}
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@
from google.cloud.dialogflow_v2 import gapic_version as package_version

try:
OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault]
OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault, None]
except AttributeError: # pragma: NO COVER
OptionalRetry = Union[retries.AsyncRetry, object] # type: ignore
OptionalRetry = Union[retries.AsyncRetry, object, None] # type: ignore

from google.api_core import operation # type: ignore
from google.api_core import operation_async # type: ignore
Expand All @@ -64,8 +64,12 @@ class AgentsAsyncClient:

_client: AgentsClient

# Copy defaults from the synchronous client for use here.
# Note: DEFAULT_ENDPOINT is deprecated. Use _DEFAULT_ENDPOINT_TEMPLATE instead.
DEFAULT_ENDPOINT = AgentsClient.DEFAULT_ENDPOINT
DEFAULT_MTLS_ENDPOINT = AgentsClient.DEFAULT_MTLS_ENDPOINT
_DEFAULT_ENDPOINT_TEMPLATE = AgentsClient._DEFAULT_ENDPOINT_TEMPLATE
_DEFAULT_UNIVERSE = AgentsClient._DEFAULT_UNIVERSE

agent_path = staticmethod(AgentsClient.agent_path)
parse_agent_path = staticmethod(AgentsClient.parse_agent_path)
Expand Down Expand Up @@ -162,6 +166,25 @@ def transport(self) -> AgentsTransport:
"""
return self._client.transport

@property
def api_endpoint(self):
"""Return the API endpoint used by the client instance.

Returns:
str: The API endpoint used by the client instance.
"""
return self._client._api_endpoint

@property
def universe_domain(self) -> str:
"""Return the universe domain used by the client instance.

Returns:
str: The universe domain used
by the client instance.
"""
return self._client._universe_domain

get_transport_class = functools.partial(
type(AgentsClient).get_transport_class, type(AgentsClient)
)
Expand All @@ -174,7 +197,7 @@ def __init__(
client_options: Optional[ClientOptions] = None,
client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
) -> None:
"""Instantiates the agents client.
"""Instantiates the agents async client.

Args:
credentials (Optional[google.auth.credentials.Credentials]): The
Expand All @@ -185,23 +208,38 @@ def __init__(
transport (Union[str, ~.AgentsTransport]): The
transport to use. If set to None, a transport is chosen
automatically.
client_options (ClientOptions): Custom options for the client. It
won't take effect if a ``transport`` instance is provided.
(1) The ``api_endpoint`` property can be used to override the
default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT
environment variable can also be used to override the endpoint:
client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]):
Custom options for the client.

1. The ``api_endpoint`` property can be used to override the
default endpoint provided by the client when ``transport`` is
not explicitly provided. Only if this property is not set and
``transport`` was not explicitly provided, the endpoint is
determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment
variable, which have one of the following values:
"always" (always use the default mTLS endpoint), "never" (always
use the default regular endpoint) and "auto" (auto switch to the
default mTLS endpoint if client certificate is present, this is
the default value). However, the ``api_endpoint`` property takes
precedence if provided.
(2) If GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable
use the default regular endpoint) and "auto" (auto-switch to the
default mTLS endpoint if client certificate is present; this is
the default value).

2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable
is "true", then the ``client_cert_source`` property can be used
to provide client certificate for mutual TLS transport. If
to provide a client certificate for mTLS transport. If
not provided, the default SSL client certificate will be used if
present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not
set, no client certificate will be used.

3. The ``universe_domain`` property can be used to override the
default "googleapis.com" universe. Note that ``api_endpoint``
property still takes precedence; and ``universe_domain`` is
currently not supported for mTLS.

client_info (google.api_core.gapic_v1.client_info.ClientInfo):
The client info used to send a user-agent string along with
API requests. If ``None``, then default info will be used.
Generally, you only need to set this if you're developing
your own client library.

Raises:
google.auth.exceptions.MutualTlsChannelError: If mutual TLS transport
creation failed for any reason.
Expand Down Expand Up @@ -313,6 +351,9 @@ async def sample_get_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -434,6 +475,9 @@ async def sample_set_agent():
),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -527,6 +571,9 @@ async def sample_delete_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
await rpc(
request,
Expand Down Expand Up @@ -636,6 +683,9 @@ async def sample_search_agents():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -775,6 +825,9 @@ async def sample_train_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -902,6 +955,9 @@ async def sample_export_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1033,6 +1089,9 @@ async def sample_import_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1162,6 +1221,9 @@ async def sample_restore_agent():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1252,6 +1314,9 @@ async def sample_get_validation_result():
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1306,6 +1371,9 @@ async def list_operations(
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1360,6 +1428,9 @@ async def get_operation(
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1417,6 +1488,9 @@ async def cancel_operation(
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
await rpc(
request,
Expand Down Expand Up @@ -1468,6 +1542,9 @@ async def get_location(
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down Expand Up @@ -1522,6 +1599,9 @@ async def list_locations(
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
)

# Validate the universe domain.
self._client._validate_universe_domain()

# Send the request.
response = await rpc(
request,
Expand Down