stackit-stackitmarketplace 1.6.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.
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/PKG-INFO +1 -1
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/pyproject.toml +1 -1
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/__init__.py +2 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/__init__.py +1 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_overview.py +7 -0
- stackit_stackitmarketplace-1.8.0/src/stackit/stackitmarketplace/models/free_trial.py +82 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_form_type.py +4 -4
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/LICENSE.md +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/NOTICE.txt +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/README.md +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api/__init__.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api/default_api.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api_client.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/api_response.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/configuration.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/exceptions.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/approve_subscription_payload.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/assets.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/become_vendor.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_pricing_option_highlight.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_detail.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_details_vendor.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_facets_value_inner.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_highlight.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_overview_vendor.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_pricing_option.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_support_resource.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/catalog_product_vendor_terms.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/contact_sales.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/delivery_method.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/error_response.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiries_create_inquiry_payload.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_become_vendor.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_contact_sales.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_register_testing.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/inquiry_suggest_product.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/list_catalog_products_response.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/list_vendor_subscriptions_response.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/localized_version.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/notice_period.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/offer_type.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/price_type.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/pricing_option_unit.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/product_lifecycle_state.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/register_testing.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/resolve_customer_payload.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/service_certificate.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/subscription_lifecycle_state.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/subscription_product.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/suggest_product.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/models/vendor_subscription.py +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/py.typed +0 -0
- {stackit_stackitmarketplace-1.6.0 → stackit_stackitmarketplace-1.8.0}/src/stackit/stackitmarketplace/rest.py +0 -0
|
@@ -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
|
|
@@ -28,10 +28,10 @@ class InquiryFormType(str, Enum):
|
|
|
28
28
|
"""
|
|
29
29
|
allowed enum values
|
|
30
30
|
"""
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
SUGGEST_PRODUCT = "SUGGEST_PRODUCT"
|
|
32
|
+
CONTACT_SALES = "CONTACT_SALES"
|
|
33
|
+
BECOME_VENDOR = "BECOME_VENDOR"
|
|
34
|
+
REGISTER_TESTING = "REGISTER_TESTING"
|
|
35
35
|
|
|
36
36
|
@classmethod
|
|
37
37
|
def from_json(cls, json_str: str) -> Self:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|