stackit-stackitmarketplace 0.2.0__tar.gz → 0.4.0__tar.gz

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 (49) hide show
  1. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/PKG-INFO +1 -1
  2. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/pyproject.toml +1 -1
  3. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/__init__.py +17 -20
  4. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/api/default_api.py +45 -24
  5. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/__init__.py +17 -20
  6. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/approve_subscription_payload.py +16 -3
  7. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/become_vendor.py +7 -17
  8. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_detail.py +57 -27
  9. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_details_vendor.py +45 -8
  10. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_overview.py +32 -23
  11. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_overview_vendor.py +24 -5
  12. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_pricing_option.py +5 -15
  13. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_support_resource.py +16 -3
  14. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_vendor_terms.py +15 -5
  15. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/contact_sales.py +6 -16
  16. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/delivery_method.py +39 -0
  17. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/become_vendor_become_vendor.py → stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/inquiry_become_vendor.py +6 -6
  18. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/contact_sales_contact_sales.py → stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/inquiry_contact_sales.py +7 -7
  19. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/inquiry_form_type.py +39 -0
  20. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/register_testing_register_testing.py → stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/inquiry_register_testing.py +6 -6
  21. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/suggest_product_suggest_product.py → stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/inquiry_suggest_product.py +9 -7
  22. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/list_catalog_products_response.py +6 -6
  23. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/list_vendor_subscriptions_response.py +6 -6
  24. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/price_type.py +40 -0
  25. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/pricing_option_unit.py +36 -0
  26. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/product_lifecycle_state.py +37 -0
  27. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/register_testing.py +7 -13
  28. stackit_stackitmarketplace-0.4.0/src/stackit/stackitmarketplace/models/subscription_lifecycle_state.py +41 -0
  29. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/subscription_product.py +55 -25
  30. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/suggest_product.py +7 -13
  31. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/vendor_subscription.py +7 -22
  32. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/current_subscription_state_response.py +0 -103
  33. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/requested_subscription_state_response.py +0 -103
  34. stackit_stackitmarketplace-0.2.0/src/stackit/stackitmarketplace/models/subscription_cancel_response.py +0 -109
  35. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/LICENSE.md +0 -0
  36. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/NOTICE.txt +0 -0
  37. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/README.md +0 -0
  38. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/api/__init__.py +0 -0
  39. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/api_client.py +0 -0
  40. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/api_response.py +0 -0
  41. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/configuration.py +0 -0
  42. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/exceptions.py +0 -0
  43. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_pricing_option_highlight.py +0 -0
  44. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/catalog_product_highlight.py +0 -0
  45. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/error_response.py +0 -0
  46. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/inquiries_create_inquiry_payload.py +0 -0
  47. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/models/resolve_customer_payload.py +0 -0
  48. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/py.typed +0 -0
  49. {stackit_stackitmarketplace-0.2.0 → stackit_stackitmarketplace-0.4.0}/src/stackit/stackitmarketplace/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stackit-stackitmarketplace
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: STACKIT Marketplace API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -3,7 +3,7 @@ name = "stackit-stackitmarketplace"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "stackit-stackitmarketplace"
6
- version = "v0.2.0"
6
+ version = "v0.4.0"
7
7
  authors = [
8
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
9
9
  ]
@@ -38,9 +38,6 @@ from stackit.stackitmarketplace.models.approve_subscription_payload import (
38
38
  ApproveSubscriptionPayload,
39
39
  )
40
40
  from stackit.stackitmarketplace.models.become_vendor import BecomeVendor
41
- from stackit.stackitmarketplace.models.become_vendor_become_vendor import (
42
- BecomeVendorBecomeVendor,
43
- )
44
41
  from stackit.stackitmarketplace.models.catalog_pricing_option_highlight import (
45
42
  CatalogPricingOptionHighlight,
46
43
  )
@@ -69,38 +66,38 @@ from stackit.stackitmarketplace.models.catalog_product_vendor_terms import (
69
66
  CatalogProductVendorTerms,
70
67
  )
71
68
  from stackit.stackitmarketplace.models.contact_sales import ContactSales
72
- from stackit.stackitmarketplace.models.contact_sales_contact_sales import (
73
- ContactSalesContactSales,
74
- )
75
- from stackit.stackitmarketplace.models.current_subscription_state_response import (
76
- CurrentSubscriptionStateResponse,
77
- )
69
+ from stackit.stackitmarketplace.models.delivery_method import DeliveryMethod
78
70
  from stackit.stackitmarketplace.models.error_response import ErrorResponse
