Skip to content

Commit 124ae47

Browse files
feat: Add/Update API definitions for Cloud Channel API (#53)
PiperOrigin-RevId: 378177991 Source-Link: googleapis/googleapis@97d42c6 Source-Link: googleapis/googleapis-gen@13ecac3 feat: Update descriptions of APIs. feat: Add additional_bindings to HTTP annotations of Customer related APIs (list/create/get/update/delete). feat: Add a new LookupOffer RPC and LookupOfferRequest proto. feat: Add a new enum value LICENSE_CAP_CHANGED to enum EntitlementEvent.Type.
1 parent da7fd39 commit 124ae47

15 files changed

Lines changed: 436 additions & 60 deletions

File tree

packages/google-cloud-channel/.coveragerc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
branch = True
33

44
[report]
5-
fail_under = 100
65
show_missing = True
76
omit =
87
google/cloud/channel/__init__.py

packages/google-cloud-channel/google/cloud/channel/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
from google.cloud.channel_v1.types.service import ListTransferableOffersResponse
100100
from google.cloud.channel_v1.types.service import ListTransferableSkusRequest
101101
from google.cloud.channel_v1.types.service import ListTransferableSkusResponse
102+
from google.cloud.channel_v1.types.service import LookupOfferRequest
102103
from google.cloud.channel_v1.types.service import ProvisionCloudIdentityRequest
103104
from google.cloud.channel_v1.types.service import PurchasableOffer
104105
from google.cloud.channel_v1.types.service import PurchasableSku
@@ -197,6 +198,7 @@
197198
"ListTransferableOffersResponse",
198199
"ListTransferableSkusRequest",
199200
"ListTransferableSkusResponse",
201+
"LookupOfferRequest",
200202
"ProvisionCloudIdentityRequest",
201203
"PurchasableOffer",
202204
"PurchasableSku",

packages/google-cloud-channel/google/cloud/channel_v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
from .types.service import ListTransferableOffersResponse
9494
from .types.service import ListTransferableSkusRequest
9595
from .types.service import ListTransferableSkusResponse
96+
from .types.service import LookupOfferRequest
9697
from .types.service import ProvisionCloudIdentityRequest
9798
from .types.service import PurchasableOffer
9899
from .types.service import PurchasableSku
@@ -167,6 +168,7 @@
167168
"ListTransferableOffersResponse",
168169
"ListTransferableSkusRequest",
169170
"ListTransferableSkusResponse",
171+
"LookupOfferRequest",
170172
"MarketingInfo",
171173
"Media",
172174
"MediaType",

packages/google-cloud-channel/google/cloud/channel_v1/gapic_metadata.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@
130130
"list_transferable_skus"
131131
]
132132
},
133+
"LookupOffer": {
134+
"methods": [
135+
"lookup_offer"
136+
]
137+
},
133138
"ProvisionCloudIdentity": {
134139
"methods": [
135140
"provision_cloud_identity"
@@ -300,6 +305,11 @@
300305
"list_transferable_skus"
301306
]
302307
},
308+
"LookupOffer": {
309+
"methods": [
310+
"lookup_offer"
311+
]
312+
},
303313
"ProvisionCloudIdentity": {
304314
"methods": [
305315
"provision_cloud_identity"

packages/google-cloud-channel/google/cloud/channel_v1/services/cloud_channel_service/async_client.py

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,8 @@ async def get_customer(
285285
timeout: float = None,
286286
metadata: Sequence[Tuple[str, str]] = (),
287287
) -> customers.Customer:
288-
r"""Returns a requested [Customer][google.cloud.channel.v1.Customer]
289-
resource.
288+
r"""Returns the requested
289+
[Customer][google.cloud.channel.v1.Customer] resource.
290290
291291
Possible error codes:
292292
@@ -565,7 +565,7 @@ async def delete_customer(
565565
metadata: Sequence[Tuple[str, str]] = (),
566566
) -> None:
567567
r"""Deletes the given [Customer][google.cloud.channel.v1.Customer]
568-
permanently and irreversibly.
568+
permanently.
569569
570570
Possible error codes:
571571
@@ -951,7 +951,7 @@ async def get_entitlement(
951951
timeout: float = None,
952952
metadata: Sequence[Tuple[str, str]] = (),
953953
) -> entitlements.Entitlement:
954-
r"""Returns a requested
954+
r"""Returns the requested
955955
[Entitlement][google.cloud.channel.v1.Entitlement] resource.
956956
957957
Possible error codes:
@@ -2000,7 +2000,7 @@ async def get_channel_partner_link(
20002000
timeout: float = None,
20012001
metadata: Sequence[Tuple[str, str]] = (),
20022002
) -> channel_partner_links.ChannelPartnerLink:
2003-
r"""Returns a requested
2003+
r"""Returns the requested
20042004
[ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink]
20052005
resource. You must be a distributor to call this method.
20062006
@@ -2205,6 +2205,71 @@ async def update_channel_partner_link(
22052205
# Done; return the response.
22062206
return response
22072207

2208+
async def lookup_offer(
2209+
self,
2210+
request: service.LookupOfferRequest = None,
2211+
*,
2212+
retry: retries.Retry = gapic_v1.method.DEFAULT,
2213+
timeout: float = None,
2214+
metadata: Sequence[Tuple[str, str]] = (),
2215+
) -> offers.Offer:
2216+
r"""Returns the requested [Offer][google.cloud.channel.v1.Offer]
2217+
resource.
2218+
2219+
Possible error codes:
2220+
2221+
- PERMISSION_DENIED: The entitlement doesn't belong to the
2222+
reseller.
2223+
- INVALID_ARGUMENT: Required request parameters are missing or
2224+
invalid.
2225+
- NOT_FOUND: Entitlement or offer was not found.
2226+
2227+
Return value: The [Offer][google.cloud.channel.v1.Offer]
2228+
resource.
2229+
2230+
Args:
2231+
request (:class:`google.cloud.channel_v1.types.LookupOfferRequest`):
2232+
The request object. Request message for LookupOffer.
2233+
retry (google.api_core.retry.Retry): Designation of what errors, if any,
2234+
should be retried.
2235+
timeout (float): The timeout for this request.
2236+
metadata (Sequence[Tuple[str, str]]): Strings which should be
2237+
sent along with the request as metadata.
2238+
2239+
Returns:
2240+
google.cloud.channel_v1.types.Offer:
2241+
Represents an offer made to resellers for purchase.
2242+
An offer is associated with a
2243+
[Sku][google.cloud.channel.v1.Sku], has a plan for
2244+
payment, a price, and defines the constraints for
2245+
buying.
2246+
2247+
"""
2248+
# Create or coerce a protobuf request object.
2249+
request = service.LookupOfferRequest(request)
2250+
2251+
# Wrap the RPC method; this adds retry and timeout information,
2252+
# and friendly error handling.
2253+
rpc = gapic_v1.method_async.wrap_method(
2254+
self._client._transport.lookup_offer,
2255+
default_timeout=None,
2256+
client_info=DEFAULT_CLIENT_INFO,
2257+
)
2258+
2259+
# Certain fields should be provided within the metadata header;
2260+
# add these here.
2261+
metadata = tuple(metadata) + (
2262+
gapic_v1.routing_header.to_grpc_metadata(
2263+
(("entitlement", request.entitlement),)
2264+
),
2265+
)
2266+
2267+
# Send the request.
2268+
response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
2269+
2270+
# Done; return the response.
2271+
return response
2272+
22082273
async def list_products(
22092274
self,
22102275
request: service.ListProductsRequest = None,

packages/google-cloud-channel/google/cloud/channel_v1/services/cloud_channel_service/client.py

Lines changed: 71 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,8 @@ def get_customer(
508508
timeout: float = None,
509509
metadata: Sequence[Tuple[str, str]] = (),
510510
) -> customers.Customer:
511-
r"""Returns a requested [Customer][google.cloud.channel.v1.Customer]
512-
resource.
511+
r"""Returns the requested
512+
[Customer][google.cloud.channel.v1.Customer] resource.
513513
514514
Possible error codes:
515515
@@ -793,7 +793,7 @@ def delete_customer(
793793
metadata: Sequence[Tuple[str, str]] = (),
794794
) -> None:
795795
r"""Deletes the given [Customer][google.cloud.channel.v1.Customer]
796-
permanently and irreversibly.
796+
permanently.
797797
798798
Possible error codes:
799799
@@ -1183,7 +1183,7 @@ def get_entitlement(
11831183
timeout: float = None,
11841184
metadata: Sequence[Tuple[str, str]] = (),
11851185
) -> entitlements.Entitlement:
1186-
r"""Returns a requested
1186+
r"""Returns the requested
11871187
[Entitlement][google.cloud.channel.v1.Entitlement] resource.
11881188
11891189
Possible error codes:
@@ -2248,7 +2248,7 @@ def get_channel_partner_link(
22482248
timeout: float = None,
22492249
metadata: Sequence[Tuple[str, str]] = (),
22502250
) -> channel_partner_links.ChannelPartnerLink:
2251-
r"""Returns a requested
2251+
r"""Returns the requested
22522252
[ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink]
22532253
resource. You must be a distributor to call this method.
22542254
@@ -2460,6 +2460,72 @@ def update_channel_partner_link(
24602460
# Done; return the response.
24612461
return response
24622462

2463+
def lookup_offer(
2464+
self,
2465+
request: service.LookupOfferRequest = None,
2466+
*,
2467+
retry: retries.Retry = gapic_v1.method.DEFAULT,
2468+
timeout: float = None,
2469+
metadata: Sequence[Tuple[str, str]] = (),
2470+
) -> offers.Offer:
2471+
r"""Returns the requested [Offer][google.cloud.channel.v1.Offer]
2472+
resource.
2473+
2474+
Possible error codes:
2475+
2476+
- PERMISSION_DENIED: The entitlement doesn't belong to the
2477+
reseller.
2478+
- INVALID_ARGUMENT: Required request parameters are missing or
2479+
invalid.
2480+
- NOT_FOUND: Entitlement or offer was not found.
2481+
2482+
Return value: The [Offer][google.cloud.channel.v1.Offer]
2483+
resource.
2484+
2485+
Args:
2486+
request (google.cloud.channel_v1.types.LookupOfferRequest):
2487+
The request object. Request message for LookupOffer.
2488+
retry (google.api_core.retry.Retry): Designation of what errors, if any,
2489+
should be retried.
2490+
timeout (float): The timeout for this request.
2491+
metadata (Sequence[Tuple[str, str]]): Strings which should be
2492+
sent along with the request as metadata.
2493+
2494+
Returns:
2495+
google.cloud.channel_v1.types.Offer:
2496+
Represents an offer made to resellers for purchase.
2497+
An offer is associated with a
2498+
[Sku][google.cloud.channel.v1.Sku], has a plan for
2499+
payment, a price, and defines the constraints for
2500+
buying.
2501+
2502+
"""
2503+
# Create or coerce a protobuf request object.
2504+
# Minor optimization to avoid making a copy if the user passes
2505+
# in a service.LookupOfferRequest.
2506+
# There's no risk of modifying the input as we've already verified
2507+
# there are no flattened fields.
2508+
if not isinstance(request, service.LookupOfferRequest):
2509+
request = service.LookupOfferRequest(request)
2510+
2511+
# Wrap the RPC method; this adds retry and timeout information,
2512+
# and friendly error handling.
2513+
rpc = self._transport._wrapped_methods[self._transport.lookup_offer]
2514+
2515+
# Certain fields should be provided within the metadata header;
2516+
# add these here.
2517+
metadata = tuple(metadata) + (
2518+
gapic_v1.routing_header.to_grpc_metadata(
2519+
(("entitlement", request.entitlement),)
2520+
),
2521+
)
2522+
2523+
# Send the request.
2524+
response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
2525+
2526+
# Done; return the response.
2527+
return response
2528+
24632529
def list_products(
24642530
self,
24652531
request: service.ListProductsRequest = None,

packages/google-cloud-channel/google/cloud/channel_v1/services/cloud_channel_service/transports/base.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from google.cloud.channel_v1.types import channel_partner_links
3030
from google.cloud.channel_v1.types import customers
3131
from google.cloud.channel_v1.types import entitlements
32+
from google.cloud.channel_v1.types import offers
3233
from google.cloud.channel_v1.types import service
3334
from google.longrunning import operations_pb2 # type: ignore
3435
from google.protobuf import empty_pb2 # type: ignore
@@ -269,6 +270,9 @@ def _prep_wrapped_messages(self, client_info):
269270
default_timeout=None,
270271
client_info=client_info,
271272
),
273+
self.lookup_offer: gapic_v1.method.wrap_method(
274+
self.lookup_offer, default_timeout=None, client_info=client_info,
275+
),
272276
self.list_products: gapic_v1.method.wrap_method(
273277
self.list_products, default_timeout=None, client_info=client_info,
274278
),
@@ -555,6 +559,14 @@ def update_channel_partner_link(
555559
]:
556560
raise NotImplementedError()
557561

562+
@property
563+
def lookup_offer(
564+
self,
565+
) -> Callable[
566+
[service.LookupOfferRequest], Union[offers.Offer, Awaitable[offers.Offer]]
567+
]:
568+
raise NotImplementedError()
569+
558570
@property
559571
def list_products(
560572
self,

0 commit comments

Comments
 (0)