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

Commit b95a767

Browse files
feat: Added the gRPC service config for the Service Controller v1 API (#38)
PiperOrigin-RevId: 381355331 Source-Link: googleapis/googleapis@da5f842 Source-Link: https://github.com/googleapis/googleapis-gen/commit/71481c8a20893a1fdbb09ce128f5546095105208
1 parent 6d1d504 commit b95a767

File tree

14 files changed

+67
-36
lines changed

14 files changed

+67
-36
lines changed

google/cloud/servicecontrol_v1/services/quota_controller/async_client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434

3535

3636
class QuotaControllerAsyncClient:
37-
"""`Google Quota Control
38-
API <https://cloud.google.com/service-control/overview>`__
37+
"""`Google Quota Control API </service-control/overview>`__
3938
4039
Allows clients to allocate and release quota against a `managed
4140
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.

google/cloud/servicecontrol_v1/services/quota_controller/client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ def get_transport_class(cls, label: str = None,) -> Type[QuotaControllerTranspor
7171

7272

7373
class QuotaControllerClient(metaclass=QuotaControllerClientMeta):
74-
"""`Google Quota Control
75-
API <https://cloud.google.com/service-control/overview>`__
74+
"""`Google Quota Control API </service-control/overview>`__
7675
7776
Allows clients to allocate and release quota against a `managed
7877
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.

google/cloud/servicecontrol_v1/services/quota_controller/transports/grpc.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
class QuotaControllerGrpcTransport(QuotaControllerTransport):
3232
"""gRPC backend transport for QuotaController.
3333
34-
`Google Quota Control
35-
API <https://cloud.google.com/service-control/overview>`__
34+
`Google Quota Control API </service-control/overview>`__
3635
3736
Allows clients to allocate and release quota against a `managed
3837
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.

google/cloud/servicecontrol_v1/services/quota_controller/transports/grpc_asyncio.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
class QuotaControllerGrpcAsyncIOTransport(QuotaControllerTransport):
3434
"""gRPC AsyncIO backend transport for QuotaController.
3535
36-
`Google Quota Control
37-
API <https://cloud.google.com/service-control/overview>`__
36+
`Google Quota Control API </service-control/overview>`__
3837
3938
Allows clients to allocate and release quota against a `managed
4039
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.

google/cloud/servicecontrol_v1/services/service_controller/async_client.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434

3535

3636
class ServiceControllerAsyncClient:
37-
"""`Google Service Control
38-
API <https://cloud.google.com/service-control/overview>`__
37+
"""`Google Service Control API </service-control/overview>`__
3938
4039
Lets clients check and report operations against a `managed
4140
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.
@@ -186,7 +185,7 @@ async def check(
186185
187186
NOTE: the
188187
[CheckRequest][google.api.servicecontrol.v1.CheckRequest] has
189-
the size limit of 64KB.
188+
the size limit (wire-format byte size) of 1MB.
190189
191190
This method requires the ``servicemanagement.services.check``
192191
permission on the specified service. For more information, see
@@ -215,7 +214,16 @@ async def check(
215214
# and friendly error handling.
216215
rpc = gapic_v1.method_async.wrap_method(
217216
self._client._transport.check,
218-
default_timeout=None,
217+
default_retry=retries.Retry(
218+
initial=1.0,
219+
maximum=10.0,
220+
multiplier=1.3,
221+
predicate=retries.if_exception_type(
222+
core_exceptions.ServiceUnavailable,
223+
),
224+
deadline=5.0,
225+
),
226+
default_timeout=5.0,
219227
client_info=DEFAULT_CLIENT_INFO,
220228
)
221229

@@ -275,7 +283,7 @@ async def report(
275283
# and friendly error handling.
276284
rpc = gapic_v1.method_async.wrap_method(
277285
self._client._transport.report,
278-
default_timeout=None,
286+
default_timeout=16.0,
279287
client_info=DEFAULT_CLIENT_INFO,
280288
)
281289

google/cloud/servicecontrol_v1/services/service_controller/client.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ def get_transport_class(
7373

7474

7575
class ServiceControllerClient(metaclass=ServiceControllerClientMeta):
76-
"""`Google Service Control
77-
API <https://cloud.google.com/service-control/overview>`__
76+
"""`Google Service Control API </service-control/overview>`__
7877
7978
Lets clients check and report operations against a `managed
8079
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.
@@ -359,7 +358,7 @@ def check(
359358
360359
NOTE: the
361360
[CheckRequest][google.api.servicecontrol.v1.CheckRequest] has
362-
the size limit of 64KB.
361+
the size limit (wire-format byte size) of 1MB.
363362
364363
This method requires the ``servicemanagement.services.check``
365364
permission on the specified service. For more information, see

google/cloud/servicecontrol_v1/services/service_controller/transports/base.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,21 @@ def _prep_wrapped_messages(self, client_info):
158158
# Precompute the wrapped methods.
159159
self._wrapped_methods = {
160160
self.check: gapic_v1.method.wrap_method(
161-
self.check, default_timeout=None, client_info=client_info,
161+
self.check,
162+
default_retry=retries.Retry(
163+
initial=1.0,
164+
maximum=10.0,
165+
multiplier=1.3,
166+
predicate=retries.if_exception_type(
167+
core_exceptions.ServiceUnavailable,
168+
),
169+
deadline=5.0,
170+
),
171+
default_timeout=5.0,
172+
client_info=client_info,
162173
),
163174
self.report: gapic_v1.method.wrap_method(
164-
self.report, default_timeout=None, client_info=client_info,
175+
self.report, default_timeout=16.0, client_info=client_info,
165176
),
166177
}
167178

google/cloud/servicecontrol_v1/services/service_controller/transports/grpc.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
class ServiceControllerGrpcTransport(ServiceControllerTransport):
3232
"""gRPC backend transport for ServiceController.
3333
34-
`Google Service Control
35-
API <https://cloud.google.com/service-control/overview>`__
34+
`Google Service Control API </service-control/overview>`__
3635
3736
Lets clients check and report operations against a `managed
3837
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.
@@ -246,7 +245,7 @@ def check(
246245
247246
NOTE: the
248247
[CheckRequest][google.api.servicecontrol.v1.CheckRequest] has
249-
the size limit of 64KB.
248+
the size limit (wire-format byte size) of 1MB.
250249
251250
This method requires the ``servicemanagement.services.check``
252251
permission on the specified service. For more information, see

google/cloud/servicecontrol_v1/services/service_controller/transports/grpc_asyncio.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
class ServiceControllerGrpcAsyncIOTransport(ServiceControllerTransport):
3434
"""gRPC AsyncIO backend transport for ServiceController.
3535
36-
`Google Service Control
37-
API <https://cloud.google.com/service-control/overview>`__
36+
`Google Service Control API </service-control/overview>`__
3837
3938
Lets clients check and report operations against a `managed
4039
service <https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService>`__.
@@ -251,7 +250,7 @@ def check(
251250
252251
NOTE: the
253252
[CheckRequest][google.api.servicecontrol.v1.CheckRequest] has
254-
the size limit of 64KB.
253+
the size limit (wire-format byte size) of 1MB.
255254
256255
This method requires the ``servicemanagement.services.check``
257256
permission on the specified service. For more information, see

google/cloud/servicecontrol_v1/types/distribution.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
#
1616
import proto # type: ignore
1717

18+
from google.api import distribution_pb2 # type: ignore
19+
1820

1921
__protobuf__ = proto.module(
2022
package="google.api.servicecontrol.v1", manifest={"Distribution",},
@@ -70,6 +72,9 @@ class Distribution(proto.Message):
7072
Buckets with exponentially growing width.
7173
explicit_buckets (google.cloud.servicecontrol_v1.types.Distribution.ExplicitBuckets):
7274
Buckets with arbitrary user-provided width.
75+
exemplars (Sequence[google.api.distribution_pb2.Exemplar]):
76+
Example points. Must be in increasing order of ``value``
77+
field.
7378
"""
7479

7580
class LinearBuckets(proto.Message):
@@ -155,6 +160,9 @@ class ExplicitBuckets(proto.Message):
155160
explicit_buckets = proto.Field(
156161
proto.MESSAGE, number=9, oneof="bucket_option", message=ExplicitBuckets,
157162
)
163+
exemplars = proto.RepeatedField(
164+
proto.MESSAGE, number=10, message=distribution_pb2.Distribution.Exemplar,
165+
)
158166

159167

160168
__all__ = tuple(sorted(__protobuf__.manifest))

google/cloud/servicecontrol_v1/types/metric_value.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#
1616
import proto # type: ignore
1717

18-
from google.cloud.servicecontrol_v1.types import distribution
18+
from google.cloud.servicecontrol_v1.types import distribution as gas_distribution
1919
from google.protobuf import timestamp_pb2 # type: ignore
2020

2121

@@ -33,15 +33,18 @@ class MetricValue(proto.Message):
3333
for the overriding relationship. Note that this map must not
3434
contain monitored resource labels.
3535
start_time (google.protobuf.timestamp_pb2.Timestamp):
36-
The start of the time period over which this
37-
metric value's measurement applies. The time
38-
period has different semantics for different
39-
metric types (cumulative, delta, and gauge). See
40-
the metric definition documentation in the
41-
service configuration for details.
36+
The start of the time period over which this metric value's
37+
measurement applies. The time period has different semantics
38+
for different metric types (cumulative, delta, and gauge).
39+
See the metric definition documentation in the service
40+
configuration for details. If not specified,
41+
[google.api.servicecontrol.v1.Operation.start_time][google.api.servicecontrol.v1.Operation.start_time]
42+
will be used.
4243
end_time (google.protobuf.timestamp_pb2.Timestamp):
43-
The end of the time period over which this
44-
metric value's measurement applies.
44+
The end of the time period over which this metric value's
45+
measurement applies. If not specified,
46+
[google.api.servicecontrol.v1.Operation.end_time][google.api.servicecontrol.v1.Operation.end_time]
47+
will be used.
4548
bool_value (bool):
4649
A boolean value.
4750
int64_value (int):
@@ -62,7 +65,7 @@ class MetricValue(proto.Message):
6265
double_value = proto.Field(proto.DOUBLE, number=6, oneof="value",)
6366
string_value = proto.Field(proto.STRING, number=7, oneof="value",)
6467
distribution_value = proto.Field(
65-
proto.MESSAGE, number=8, oneof="value", message=distribution.Distribution,
68+
proto.MESSAGE, number=8, oneof="value", message=gas_distribution.Distribution,
6669
)
6770

6871

google/cloud/servicecontrol_v1/types/quota_controller.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import proto # type: ignore
1717

1818
from google.cloud.servicecontrol_v1.types import metric_value
19+
from google.rpc import status_pb2 # type: ignore
1920

2021

2122
__protobuf__ = proto.module(
@@ -176,6 +177,9 @@ class QuotaError(proto.Message):
176177
description (str):
177178
Free-form text that provides details on the
178179
cause of the error.
180+
status (google.rpc.status_pb2.Status):
181+
Contains additional information about the quota error. If
182+
available, ``status.code`` will be non zero.
179183
"""
180184

181185
class Code(proto.Enum):
@@ -196,6 +200,7 @@ class Code(proto.Enum):
196200
code = proto.Field(proto.ENUM, number=1, enum=Code,)
197201
subject = proto.Field(proto.STRING, number=2,)
198202
description = proto.Field(proto.STRING, number=3,)
203+
status = proto.Field(proto.MESSAGE, number=4, message=status_pb2.Status,)
199204

200205

201206
__all__ = tuple(sorted(__protobuf__.manifest))

tests/unit/gapic/servicecontrol_v1/test_quota_controller.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from proto.marshal.rules.dates import DurationRule, TimestampRule
2525

2626

27+
from google.api import distribution_pb2 # type: ignore
2728
from google.api_core import client_options
2829
from google.api_core import exceptions as core_exceptions
2930
from google.api_core import gapic_v1
@@ -41,10 +42,11 @@
4142
from google.cloud.servicecontrol_v1.services.quota_controller.transports.base import (
4243
_GOOGLE_AUTH_VERSION,
4344
)
44-
from google.cloud.servicecontrol_v1.types import distribution
45+
from google.cloud.servicecontrol_v1.types import distribution as gas_distribution
4546
from google.cloud.servicecontrol_v1.types import metric_value
4647
from google.cloud.servicecontrol_v1.types import quota_controller
4748
from google.oauth2 import service_account
49+
from google.protobuf import any_pb2 # type: ignore
4850
from google.protobuf import timestamp_pb2 # type: ignore
4951
import google.auth
5052

tests/unit/gapic/servicecontrol_v1/test_service_controller.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from proto.marshal.rules.dates import DurationRule, TimestampRule
2525

2626

27+
from google.api import distribution_pb2 # type: ignore
2728
from google.api_core import client_options
2829
from google.api_core import exceptions as core_exceptions
2930
from google.api_core import gapic_v1
@@ -42,7 +43,7 @@
4243
_GOOGLE_AUTH_VERSION,
4344
)
4445
from google.cloud.servicecontrol_v1.types import check_error
45-
from google.cloud.servicecontrol_v1.types import distribution
46+
from google.cloud.servicecontrol_v1.types import distribution as gas_distribution
4647
from google.cloud.servicecontrol_v1.types import http_request
4748
from google.cloud.servicecontrol_v1.types import log_entry
4849
from google.cloud.servicecontrol_v1.types import metric_value

0 commit comments

Comments
 (0)