stackit-stackitmarketplace 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. stackit/stackitmarketplace/__init__.py +84 -0
  2. stackit/stackitmarketplace/api/__init__.py +4 -0
  3. stackit/stackitmarketplace/api/default_api.py +1719 -0
  4. stackit/stackitmarketplace/api_client.py +627 -0
  5. stackit/stackitmarketplace/api_response.py +23 -0
  6. stackit/stackitmarketplace/configuration.py +138 -0
  7. stackit/stackitmarketplace/exceptions.py +199 -0
  8. stackit/stackitmarketplace/models/__init__.py +65 -0
  9. stackit/stackitmarketplace/models/catalog_pricing_option_highlight.py +84 -0
  10. stackit/stackitmarketplace/models/catalog_product_detail.py +246 -0
  11. stackit/stackitmarketplace/models/catalog_product_details_vendor.py +96 -0
  12. stackit/stackitmarketplace/models/catalog_product_highlight.py +94 -0
  13. stackit/stackitmarketplace/models/catalog_product_overview.py +132 -0
  14. stackit/stackitmarketplace/models/catalog_product_overview_vendor.py +86 -0
  15. stackit/stackitmarketplace/models/catalog_product_pricing_option.py +146 -0
  16. stackit/stackitmarketplace/models/catalog_product_support_resource.py +89 -0
  17. stackit/stackitmarketplace/models/catalog_product_vendor_terms.py +86 -0
  18. stackit/stackitmarketplace/models/current_subscription_state_response.py +103 -0
  19. stackit/stackitmarketplace/models/error_response.py +95 -0
  20. stackit/stackitmarketplace/models/list_catalog_products_response.py +109 -0
  21. stackit/stackitmarketplace/models/list_vendor_subscriptions_response.py +107 -0
  22. stackit/stackitmarketplace/models/requested_subscription_state_response.py +103 -0
  23. stackit/stackitmarketplace/models/resolve_customer_payload.py +82 -0
  24. stackit/stackitmarketplace/models/subscription_cancel_response.py +109 -0
  25. stackit/stackitmarketplace/models/subscription_product.py +130 -0
  26. stackit/stackitmarketplace/models/vendor_subscription.py +115 -0
  27. stackit/stackitmarketplace/py.typed +0 -0
  28. stackit/stackitmarketplace/rest.py +149 -0
  29. stackit_stackitmarketplace-0.1.0.dist-info/METADATA +44 -0
  30. stackit_stackitmarketplace-0.1.0.dist-info/RECORD +31 -0
  31. stackit_stackitmarketplace-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,1719 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Marketplace API