79
71
  from stackit.stackitmarketplace.models.inquiries_create_inquiry_payload import (
80
72
  InquiriesCreateInquiryPayload,
81
73
  )
74
+ from stackit.stackitmarketplace.models.inquiry_become_vendor import InquiryBecomeVendor
75
+ from stackit.stackitmarketplace.models.inquiry_contact_sales import InquiryContactSales
76
+ from stackit.stackitmarketplace.models.inquiry_form_type import InquiryFormType
77
+ from stackit.stackitmarketplace.models.inquiry_register_testing import (
78
+ InquiryRegisterTesting,
79
+ )
80
+ from stackit.stackitmarketplace.models.inquiry_suggest_product import (
81
+ InquirySuggestProduct,
82
+ )
82
83
  from stackit.stackitmarketplace.models.list_catalog_products_response import (
83
84
  ListCatalogProductsResponse,
84
85
  )
85
86
  from stackit.stackitmarketplace.models.list_vendor_subscriptions_response import (
86
87
  ListVendorSubscriptionsResponse,
87
88
  )
88
- from stackit.stackitmarketplace.models.register_testing import RegisterTesting
89
- from stackit.stackitmarketplace.models.register_testing_register_testing import (
90
- RegisterTestingRegisterTesting,
91
- )
92
- from stackit.stackitmarketplace.models.requested_subscription_state_response import (
93
- RequestedSubscriptionStateResponse,
89
+ from stackit.stackitmarketplace.models.price_type import PriceType
90
+ from stackit.stackitmarketplace.models.pricing_option_unit import PricingOptionUnit
91
+ from stackit.stackitmarketplace.models.product_lifecycle_state import (
92
+ ProductLifecycleState,
94
93
  )
94
+ from stackit.stackitmarketplace.models.register_testing import RegisterTesting
95
95
  from stackit.stackitmarketplace.models.resolve_customer_payload import (
96
96
  ResolveCustomerPayload,
97
97
  )
98
- from stackit.stackitmarketplace.models.subscription_cancel_response import (
99
- SubscriptionCancelResponse,
98
+ from stackit.stackitmarketplace.models.subscription_lifecycle_state import (
99
+ SubscriptionLifecycleState,
100
100
  )
101
101
  from stackit.stackitmarketplace.models.subscription_product import SubscriptionProduct
102
102
  from stackit.stackitmarketplace.models.suggest_product import SuggestProduct
103
- from stackit.stackitmarketplace.models.suggest_product_suggest_product import (
104
- SuggestProductSuggestProduct,
105
- )
106
103
  from stackit.stackitmarketplace.models.vendor_subscription import VendorSubscription
@@ -64,8 +64,10 @@ class DefaultApi:
64
64
  @validate_call
65
65
  def approve_subscription(
66
66
  self,
67
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
68
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
67
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
68
+ subscription_id: Annotated[
69
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
70
+ ],
69
71
  approve_subscription_payload: Optional[ApproveSubscriptionPayload] = None,
70
72
  _request_timeout: Union[
71
73
  None,
@@ -136,8 +138,10 @@ class DefaultApi:
136
138
  @validate_call
137
139
  def approve_subscription_with_http_info(
138
140
  self,
139
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
140
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
141
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
142
+ subscription_id: Annotated[
143
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
144
+ ],
141
145
  approve_subscription_payload: Optional[ApproveSubscriptionPayload] = None,
142
146
  _request_timeout: Union[
143
147
  None,
@@ -208,8 +212,10 @@ class DefaultApi:
208
212
  @validate_call
209
213
  def approve_subscription_without_preload_content(
210
214
  self,
211
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
212
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
215
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
216
+ subscription_id: Annotated[
217
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
218
+ ],
213
219
  approve_subscription_payload: Optional[ApproveSubscriptionPayload] = None,
214
220
  _request_timeout: Union[
215
221
  None,
@@ -340,7 +346,7 @@ class DefaultApi:
340
346
  @validate_call
341
347
  def get_catalog_product(
342
348
  self,
343
- product_id: Annotated[StrictStr, Field(description="The product ID.")],
349
+ product_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The product ID.")],
344
350
  locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
345
351
  _request_timeout: Union[
346
352
  None,
@@ -408,7 +414,7 @@ class DefaultApi:
408
414
  @validate_call
409
415
  def get_catalog_product_with_http_info(
410
416
  self,
411
- product_id: Annotated[StrictStr, Field(description="The product ID.")],
417
+ product_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The product ID.")],
412
418
  locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
413
419
  _request_timeout: Union[
414
420
  None,
@@ -476,7 +482,7 @@ class DefaultApi:
476
482
  @validate_call
477
483
  def get_catalog_product_without_preload_content(
478
484
  self,
479
- product_id: Annotated[StrictStr, Field(description="The product ID.")],
485
+ product_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The product ID.")],
480
486
  locale: Annotated[Optional[StrictStr], Field(description="The language of the response.")] = None,
481
487
  _request_timeout: Union[
482
488
  None,
@@ -595,8 +601,10 @@ class DefaultApi:
595
601
  @validate_call
596
602
  def get_vendor_subscription(
597
603
  self,
598
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
599
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
604
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
605
+ subscription_id: Annotated[
606
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
607
+ ],
600
608
  _request_timeout: Union[
601
609
  None,
602
610
  Annotated[StrictFloat, Field(gt=0)],
@@ -663,8 +671,10 @@ class DefaultApi:
663
671
  @validate_call
664
672
  def get_vendor_subscription_with_http_info(
665
673
  self,
666
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
667
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
674
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
675
+ subscription_id: Annotated[
676
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
677
+ ],
668
678
  _request_timeout: Union[
669
679
  None,
670
680
  Annotated[StrictFloat, Field(gt=0)],
@@ -731,8 +741,10 @@ class DefaultApi:
731
741
  @validate_call
732
742
  def get_vendor_subscription_without_preload_content(
733
743
  self,
734
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
735
- subscription_id: Annotated[StrictStr, Field(description="The subscription ID.")],
744
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
745
+ subscription_id: Annotated[
746
+ str, Field(min_length=36, strict=True, max_length=36, description="The subscription ID.")
747
+ ],
736
748
  _request_timeout: Union[
737
749
  None,
738
750
  Annotated[StrictFloat, Field(gt=0)],
@@ -1471,7 +1483,7 @@ class DefaultApi:
1471
1483
  @validate_call
1472
1484
  def list_vendor_subscriptions(
1473
1485
  self,
1474
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1486
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1475
1487
  cursor: Annotated[
1476
1488
  Optional[StrictStr],
1477
1489
  Field(
@@ -1488,7 +1500,10 @@ class DefaultApi:
1488
1500
  description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1489
1501
  ),
1490
1502
  ] = None,
1491
- product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1503
+ product_id: Annotated[
1504
+ Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]],
1505
+ Field(description="The product ID."),
1506
+ ] = None,
1492
1507
  _request_timeout: Union[
1493
1508
  None,
1494
1509
  Annotated[StrictFloat, Field(gt=0)],
@@ -1560,7 +1575,7 @@ class DefaultApi:
1560
1575
  @validate_call
1561
1576
  def list_vendor_subscriptions_with_http_info(
1562
1577
  self,
1563
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1578
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1564
1579
  cursor: Annotated[
1565
1580
  Optional[StrictStr],
1566
1581
  Field(
@@ -1577,7 +1592,10 @@ class DefaultApi:
1577
1592
  description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1578
1593
  ),
1579
1594
  ] = None,
1580
- product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1595
+ product_id: Annotated[
1596
+ Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]],
1597
+ Field(description="The product ID."),
1598
+ ] = None,
1581
1599
  _request_timeout: Union[
1582
1600
  None,
1583
1601
  Annotated[StrictFloat, Field(gt=0)],
@@ -1649,7 +1667,7 @@ class DefaultApi:
1649
1667
  @validate_call
1650
1668
  def list_vendor_subscriptions_without_preload_content(
1651
1669
  self,
1652
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1670
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1653
1671
  cursor: Annotated[
1654
1672
  Optional[StrictStr],
1655
1673
  Field(
@@ -1666,7 +1684,10 @@ class DefaultApi:
1666
1684
  description="The maximum number of items to return in the response. If maximum is exceeded, maximum is used."
1667
1685
  ),
1668
1686
  ] = None,
1669
- product_id: Annotated[Optional[StrictStr], Field(description="The product ID.")] = None,
1687
+ product_id: Annotated[
1688
+ Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]],
1689
+ Field(description="The product ID."),
1690
+ ] = None,
1670
1691
  _request_timeout: Union[
1671
1692
  None,
1672
1693
  Annotated[StrictFloat, Field(gt=0)],
@@ -1799,7 +1820,7 @@ class DefaultApi:
1799
1820
  @validate_call
1800
1821
  def resolve_customer(
1801
1822
  self,
1802
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1823
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1803
1824
  resolve_customer_payload: ResolveCustomerPayload,
1804
1825
  _request_timeout: Union[
1805
1826
  None,
@@ -1867,7 +1888,7 @@ class DefaultApi:
1867
1888
  @validate_call
1868
1889
  def resolve_customer_with_http_info(
1869
1890
  self,
1870
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1891
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1871
1892
  resolve_customer_payload: ResolveCustomerPayload,
1872
1893
  _request_timeout: Union[
1873
1894
  None,
@@ -1935,7 +1956,7 @@ class DefaultApi:
1935
1956
  @validate_call
1936
1957
  def resolve_customer_without_preload_content(
1937
1958
  self,
1938
- project_id: Annotated[StrictStr, Field(description="The project ID.")],
1959
+ project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36, description="The project ID.")],
1939
1960
  resolve_customer_payload: ResolveCustomerPayload,
1940
1961
  _request_timeout: Union[
1941
1962
  None,
@@ -19,9 +19,6 @@ from stackit.stackitmarketplace.models.approve_subscription_payload import (
19
19
  ApproveSubscriptionPayload,
20
20
  )
21
21
  from stackit.stackitmarketplace.models.become_vendor import BecomeVendor
22
- from stackit.stackitmarketplace.models.become_vendor_become_vendor import (
23
- BecomeVendorBecomeVendor,
24
- )
25
22
  from stackit.stackitmarketplace.models.catalog_pricing_option_highlight import (
26
23
  CatalogPricingOptionHighlight,
27
24
  )
@@ -50,38 +47,38 @@ from stackit.stackitmarketplace.models.catalog_product_vendor_terms import (
50
47
  CatalogProductVendorTerms,
51
48
  )
52
49
  from stackit.stackitmarketplace.models.contact_sales import ContactSales
53
- from stackit.stackitmarketplace.models.contact_sales_contact_sales import (
54
- ContactSalesContactSales,
55
- )
56
- from stackit.stackitmarketplace.models.current_subscription_state_response import (
57
- CurrentSubscriptionStateResponse,
58
- )
50
+ from stackit.stackitmarketplace.models.delivery_method import DeliveryMethod
59
51
  from stackit.stackitmarketplace.models.error_response import ErrorResponse
60
52
  from stackit.stackitmarketplace.models.inquiries_create_inquiry_payload import (
61
53
  InquiriesCreateInquiryPayload,
62
54
  )
55
+ from stackit.stackitmarketplace.models.inquiry_become_vendor import InquiryBecomeVendor
56
+ from stackit.stackitmarketplace.models.inquiry_contact_sales import InquiryContactSales
57
+ from stackit.stackitmarketplace.models.inquiry_form_type import InquiryFormType
58
+ from stackit.stackitmarketplace.models.inquiry_register_testing import (
59
+ InquiryRegisterTesting,
60
+ )
61
+ from stackit.stackitmarketplace.models.inquiry_suggest_product import (
62
+ InquirySuggestProduct,
63
+ )
63
64
  from stackit.stackitmarketplace.models.list_catalog_products_response import (
64
65
  ListCatalogProductsResponse,
65
66
  )
66
67
  from stackit.stackitmarketplace.models.list_vendor_subscriptions_response import (
67
68
  ListVendorSubscriptionsResponse,
68
69
  )
69
- from stackit.stackitmarketplace.models.register_testing import RegisterTesting
70
- from stackit.stackitmarketplace.models.register_testing_register_testing import (
71
- RegisterTestingRegisterTesting,
72
- )
73
- from stackit.stackitmarketplace.models.requested_subscription_state_response import (
74
- RequestedSubscriptionStateResponse,
70
+ from stackit.stackitmarketplace.models.price_type import PriceType
71
+ from stackit.stackitmarketplace.models.pricing_option_unit import PricingOptionUnit
72
+ from stackit.stackitmarketplace.models.product_lifecycle_state import (
73
+ ProductLifecycleState,
75
74
  )
75
+ from stackit.stackitmarketplace.models.register_testing import RegisterTesting
76
76
  from stackit.stackitmarketplace.models.resolve_customer_payload import (
77
77
  ResolveCustomerPayload,
78
78
  )
79
- from stackit.stackitmarketplace.models.subscription_cancel_response import (
80
- SubscriptionCancelResponse,
79
+ from stackit.stackitmarketplace.models.subscription_lifecycle_state import (
80
+ SubscriptionLifecycleState,
81
81
  )
82
82
  from stackit.stackitmarketplace.models.subscription_product import SubscriptionProduct
83
83
  from stackit.stackitmarketplace.models.suggest_product import SuggestProduct
84
- from stackit.stackitmarketplace.models.suggest_product_suggest_product import (
85
- SuggestProductSuggestProduct,
86
- )
87
84
  from stackit.stackitmarketplace.models.vendor_subscription import VendorSubscription
@@ -16,10 +16,11 @@ from __future__ import annotations
16
16
 
17
17
  import json
18
18
  import pprint
19
+ import re
19
20
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
21
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
- from typing_extensions import Self
22
+ from pydantic import BaseModel, ConfigDict, Field, field_validator
23
+ from typing_extensions import Annotated, Self
23
24
 
24
25
 
25
26
  class ApproveSubscriptionPayload(BaseModel):
@@ -27,13 +28,25 @@ class ApproveSubscriptionPayload(BaseModel):
27
28
  ApproveSubscriptionPayload
28
29
  """
29
30
 
30
- instance_target: Optional[StrictStr] = Field(
31
+ instance_target: Optional[Annotated[str, Field(strict=True, max_length=512)]] = Field(
31
32
  default=None,
32
33
  description="The target URL of the user instance, used to redirect the user to the instance after the subscription is active.",
33
34
  alias="instanceTarget",
34
35
  )
35
36
  __properties: ClassVar[List[str]] = ["instanceTarget"]
36
37
 
38
+ @field_validator("instance_target")
39
+ def instance_target_validate_regular_expression(cls, value):
40
+ """Validates the regular expression"""
41
+ if value is None:
42
+ return value
43
+
44
+ if not re.match(r"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$", value):
45
+ raise ValueError(
46
+ r"must validate the regular expression /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/"
47
+ )
48
+ return value
49
+
37
50
  model_config = ConfigDict(
38
51
  populate_by_name=True,
39
52
  validate_assignment=True,
@@ -18,30 +18,22 @@ import json
18
18
  import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from pydantic import BaseModel, ConfigDict, Field
22
22
  from typing_extensions import Self
23
23
 
24
- from stackit.stackitmarketplace.models.become_vendor_become_vendor import (
25
- BecomeVendorBecomeVendor,
26
- )
24
+ from stackit.stackitmarketplace.models.inquiry_become_vendor import InquiryBecomeVendor
25
+ from stackit.stackitmarketplace.models.inquiry_form_type import InquiryFormType
27
26
 
28
27
 
29
28
  class BecomeVendor(BaseModel):
30
29
  """
31
- Become a vendor.
30
+ Become a Vendor.
32
31
  """
33
32
 
34
- become_vendor: BecomeVendorBecomeVendor = Field(alias="becomeVendor")
35
- type: StrictStr = Field(description="The form type.")
33
+ become_vendor: InquiryBecomeVendor = Field(alias="becomeVendor")
34
+ type: InquiryFormType
36
35
  __properties: ClassVar[List[str]] = ["becomeVendor", "type"]
37
36
 
38
- @field_validator("type")
39
- def type_validate_enum(cls, value):
40
- """Validates the enum"""
41
- if value not in set(["become_vendor"]):
42
- raise ValueError("must be one of enum values ('become_vendor')")
43
- return value
44
-
45
37
  model_config = ConfigDict(
46
38
  populate_by_name=True,
47
39
  validate_assignment=True,
@@ -96,9 +88,7 @@ class BecomeVendor(BaseModel):
96
88
  _obj = cls.model_validate(
97
89
  {
98
90
  "becomeVendor": (
99
- BecomeVendorBecomeVendor.from_dict(obj["becomeVendor"])
100
- if obj.get("becomeVendor") is not None
101
- else None
91
+ InquiryBecomeVendor.from_dict(obj["becomeVendor"]) if obj.get("becomeVendor") is not None else None
102
92
  ),
103
93
  "type": obj.get("type"),
104
94
  }
@@ -16,17 +16,19 @@ from __future__ import annotations
16
16
 
17
17
  import json
18
18
  import pprint
19
- from typing import Any, ClassVar, Dict, List, Optional, Set
19
+ import re
20
+ from typing import Any, ClassVar, Dict, List, Optional, Set, Union
20
21
 
21
22
  from pydantic import (
22
23
  BaseModel,
23
24
  ConfigDict,
24
25
  Field,
25
26
  StrictBool,
27
+ StrictBytes,
26
28
  StrictStr,
27
29
  field_validator,
28
30
  )
29
- from typing_extensions import Self
31
+ from typing_extensions import Annotated, Self
30
32
 
31
33
  from stackit.stackitmarketplace.models.catalog_product_details_vendor import (
32
34
  CatalogProductDetailsVendor,
@@ -43,6 +45,10 @@ from stackit.stackitmarketplace.models.catalog_product_support_resource import (
43
45
  from stackit.stackitmarketplace.models.catalog_product_vendor_terms import (
44
46
  CatalogProductVendorTerms,
45
47
  )
48
+ from stackit.stackitmarketplace.models.delivery_method import DeliveryMethod
49
+ from stackit.stackitmarketplace.models.product_lifecycle_state import (
50
+ ProductLifecycleState,
51
+ )
46
52
 
47
53
 
48
54
  class CatalogProductDetail(BaseModel):
@@ -53,29 +59,28 @@ class CatalogProductDetail(BaseModel):
53
59
  categories: Optional[List[StrictStr]] = Field(
54
60
  default=None, description="The list of categories associated to the product."
55
61
  )
56
- delivery_method: StrictStr = Field(
57
- description="The product type. For reference: SAAS - Software as a Service, SAI - STACKIT Application Image",
58
- alias="deliveryMethod",
59
- )
62
+ delivery_method: DeliveryMethod = Field(alias="deliveryMethod")
60
63
  description: StrictStr = Field(description="The product description.")
61
- documentation_url: StrictStr = Field(description="The documentation URL.", alias="documentationUrl")
64
+ documentation_url: Annotated[str, Field(strict=True, max_length=512)] = Field(
65
+ description="The documentation URL.", alias="documentationUrl"
66
+ )
67
+ email: Optional[StrictStr] = Field(default=None, description="A e-mail address.")
62
68
  highlights: List[CatalogProductHighlight] = Field(description="The list of highlights.")
63
69
  is_product_listing: StrictBool = Field(
64
70
  description="If true, the product is not fully integrated but only listed. Product listings may not have prices and support information.",
65
71
  alias="isProductListing",
66
72
  )
67
- lifecycle_state: StrictStr = Field(description="The lifecycle state of the product.", alias="lifecycleState")
68
- logo: StrictStr = Field(description="The logo base64 encoded.")
69
- name: StrictStr = Field(description="The product name.")
73
+ lifecycle_state: ProductLifecycleState = Field(alias="lifecycleState")
74
+ logo: Union[StrictBytes, StrictStr] = Field(description="The logo base64 encoded.")
75
+ name: Annotated[str, Field(strict=True, max_length=512)] = Field(description="The name of the product.")
70
76
  pricing_options: List[CatalogProductPricingOption] = Field(
71
77
  description="The list of pricing options.", alias="pricingOptions"
72
78
  )
73
- product_id: StrictStr = Field(description="The product ID.", alias="productId")
79
+ product_id: object = Field(alias="productId")
74
80
  summary: StrictStr = Field(description="The short summary of the product.")
75
- support_email: Optional[StrictStr] = Field(
76
- default=None, description="The e-mail address for support inquiries.", alias="supportEmail"
81
+ support_faq: Optional[Annotated[str, Field(strict=True, max_length=512)]] = Field(
82
+ default=None, description="The support FAQ URL.", alias="supportFaq"
77
83
  )
78
- support_faq: Optional[StrictStr] = Field(default=None, description="The support FAQ URL.", alias="supportFaq")
79
84
  support_phone: Optional[StrictStr] = Field(
80
85
  default=None, description="The phone number for support inquiries.", alias="supportPhone"
81
86
  )
@@ -86,12 +91,15 @@ class CatalogProductDetail(BaseModel):
86
91
  vendor_terms: Optional[List[CatalogProductVendorTerms]] = Field(
87
92
  default=None, description="The list of terms of use.", alias="vendorTerms"
88
93
  )
89
- video_url: StrictStr = Field(description="The video URL.", alias="videoUrl")
94
+ video_url: Annotated[str, Field(strict=True, max_length=512)] = Field(
95
+ description="The video URL.", alias="videoUrl"
96
+ )
90
97
  __properties: ClassVar[List[str]] = [
91
98
  "categories",
92
99
  "deliveryMethod",
93
100
  "description",
94
101
  "documentationUrl",
102
+ "email",
95
103
  "highlights",
96
104
  "isProductListing",
97
105
  "lifecycleState",
@@ -100,7 +108,6 @@ class CatalogProductDetail(BaseModel):
100
108
  "pricingOptions",
101
109
  "productId",
102
110
  "summary",
103
- "supportEmail",
104
111
  "supportFaq",
105
112
  "supportPhone",
106
113
  "supportResources",
@@ -109,18 +116,41 @@ class CatalogProductDetail(BaseModel):
109
116
  "videoUrl",
110
117
  ]
111
118
 
112
- @field_validator("delivery_method")
113
- def delivery_method_validate_enum(cls, value):
114
- """Validates the enum"""
115
- if value not in set(["SAAS", "KUBERNETES", "SAI", "PROFESSIONAL_SERVICE"]):
116
- raise ValueError("must be one of enum values ('SAAS', 'KUBERNETES', 'SAI', 'PROFESSIONAL_SERVICE')")
119
+ @field_validator("documentation_url")
120
+ def documentation_url_validate_regular_expression(cls, value):
121
+ """Validates the regular expression"""
122
+ if not re.match(r"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$", value):
123
+ raise ValueError(
124
+ r"must validate the regular expression /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/"
125
+ )
126
+ return value
127
+
128
+ @field_validator("name")
129
+ def name_validate_regular_expression(cls, value):
130
+ """Validates the regular expression"""
131
+ if not re.match(r"^[a-zA-ZäüöÄÜÖ0-9,.!?()@\/:=\n\t -]+$", value):
132
+ raise ValueError(r"must validate the regular expression /^[a-zA-ZäüöÄÜÖ0-9,.!?()@\/:=\n\t -]+$/")
133
+ return value
134
+
135
+ @field_validator("support_faq")
136
+ def support_faq_validate_regular_expression(cls, value):
137
+ """Validates the regular expression"""
138
+ if value is None:
139
+ return value
140
+
141
+ if not re.match(r"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$", value):
142
+ raise ValueError(
143
+ r"must validate the regular expression /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/"
144
+ )
117
145
  return value
118
146
 
119
- @field_validator("lifecycle_state")
120
- def lifecycle_state_validate_enum(cls, value):
121
- """Validates the enum"""
122
- if value not in set(["PRODUCT_LIVE", "PRODUCT_PREVIEW"]):
123
- raise ValueError("must be one of enum values ('PRODUCT_LIVE', 'PRODUCT_PREVIEW')")
147
+ @field_validator("video_url")
148
+ def video_url_validate_regular_expression(cls, value):
149
+ """Validates the regular expression"""
150
+ if not re.match(r"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$", value):
151
+ raise ValueError(
152
+ r"must validate the regular expression /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/"
153
+ )
124
154
  return value
125
155
 
126
156
  model_config = ConfigDict(
@@ -208,6 +238,7 @@ class CatalogProductDetail(BaseModel):
208
238
  "deliveryMethod": obj.get("deliveryMethod"),
209
239
  "description": obj.get("description"),
210
240
  "documentationUrl": obj.get("documentationUrl"),
241
+ "email": obj.get("email"),
211
242
  "highlights": (
212
243
  [CatalogProductHighlight.from_dict(_item) for _item in obj["highlights"]]
213
244
  if obj.get("highlights") is not None
@@ -224,7 +255,6 @@ class CatalogProductDetail(BaseModel):
224
255
  ),
225
256
  "productId": obj.get("productId"),
226
257
  "summary": obj.get("summary"),
227
- "supportEmail": obj.get("supportEmail"),
228
258
  "supportFaq": obj.get("supportFaq"),
229
259
  "supportPhone": obj.get("supportPhone"),
230
260
  "supportResources": (