Skip to content

Commit 23f8969

Browse files
feat: make reservation_name parameter generally visible in QueuedResource message (#224)
* feat: make reservation_name parameter generally visible in QueuedResource message --- feat: add DeleteQueuedResource experiment --- docs(v2alpha1): minor formatting to the description for `queued_resource_id` PiperOrigin-RevId: 524336094 Source-Link: googleapis/googleapis@cad90d2 Source-Link: googleapis/googleapis-gen@848f9c2 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODQ4ZjljMjk0MDc2ZGI2ZDFkMWE3ODAxMzA0MDI1MWIxYzBhZDdhOSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 9b83058 commit 23f8969

16 files changed

+862
-3
lines changed

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
OperationMetadata,
5454
QueuedResource,
5555
QueuedResourceState,
56+
ResetQueuedResourceRequest,
5657
RuntimeVersion,
5758
SchedulingConfig,
5859
ServiceAccount,
@@ -100,6 +101,7 @@
100101
"OperationMetadata",
101102
"QueuedResource",
102103
"QueuedResourceState",
104+
"ResetQueuedResourceRequest",
103105
"RuntimeVersion",
104106
"SchedulingConfig",
105107
"ServiceAccount",

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/gapic_metadata.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@
8080
"list_runtime_versions"
8181
]
8282
},
83+
"ResetQueuedResource": {
84+
"methods": [
85+
"reset_queued_resource"
86+
]
87+
},
8388
"SimulateMaintenanceEvent": {
8489
"methods": [
8590
"simulate_maintenance_event"
@@ -175,6 +180,11 @@
175180
"list_runtime_versions"
176181
]
177182
},
183+
"ResetQueuedResource": {
184+
"methods": [
185+
"reset_queued_resource"
186+
]
187+
},
178188
"SimulateMaintenanceEvent": {
179189
"methods": [
180190
"simulate_maintenance_event"

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/services/tpu/async_client.py

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,6 +1475,123 @@ async def sample_delete_queued_resource():
14751475
# Done; return the response.
14761476
return response
14771477

1478+
async def reset_queued_resource(
1479+
self,
1480+
request: Optional[Union[cloud_tpu.ResetQueuedResourceRequest, dict]] = None,
1481+
*,
1482+
name: Optional[str] = None,
1483+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
1484+
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1485+
metadata: Sequence[Tuple[str, str]] = (),
1486+
) -> operation_async.AsyncOperation:
1487+
r"""Resets a QueuedResource TPU instance
1488+
1489+
.. code-block:: python
1490+
1491+
# This snippet has been automatically generated and should be regarded as a
1492+
# code template only.
1493+
# It will require modifications to work:
1494+
# - It may require correct/in-range values for request initialization.
1495+
# - It may require specifying regional endpoints when creating the service
1496+
# client as shown in:
1497+
# https://googleapis.dev/python/google-api-core/latest/client_options.html
1498+
from google.cloud import tpu_v2alpha1
1499+
1500+
async def sample_reset_queued_resource():
1501+
# Create a client
1502+
client = tpu_v2alpha1.TpuAsyncClient()
1503+
1504+
# Initialize request argument(s)
1505+
request = tpu_v2alpha1.ResetQueuedResourceRequest(
1506+
name="name_value",
1507+
)
1508+
1509+
# Make the request
1510+
operation = client.reset_queued_resource(request=request)
1511+
1512+
print("Waiting for operation to complete...")
1513+
1514+
response = (await operation).result()
1515+
1516+
# Handle the response
1517+
print(response)
1518+
1519+
Args:
1520+
request (Optional[Union[google.cloud.tpu_v2alpha1.types.ResetQueuedResourceRequest, dict]]):
1521+
The request object. Request for
1522+
[ResetQueuedResource][google.cloud.tpu.v2alpha1.Tpu.ResetQueuedResource].
1523+
name (:class:`str`):
1524+
Required. The name of the queued
1525+
resource.
1526+
1527+
This corresponds to the ``name`` field
1528+
on the ``request`` instance; if ``request`` is provided, this
1529+
should not be set.
1530+
retry (google.api_core.retry.Retry): Designation of what errors, if any,
1531+
should be retried.
1532+
timeout (float): The timeout for this request.
1533+
metadata (Sequence[Tuple[str, str]]): Strings which should be
1534+
sent along with the request as metadata.
1535+
1536+
Returns:
1537+
google.api_core.operation_async.AsyncOperation:
1538+
An object representing a long-running operation.
1539+
1540+
The result type for the operation will be :class:`google.cloud.tpu_v2alpha1.types.QueuedResource` A QueuedResource represents a request for resources that will be placed
1541+
in a queue and fulfilled when the necessary resources
1542+
are available.
1543+
1544+
"""
1545+
# Create or coerce a protobuf request object.
1546+
# Quick check: If we got a request object, we should *not* have
1547+
# gotten any keyword arguments that map to the request.
1548+
has_flattened_params = any([name])
1549+
if request is not None and has_flattened_params:
1550+
raise ValueError(
1551+
"If the `request` argument is set, then none of "
1552+
"the individual field arguments should be set."
1553+
)
1554+
1555+
request = cloud_tpu.ResetQueuedResourceRequest(request)
1556+
1557+
# If we have keyword arguments corresponding to fields on the
1558+
# request, apply these.
1559+
if name is not None:
1560+
request.name = name
1561+
1562+
# Wrap the RPC method; this adds retry and timeout information,
1563+
# and friendly error handling.
1564+
rpc = gapic_v1.method_async.wrap_method(
1565+
self._client._transport.reset_queued_resource,
1566+
default_timeout=None,
1567+
client_info=DEFAULT_CLIENT_INFO,
1568+
)
1569+
1570+
# Certain fields should be provided within the metadata header;
1571+
# add these here.
1572+
metadata = tuple(metadata) + (
1573+
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
1574+
)
1575+
1576+
# Send the request.
1577+
response = await rpc(
1578+
request,
1579+
retry=retry,
1580+
timeout=timeout,
1581+
metadata=metadata,
1582+
)
1583+
1584+
# Wrap the response in an operation future.
1585+
response = operation_async.from_gapic(
1586+
response,
1587+
self._client._transport.operations_client,
1588+
cloud_tpu.QueuedResource,
1589+
metadata_type=cloud_tpu.OperationMetadata,
1590+
)
1591+
1592+
# Done; return the response.
1593+
return response
1594+
14781595
async def generate_service_identity(
14791596
self,
14801597
request: Optional[Union[cloud_tpu.GenerateServiceIdentityRequest, dict]] = None,

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/services/tpu/client.py

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,6 +1772,123 @@ def sample_delete_queued_resource():
17721772
# Done; return the response.
17731773
return response
17741774

1775+
def reset_queued_resource(
1776+
self,
1777+
request: Optional[Union[cloud_tpu.ResetQueuedResourceRequest, dict]] = None,
1778+
*,
1779+
name: Optional[str] = None,
1780+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
1781+
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1782+
metadata: Sequence[Tuple[str, str]] = (),
1783+
) -> operation.Operation:
1784+
r"""Resets a QueuedResource TPU instance
1785+
1786+
.. code-block:: python
1787+
1788+
# This snippet has been automatically generated and should be regarded as a
1789+
# code template only.
1790+
# It will require modifications to work:
1791+
# - It may require correct/in-range values for request initialization.
1792+
# - It may require specifying regional endpoints when creating the service
1793+
# client as shown in:
1794+
# https://googleapis.dev/python/google-api-core/latest/client_options.html
1795+
from google.cloud import tpu_v2alpha1
1796+
1797+
def sample_reset_queued_resource():
1798+
# Create a client
1799+
client = tpu_v2alpha1.TpuClient()
1800+
1801+
# Initialize request argument(s)
1802+
request = tpu_v2alpha1.ResetQueuedResourceRequest(
1803+
name="name_value",
1804+
)
1805+
1806+
# Make the request
1807+
operation = client.reset_queued_resource(request=request)
1808+
1809+
print("Waiting for operation to complete...")
1810+
1811+
response = operation.result()
1812+
1813+
# Handle the response
1814+
print(response)
1815+
1816+
Args:
1817+
request (Union[google.cloud.tpu_v2alpha1.types.ResetQueuedResourceRequest, dict]):
1818+
The request object. Request for
1819+
[ResetQueuedResource][google.cloud.tpu.v2alpha1.Tpu.ResetQueuedResource].
1820+
name (str):
1821+
Required. The name of the queued
1822+
resource.
1823+
1824+
This corresponds to the ``name`` field
1825+
on the ``request`` instance; if ``request`` is provided, this
1826+
should not be set.
1827+
retry (google.api_core.retry.Retry): Designation of what errors, if any,
1828+
should be retried.
1829+
timeout (float): The timeout for this request.
1830+
metadata (Sequence[Tuple[str, str]]): Strings which should be
1831+
sent along with the request as metadata.
1832+
1833+
Returns:
1834+
google.api_core.operation.Operation:
1835+
An object representing a long-running operation.
1836+
1837+
The result type for the operation will be :class:`google.cloud.tpu_v2alpha1.types.QueuedResource` A QueuedResource represents a request for resources that will be placed
1838+
in a queue and fulfilled when the necessary resources
1839+
are available.
1840+
1841+
"""
1842+
# Create or coerce a protobuf request object.
1843+
# Quick check: If we got a request object, we should *not* have
1844+
# gotten any keyword arguments that map to the request.
1845+
has_flattened_params = any([name])
1846+
if request is not None and has_flattened_params:
1847+
raise ValueError(
1848+
"If the `request` argument is set, then none of "
1849+
"the individual field arguments should be set."
1850+
)
1851+
1852+
# Minor optimization to avoid making a copy if the user passes
1853+
# in a cloud_tpu.ResetQueuedResourceRequest.
1854+
# There's no risk of modifying the input as we've already verified
1855+
# there are no flattened fields.
1856+
if not isinstance(request, cloud_tpu.ResetQueuedResourceRequest):
1857+
request = cloud_tpu.ResetQueuedResourceRequest(request)
1858+
# If we have keyword arguments corresponding to fields on the
1859+
# request, apply these.
1860+
if name is not None:
1861+
request.name = name
1862+
1863+
# Wrap the RPC method; this adds retry and timeout information,
1864+
# and friendly error handling.
1865+
rpc = self._transport._wrapped_methods[self._transport.reset_queued_resource]
1866+
1867+
# Certain fields should be provided within the metadata header;
1868+
# add these here.
1869+
metadata = tuple(metadata) + (
1870+
gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)),
1871+
)
1872+
1873+
# Send the request.
1874+
response = rpc(
1875+
request,
1876+
retry=retry,
1877+
timeout=timeout,
1878+
metadata=metadata,
1879+
)
1880+
1881+
# Wrap the response in an operation future.
1882+
response = operation.from_gapic(
1883+
response,
1884+
self._transport.operations_client,
1885+
cloud_tpu.QueuedResource,
1886+
metadata_type=cloud_tpu.OperationMetadata,
1887+
)
1888+
1889+
# Done; return the response.
1890+
return response
1891+
17751892
def generate_service_identity(
17761893
self,
17771894
request: Optional[Union[cloud_tpu.GenerateServiceIdentityRequest, dict]] = None,

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/services/tpu/transports/base.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@ def _prep_wrapped_messages(self, client_info):
179179
default_timeout=None,
180180
client_info=client_info,
181181
),
182+
self.reset_queued_resource: gapic_v1.method.wrap_method(
183+
self.reset_queued_resource,
184+
default_timeout=None,
185+
client_info=client_info,
186+
),
182187
self.generate_service_identity: gapic_v1.method.wrap_method(
183188
self.generate_service_identity,
184189
default_timeout=None,
@@ -331,6 +336,15 @@ def delete_queued_resource(
331336
]:
332337
raise NotImplementedError()
333338

339+
@property
340+
def reset_queued_resource(
341+
self,
342+
) -> Callable[
343+
[cloud_tpu.ResetQueuedResourceRequest],
344+
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
345+
]:
346+
raise NotImplementedError()
347+
334348
@property
335349
def generate_service_identity(
336350
self,

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/services/tpu/transports/grpc.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,32 @@ def delete_queued_resource(
533533
)
534534
return self._stubs["delete_queued_resource"]
535535

536+
@property
537+
def reset_queued_resource(
538+
self,
539+
) -> Callable[[cloud_tpu.ResetQueuedResourceRequest], operations_pb2.Operation]:
540+
r"""Return a callable for the reset queued resource method over gRPC.
541+
542+
Resets a QueuedResource TPU instance
543+
544+
Returns:
545+
Callable[[~.ResetQueuedResourceRequest],
546+
~.Operation]:
547+
A function that, when called, will call the underlying RPC
548+
on the server.
549+
"""
550+
# Generate a "stub function" on-the-fly which will actually make
551+
# the request.
552+
# gRPC handles serialization and deserialization, so we just need
553+
# to pass in the functions for each.
554+
if "reset_queued_resource" not in self._stubs:
555+
self._stubs["reset_queued_resource"] = self.grpc_channel.unary_unary(
556+
"/google.cloud.tpu.v2alpha1.Tpu/ResetQueuedResource",
557+
request_serializer=cloud_tpu.ResetQueuedResourceRequest.serialize,
558+
response_deserializer=operations_pb2.Operation.FromString,
559+
)
560+
return self._stubs["reset_queued_resource"]
561+
536562
@property
537563
def generate_service_identity(
538564
self,

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/services/tpu/transports/grpc_asyncio.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,34 @@ def delete_queued_resource(
547547
)
548548
return self._stubs["delete_queued_resource"]
549549

550+
@property
551+
def reset_queued_resource(
552+
self,
553+
) -> Callable[
554+
[cloud_tpu.ResetQueuedResourceRequest], Awaitable[operations_pb2.Operation]
555+
]:
556+
r"""Return a callable for the reset queued resource method over gRPC.
557+
558+
Resets a QueuedResource TPU instance
559+
560+
Returns:
561+
Callable[[~.ResetQueuedResourceRequest],
562+
Awaitable[~.Operation]]:
563+
A function that, when called, will call the underlying RPC
564+
on the server.
565+
"""
566+
# Generate a "stub function" on-the-fly which will actually make
567+
# the request.
568+
# gRPC handles serialization and deserialization, so we just need
569+
# to pass in the functions for each.
570+
if "reset_queued_resource" not in self._stubs:
571+
self._stubs["reset_queued_resource"] = self.grpc_channel.unary_unary(
572+
"/google.cloud.tpu.v2alpha1.Tpu/ResetQueuedResource",
573+
request_serializer=cloud_tpu.ResetQueuedResourceRequest.serialize,
574+
response_deserializer=operations_pb2.Operation.FromString,
575+
)
576+
return self._stubs["reset_queued_resource"]
577+
550578
@property
551579
def generate_service_identity(
552580
self,

packages/google-cloud-tpu/google/cloud/tpu_v2alpha1/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
OperationMetadata,
4848
QueuedResource,
4949
QueuedResourceState,
50+
ResetQueuedResourceRequest,
5051
RuntimeVersion,
5152
SchedulingConfig,
5253
ServiceAccount,
@@ -93,6 +94,7 @@
9394
"OperationMetadata",
9495
"QueuedResource",
9596
"QueuedResourceState",
97+
"ResetQueuedResourceRequest",
9698
"RuntimeVersion",
9799
"SchedulingConfig",
98100
"ServiceAccount",

0 commit comments

Comments
 (0)