stackit-stackitmarketplace 1.7.0__tar.gz → 1.8.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 (53) hide show
  1. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/PKG-INFO +1 -1
  2. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/pyproject.toml +1 -1
  3. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/__init__.py +2 -0
  4. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/__init__.py +1 -0
  5. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_overview.py +7 -0
  6. stackit_stackitmarketplace-1.8.0/src/stackit/stackitmarketplace/models/free_trial.py +82 -0
  7. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/LICENSE.md +0 -0
  8. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/NOTICE.txt +0 -0
  9. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/README.md +0 -0
  10. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api/__init__.py +0 -0
  11. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api/default_api.py +0 -0
  12. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api_client.py +0 -0
  13. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api_response.py +0 -0
  14. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/configuration.py +0 -0
  15. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/exceptions.py +0 -0
  16. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/approve_subscription_payload.py +0 -0
  17. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/assets.py +0 -0
  18. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/become_vendor.py +0 -0
  19. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_pricing_option_highlight.py +0 -0
  20. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_detail.py +0 -0
  21. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_details_vendor.py +0 -0
  22. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_facets_value_inner.py +0 -0
  23. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_highlight.py +0 -0
  24. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_overview_vendor.py +0 -0
  25. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_pricing_option.py +0 -0
  26. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_support_resource.py +0 -0
  27. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_vendor_terms.py +0 -0
  28. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/contact_sales.py +0 -0
  29. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/delivery_method.py +0 -0
  30. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/error_response.py +0 -0
  31. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiries_create_inquiry_payload.py +0 -0
  32. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_become_vendor.py +0 -0
  33. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_contact_sales.py +0 -0
  34. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_form_type.py +0 -0
  35. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_register_testing.py +0 -0
  36. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_suggest_product.py +0 -0
  37. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/list_catalog_products_response.py +0 -0
  38. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/list_vendor_subscriptions_response.py +0 -0
  39. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/localized_version.py +0 -0
  40. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/notice_period.py +0 -0
  41. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/offer_type.py +0 -0
  42. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/price_type.py +0 -0
  43. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/pricing_option_unit.py +0 -0
  44. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/product_lifecycle_state.py +0 -0
  45. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/register_testing.py +0 -0
  46. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/resolve_customer_payload.py +0 -0
  47. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/service_certificate.py +0 -0
  48. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/subscription_lifecycle_state.py +0 -0
  49. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/subscription_product.py +0 -0
  50. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/suggest_product.py +0 -0
  51. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/vendor_subscription.py +0 -0
  52. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/py.typed +0 -0
  53. {stackit_stackitmarketplace-1.7.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stackit-stackitmarketplace
3
- Version: 1.7.0
3
+ Version: 1.8.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 = "v1.7.0"
6
+ version = "v1.8.0"
7
7
  authors = [
8
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
9
9
  ]
@@ -45,6 +45,7 @@ __all__ = [
45
45
  "ContactSales",
46
46
  "DeliveryMethod",
47
47
  "ErrorResponse",
48
+ "FreeTrial",
48
49
  "InquiriesCreateInquiryPayload",
49
50
  "InquiryBecomeVendor",
50
51
  "InquiryContactSales",
@@ -127,6 +128,7 @@ from stackit.stackitmarketplace.models.delivery_method import (
127
128
  from stackit.stackitmarketplace.models.error_response import (
128
129
  ErrorResponse as ErrorResponse,
129
130
  )
131
+ from stackit.stackitmarketplace.models.free_trial import FreeTrial as FreeTrial
130
132
  from stackit.stackitmarketplace.models.inquiries_create_inquiry_payload import (
131
133
  InquiriesCreateInquiryPayload as InquiriesCreateInquiryPayload,
132
134
  )
@@ -53,6 +53,7 @@ from stackit.stackitmarketplace.models.catalog_product_vendor_terms import (
53
53
  from stackit.stackitmarketplace.models.contact_sales import ContactSales
54
54
  from stackit.stackitmarketplace.models.delivery_method import DeliveryMethod
55
55
  from stackit.stackitmarketplace.models.error_response import ErrorResponse
56
+ from stackit.stackitmarketplace.models.free_trial import FreeTrial
56
57
  from stackit.stackitmarketplace.models.inquiries_create_inquiry_payload import (
57
58
  InquiriesCreateInquiryPayload,
58
59
  )
@@ -33,6 +33,7 @@ from stackit.stackitmarketplace.models.catalog_product_overview_vendor import (
33
33
  CatalogProductOverviewVendor,
34
34
  )
35
35
  from stackit.stackitmarketplace.models.delivery_method import DeliveryMethod
36
+ from stackit.stackitmarketplace.models.free_trial import FreeTrial
36
37
  from stackit.stackitmarketplace.models.product_lifecycle_state import (
37
38
  ProductLifecycleState,
38
39
  )
@@ -44,6 +45,7 @@ class CatalogProductOverview(BaseModel):
44
45
  """ # noqa: E501
45
46
 
46
47
  delivery_method: DeliveryMethod = Field(alias="deliveryMethod")
48
+ free_trial: Optional[FreeTrial] = Field(default=None, alias="freeTrial")
47
49
  lifecycle_state: ProductLifecycleState = Field(alias="lifecycleState")
48
50
  logo: Optional[Union[StrictBytes, StrictStr]] = Field(default=None, description="The logo base64 encoded.")
49
51
  name: Annotated[str, Field(strict=True, max_length=512)] = Field(description="The name of the product.")
@@ -54,6 +56,7 @@ class CatalogProductOverview(BaseModel):
54
56
  vendor: CatalogProductOverviewVendor
55
57
  __properties: ClassVar[List[str]] = [
56
58
  "deliveryMethod",
59
+ "freeTrial",
57
60
  "lifecycleState",
58
61
  "logo",
59
62
  "name",
@@ -120,6 +123,9 @@ class CatalogProductOverview(BaseModel):
120
123
  exclude=excluded_fields,
121
124
  exclude_none=True,
122
125
  )
126
+ # override the default output from pydantic by calling `to_dict()` of free_trial
127
+ if self.free_trial:
128
+ _dict["freeTrial"] = self.free_trial.to_dict()
123
129
  # override the default output from pydantic by calling `to_dict()` of vendor
124
130
  if self.vendor:
125
131
  _dict["vendor"] = self.vendor.to_dict()
@@ -137,6 +143,7 @@ class CatalogProductOverview(BaseModel):
137
143
  _obj = cls.model_validate(
138
144
  {
139
145
  "deliveryMethod": obj.get("deliveryMethod"),
146
+ "freeTrial": FreeTrial.from_dict(obj["freeTrial"]) if obj.get("freeTrial") is not None else None,
140
147
  "lifecycleState": obj.get("lifecycleState"),
141
148
  "logo": obj.get("logo"),
142
149
  "name": obj.get("name"),
@@ -0,0 +1,82 @@
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.cloud
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+ from __future__ import annotations
16
+
17
+ import json
18
+ import pprint
19
+ from typing import Any, ClassVar, Dict, List, Optional, Set
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictInt
22
+ from typing_extensions import Self
23
+
24
+
25
+ class FreeTrial(BaseModel):
26
+ """
27
+ The amount of days of free trial highlighted in the product card.
28
+ """ # noqa: E501
29
+
30
+ value: Optional[StrictInt] = None
31
+ __properties: ClassVar[List[str]] = ["value"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of FreeTrial from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([])
64
+
65
+ _dict = self.model_dump(
66
+ by_alias=True,
67
+ exclude=excluded_fields,
68
+ exclude_none=True,
69
+ )
70
+ return _dict
71
+
72
+ @classmethod
73
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
74
+ """Create an instance of FreeTrial from a dict"""
75
+ if obj is None:
76
+ return None
77
+
78
+ if not isinstance(obj, dict):
79
+ return cls.model_validate(obj)
80
+
81
+ _obj = cls.model_validate({"value": obj.get("value")})
82
+ return _obj