5
+
6
+ API to manage STACKIT Marketplace.
7
+
8
+ The version of the OpenAPI document: 1
9
+ Contact: marketplace@stackit.de
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501 docstring might be too long
14
+
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+
17
+ from pydantic import (
18
+ Field,
19
+ StrictFloat,
20
+ StrictInt,
21
+ StrictStr,
22
+ validate_call,
23
+ )
24
+ from stackit.core.configuration import Configuration
25
+ from typing_extensions import Annotated
26
+
27
+ from stackit.stackitmarketplace.api_client import ApiClient, RequestSerialized
28
+ from stackit.stackitmarketplace.api_response import ApiResponse
29
+ from stackit.stackitmarketplace.models.catalog_product_detail import (
30
+ CatalogProductDetail,
31
+ )
32
+ from stackit.stackitmarketplace.models.list_catalog_products_response import (
33
+ ListCatalogProductsResponse,
34
+ )
35
+ from stackit.stackitmarketplace.models.list_vendor_subscriptions_response import (
36
+ ListVendorSubscriptionsResponse,
37
+ )
38
+ from stackit.stackitmarketplace.models.resolve_customer_payload import (
39
+ ResolveCustomerPayload,
40
+ )
41
+ from stackit.stackitmarketplace.models.vendor_subscription import VendorSubscription
42
+ from stackit.stackitmarketplace.rest import RESTResponseType
43
+
44
+
45
+ class DefaultApi:
46
+ """NOTE: This class is auto generated by OpenAPI Generator
47
+ Ref: https://openapi-generator.tech
48
+
49
+ Do not edit the class manually.
50
+ """
51
+
52
+ def __init__(self, configuration: Configuration = None) -> None:
53
+ if configuration is None:
54
+ configuration = Configuration()
55
+ self.configuration = configuration
56
+ self.api_client = ApiClient(self.configuration)
57
+
58
+ @validate_call
59
+ def approve_subscription(
60
+ self,
61
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
62
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
63
+ _request_timeout: Union[
64
+ None,
65
+ Annotated[StrictFloat, Field(gt=0)],
66
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
67
+ ] = None,
68
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
69
+ _content_type: Optional[StrictStr] = None,
70
+ _headers: Optional[Dict[StrictStr, Any]] = None,
71
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
72
+ ) -> None:
73
+ """Approve a subscription
74
+
75
+ Approve a pending subscription.
76
+
77
+ :param project_id: The project ID. (required)
78
+ :type project_id: str
79
+ :param subscription_id: The subscription ID. (required)
80
+ :type subscription_id: str
81
+ :param _request_timeout: timeout setting for this request. If one
82
+ number provided, it will be total request
83
+ timeout. It can also be a pair (tuple) of
84
+ (connection, read) timeouts.
85
+ :type _request_timeout: int, tuple(int, int), optional
86
+ :param _request_auth: set to override the auth_settings for an a single
87
+ request; this effectively ignores the
88
+ authentication in the spec for a single request.
89
+ :type _request_auth: dict, optional
90
+ :param _content_type: force content-type for the request.
91
+ :type _content_type: str, Optional
92
+ :param _headers: set to override the headers for a single
93
+ request; this effectively ignores the headers
94
+ in the spec for a single request.
95
+ :type _headers: dict, optional
96
+ :param _host_index: set to override the host_index for a single
97
+ request; this effectively ignores the host_index
98
+ in the spec for a single request.
99
+ :type _host_index: int, optional
100
+ :return: Returns the result object.
101
+ """ # noqa: E501 docstring might be too long
102
+
103
+ _param = self._approve_subscription_serialize(
104
+ project_id=project_id,
105
+ subscription_id=subscription_id,
106
+ _request_auth=_request_auth,
107
+ _content_type=_content_type,
108
+ _headers=_headers,
109
+ _host_index=_host_index,
110
+ )
111
+
112
+ _response_types_map: Dict[str, Optional[str]] = {
113
+ "204": None,
114
+ "400": "ErrorResponse",
115
+ "401": "ErrorResponse",
116
+ "403": "ErrorResponse",
117
+ "404": "ErrorResponse",
118
+ }
119
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
120
+ response_data.read()
121
+ return self.api_client.response_deserialize(
122
+ response_data=response_data,
123
+ response_types_map=_response_types_map,
124
+ ).data
125
+
126
+ @validate_call
127
+ def approve_subscription_with_http_info(
128
+ self,
129
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
130
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
131
+ _request_timeout: Union[
132
+ None,
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
135
+ ] = None,
136
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
137
+ _content_type: Optional[StrictStr] = None,
138
+ _headers: Optional[Dict[StrictStr, Any]] = None,
139
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
140
+ ) -> ApiResponse[None]:
141
+ """Approve a subscription
142
+
143
+ Approve a pending subscription.
144
+
145
+ :param project_id: The project ID. (required)
146
+ :type project_id: str
147
+ :param subscription_id: The subscription ID. (required)
148
+ :type subscription_id: str
149
+ :param _request_timeout: timeout setting for this request. If one
150
+ number provided, it will be total request
151
+ timeout. It can also be a pair (tuple) of
152
+ (connection, read) timeouts.
153
+ :type _request_timeout: int, tuple(int, int), optional
154
+ :param _request_auth: set to override the auth_settings for an a single
155
+ request; this effectively ignores the
156
+ authentication in the spec for a single request.
157
+ :type _request_auth: dict, optional
158
+ :param _content_type: force content-type for the request.
159
+ :type _content_type: str, Optional
160
+ :param _headers: set to override the headers for a single
161
+ request; this effectively ignores the headers
162
+ in the spec for a single request.
163
+ :type _headers: dict, optional
164
+ :param _host_index: set to override the host_index for a single
165
+ request; this effectively ignores the host_index
166
+ in the spec for a single request.
167
+ :type _host_index: int, optional
168
+ :return: Returns the result object.
169
+ """ # noqa: E501 docstring might be too long
170
+
171
+ _param = self._approve_subscription_serialize(
172
+ project_id=project_id,
173
+ subscription_id=subscription_id,
174
+ _request_auth=_request_auth,
175
+ _content_type=_content_type,
176
+ _headers=_headers,
177
+ _host_index=_host_index,
178
+ )
179
+
180
+ _response_types_map: Dict[str, Optional[str]] = {
181
+ "204": None,
182
+ "400": "ErrorResponse",
183
+ "401": "ErrorResponse",
184
+ "403": "ErrorResponse",
185
+ "404": "ErrorResponse",
186
+ }
187
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
188
+ response_data.read()
189
+ return self.api_client.response_deserialize(
190
+ response_data=response_data,
191
+ response_types_map=_response_types_map,
192
+ )
193
+
194
+ @validate_call
195
+ def approve_subscription_without_preload_content(
196
+ self,
197
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
198
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
199
+ _request_timeout: Union[
200
+ None,
201
+ Annotated[StrictFloat, Field(gt=0)],
202
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
203
+ ] = None,
204
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
205
+ _content_type: Optional[StrictStr] = None,
206
+ _headers: Optional[Dict[StrictStr, Any]] = None,
207
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
208
+ ) -> RESTResponseType:
209
+ """Approve a subscription
210
+
211
+ Approve a pending subscription.
212
+
213
+ :param project_id: The project ID. (required)
214
+ :type project_id: str
215
+ :param subscription_id: The subscription ID. (required)
216
+ :type subscription_id: str
217
+ :param _request_timeout: timeout setting for this request. If one
218
+ number provided, it will be total request
219
+ timeout. It can also be a pair (tuple) of
220
+ (connection, read) timeouts.
221
+ :type _request_timeout: int, tuple(int, int), optional
222
+ :param _request_auth: set to override the auth_settings for an a single
223
+ request; this effectively ignores the
224
+ authentication in the spec for a single request.
225
+ :type _request_auth: dict, optional
226
+ :param _content_type: force content-type for the request.
227
+ :type _content_type: str, Optional
228
+ :param _headers: set to override the headers for a single
229
+ request; this effectively ignores the headers
230
+ in the spec for a single request.
231
+ :type _headers: dict, optional
232
+ :param _host_index: set to override the host_index for a single
233
+ request; this effectively ignores the host_index
234
+ in the spec for a single request.
235
+ :type _host_index: int, optional
236
+ :return: Returns the result object.
237
+ """ # noqa: E501 docstring might be too long
238
+
239
+ _param = self._approve_subscription_serialize(
240
+ project_id=project_id,
241
+ subscription_id=subscription_id,
242
+ _request_auth=_request_auth,
243
+ _content_type=_content_type,
244
+ _headers=_headers,
245
+ _host_index=_host_index,
246
+ )
247
+
248
+ _response_types_map: Dict[str, Optional[str]] = {
249
+ "204": None,
250
+ "400": "ErrorResponse",
251
+ "401": "ErrorResponse",
252
+ "403": "ErrorResponse",
253
+ "404": "ErrorResponse",
254
+ }
255
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
256
+ return response_data.response
257
+
258
+ def _approve_subscription_serialize(
259
+ self,
260
+ project_id,
261
+ subscription_id,
262
+ _request_auth,
263
+ _content_type,
264
+ _headers,
265
+ _host_index,
266
+ ) -> RequestSerialized:
267
+
268
+ _host = None
269
+
270
+ _collection_formats: Dict[str, str] = {}
271
+
272
+ _path_params: Dict[str, str] = {}
273
+ _query_params: List[Tuple[str, str]] = []
274
+ _header_params: Dict[str, Optional[str]] = _headers or {}
275
+ _form_params: List[Tuple[str, str]] = []
276
+ _files: Dict[str, Union[str, bytes]] = {}
277
+ _body_params: Optional[bytes] = None
278
+
279
+ # process the path parameters
280
+ if project_id is not None:
281
+ _path_params["projectId"] = project_id
282
+ if subscription_id is not None:
283
+ _path_params["subscriptionId"] = subscription_id
284
+ # process the query parameters
285
+ # process the header parameters
286
+ # process the form parameters
287
+ # process the body parameter
288
+
289
+ # set the HTTP header `Accept`
290
+ if "Accept" not in _header_params:
291
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
292
+
293
+ # authentication setting
294
+ _auth_settings: List[str] = []
295
+
296
+ return self.api_client.param_serialize(
297
+ method="POST",
298
+ resource_path="/v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}/approve",
299
+ path_params=_path_params,
300
+ query_params=_query_params,
301
+ header_params=_header_params,
302
+ body=_body_params,
303
+ post_params=_form_params,
304
+ files=_files,
305
+ auth_settings=_auth_settings,
306
+ collection_formats=_collection_formats,
307
+ _host=_host,
308
+ _request_auth=_request_auth,
309
+ )
310
+
311
+ @validate_call
312
+ def get_catalog_product(
313
+ self,
314
+ product_id: Annotated[StrictStr, Field(description="The product ID.")],
315
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
316
+ _request_timeout: Union[
317
+ None,
318
+ Annotated[StrictFloat, Field(gt=0)],
319
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
320
+ ] = None,
321
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
322
+ _content_type: Optional[StrictStr] = None,
323
+ _headers: Optional[Dict[StrictStr, Any]] = None,
324
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
325
+ ) -> CatalogProductDetail:
326
+ """Get a product
327
+
328
+ Get a product.
329
+
330
+ :param product_id: The product ID. (required)
331
+ :type product_id: str
332
+ :param locale: The language of the response.
333
+ :type locale: str
334
+ :param _request_timeout: timeout setting for this request. If one
335
+ number provided, it will be total request
336
+ timeout. It can also be a pair (tuple) of
337
+ (connection, read) timeouts.
338
+ :type _request_timeout: int, tuple(int, int), optional
339
+ :param _request_auth: set to override the auth_settings for an a single
340
+ request; this effectively ignores the
341
+ authentication in the spec for a single request.
342
+ :type _request_auth: dict, optional
343
+ :param _content_type: force content-type for the request.
344
+ :type _content_type: str, Optional
345
+ :param _headers: set to override the headers for a single
346
+ request; this effectively ignores the headers
347
+ in the spec for a single request.
348
+ :type _headers: dict, optional
349
+ :param _host_index: set to override the host_index for a single
350
+ request; this effectively ignores the host_index
351
+ in the spec for a single request.
352
+ :type _host_index: int, optional
353
+ :return: Returns the result object.
354
+ """ # noqa: E501 docstring might be too long
355
+
356
+ _param = self._get_catalog_product_serialize(
357
+ product_id=product_id,
358
+ locale=locale,
359
+ _request_auth=_request_auth,
360
+ _content_type=_content_type,
361
+ _headers=_headers,
362
+ _host_index=_host_index,
363
+ )
364
+
365
+ _response_types_map: Dict[str, Optional[str]] = {
366
+ "200": "CatalogProductDetail",
367
+ "400": "ErrorResponse",
368
+ "401": "ErrorResponse",
369
+ "403": "ErrorResponse",
370
+ "404": "ErrorResponse",
371
+ }
372
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
373
+ response_data.read()
374
+ return self.api_client.response_deserialize(
375
+ response_data=response_data,
376
+ response_types_map=_response_types_map,
377
+ ).data
378
+
379
+ @validate_call
380
+ def get_catalog_product_with_http_info(
381
+ self,
382
+ product_id: Annotated[StrictStr, Field(description="The product ID.")],
383
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
384
+ _request_timeout: Union[
385
+ None,
386
+ Annotated[StrictFloat, Field(gt=0)],
387
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
388
+ ] = None,
389
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
390
+ _content_type: Optional[StrictStr] = None,
391
+ _headers: Optional[Dict[StrictStr, Any]] = None,
392
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
393
+ ) -> ApiResponse[CatalogProductDetail]:
394
+ """Get a product
395
+
396
+ Get a product.
397
+
398
+ :param product_id: The product ID. (required)
399
+ :type product_id: str
400
+ :param locale: The language of the response.
401
+ :type locale: str
402
+ :param _request_timeout: timeout setting for this request. If one
403
+ number provided, it will be total request
404
+ timeout. It can also be a pair (tuple) of
405
+ (connection, read) timeouts.
406
+ :type _request_timeout: int, tuple(int, int), optional
407
+ :param _request_auth: set to override the auth_settings for an a single
408
+ request; this effectively ignores the
409
+ authentication in the spec for a single request.
410
+ :type _request_auth: dict, optional
411
+ :param _content_type: force content-type for the request.
412
+ :type _content_type: str, Optional
413
+ :param _headers: set to override the headers for a single
414
+ request; this effectively ignores the headers
415
+ in the spec for a single request.
416
+ :type _headers: dict, optional
417
+ :param _host_index: set to override the host_index for a single
418
+ request; this effectively ignores the host_index
419
+ in the spec for a single request.
420
+ :type _host_index: int, optional
421
+ :return: Returns the result object.
422
+ """ # noqa: E501 docstring might be too long
423
+
424
+ _param = self._get_catalog_product_serialize(
425
+ product_id=product_id,
426
+ locale=locale,
427
+ _request_auth=_request_auth,
428
+ _content_type=_content_type,
429
+ _headers=_headers,
430
+ _host_index=_host_index,
431
+ )
432
+
433
+ _response_types_map: Dict[str, Optional[str]] = {
434
+ "200": "CatalogProductDetail",
435
+ "400": "ErrorResponse",
436
+ "401": "ErrorResponse",
437
+ "403": "ErrorResponse",
438
+ "404": "ErrorResponse",
439
+ }
440
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
441
+ response_data.read()
442
+ return self.api_client.response_deserialize(
443
+ response_data=response_data,
444
+ response_types_map=_response_types_map,
445
+ )
446
+
447
+ @validate_call
448
+ def get_catalog_product_without_preload_content(
449
+ self,
450
+ product_id: Annotated[StrictStr, Field(description="The product ID.")],
451
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
452
+ _request_timeout: Union[
453
+ None,
454
+ Annotated[StrictFloat, Field(gt=0)],
455
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
456
+ ] = None,
457
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
458
+ _content_type: Optional[StrictStr] = None,
459
+ _headers: Optional[Dict[StrictStr, Any]] = None,
460
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
461
+ ) -> RESTResponseType:
462
+ """Get a product
463
+
464
+ Get a product.
465
+
466
+ :param product_id: The product ID. (required)
467
+ :type product_id: str
468
+ :param locale: The language of the response.
469
+ :type locale: str
470
+ :param _request_timeout: timeout setting for this request. If one
471
+ number provided, it will be total request
472
+ timeout. It can also be a pair (tuple) of
473
+ (connection, read) timeouts.
474
+ :type _request_timeout: int, tuple(int, int), optional
475
+ :param _request_auth: set to override the auth_settings for an a single
476
+ request; this effectively ignores the
477
+ authentication in the spec for a single request.
478
+ :type _request_auth: dict, optional
479
+ :param _content_type: force content-type for the request.
480
+ :type _content_type: str, Optional
481
+ :param _headers: set to override the headers for a single
482
+ request; this effectively ignores the headers
483
+ in the spec for a single request.
484
+ :type _headers: dict, optional
485
+ :param _host_index: set to override the host_index for a single
486
+ request; this effectively ignores the host_index
487
+ in the spec for a single request.
488
+ :type _host_index: int, optional
489
+ :return: Returns the result object.
490
+ """ # noqa: E501 docstring might be too long
491
+
492
+ _param = self._get_catalog_product_serialize(
493
+ product_id=product_id,
494
+ locale=locale,
495
+ _request_auth=_request_auth,
496
+ _content_type=_content_type,
497
+ _headers=_headers,
498
+ _host_index=_host_index,
499
+ )
500
+
501
+ _response_types_map: Dict[str, Optional[str]] = {
502
+ "200": "CatalogProductDetail",
503
+ "400": "ErrorResponse",
504
+ "401": "ErrorResponse",
505
+ "403": "ErrorResponse",
506
+ "404": "ErrorResponse",
507
+ }
508
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
509
+ return response_data.response
510
+
511
+ def _get_catalog_product_serialize(
512
+ self,
513
+ product_id,
514
+ locale,
515
+ _request_auth,
516
+ _content_type,
517
+ _headers,
518
+ _host_index,
519
+ ) -> RequestSerialized:
520
+
521
+ _host = None
522
+
523
+ _collection_formats: Dict[str, str] = {}
524
+
525
+ _path_params: Dict[str, str] = {}
526
+ _query_params: List[Tuple[str, str]] = []
527
+ _header_params: Dict[str, Optional[str]] = _headers or {}
528
+ _form_params: List[Tuple[str, str]] = []
529
+ _files: Dict[str, Union[str, bytes]] = {}
530
+ _body_params: Optional[bytes] = None
531
+
532
+ # process the path parameters
533
+ if product_id is not None:
534
+ _path_params["productId"] = product_id
535
+ # process the query parameters
536
+ if locale is not None:
537
+
538
+ _query_params.append(("locale", locale))
539
+
540
+ # process the header parameters
541
+ # process the form parameters
542
+ # process the body parameter
543
+
544
+ # set the HTTP header `Accept`
545
+ if "Accept" not in _header_params:
546
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
547
+
548
+ # authentication setting
549
+ _auth_settings: List[str] = []
550
+
551
+ return self.api_client.param_serialize(
552
+ method="GET",
553
+ resource_path="/v1/catalog/products/{productId}",
554
+ path_params=_path_params,
555
+ query_params=_query_params,
556
+ header_params=_header_params,
557
+ body=_body_params,
558
+ post_params=_form_params,
559
+ files=_files,
560
+ auth_settings=_auth_settings,
561
+ collection_formats=_collection_formats,
562
+ _host=_host,
563
+ _request_auth=_request_auth,
564
+ )
565
+
566
+ @validate_call
567
+ def get_vendor_subscription(
568
+ self,
569
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
570
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
571
+ _request_timeout: Union[
572
+ None,
573
+ Annotated[StrictFloat, Field(gt=0)],
574
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
575
+ ] = None,
576
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
577
+ _content_type: Optional[StrictStr] = None,
578
+ _headers: Optional[Dict[StrictStr, Any]] = None,
579
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
580
+ ) -> VendorSubscription:
581
+ """Get a subscription
582
+
583
+ Get a subscription.
584
+
585
+ :param project_id: The project ID. (required)
586
+ :type project_id: str
587
+ :param subscription_id: The subscription ID. (required)
588
+ :type subscription_id: str
589
+ :param _request_timeout: timeout setting for this request. If one
590
+ number provided, it will be total request
591
+ timeout. It can also be a pair (tuple) of
592
+ (connection, read) timeouts.
593
+ :type _request_timeout: int, tuple(int, int), optional
594
+ :param _request_auth: set to override the auth_settings for an a single
595
+ request; this effectively ignores the
596
+ authentication in the spec for a single request.
597
+ :type _request_auth: dict, optional
598
+ :param _content_type: force content-type for the request.
599
+ :type _content_type: str, Optional
600
+ :param _headers: set to override the headers for a single
601
+ request; this effectively ignores the headers
602
+ in the spec for a single request.
603
+ :type _headers: dict, optional
604
+ :param _host_index: set to override the host_index for a single
605
+ request; this effectively ignores the host_index
606
+ in the spec for a single request.
607
+ :type _host_index: int, optional
608
+ :return: Returns the result object.
609
+ """ # noqa: E501 docstring might be too long
610
+
611
+ _param = self._get_vendor_subscription_serialize(
612
+ project_id=project_id,
613
+ subscription_id=subscription_id,
614
+ _request_auth=_request_auth,
615
+ _content_type=_content_type,
616
+ _headers=_headers,
617
+ _host_index=_host_index,
618
+ )
619
+
620
+ _response_types_map: Dict[str, Optional[str]] = {
621
+ "200": "VendorSubscription",
622
+ "400": "ErrorResponse",
623
+ "401": "ErrorResponse",
624
+ "403": "ErrorResponse",
625
+ "404": "ErrorResponse",
626
+ }
627
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
628
+ response_data.read()
629
+ return self.api_client.response_deserialize(
630
+ response_data=response_data,
631
+ response_types_map=_response_types_map,
632
+ ).data
633
+
634
+ @validate_call
635
+ def get_vendor_subscription_with_http_info(
636
+ self,
637
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
638
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
639
+ _request_timeout: Union[
640
+ None,
641
+ Annotated[StrictFloat, Field(gt=0)],
642
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
643
+ ] = None,
644
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
645
+ _content_type: Optional[StrictStr] = None,
646
+ _headers: Optional[Dict[StrictStr, Any]] = None,
647
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
648
+ ) -> ApiResponse[VendorSubscription]:
649
+ """Get a subscription
650
+
651
+ Get a subscription.
652
+
653
+ :param project_id: The project ID. (required)
654
+ :type project_id: str
655
+ :param subscription_id: The subscription ID. (required)
656
+ :type subscription_id: str
657
+ :param _request_timeout: timeout setting for this request. If one
658
+ number provided, it will be total request
659
+ timeout. It can also be a pair (tuple) of
660
+ (connection, read) timeouts.
661
+ :type _request_timeout: int, tuple(int, int), optional
662
+ :param _request_auth: set to override the auth_settings for an a single
663
+ request; this effectively ignores the
664
+ authentication in the spec for a single request.
665
+ :type _request_auth: dict, optional
666
+ :param _content_type: force content-type for the request.
667
+ :type _content_type: str, Optional
668
+ :param _headers: set to override the headers for a single
669
+ request; this effectively ignores the headers
670
+ in the spec for a single request.
671
+ :type _headers: dict, optional
672
+ :param _host_index: set to override the host_index for a single
673
+ request; this effectively ignores the host_index
674
+ in the spec for a single request.
675
+ :type _host_index: int, optional
676
+ :return: Returns the result object.
677
+ """ # noqa: E501 docstring might be too long
678
+
679
+ _param = self._get_vendor_subscription_serialize(
680
+ project_id=project_id,
681
+ subscription_id=subscription_id,
682
+ _request_auth=_request_auth,
683
+ _content_type=_content_type,
684
+ _headers=_headers,
685
+ _host_index=_host_index,
686
+ )
687
+
688
+ _response_types_map: Dict[str, Optional[str]] = {
689
+ "200": "VendorSubscription",
690
+ "400": "ErrorResponse",
691
+ "401": "ErrorResponse",
692
+ "403": "ErrorResponse",
693
+ "404": "ErrorResponse",
694
+ }
695
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
696
+ response_data.read()
697
+ return self.api_client.response_deserialize(
698
+ response_data=response_data,
699
+ response_types_map=_response_types_map,
700
+ )
701
+
702
+ @validate_call
703
+ def get_vendor_subscription_without_preload_content(
704
+ self,
705
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
706
+ subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
707
+ _request_timeout: Union[
708
+ None,
709
+ Annotated[StrictFloat, Field(gt=0)],
710
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
711
+ ] = None,
712
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
713
+ _content_type: Optional[StrictStr] = None,
714
+ _headers: Optional[Dict[StrictStr, Any]] = None,
715
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
716
+ ) -> RESTResponseType:
717
+ """Get a subscription
718
+
719
+ Get a subscription.
720
+
721
+ :param project_id: The project ID. (required)
722
+ :type project_id: str
723
+ :param subscription_id: The subscription ID. (required)
724
+ :type subscription_id: str
725
+ :param _request_timeout: timeout setting for this request. If one
726
+ number provided, it will be total request
727
+ timeout. It can also be a pair (tuple) of
728
+ (connection, read) timeouts.
729
+ :type _request_timeout: int, tuple(int, int), optional
730
+ :param _request_auth: set to override the auth_settings for an a single
731
+ request; this effectively ignores the
732
+ authentication in the spec for a single request.
733
+ :type _request_auth: dict, optional
734
+ :param _content_type: force content-type for the request.
735
+ :type _content_type: str, Optional
736
+ :param _headers: set to override the headers for a single
737
+ request; this effectively ignores the headers
738
+ in the spec for a single request.
739
+ :type _headers: dict, optional
740
+ :param _host_index: set to override the host_index for a single
741
+ request; this effectively ignores the host_index
742
+ in the spec for a single request.
743
+ :type _host_index: int, optional
744
+ :return: Returns the result object.
745
+ """ # noqa: E501 docstring might be too long
746
+
747
+ _param = self._get_vendor_subscription_serialize(
748
+ project_id=project_id,
749
+ subscription_id=subscription_id,
750
+ _request_auth=_request_auth,
751
+ _content_type=_content_type,
752
+ _headers=_headers,
753
+ _host_index=_host_index,
754
+ )
755
+
756
+ _response_types_map: Dict[str, Optional[str]] = {
757
+ "200": "VendorSubscription",
758
+ "400": "ErrorResponse",
759
+ "401": "ErrorResponse",
760
+ "403": "ErrorResponse",
761
+ "404": "ErrorResponse",
762
+ }
763
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
764
+ return response_data.response
765
+
766
+ def _get_vendor_subscription_serialize(
767
+ self,
768
+ project_id,
769
+ subscription_id,
770
+ _request_auth,
771
+ _content_type,
772
+ _headers,
773
+ _host_index,
774
+ ) -> RequestSerialized:
775
+
776
+ _host = None
777
+
778
+ _collection_formats: Dict[str, str] = {}
779
+
780
+ _path_params: Dict[str, str] = {}
781
+ _query_params: List[Tuple[str, str]] = []
782
+ _header_params: Dict[str, Optional[str]] = _headers or {}
783
+ _form_params: List[Tuple[str, str]] = []
784
+ _files: Dict[str, Union[str, bytes]] = {}
785
+ _body_params: Optional[bytes] = None
786
+
787
+ # process the path parameters
788
+ if project_id is not None:
789
+ _path_params["projectId"] = project_id
790
+ if subscription_id is not None:
791
+ _path_params["subscriptionId"] = subscription_id
792
+ # process the query parameters
793
+ # process the header parameters
794
+ # process the form parameters
795
+ # process the body parameter
796
+
797
+ # set the HTTP header `Accept`
798
+ if "Accept" not in _header_params:
799
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
800
+
801
+ # authentication setting
802
+ _auth_settings: List[str] = []
803
+
804
+ return self.api_client.param_serialize(
805
+ method="GET",
806
+ resource_path="/v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}",
807
+ path_params=_path_params,
808
+ query_params=_query_params,
809
+ header_params=_header_params,
810
+ body=_body_params,
811
+ post_params=_form_params,
812
+ files=_files,
813
+ auth_settings=_auth_settings,
814
+ collection_formats=_collection_formats,
815
+ _host=_host,
816
+ _request_auth=_request_auth,
817
+ )
818
+
819
+ @validate_call
820
+ def list_catalog_products(
821
+ self,
822
+ cursor: Annotated[
823
+ Optional[StrictStr],
824
+ Field(
825
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
826
+ ),
827
+ ] = None,
828
+ limit: Annotated[
829
+ Optional[
830
+ Union[
831
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
832
+ ]
833
+ ],
834
+ Field(
835
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
836
+ ),
837
+ ] = None,
838
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
839
+ _request_timeout: Union[
840
+ None,
841
+ Annotated[StrictFloat, Field(gt=0)],
842
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
843
+ ] = None,
844
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
845
+ _content_type: Optional[StrictStr] = None,
846
+ _headers: Optional[Dict[StrictStr, Any]] = None,
847
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
848
+ ) -> ListCatalogProductsResponse:
849
+ """List all products
850
+
851
+ List all products.
852
+
853
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
854
+ :type cursor: str
855
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
856
+ :type limit: float
857
+ :param locale: The language of the response.
858
+ :type locale: str
859
+ :param _request_timeout: timeout setting for this request. If one
860
+ number provided, it will be total request
861
+ timeout. It can also be a pair (tuple) of
862
+ (connection, read) timeouts.
863
+ :type _request_timeout: int, tuple(int, int), optional
864
+ :param _request_auth: set to override the auth_settings for an a single
865
+ request; this effectively ignores the
866
+ authentication in the spec for a single request.
867
+ :type _request_auth: dict, optional
868
+ :param _content_type: force content-type for the request.
869
+ :type _content_type: str, Optional
870
+ :param _headers: set to override the headers for a single
871
+ request; this effectively ignores the headers
872
+ in the spec for a single request.
873
+ :type _headers: dict, optional
874
+ :param _host_index: set to override the host_index for a single
875
+ request; this effectively ignores the host_index
876
+ in the spec for a single request.
877
+ :type _host_index: int, optional
878
+ :return: Returns the result object.
879
+ """ # noqa: E501 docstring might be too long
880
+
881
+ _param = self._list_catalog_products_serialize(
882
+ cursor=cursor,
883
+ limit=limit,
884
+ locale=locale,
885
+ _request_auth=_request_auth,
886
+ _content_type=_content_type,
887
+ _headers=_headers,
888
+ _host_index=_host_index,
889
+ )
890
+
891
+ _response_types_map: Dict[str, Optional[str]] = {
892
+ "200": "ListCatalogProductsResponse",
893
+ "400": "ErrorResponse",
894
+ "401": "ErrorResponse",
895
+ "403": "ErrorResponse",
896
+ }
897
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
898
+ response_data.read()
899
+ return self.api_client.response_deserialize(
900
+ response_data=response_data,
901
+ response_types_map=_response_types_map,
902
+ ).data
903
+
904
+ @validate_call
905
+ def list_catalog_products_with_http_info(
906
+ self,
907
+ cursor: Annotated[
908
+ Optional[StrictStr],
909
+ Field(
910
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
911
+ ),
912
+ ] = None,
913
+ limit: Annotated[
914
+ Optional[
915
+ Union[
916
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
917
+ ]
918
+ ],
919
+ Field(
920
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
921
+ ),
922
+ ] = None,
923
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
924
+ _request_timeout: Union[
925
+ None,
926
+ Annotated[StrictFloat, Field(gt=0)],
927
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
928
+ ] = None,
929
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
930
+ _content_type: Optional[StrictStr] = None,
931
+ _headers: Optional[Dict[StrictStr, Any]] = None,
932
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
933
+ ) -> ApiResponse[ListCatalogProductsResponse]:
934
+ """List all products
935
+
936
+ List all products.
937
+
938
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
939
+ :type cursor: str
940
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
941
+ :type limit: float
942
+ :param locale: The language of the response.
943
+ :type locale: str
944
+ :param _request_timeout: timeout setting for this request. If one
945
+ number provided, it will be total request
946
+ timeout. It can also be a pair (tuple) of
947
+ (connection, read) timeouts.
948
+ :type _request_timeout: int, tuple(int, int), optional
949
+ :param _request_auth: set to override the auth_settings for an a single
950
+ request; this effectively ignores the
951
+ authentication in the spec for a single request.
952
+ :type _request_auth: dict, optional
953
+ :param _content_type: force content-type for the request.
954
+ :type _content_type: str, Optional
955
+ :param _headers: set to override the headers for a single
956
+ request; this effectively ignores the headers
957
+ in the spec for a single request.
958
+ :type _headers: dict, optional
959
+ :param _host_index: set to override the host_index for a single
960
+ request; this effectively ignores the host_index
961
+ in the spec for a single request.
962
+ :type _host_index: int, optional
963
+ :return: Returns the result object.
964
+ """ # noqa: E501 docstring might be too long
965
+
966
+ _param = self._list_catalog_products_serialize(
967
+ cursor=cursor,
968
+ limit=limit,
969
+ locale=locale,
970
+ _request_auth=_request_auth,
971
+ _content_type=_content_type,
972
+ _headers=_headers,
973
+ _host_index=_host_index,
974
+ )
975
+
976
+ _response_types_map: Dict[str, Optional[str]] = {
977
+ "200": "ListCatalogProductsResponse",
978
+ "400": "ErrorResponse",
979
+ "401": "ErrorResponse",
980
+ "403": "ErrorResponse",
981
+ }
982
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
983
+ response_data.read()
984
+ return self.api_client.response_deserialize(
985
+ response_data=response_data,
986
+ response_types_map=_response_types_map,
987
+ )
988
+
989
+ @validate_call
990
+ def list_catalog_products_without_preload_content(
991
+ self,
992
+ cursor: Annotated[
993
+ Optional[StrictStr],
994
+ Field(
995
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
996
+ ),
997
+ ] = None,
998
+ limit: Annotated[
999
+ Optional[
1000
+ Union[
1001
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
1002
+ ]
1003
+ ],
1004
+ Field(
1005
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1006
+ ),
1007
+ ] = None,
1008
+ locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
1009
+ _request_timeout: Union[
1010
+ None,
1011
+ Annotated[StrictFloat, Field(gt=0)],
1012
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1013
+ ] = None,
1014
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1015
+ _content_type: Optional[StrictStr] = None,
1016
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1017
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1018
+ ) -> RESTResponseType:
1019
+ """List all products
1020
+
1021
+ List all products.
1022
+
1023
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
1024
+ :type cursor: str
1025
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
1026
+ :type limit: float
1027
+ :param locale: The language of the response.
1028
+ :type locale: str
1029
+ :param _request_timeout: timeout setting for this request. If one
1030
+ number provided, it will be total request
1031
+ timeout. It can also be a pair (tuple) of
1032
+ (connection, read) timeouts.
1033
+ :type _request_timeout: int, tuple(int, int), optional
1034
+ :param _request_auth: set to override the auth_settings for an a single
1035
+ request; this effectively ignores the
1036
+ authentication in the spec for a single request.
1037
+ :type _request_auth: dict, optional
1038
+ :param _content_type: force content-type for the request.
1039
+ :type _content_type: str, Optional
1040
+ :param _headers: set to override the headers for a single
1041
+ request; this effectively ignores the headers
1042
+ in the spec for a single request.
1043
+ :type _headers: dict, optional
1044
+ :param _host_index: set to override the host_index for a single
1045
+ request; this effectively ignores the host_index
1046
+ in the spec for a single request.
1047
+ :type _host_index: int, optional
1048
+ :return: Returns the result object.
1049
+ """ # noqa: E501 docstring might be too long
1050
+
1051
+ _param = self._list_catalog_products_serialize(
1052
+ cursor=cursor,
1053
+ limit=limit,
1054
+ locale=locale,
1055
+ _request_auth=_request_auth,
1056
+ _content_type=_content_type,
1057
+ _headers=_headers,
1058
+ _host_index=_host_index,
1059
+ )
1060
+
1061
+ _response_types_map: Dict[str, Optional[str]] = {
1062
+ "200": "ListCatalogProductsResponse",
1063
+ "400": "ErrorResponse",
1064
+ "401": "ErrorResponse",
1065
+ "403": "ErrorResponse",
1066
+ }
1067
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1068
+ return response_data.response
1069
+
1070
+ def _list_catalog_products_serialize(
1071
+ self,
1072
+ cursor,
1073
+ limit,
1074
+ locale,
1075
+ _request_auth,
1076
+ _content_type,
1077
+ _headers,
1078
+ _host_index,
1079
+ ) -> RequestSerialized:
1080
+
1081
+ _host = None
1082
+
1083
+ _collection_formats: Dict[str, str] = {}
1084
+
1085
+ _path_params: Dict[str, str] = {}
1086
+ _query_params: List[Tuple[str, str]] = []
1087
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1088
+ _form_params: List[Tuple[str, str]] = []
1089
+ _files: Dict[str, Union[str, bytes]] = {}
1090
+ _body_params: Optional[bytes] = None
1091
+
1092
+ # process the path parameters
1093
+ # process the query parameters
1094
+ if cursor is not None:
1095
+
1096
+ _query_params.append(("cursor", cursor))
1097
+
1098
+ if limit is not None:
1099
+
1100
+ _query_params.append(("limit", limit))
1101
+
1102
+ if locale is not None:
1103
+
1104
+ _query_params.append(("locale", locale))
1105
+
1106
+ # process the header parameters
1107
+ # process the form parameters
1108
+ # process the body parameter
1109
+
1110
+ # set the HTTP header `Accept`
1111
+ if "Accept" not in _header_params:
1112
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1113
+
1114
+ # authentication setting
1115
+ _auth_settings: List[str] = []
1116
+
1117
+ return self.api_client.param_serialize(
1118
+ method="GET",
1119
+ resource_path="/v1/catalog/products",
1120
+ path_params=_path_params,
1121
+ query_params=_query_params,
1122
+ header_params=_header_params,
1123
+ body=_body_params,
1124
+ post_params=_form_params,
1125
+ files=_files,
1126
+ auth_settings=_auth_settings,
1127
+ collection_formats=_collection_formats,
1128
+ _host=_host,
1129
+ _request_auth=_request_auth,
1130
+ )
1131
+
1132
+ @validate_call
1133
+ def list_vendor_subscriptions(
1134
+ self,
1135
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1136
+ cursor: Annotated[
1137
+ Optional[StrictStr],
1138
+ Field(
1139
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
1140
+ ),
1141
+ ] = None,
1142
+ limit: Annotated[
1143
+ Optional[
1144
+ Union[
1145
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
1146
+ ]
1147
+ ],
1148
+ Field(
1149
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1150
+ ),
1151
+ ] = None,
1152
+ product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1153
+ _request_timeout: Union[
1154
+ None,
1155
+ Annotated[StrictFloat, Field(gt=0)],
1156
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1157
+ ] = None,
1158
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1159
+ _content_type: Optional[StrictStr] = None,
1160
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1161
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1162
+ ) -> ListVendorSubscriptionsResponse:
1163
+ """List all subscriptions
1164
+
1165
+ List all subscriptions.
1166
+
1167
+ :param project_id: The project ID. (required)
1168
+ :type project_id: str
1169
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
1170
+ :type cursor: str
1171
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
1172
+ :type limit: float
1173
+ :param product_id: The product ID.
1174
+ :type product_id: str
1175
+ :param _request_timeout: timeout setting for this request. If one
1176
+ number provided, it will be total request
1177
+ timeout. It can also be a pair (tuple) of
1178
+ (connection, read) timeouts.
1179
+ :type _request_timeout: int, tuple(int, int), optional
1180
+ :param _request_auth: set to override the auth_settings for an a single
1181
+ request; this effectively ignores the
1182
+ authentication in the spec for a single request.
1183
+ :type _request_auth: dict, optional
1184
+ :param _content_type: force content-type for the request.
1185
+ :type _content_type: str, Optional
1186
+ :param _headers: set to override the headers for a single
1187
+ request; this effectively ignores the headers
1188
+ in the spec for a single request.
1189
+ :type _headers: dict, optional
1190
+ :param _host_index: set to override the host_index for a single
1191
+ request; this effectively ignores the host_index
1192
+ in the spec for a single request.
1193
+ :type _host_index: int, optional
1194
+ :return: Returns the result object.
1195
+ """ # noqa: E501 docstring might be too long
1196
+
1197
+ _param = self._list_vendor_subscriptions_serialize(
1198
+ project_id=project_id,
1199
+ cursor=cursor,
1200
+ limit=limit,
1201
+ product_id=product_id,
1202
+ _request_auth=_request_auth,
1203
+ _content_type=_content_type,
1204
+ _headers=_headers,
1205
+ _host_index=_host_index,
1206
+ )
1207
+
1208
+ _response_types_map: Dict[str, Optional[str]] = {
1209
+ "200": "ListVendorSubscriptionsResponse",
1210
+ "400": "ErrorResponse",
1211
+ "401": "ErrorResponse",
1212
+ "403": "ErrorResponse",
1213
+ }
1214
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1215
+ response_data.read()
1216
+ return self.api_client.response_deserialize(
1217
+ response_data=response_data,
1218
+ response_types_map=_response_types_map,
1219
+ ).data
1220
+
1221
+ @validate_call
1222
+ def list_vendor_subscriptions_with_http_info(
1223
+ self,
1224
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1225
+ cursor: Annotated[
1226
+ Optional[StrictStr],
1227
+ Field(
1228
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
1229
+ ),
1230
+ ] = None,
1231
+ limit: Annotated[
1232
+ Optional[
1233
+ Union[
1234
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
1235
+ ]
1236
+ ],
1237
+ Field(
1238
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1239
+ ),
1240
+ ] = None,
1241
+ product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1242
+ _request_timeout: Union[
1243
+ None,
1244
+ Annotated[StrictFloat, Field(gt=0)],
1245
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1246
+ ] = None,
1247
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1248
+ _content_type: Optional[StrictStr] = None,
1249
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1250
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1251
+ ) -> ApiResponse[ListVendorSubscriptionsResponse]:
1252
+ """List all subscriptions
1253
+
1254
+ List all subscriptions.
1255
+
1256
+ :param project_id: The project ID. (required)
1257
+ :type project_id: str
1258
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
1259
+ :type cursor: str
1260
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
1261
+ :type limit: float
1262
+ :param product_id: The product ID.
1263
+ :type product_id: str
1264
+ :param _request_timeout: timeout setting for this request. If one
1265
+ number provided, it will be total request
1266
+ timeout. It can also be a pair (tuple) of
1267
+ (connection, read) timeouts.
1268
+ :type _request_timeout: int, tuple(int, int), optional
1269
+ :param _request_auth: set to override the auth_settings for an a single
1270
+ request; this effectively ignores the
1271
+ authentication in the spec for a single request.
1272
+ :type _request_auth: dict, optional
1273
+ :param _content_type: force content-type for the request.
1274
+ :type _content_type: str, Optional
1275
+ :param _headers: set to override the headers for a single
1276
+ request; this effectively ignores the headers
1277
+ in the spec for a single request.
1278
+ :type _headers: dict, optional
1279
+ :param _host_index: set to override the host_index for a single
1280
+ request; this effectively ignores the host_index
1281
+ in the spec for a single request.
1282
+ :type _host_index: int, optional
1283
+ :return: Returns the result object.
1284
+ """ # noqa: E501 docstring might be too long
1285
+
1286
+ _param = self._list_vendor_subscriptions_serialize(
1287
+ project_id=project_id,
1288
+ cursor=cursor,
1289
+ limit=limit,
1290
+ product_id=product_id,
1291
+ _request_auth=_request_auth,
1292
+ _content_type=_content_type,
1293
+ _headers=_headers,
1294
+ _host_index=_host_index,
1295
+ )
1296
+
1297
+ _response_types_map: Dict[str, Optional[str]] = {
1298
+ "200": "ListVendorSubscriptionsResponse",
1299
+ "400": "ErrorResponse",
1300
+ "401": "ErrorResponse",
1301
+ "403": "ErrorResponse",
1302
+ }
1303
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1304
+ response_data.read()
1305
+ return self.api_client.response_deserialize(
1306
+ response_data=response_data,
1307
+ response_types_map=_response_types_map,
1308
+ )
1309
+
1310
+ @validate_call
1311
+ def list_vendor_subscriptions_without_preload_content(
1312
+ self,
1313
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1314
+ cursor: Annotated[
1315
+ Optional[StrictStr],
1316
+ Field(
1317
+ description="A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning."
1318
+ ),
1319
+ ] = None,
1320
+ limit: Annotated[
1321
+ Optional[
1322
+ Union[
1323
+ Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]
1324
+ ]
1325
+ ],
1326
+ Field(
1327
+ description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1328
+ ),
1329
+ ] = None,
1330
+ product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1331
+ _request_timeout: Union[
1332
+ None,
1333
+ Annotated[StrictFloat, Field(gt=0)],
1334
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1335
+ ] = None,
1336
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1337
+ _content_type: Optional[StrictStr] = None,
1338
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1339
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1340
+ ) -> RESTResponseType:
1341
+ """List all subscriptions
1342
+
1343
+ List all subscriptions.
1344
+
1345
+ :param project_id: The project ID. (required)
1346
+ :type project_id: str
1347
+ :param cursor: A pagination cursor that represents a position in the dataset. If given, results will be returned from the item after the cursor. If not given, results will be returned from the beginning.
1348
+ :type cursor: str
1349
+ :param limit: The maximum number of items to return in the response. If maximum is exceeded, maximum is used.
1350
+ :type limit: float
1351
+ :param product_id: The product ID.
1352
+ :type product_id: str
1353
+ :param _request_timeout: timeout setting for this request. If one
1354
+ number provided, it will be total request
1355
+ timeout. It can also be a pair (tuple) of
1356
+ (connection, read) timeouts.
1357
+ :type _request_timeout: int, tuple(int, int), optional
1358
+ :param _request_auth: set to override the auth_settings for an a single
1359
+ request; this effectively ignores the
1360
+ authentication in the spec for a single request.
1361
+ :type _request_auth: dict, optional
1362
+ :param _content_type: force content-type for the request.
1363
+ :type _content_type: str, Optional
1364
+ :param _headers: set to override the headers for a single
1365
+ request; this effectively ignores the headers
1366
+ in the spec for a single request.
1367
+ :type _headers: dict, optional
1368
+ :param _host_index: set to override the host_index for a single
1369
+ request; this effectively ignores the host_index
1370
+ in the spec for a single request.
1371
+ :type _host_index: int, optional
1372
+ :return: Returns the result object.
1373
+ """ # noqa: E501 docstring might be too long
1374
+
1375
+ _param = self._list_vendor_subscriptions_serialize(
1376
+ project_id=project_id,
1377
+ cursor=cursor,
1378
+ limit=limit,
1379
+ product_id=product_id,
1380
+ _request_auth=_request_auth,
1381
+ _content_type=_content_type,
1382
+ _headers=_headers,
1383
+ _host_index=_host_index,
1384
+ )
1385
+
1386
+ _response_types_map: Dict[str, Optional[str]] = {
1387
+ "200": "ListVendorSubscriptionsResponse",
1388
+ "400": "ErrorResponse",
1389
+ "401": "ErrorResponse",
1390
+ "403": "ErrorResponse",
1391
+ }
1392
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1393
+ return response_data.response
1394
+
1395
+ def _list_vendor_subscriptions_serialize(
1396
+ self,
1397
+ project_id,
1398
+ cursor,
1399
+ limit,
1400
+ product_id,
1401
+ _request_auth,
1402
+ _content_type,
1403
+ _headers,
1404
+ _host_index,
1405
+ ) -> RequestSerialized:
1406
+
1407
+ _host = None
1408
+
1409
+ _collection_formats: Dict[str, str] = {}
1410
+
1411
+ _path_params: Dict[str, str] = {}
1412
+ _query_params: List[Tuple[str, str]] = []
1413
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1414
+ _form_params: List[Tuple[str, str]] = []
1415
+ _files: Dict[str, Union[str, bytes]] = {}
1416
+ _body_params: Optional[bytes] = None
1417
+
1418
+ # process the path parameters
1419
+ if project_id is not None:
1420
+ _path_params["projectId"] = project_id
1421
+ # process the query parameters
1422
+ if cursor is not None:
1423
+
1424
+ _query_params.append(("cursor", cursor))
1425
+
1426
+ if limit is not None:
1427
+
1428
+ _query_params.append(("limit", limit))
1429
+
1430
+ if product_id is not None:
1431
+
1432
+ _query_params.append(("productId", product_id))
1433
+
1434
+ # process the header parameters
1435
+ # process the form parameters
1436
+ # process the body parameter
1437
+
1438
+ # set the HTTP header `Accept`
1439
+ if "Accept" not in _header_params:
1440
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1441
+
1442
+ # authentication setting
1443
+ _auth_settings: List[str] = []
1444
+
1445
+ return self.api_client.param_serialize(
1446
+ method="GET",
1447
+ resource_path="/v1/vendors/projects/{projectId}/subscriptions",
1448
+ path_params=_path_params,
1449
+ query_params=_query_params,
1450
+ header_params=_header_params,
1451
+ body=_body_params,
1452
+ post_params=_form_params,
1453
+ files=_files,
1454
+ auth_settings=_auth_settings,
1455
+ collection_formats=_collection_formats,
1456
+ _host=_host,
1457
+ _request_auth=_request_auth,
1458
+ )
1459
+
1460
+ @validate_call
1461
+ def resolve_customer(
1462
+ self,
1463
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1464
+ resolve_customer_payload: ResolveCustomerPayload,
1465
+ _request_timeout: Union[
1466
+ None,
1467
+ Annotated[StrictFloat, Field(gt=0)],
1468
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1469
+ ] = None,
1470
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1471
+ _content_type: Optional[StrictStr] = None,
1472
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1473
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1474
+ ) -> VendorSubscription:
1475
+ """Resolve customer
1476
+
1477
+ Get details about the requested subscription.
1478
+
1479
+ :param project_id: The project ID. (required)
1480
+ :type project_id: str
1481
+ :param resolve_customer_payload: (required)
1482
+ :type resolve_customer_payload: ResolveCustomerPayload
1483
+ :param _request_timeout: timeout setting for this request. If one
1484
+ number provided, it will be total request
1485
+ timeout. It can also be a pair (tuple) of
1486
+ (connection, read) timeouts.
1487
+ :type _request_timeout: int, tuple(int, int), optional
1488
+ :param _request_auth: set to override the auth_settings for an a single
1489
+ request; this effectively ignores the
1490
+ authentication in the spec for a single request.
1491
+ :type _request_auth: dict, optional
1492
+ :param _content_type: force content-type for the request.
1493
+ :type _content_type: str, Optional
1494
+ :param _headers: set to override the headers for a single
1495
+ request; this effectively ignores the headers
1496
+ in the spec for a single request.
1497
+ :type _headers: dict, optional
1498
+ :param _host_index: set to override the host_index for a single
1499
+ request; this effectively ignores the host_index
1500
+ in the spec for a single request.
1501
+ :type _host_index: int, optional
1502
+ :return: Returns the result object.
1503
+ """ # noqa: E501 docstring might be too long
1504
+
1505
+ _param = self._resolve_customer_serialize(
1506
+ project_id=project_id,
1507
+ resolve_customer_payload=resolve_customer_payload,
1508
+ _request_auth=_request_auth,
1509
+ _content_type=_content_type,
1510
+ _headers=_headers,
1511
+ _host_index=_host_index,
1512
+ )
1513
+
1514
+ _response_types_map: Dict[str, Optional[str]] = {
1515
+ "200": "VendorSubscription",
1516
+ "400": "ErrorResponse",
1517
+ "401": "ErrorResponse",
1518
+ "403": "ErrorResponse",
1519
+ "404": "ErrorResponse",
1520
+ }
1521
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1522
+ response_data.read()
1523
+ return self.api_client.response_deserialize(
1524
+ response_data=response_data,
1525
+ response_types_map=_response_types_map,
1526
+ ).data
1527
+
1528
+ @validate_call
1529
+ def resolve_customer_with_http_info(
1530
+ self,
1531
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1532
+ resolve_customer_payload: ResolveCustomerPayload,
1533
+ _request_timeout: Union[
1534
+ None,
1535
+ Annotated[StrictFloat, Field(gt=0)],
1536
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1537
+ ] = None,
1538
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1539
+ _content_type: Optional[StrictStr] = None,
1540
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1541
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1542
+ ) -> ApiResponse[VendorSubscription]:
1543
+ """Resolve customer
1544
+
1545
+ Get details about the requested subscription.
1546
+
1547
+ :param project_id: The project ID. (required)
1548
+ :type project_id: str
1549
+ :param resolve_customer_payload: (required)
1550
+ :type resolve_customer_payload: ResolveCustomerPayload
1551
+ :param _request_timeout: timeout setting for this request. If one
1552
+ number provided, it will be total request
1553
+ timeout. It can also be a pair (tuple) of
1554
+ (connection, read) timeouts.
1555
+ :type _request_timeout: int, tuple(int, int), optional
1556
+ :param _request_auth: set to override the auth_settings for an a single
1557
+ request; this effectively ignores the
1558
+ authentication in the spec for a single request.
1559
+ :type _request_auth: dict, optional
1560
+ :param _content_type: force content-type for the request.
1561
+ :type _content_type: str, Optional
1562
+ :param _headers: set to override the headers for a single
1563
+ request; this effectively ignores the headers
1564
+ in the spec for a single request.
1565
+ :type _headers: dict, optional
1566
+ :param _host_index: set to override the host_index for a single
1567
+ request; this effectively ignores the host_index
1568
+ in the spec for a single request.
1569
+ :type _host_index: int, optional
1570
+ :return: Returns the result object.
1571
+ """ # noqa: E501 docstring might be too long
1572
+
1573
+ _param = self._resolve_customer_serialize(
1574
+ project_id=project_id,
1575
+ resolve_customer_payload=resolve_customer_payload,
1576
+ _request_auth=_request_auth,
1577
+ _content_type=_content_type,
1578
+ _headers=_headers,
1579
+ _host_index=_host_index,
1580
+ )
1581
+
1582
+ _response_types_map: Dict[str, Optional[str]] = {
1583
+ "200": "VendorSubscription",
1584
+ "400": "ErrorResponse",
1585
+ "401": "ErrorResponse",
1586
+ "403": "ErrorResponse",
1587
+ "404": "ErrorResponse",
1588
+ }
1589
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1590
+ response_data.read()
1591
+ return self.api_client.response_deserialize(
1592
+ response_data=response_data,
1593
+ response_types_map=_response_types_map,
1594
+ )
1595
+
1596
+ @validate_call
1597
+ def resolve_customer_without_preload_content(
1598
+ self,
1599
+ project_id: Annotated[StrictStr, Field(description="The project ID.")],
1600
+ resolve_customer_payload: ResolveCustomerPayload,
1601
+ _request_timeout: Union[
1602
+ None,
1603
+ Annotated[StrictFloat, Field(gt=0)],
1604
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1605
+ ] = None,
1606
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1607
+ _content_type: Optional[StrictStr] = None,
1608
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1609
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1610
+ ) -> RESTResponseType:
1611
+ """Resolve customer
1612
+
1613
+ Get details about the requested subscription.
1614
+
1615
+ :param project_id: The project ID. (required)
1616
+ :type project_id: str
1617
+ :param resolve_customer_payload: (required)
1618
+ :type resolve_customer_payload: ResolveCustomerPayload
1619
+ :param _request_timeout: timeout setting for this request. If one
1620
+ number provided, it will be total request
1621
+ timeout. It can also be a pair (tuple) of
1622
+ (connection, read) timeouts.
1623
+ :type _request_timeout: int, tuple(int, int), optional
1624
+ :param _request_auth: set to override the auth_settings for an a single
1625
+ request; this effectively ignores the
1626
+ authentication in the spec for a single request.
1627
+ :type _request_auth: dict, optional
1628
+ :param _content_type: force content-type for the request.
1629
+ :type _content_type: str, Optional
1630
+ :param _headers: set to override the headers for a single
1631
+ request; this effectively ignores the headers
1632
+ in the spec for a single request.
1633
+ :type _headers: dict, optional
1634
+ :param _host_index: set to override the host_index for a single
1635
+ request; this effectively ignores the host_index
1636
+ in the spec for a single request.
1637
+ :type _host_index: int, optional
1638
+ :return: Returns the result object.
1639
+ """ # noqa: E501 docstring might be too long
1640
+
1641
+ _param = self._resolve_customer_serialize(
1642
+ project_id=project_id,
1643
+ resolve_customer_payload=resolve_customer_payload,
1644
+ _request_auth=_request_auth,
1645
+ _content_type=_content_type,
1646
+ _headers=_headers,
1647
+ _host_index=_host_index,
1648
+ )
1649
+
1650
+ _response_types_map: Dict[str, Optional[str]] = {
1651
+ "200": "VendorSubscription",
1652
+ "400": "ErrorResponse",
1653
+ "401": "ErrorResponse",
1654
+ "403": "ErrorResponse",
1655
+ "404": "ErrorResponse",
1656
+ }
1657
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1658
+ return response_data.response
1659
+
1660
+ def _resolve_customer_serialize(
1661
+ self,
1662
+ project_id,
1663
+ resolve_customer_payload,
1664
+ _request_auth,
1665
+ _content_type,
1666
+ _headers,
1667
+ _host_index,
1668
+ ) -> RequestSerialized:
1669
+
1670
+ _host = None
1671
+
1672
+ _collection_formats: Dict[str, str] = {}
1673
+
1674
+ _path_params: Dict[str, str] = {}
1675
+ _query_params: List[Tuple[str, str]] = []
1676
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1677
+ _form_params: List[Tuple[str, str]] = []
1678
+ _files: Dict[str, Union[str, bytes]] = {}
1679
+ _body_params: Optional[bytes] = None
1680
+
1681
+ # process the path parameters
1682
+ if project_id is not None:
1683
+ _path_params["projectId"] = project_id
1684
+ # process the query parameters
1685
+ # process the header parameters
1686
+ # process the form parameters
1687
+ # process the body parameter
1688
+ if resolve_customer_payload is not None:
1689
+ _body_params = resolve_customer_payload
1690
+
1691
+ # set the HTTP header `Accept`
1692
+ if "Accept" not in _header_params:
1693
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1694
+
1695
+ # set the HTTP header `Content-Type`
1696
+ if _content_type:
1697
+ _header_params["Content-Type"] = _content_type
1698
+ else:
1699
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
1700
+ if _default_content_type is not None:
1701
+ _header_params["Content-Type"] = _default_content_type
1702
+
1703
+ # authentication setting
1704
+ _auth_settings: List[str] = []
1705
+
1706
+ return self.api_client.param_serialize(
1707
+ method="POST",
1708
+ resource_path="/v1/vendors/projects/{projectId}/resolve-customer",
1709
+ path_params=_path_params,
1710
+ query_params=_query_params,
1711
+ header_params=_header_params,
1712
+ body=_body_params,
1713
+ post_params=_form_params,
1714
+ files=_files,
1715
+ auth_settings=_auth_settings,
1716
+ collection_formats=_collection_formats,
1717
+ _host=_host,
1718
+ _request_auth=_request_auth,
1719
+ )