From 2f9f7a9eec6c070861dcebc4946a874d7f576594 Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Tue, 14 Oct 2025 08:44:24 +0000 Subject: [PATCH] Generate stackitmarketplace --- .../stackit/stackitmarketplace/__init__.py | 20 ++++- .../stackitmarketplace/models/__init__.py | 13 ++- .../stackitmarketplace/models/assets.py | 71 ++++++++++++--- .../assets_end_user_license_agreement.py | 89 +++++++++++++++++++ .../models/assets_product_description.py | 89 +++++++++++++++++++ .../models/assets_service_certificate.py | 89 +++++++++++++++++++ .../models/assets_service_level_agreement.py | 89 +++++++++++++++++++ 7 files changed, 445 insertions(+), 15 deletions(-) create mode 100644 services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_end_user_license_agreement.py create mode 100644 services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_product_description.py create mode 100644 services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_certificate.py create mode 100644 services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_level_agreement.py diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/__init__.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/__init__.py index 463421676..23d9a44ec 100644 --- a/services/stackitmarketplace/src/stackit/stackitmarketplace/__init__.py +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/__init__.py @@ -31,6 +31,10 @@ "ApiException", "ApproveSubscriptionPayload", "Assets", + "AssetsEndUserLicenseAgreement", + "AssetsProductDescription", + "AssetsServiceCertificate", + "AssetsServiceLevelAgreement", "BecomeVendor", "CatalogPricingOptionHighlight", "CatalogProductDetail", @@ -64,7 +68,6 @@ "RegisterTesting", "RequestPrivatePlan", "ResolveCustomerPayload", - "ServiceCertificate", "SubscriptionLifecycleState", "SubscriptionProduct", "SuggestProduct", @@ -92,6 +95,18 @@ ApproveSubscriptionPayload as ApproveSubscriptionPayload, ) from stackit.stackitmarketplace.models.assets import Assets as Assets +from stackit.stackitmarketplace.models.assets_end_user_license_agreement import ( + AssetsEndUserLicenseAgreement as AssetsEndUserLicenseAgreement, +) +from stackit.stackitmarketplace.models.assets_product_description import ( + AssetsProductDescription as AssetsProductDescription, +) +from stackit.stackitmarketplace.models.assets_service_certificate import ( + AssetsServiceCertificate as AssetsServiceCertificate, +) +from stackit.stackitmarketplace.models.assets_service_level_agreement import ( + AssetsServiceLevelAgreement as AssetsServiceLevelAgreement, +) from stackit.stackitmarketplace.models.become_vendor import BecomeVendor as BecomeVendor from stackit.stackitmarketplace.models.catalog_pricing_option_highlight import ( CatalogPricingOptionHighlight as CatalogPricingOptionHighlight, @@ -179,9 +194,6 @@ from stackit.stackitmarketplace.models.resolve_customer_payload import ( ResolveCustomerPayload as ResolveCustomerPayload, ) -from stackit.stackitmarketplace.models.service_certificate import ( - ServiceCertificate as ServiceCertificate, -) from stackit.stackitmarketplace.models.subscription_lifecycle_state import ( SubscriptionLifecycleState as SubscriptionLifecycleState, ) diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/__init__.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/__init__.py index aaa781e80..d7321eba7 100644 --- a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/__init__.py +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/__init__.py @@ -19,6 +19,18 @@ ApproveSubscriptionPayload, ) from stackit.stackitmarketplace.models.assets import Assets +from stackit.stackitmarketplace.models.assets_end_user_license_agreement import ( + AssetsEndUserLicenseAgreement, +) +from stackit.stackitmarketplace.models.assets_product_description import ( + AssetsProductDescription, +) +from stackit.stackitmarketplace.models.assets_service_certificate import ( + AssetsServiceCertificate, +) +from stackit.stackitmarketplace.models.assets_service_level_agreement import ( + AssetsServiceLevelAgreement, +) from stackit.stackitmarketplace.models.become_vendor import BecomeVendor from stackit.stackitmarketplace.models.catalog_pricing_option_highlight import ( CatalogPricingOptionHighlight, @@ -88,7 +100,6 @@ from stackit.stackitmarketplace.models.resolve_customer_payload import ( ResolveCustomerPayload, ) -from stackit.stackitmarketplace.models.service_certificate import ServiceCertificate from stackit.stackitmarketplace.models.subscription_lifecycle_state import ( SubscriptionLifecycleState, ) diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets.py index 594ec205e..575dd55f0 100644 --- a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets.py +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets.py @@ -21,7 +21,18 @@ from pydantic import BaseModel, ConfigDict, Field from typing_extensions import Self -from stackit.stackitmarketplace.models.service_certificate import ServiceCertificate +from stackit.stackitmarketplace.models.assets_end_user_license_agreement import ( + AssetsEndUserLicenseAgreement, +) +from stackit.stackitmarketplace.models.assets_product_description import ( + AssetsProductDescription, +) +from stackit.stackitmarketplace.models.assets_service_certificate import ( + AssetsServiceCertificate, +) +from stackit.stackitmarketplace.models.assets_service_level_agreement import ( + AssetsServiceLevelAgreement, +) class Assets(BaseModel): @@ -29,8 +40,24 @@ class Assets(BaseModel): The assets associated with the product. """ # noqa: E501 - service_certificate: Optional[ServiceCertificate] = Field(default=None, alias="serviceCertificate") - __properties: ClassVar[List[str]] = ["serviceCertificate"] + assets_end_user_license_agreement: Optional[AssetsEndUserLicenseAgreement] = Field( + default=None, alias="assetsEndUserLicenseAgreement" + ) + assets_product_description: Optional[AssetsProductDescription] = Field( + default=None, alias="assetsProductDescription" + ) + assets_service_certificate: Optional[AssetsServiceCertificate] = Field( + default=None, alias="assetsServiceCertificate" + ) + assets_service_level_agreement: Optional[AssetsServiceLevelAgreement] = Field( + default=None, alias="assetsServiceLevelAgreement" + ) + __properties: ClassVar[List[str]] = [ + "assetsEndUserLicenseAgreement", + "assetsProductDescription", + "assetsServiceCertificate", + "assetsServiceLevelAgreement", + ] model_config = ConfigDict( populate_by_name=True, @@ -69,9 +96,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of service_certificate - if self.service_certificate: - _dict["serviceCertificate"] = self.service_certificate.to_dict() + # override the default output from pydantic by calling `to_dict()` of assets_end_user_license_agreement + if self.assets_end_user_license_agreement: + _dict["assetsEndUserLicenseAgreement"] = self.assets_end_user_license_agreement.to_dict() + # override the default output from pydantic by calling `to_dict()` of assets_product_description + if self.assets_product_description: + _dict["assetsProductDescription"] = self.assets_product_description.to_dict() + # override the default output from pydantic by calling `to_dict()` of assets_service_certificate + if self.assets_service_certificate: + _dict["assetsServiceCertificate"] = self.assets_service_certificate.to_dict() + # override the default output from pydantic by calling `to_dict()` of assets_service_level_agreement + if self.assets_service_level_agreement: + _dict["assetsServiceLevelAgreement"] = self.assets_service_level_agreement.to_dict() return _dict @classmethod @@ -85,11 +121,26 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "serviceCertificate": ( - ServiceCertificate.from_dict(obj["serviceCertificate"]) - if obj.get("serviceCertificate") is not None + "assetsEndUserLicenseAgreement": ( + AssetsEndUserLicenseAgreement.from_dict(obj["assetsEndUserLicenseAgreement"]) + if obj.get("assetsEndUserLicenseAgreement") is not None + else None + ), + "assetsProductDescription": ( + AssetsProductDescription.from_dict(obj["assetsProductDescription"]) + if obj.get("assetsProductDescription") is not None + else None + ), + "assetsServiceCertificate": ( + AssetsServiceCertificate.from_dict(obj["assetsServiceCertificate"]) + if obj.get("assetsServiceCertificate") is not None + else None + ), + "assetsServiceLevelAgreement": ( + AssetsServiceLevelAgreement.from_dict(obj["assetsServiceLevelAgreement"]) + if obj.get("assetsServiceLevelAgreement") is not None else None - ) + ), } ) return _obj diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_end_user_license_agreement.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_end_user_license_agreement.py new file mode 100644 index 000000000..500978368 --- /dev/null +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_end_user_license_agreement.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + STACKIT Marketplace API + + API to manage STACKIT Marketplace. + + The version of the OpenAPI document: 1 + Contact: marketplace@stackit.cloud + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict +from typing_extensions import Self + +from stackit.stackitmarketplace.models.localized_version import LocalizedVersion + + +class AssetsEndUserLicenseAgreement(BaseModel): + """ + The related end user license agreement of the (subscription) product. + """ # noqa: E501 + + version: Optional[LocalizedVersion] = None + __properties: ClassVar[List[str]] = ["version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssetsEndUserLicenseAgreement from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of version + if self.version: + _dict["version"] = self.version.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssetsEndUserLicenseAgreement from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate( + {"version": LocalizedVersion.from_dict(obj["version"]) if obj.get("version") is not None else None} + ) + return _obj diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_product_description.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_product_description.py new file mode 100644 index 000000000..28c27e1f6 --- /dev/null +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_product_description.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + STACKIT Marketplace API + + API to manage STACKIT Marketplace. + + The version of the OpenAPI document: 1 + Contact: marketplace@stackit.cloud + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict +from typing_extensions import Self + +from stackit.stackitmarketplace.models.localized_version import LocalizedVersion + + +class AssetsProductDescription(BaseModel): + """ + The related product description of the (subscription) product. + """ # noqa: E501 + + version: Optional[LocalizedVersion] = None + __properties: ClassVar[List[str]] = ["version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssetsProductDescription from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of version + if self.version: + _dict["version"] = self.version.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssetsProductDescription from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate( + {"version": LocalizedVersion.from_dict(obj["version"]) if obj.get("version") is not None else None} + ) + return _obj diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_certificate.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_certificate.py new file mode 100644 index 000000000..721403eaa --- /dev/null +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_certificate.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + STACKIT Marketplace API + + API to manage STACKIT Marketplace. + + The version of the OpenAPI document: 1 + Contact: marketplace@stackit.cloud + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict +from typing_extensions import Self + +from stackit.stackitmarketplace.models.localized_version import LocalizedVersion + + +class AssetsServiceCertificate(BaseModel): + """ + The related service certificate of the (subscription) product. + """ # noqa: E501 + + version: Optional[LocalizedVersion] = None + __properties: ClassVar[List[str]] = ["version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssetsServiceCertificate from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of version + if self.version: + _dict["version"] = self.version.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssetsServiceCertificate from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate( + {"version": LocalizedVersion.from_dict(obj["version"]) if obj.get("version") is not None else None} + ) + return _obj diff --git a/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_level_agreement.py b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_level_agreement.py new file mode 100644 index 000000000..7c5a9f475 --- /dev/null +++ b/services/stackitmarketplace/src/stackit/stackitmarketplace/models/assets_service_level_agreement.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + STACKIT Marketplace API + + API to manage STACKIT Marketplace. + + The version of the OpenAPI document: 1 + Contact: marketplace@stackit.cloud + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict +from typing_extensions import Self + +from stackit.stackitmarketplace.models.localized_version import LocalizedVersion + + +class AssetsServiceLevelAgreement(BaseModel): + """ + The related service level agreement of the (subscription) product. + """ # noqa: E501 + + version: Optional[LocalizedVersion] = None + __properties: ClassVar[List[str]] = ["version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssetsServiceLevelAgreement from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of version + if self.version: + _dict["version"] = self.version.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssetsServiceLevelAgreement from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate( + {"version": LocalizedVersion.from_dict(obj["version"]) if obj.get("version") is not None else None} + ) + return _obj