waldur-api-client 7.8.3__py3-none-any.whl → 7.8.4__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.
Potentially problematic release.
This version of waldur-api-client might be problematic. Click here for more details.
- waldur_api_client/api/booking_resources/booking_resources_count.py +18 -0
- waldur_api_client/api/booking_resources/booking_resources_list.py +18 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_count.py +125 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_retrieve.py +126 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_tos_stats_retrieve.py +146 -0
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +18 -0
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +18 -0
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_update_options.py +168 -0
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +18 -0
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +18 -0
- waldur_api_client/api/marketplace_resources/marketplace_resources_renew.py +166 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_checklists_summary.py +189 -0
- waldur_api_client/api/onboarding/__init__.py +1 -0
- waldur_api_client/api/onboarding/onboarding_supported_countries_retrieve.py +74 -0
- waldur_api_client/api/onboarding_justifications/__init__.py +1 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_attach_document.py +211 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_count.py +172 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_create.py +150 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_create_justification.py +154 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_destroy.py +89 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_list.py +175 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_partial_update.py +164 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_retrieve.py +142 -0
- waldur_api_client/api/onboarding_justifications/onboarding_justifications_update.py +164 -0
- waldur_api_client/api/onboarding_verifications/__init__.py +1 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_count.py +172 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_create.py +150 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_create_customer.py +144 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_destroy.py +89 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_list.py +175 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_partial_update.py +164 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_retrieve.py +142 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_update.py +164 -0
- waldur_api_client/api/onboarding_verifications/onboarding_verifications_validate_company.py +154 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_count.py +33 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_create.py +154 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_destroy.py +91 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_list.py +33 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_partial_update.py +164 -0
- waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_update.py +164 -0
- waldur_api_client/api/openstack_networks/openstack_networks_rbac_policy_create.py +24 -22
- waldur_api_client/api/projects/projects_checklist_template_count.py +125 -0
- waldur_api_client/api/projects/projects_checklist_template_retrieve.py +126 -0
- waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_count.py +125 -0
- waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_retrieve.py +126 -0
- waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_offerings_list.py +15 -0
- waldur_api_client/models/__init__.py +62 -4
- waldur_api_client/models/booking_resource.py +4 -11
- waldur_api_client/models/call_round.py +4 -4
- waldur_api_client/models/checklist_template.py +99 -0
- waldur_api_client/models/checklist_template_checklist.py +44 -0
- waldur_api_client/models/constance_settings.py +45 -0
- waldur_api_client/models/constance_settings_request.py +45 -0
- waldur_api_client/models/constance_settings_request_form.py +45 -0
- waldur_api_client/models/constance_settings_request_multipart.py +85 -0
- waldur_api_client/models/customer.py +9 -0
- waldur_api_client/models/customers_list_field_item.py +1 -0
- waldur_api_client/models/customers_retrieve_field_item.py +1 -0
- waldur_api_client/models/deprecated_network_rbac_policy.py +137 -0
- waldur_api_client/models/deprecated_network_rbac_policy_request.py +78 -0
- waldur_api_client/models/event_types_enum.py +1 -0
- waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
- waldur_api_client/models/merged_plugin_options.py +18 -0
- waldur_api_client/models/merged_plugin_options_request.py +18 -0
- waldur_api_client/models/nested_round.py +5 -5
- waldur_api_client/models/network_rbac_policy_request.py +8 -0
- waldur_api_client/models/notification.py +9 -9
- waldur_api_client/models/{notification_context_fields.py → notification_context_schema.py} +6 -6
- waldur_api_client/models/notification_template_detail_serializers.py +9 -3
- waldur_api_client/models/offering_component.py +79 -0
- waldur_api_client/models/offering_component_request.py +80 -0
- waldur_api_client/models/onboarding_company_validation_request_request.py +88 -0
- waldur_api_client/models/onboarding_justification.py +183 -0
- waldur_api_client/models/onboarding_justification_create_request.py +68 -0
- waldur_api_client/models/onboarding_justification_documentation.py +108 -0
- waldur_api_client/models/onboarding_justification_documentation_request.py +84 -0
- waldur_api_client/models/onboarding_justification_documentation_request_form.py +84 -0
- waldur_api_client/models/onboarding_justification_documentation_request_multipart.py +98 -0
- waldur_api_client/models/onboarding_justification_request.py +75 -0
- waldur_api_client/models/onboarding_verification.py +250 -0
- waldur_api_client/models/onboarding_verification_request.py +128 -0
- waldur_api_client/models/onboarding_verification_status_enum.py +12 -0
- waldur_api_client/models/open_stack_create_floating_ip_request.py +20 -1
- waldur_api_client/models/order_create.py +4 -4
- waldur_api_client/models/order_details.py +4 -11
- waldur_api_client/models/patched_network_rbac_policy_request.py +85 -0
- waldur_api_client/models/patched_onboarding_justification_request.py +77 -0
- waldur_api_client/models/patched_onboarding_verification_request.py +128 -0
- waldur_api_client/models/patched_project_credit_request.py +13 -0
- waldur_api_client/models/patched_project_request.py +1 -2
- waldur_api_client/models/patched_project_request_form.py +1 -2
- waldur_api_client/models/patched_project_request_multipart.py +1 -2
- waldur_api_client/models/project.py +10 -2
- waldur_api_client/models/project_credit.py +13 -0
- waldur_api_client/models/project_credit_request.py +13 -0
- waldur_api_client/models/project_request.py +1 -2
- waldur_api_client/models/project_request_form.py +1 -2
- waldur_api_client/models/project_request_multipart.py +1 -2
- waldur_api_client/models/projects_list_field_item.py +1 -0
- waldur_api_client/models/projects_retrieve_field_item.py +1 -0
- waldur_api_client/models/protected_round.py +4 -4
- waldur_api_client/models/question.py +102 -0
- waldur_api_client/models/question_options.py +79 -0
- waldur_api_client/models/resource.py +4 -11
- waldur_api_client/models/resource_renew_request.py +83 -0
- waldur_api_client/models/resource_renew_request_limits.py +44 -0
- waldur_api_client/models/{status_enum.py → round_status.py} +1 -1
- waldur_api_client/models/service_provider_checklist_summary.py +98 -0
- waldur_api_client/models/time_series_to_s_data.py +69 -0
- waldur_api_client/models/to_s_consent_dashboard.py +155 -0
- waldur_api_client/models/update_offering_component_request.py +79 -0
- waldur_api_client/models/validation_decision_enum.py +10 -0
- waldur_api_client/models/validation_method_enum.py +8 -0
- waldur_api_client/models/version_adoption.py +67 -0
- {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.4.dist-info}/METADATA +1 -1
- {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.4.dist-info}/RECORD +118 -54
- {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.4.dist-info}/WHEEL +0 -0
- {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -14,15 +14,19 @@ T = TypeVar("T", bound="NetworkRBACPolicyRequest")
|
|
|
14
14
|
class NetworkRBACPolicyRequest:
|
|
15
15
|
"""
|
|
16
16
|
Attributes:
|
|
17
|
+
network (str):
|
|
17
18
|
target_tenant (str):
|
|
18
19
|
policy_type (Union[Unset, PolicyTypeEnum]): Default: PolicyTypeEnum.ACCESS_AS_SHARED.
|
|
19
20
|
"""
|
|
20
21
|
|
|
22
|
+
network: str
|
|
21
23
|
target_tenant: str
|
|
22
24
|
policy_type: Union[Unset, PolicyTypeEnum] = PolicyTypeEnum.ACCESS_AS_SHARED
|
|
23
25
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
24
26
|
|
|
25
27
|
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
network = self.network
|
|
29
|
+
|
|
26
30
|
target_tenant = self.target_tenant
|
|
27
31
|
|
|
28
32
|
policy_type: Union[Unset, str] = UNSET
|
|
@@ -33,6 +37,7 @@ class NetworkRBACPolicyRequest:
|
|
|
33
37
|
field_dict.update(self.additional_properties)
|
|
34
38
|
field_dict.update(
|
|
35
39
|
{
|
|
40
|
+
"network": network,
|
|
36
41
|
"target_tenant": target_tenant,
|
|
37
42
|
}
|
|
38
43
|
)
|
|
@@ -44,6 +49,8 @@ class NetworkRBACPolicyRequest:
|
|
|
44
49
|
@classmethod
|
|
45
50
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
46
51
|
d = dict(src_dict)
|
|
52
|
+
network = d.pop("network")
|
|
53
|
+
|
|
47
54
|
target_tenant = d.pop("target_tenant")
|
|
48
55
|
|
|
49
56
|
_policy_type = d.pop("policy_type", UNSET)
|
|
@@ -54,6 +61,7 @@ class NetworkRBACPolicyRequest:
|
|
|
54
61
|
policy_type = PolicyTypeEnum(_policy_type)
|
|
55
62
|
|
|
56
63
|
network_rbac_policy_request = cls(
|
|
64
|
+
network=network,
|
|
57
65
|
target_tenant=target_tenant,
|
|
58
66
|
policy_type=policy_type,
|
|
59
67
|
)
|
|
@@ -10,7 +10,7 @@ from dateutil.parser import isoparse
|
|
|
10
10
|
from ..types import UNSET, Unset
|
|
11
11
|
|
|
12
12
|
if TYPE_CHECKING:
|
|
13
|
-
from ..models.
|
|
13
|
+
from ..models.notification_context_schema import NotificationContextSchema
|
|
14
14
|
from ..models.notification_template_detail_serializers import NotificationTemplateDetailSerializers
|
|
15
15
|
|
|
16
16
|
|
|
@@ -27,8 +27,8 @@ class Notification:
|
|
|
27
27
|
enabled (bool): Indicates if notification is enabled or disabled
|
|
28
28
|
created (datetime.datetime):
|
|
29
29
|
templates (list['NotificationTemplateDetailSerializers']):
|
|
30
|
-
|
|
31
|
-
dictionary and returns its 'context'
|
|
30
|
+
context_schema (NotificationContextSchema): Finds the notification definition in the global NOTIFICATIONS
|
|
31
|
+
dictionary and returns its 'context' schema.
|
|
32
32
|
description (Union[Unset, str]):
|
|
33
33
|
"""
|
|
34
34
|
|
|
@@ -38,7 +38,7 @@ class Notification:
|
|
|
38
38
|
enabled: bool
|
|
39
39
|
created: datetime.datetime
|
|
40
40
|
templates: list["NotificationTemplateDetailSerializers"]
|
|
41
|
-
|
|
41
|
+
context_schema: "NotificationContextSchema"
|
|
42
42
|
description: Union[Unset, str] = UNSET
|
|
43
43
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
44
44
|
|
|
@@ -58,7 +58,7 @@ class Notification:
|
|
|
58
58
|
templates_item = templates_item_data.to_dict()
|
|
59
59
|
templates.append(templates_item)
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
context_schema = self.context_schema.to_dict()
|
|
62
62
|
|
|
63
63
|
description = self.description
|
|
64
64
|
|
|
@@ -72,7 +72,7 @@ class Notification:
|
|
|
72
72
|
"enabled": enabled,
|
|
73
73
|
"created": created,
|
|
74
74
|
"templates": templates,
|
|
75
|
-
"
|
|
75
|
+
"context_schema": context_schema,
|
|
76
76
|
}
|
|
77
77
|
)
|
|
78
78
|
if description is not UNSET:
|
|
@@ -82,7 +82,7 @@ class Notification:
|
|
|
82
82
|
|
|
83
83
|
@classmethod
|
|
84
84
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
85
|
-
from ..models.
|
|
85
|
+
from ..models.notification_context_schema import NotificationContextSchema
|
|
86
86
|
from ..models.notification_template_detail_serializers import NotificationTemplateDetailSerializers
|
|
87
87
|
|
|
88
88
|
d = dict(src_dict)
|
|
@@ -103,7 +103,7 @@ class Notification:
|
|
|
103
103
|
|
|
104
104
|
templates.append(templates_item)
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
context_schema = NotificationContextSchema.from_dict(d.pop("context_schema"))
|
|
107
107
|
|
|
108
108
|
description = d.pop("description", UNSET)
|
|
109
109
|
|
|
@@ -114,7 +114,7 @@ class Notification:
|
|
|
114
114
|
enabled=enabled,
|
|
115
115
|
created=created,
|
|
116
116
|
templates=templates,
|
|
117
|
-
|
|
117
|
+
context_schema=context_schema,
|
|
118
118
|
description=description,
|
|
119
119
|
)
|
|
120
120
|
|
|
@@ -4,13 +4,13 @@ from typing import Any, TypeVar
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
|
-
T = TypeVar("T", bound="
|
|
7
|
+
T = TypeVar("T", bound="NotificationContextSchema")
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@_attrs_define
|
|
11
|
-
class
|
|
11
|
+
class NotificationContextSchema:
|
|
12
12
|
"""Finds the notification definition in the global NOTIFICATIONS
|
|
13
|
-
dictionary and returns its 'context'
|
|
13
|
+
dictionary and returns its 'context' schema.
|
|
14
14
|
|
|
15
15
|
"""
|
|
16
16
|
|
|
@@ -25,10 +25,10 @@ class NotificationContextFields:
|
|
|
25
25
|
@classmethod
|
|
26
26
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
27
27
|
d = dict(src_dict)
|
|
28
|
-
|
|
28
|
+
notification_context_schema = cls()
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
return
|
|
30
|
+
notification_context_schema.additional_properties = d
|
|
31
|
+
return notification_context_schema
|
|
32
32
|
|
|
33
33
|
@property
|
|
34
34
|
def additional_keys(self) -> list[str]:
|
|
@@ -16,7 +16,7 @@ class NotificationTemplateDetailSerializers:
|
|
|
16
16
|
url (str):
|
|
17
17
|
path (str): Example: 'flatpages/default.html'
|
|
18
18
|
name (str):
|
|
19
|
-
content (str):
|
|
19
|
+
content (Union[None, str]):
|
|
20
20
|
original_content (Union[None, str]):
|
|
21
21
|
is_content_overridden (bool):
|
|
22
22
|
"""
|
|
@@ -25,7 +25,7 @@ class NotificationTemplateDetailSerializers:
|
|
|
25
25
|
url: str
|
|
26
26
|
path: str
|
|
27
27
|
name: str
|
|
28
|
-
content: str
|
|
28
|
+
content: Union[None, str]
|
|
29
29
|
original_content: Union[None, str]
|
|
30
30
|
is_content_overridden: bool
|
|
31
31
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
@@ -39,6 +39,7 @@ class NotificationTemplateDetailSerializers:
|
|
|
39
39
|
|
|
40
40
|
name = self.name
|
|
41
41
|
|
|
42
|
+
content: Union[None, str]
|
|
42
43
|
content = self.content
|
|
43
44
|
|
|
44
45
|
original_content: Union[None, str]
|
|
@@ -73,7 +74,12 @@ class NotificationTemplateDetailSerializers:
|
|
|
73
74
|
|
|
74
75
|
name = d.pop("name")
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
def _parse_content(data: object) -> Union[None, str]:
|
|
78
|
+
if data is None:
|
|
79
|
+
return data
|
|
80
|
+
return cast(Union[None, str], data)
|
|
81
|
+
|
|
82
|
+
content = _parse_content(d.pop("content"))
|
|
77
83
|
|
|
78
84
|
def _parse_original_content(data: object) -> Union[None, str]:
|
|
79
85
|
if data is None:
|
|
@@ -34,6 +34,10 @@ class OfferingComponent:
|
|
|
34
34
|
default_limit (Union[None, Unset, int]):
|
|
35
35
|
factor (Union[None, Unset, int]):
|
|
36
36
|
is_builtin (Union[Unset, bool]):
|
|
37
|
+
is_prepaid (Union[Unset, bool]):
|
|
38
|
+
overage_component (Union[None, UUID, Unset]):
|
|
39
|
+
min_prepaid_duration (Union[None, Unset, int]):
|
|
40
|
+
max_prepaid_duration (Union[None, Unset, int]):
|
|
37
41
|
"""
|
|
38
42
|
|
|
39
43
|
uuid: Union[Unset, UUID] = UNSET
|
|
@@ -53,6 +57,10 @@ class OfferingComponent:
|
|
|
53
57
|
default_limit: Union[None, Unset, int] = UNSET
|
|
54
58
|
factor: Union[None, Unset, int] = UNSET
|
|
55
59
|
is_builtin: Union[Unset, bool] = UNSET
|
|
60
|
+
is_prepaid: Union[Unset, bool] = UNSET
|
|
61
|
+
overage_component: Union[None, UUID, Unset] = UNSET
|
|
62
|
+
min_prepaid_duration: Union[None, Unset, int] = UNSET
|
|
63
|
+
max_prepaid_duration: Union[None, Unset, int] = UNSET
|
|
56
64
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
57
65
|
|
|
58
66
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -126,6 +134,28 @@ class OfferingComponent:
|
|
|
126
134
|
|
|
127
135
|
is_builtin = self.is_builtin
|
|
128
136
|
|
|
137
|
+
is_prepaid = self.is_prepaid
|
|
138
|
+
|
|
139
|
+
overage_component: Union[None, Unset, str]
|
|
140
|
+
if isinstance(self.overage_component, Unset):
|
|
141
|
+
overage_component = UNSET
|
|
142
|
+
elif isinstance(self.overage_component, UUID):
|
|
143
|
+
overage_component = str(self.overage_component)
|
|
144
|
+
else:
|
|
145
|
+
overage_component = self.overage_component
|
|
146
|
+
|
|
147
|
+
min_prepaid_duration: Union[None, Unset, int]
|
|
148
|
+
if isinstance(self.min_prepaid_duration, Unset):
|
|
149
|
+
min_prepaid_duration = UNSET
|
|
150
|
+
else:
|
|
151
|
+
min_prepaid_duration = self.min_prepaid_duration
|
|
152
|
+
|
|
153
|
+
max_prepaid_duration: Union[None, Unset, int]
|
|
154
|
+
if isinstance(self.max_prepaid_duration, Unset):
|
|
155
|
+
max_prepaid_duration = UNSET
|
|
156
|
+
else:
|
|
157
|
+
max_prepaid_duration = self.max_prepaid_duration
|
|
158
|
+
|
|
129
159
|
field_dict: dict[str, Any] = {}
|
|
130
160
|
field_dict.update(self.additional_properties)
|
|
131
161
|
field_dict.update({})
|
|
@@ -163,6 +193,14 @@ class OfferingComponent:
|
|
|
163
193
|
field_dict["factor"] = factor
|
|
164
194
|
if is_builtin is not UNSET:
|
|
165
195
|
field_dict["is_builtin"] = is_builtin
|
|
196
|
+
if is_prepaid is not UNSET:
|
|
197
|
+
field_dict["is_prepaid"] = is_prepaid
|
|
198
|
+
if overage_component is not UNSET:
|
|
199
|
+
field_dict["overage_component"] = overage_component
|
|
200
|
+
if min_prepaid_duration is not UNSET:
|
|
201
|
+
field_dict["min_prepaid_duration"] = min_prepaid_duration
|
|
202
|
+
if max_prepaid_duration is not UNSET:
|
|
203
|
+
field_dict["max_prepaid_duration"] = max_prepaid_duration
|
|
166
204
|
|
|
167
205
|
return field_dict
|
|
168
206
|
|
|
@@ -278,6 +316,43 @@ class OfferingComponent:
|
|
|
278
316
|
|
|
279
317
|
is_builtin = d.pop("is_builtin", UNSET)
|
|
280
318
|
|
|
319
|
+
is_prepaid = d.pop("is_prepaid", UNSET)
|
|
320
|
+
|
|
321
|
+
def _parse_overage_component(data: object) -> Union[None, UUID, Unset]:
|
|
322
|
+
if data is None:
|
|
323
|
+
return data
|
|
324
|
+
if isinstance(data, Unset):
|
|
325
|
+
return data
|
|
326
|
+
try:
|
|
327
|
+
if not isinstance(data, str):
|
|
328
|
+
raise TypeError()
|
|
329
|
+
overage_component_type_0 = UUID(data)
|
|
330
|
+
|
|
331
|
+
return overage_component_type_0
|
|
332
|
+
except: # noqa: E722
|
|
333
|
+
pass
|
|
334
|
+
return cast(Union[None, UUID, Unset], data)
|
|
335
|
+
|
|
336
|
+
overage_component = _parse_overage_component(d.pop("overage_component", UNSET))
|
|
337
|
+
|
|
338
|
+
def _parse_min_prepaid_duration(data: object) -> Union[None, Unset, int]:
|
|
339
|
+
if data is None:
|
|
340
|
+
return data
|
|
341
|
+
if isinstance(data, Unset):
|
|
342
|
+
return data
|
|
343
|
+
return cast(Union[None, Unset, int], data)
|
|
344
|
+
|
|
345
|
+
min_prepaid_duration = _parse_min_prepaid_duration(d.pop("min_prepaid_duration", UNSET))
|
|
346
|
+
|
|
347
|
+
def _parse_max_prepaid_duration(data: object) -> Union[None, Unset, int]:
|
|
348
|
+
if data is None:
|
|
349
|
+
return data
|
|
350
|
+
if isinstance(data, Unset):
|
|
351
|
+
return data
|
|
352
|
+
return cast(Union[None, Unset, int], data)
|
|
353
|
+
|
|
354
|
+
max_prepaid_duration = _parse_max_prepaid_duration(d.pop("max_prepaid_duration", UNSET))
|
|
355
|
+
|
|
281
356
|
offering_component = cls(
|
|
282
357
|
uuid=uuid,
|
|
283
358
|
billing_type=billing_type,
|
|
@@ -296,6 +371,10 @@ class OfferingComponent:
|
|
|
296
371
|
default_limit=default_limit,
|
|
297
372
|
factor=factor,
|
|
298
373
|
is_builtin=is_builtin,
|
|
374
|
+
is_prepaid=is_prepaid,
|
|
375
|
+
overage_component=overage_component,
|
|
376
|
+
min_prepaid_duration=min_prepaid_duration,
|
|
377
|
+
max_prepaid_duration=max_prepaid_duration,
|
|
299
378
|
)
|
|
300
379
|
|
|
301
380
|
offering_component.additional_properties = d
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
2
|
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
from uuid import UUID
|
|
3
4
|
|
|
4
5
|
from attrs import define as _attrs_define
|
|
5
6
|
from attrs import field as _attrs_field
|
|
@@ -30,6 +31,10 @@ class OfferingComponentRequest:
|
|
|
30
31
|
max_available_limit (Union[None, Unset, int]):
|
|
31
32
|
is_boolean (Union[Unset, bool]):
|
|
32
33
|
default_limit (Union[None, Unset, int]):
|
|
34
|
+
is_prepaid (Union[Unset, bool]):
|
|
35
|
+
overage_component (Union[None, UUID, Unset]):
|
|
36
|
+
min_prepaid_duration (Union[None, Unset, int]):
|
|
37
|
+
max_prepaid_duration (Union[None, Unset, int]):
|
|
33
38
|
"""
|
|
34
39
|
|
|
35
40
|
billing_type: BillingTypeEnum
|
|
@@ -46,6 +51,10 @@ class OfferingComponentRequest:
|
|
|
46
51
|
max_available_limit: Union[None, Unset, int] = UNSET
|
|
47
52
|
is_boolean: Union[Unset, bool] = UNSET
|
|
48
53
|
default_limit: Union[None, Unset, int] = UNSET
|
|
54
|
+
is_prepaid: Union[Unset, bool] = UNSET
|
|
55
|
+
overage_component: Union[None, UUID, Unset] = UNSET
|
|
56
|
+
min_prepaid_duration: Union[None, Unset, int] = UNSET
|
|
57
|
+
max_prepaid_duration: Union[None, Unset, int] = UNSET
|
|
49
58
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
50
59
|
|
|
51
60
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -105,6 +114,28 @@ class OfferingComponentRequest:
|
|
|
105
114
|
else:
|
|
106
115
|
default_limit = self.default_limit
|
|
107
116
|
|
|
117
|
+
is_prepaid = self.is_prepaid
|
|
118
|
+
|
|
119
|
+
overage_component: Union[None, Unset, str]
|
|
120
|
+
if isinstance(self.overage_component, Unset):
|
|
121
|
+
overage_component = UNSET
|
|
122
|
+
elif isinstance(self.overage_component, UUID):
|
|
123
|
+
overage_component = str(self.overage_component)
|
|
124
|
+
else:
|
|
125
|
+
overage_component = self.overage_component
|
|
126
|
+
|
|
127
|
+
min_prepaid_duration: Union[None, Unset, int]
|
|
128
|
+
if isinstance(self.min_prepaid_duration, Unset):
|
|
129
|
+
min_prepaid_duration = UNSET
|
|
130
|
+
else:
|
|
131
|
+
min_prepaid_duration = self.min_prepaid_duration
|
|
132
|
+
|
|
133
|
+
max_prepaid_duration: Union[None, Unset, int]
|
|
134
|
+
if isinstance(self.max_prepaid_duration, Unset):
|
|
135
|
+
max_prepaid_duration = UNSET
|
|
136
|
+
else:
|
|
137
|
+
max_prepaid_duration = self.max_prepaid_duration
|
|
138
|
+
|
|
108
139
|
field_dict: dict[str, Any] = {}
|
|
109
140
|
field_dict.update(self.additional_properties)
|
|
110
141
|
field_dict.update(
|
|
@@ -136,6 +167,14 @@ class OfferingComponentRequest:
|
|
|
136
167
|
field_dict["is_boolean"] = is_boolean
|
|
137
168
|
if default_limit is not UNSET:
|
|
138
169
|
field_dict["default_limit"] = default_limit
|
|
170
|
+
if is_prepaid is not UNSET:
|
|
171
|
+
field_dict["is_prepaid"] = is_prepaid
|
|
172
|
+
if overage_component is not UNSET:
|
|
173
|
+
field_dict["overage_component"] = overage_component
|
|
174
|
+
if min_prepaid_duration is not UNSET:
|
|
175
|
+
field_dict["min_prepaid_duration"] = min_prepaid_duration
|
|
176
|
+
if max_prepaid_duration is not UNSET:
|
|
177
|
+
field_dict["max_prepaid_duration"] = max_prepaid_duration
|
|
139
178
|
|
|
140
179
|
return field_dict
|
|
141
180
|
|
|
@@ -228,6 +267,43 @@ class OfferingComponentRequest:
|
|
|
228
267
|
|
|
229
268
|
default_limit = _parse_default_limit(d.pop("default_limit", UNSET))
|
|
230
269
|
|
|
270
|
+
is_prepaid = d.pop("is_prepaid", UNSET)
|
|
271
|
+
|
|
272
|
+
def _parse_overage_component(data: object) -> Union[None, UUID, Unset]:
|
|
273
|
+
if data is None:
|
|
274
|
+
return data
|
|
275
|
+
if isinstance(data, Unset):
|
|
276
|
+
return data
|
|
277
|
+
try:
|
|
278
|
+
if not isinstance(data, str):
|
|
279
|
+
raise TypeError()
|
|
280
|
+
overage_component_type_0 = UUID(data)
|
|
281
|
+
|
|
282
|
+
return overage_component_type_0
|
|
283
|
+
except: # noqa: E722
|
|
284
|
+
pass
|
|
285
|
+
return cast(Union[None, UUID, Unset], data)
|
|
286
|
+
|
|
287
|
+
overage_component = _parse_overage_component(d.pop("overage_component", UNSET))
|
|
288
|
+
|
|
289
|
+
def _parse_min_prepaid_duration(data: object) -> Union[None, Unset, int]:
|
|
290
|
+
if data is None:
|
|
291
|
+
return data
|
|
292
|
+
if isinstance(data, Unset):
|
|
293
|
+
return data
|
|
294
|
+
return cast(Union[None, Unset, int], data)
|
|
295
|
+
|
|
296
|
+
min_prepaid_duration = _parse_min_prepaid_duration(d.pop("min_prepaid_duration", UNSET))
|
|
297
|
+
|
|
298
|
+
def _parse_max_prepaid_duration(data: object) -> Union[None, Unset, int]:
|
|
299
|
+
if data is None:
|
|
300
|
+
return data
|
|
301
|
+
if isinstance(data, Unset):
|
|
302
|
+
return data
|
|
303
|
+
return cast(Union[None, Unset, int], data)
|
|
304
|
+
|
|
305
|
+
max_prepaid_duration = _parse_max_prepaid_duration(d.pop("max_prepaid_duration", UNSET))
|
|
306
|
+
|
|
231
307
|
offering_component_request = cls(
|
|
232
308
|
billing_type=billing_type,
|
|
233
309
|
type_=type_,
|
|
@@ -243,6 +319,10 @@ class OfferingComponentRequest:
|
|
|
243
319
|
max_available_limit=max_available_limit,
|
|
244
320
|
is_boolean=is_boolean,
|
|
245
321
|
default_limit=default_limit,
|
|
322
|
+
is_prepaid=is_prepaid,
|
|
323
|
+
overage_component=overage_component,
|
|
324
|
+
min_prepaid_duration=min_prepaid_duration,
|
|
325
|
+
max_prepaid_duration=max_prepaid_duration,
|
|
246
326
|
)
|
|
247
327
|
|
|
248
328
|
offering_component_request.additional_properties = d
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="OnboardingCompanyValidationRequestRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OnboardingCompanyValidationRequestRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
country (str): ISO country code (e.g., 'EE' for Estonia)
|
|
17
|
+
legal_person_identifier (str): Official company registration code
|
|
18
|
+
legal_name (Union[Unset, str]): Company name (optional, for reference)
|
|
19
|
+
user_submitted_customer_metadata (Union[Unset, Any]): Optional customer metadata for manual verification cases.
|
|
20
|
+
Should contain valid Customer model fields.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
country: str
|
|
24
|
+
legal_person_identifier: str
|
|
25
|
+
legal_name: Union[Unset, str] = UNSET
|
|
26
|
+
user_submitted_customer_metadata: Union[Unset, Any] = UNSET
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
country = self.country
|
|
31
|
+
|
|
32
|
+
legal_person_identifier = self.legal_person_identifier
|
|
33
|
+
|
|
34
|
+
legal_name = self.legal_name
|
|
35
|
+
|
|
36
|
+
user_submitted_customer_metadata = self.user_submitted_customer_metadata
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update(
|
|
41
|
+
{
|
|
42
|
+
"country": country,
|
|
43
|
+
"legal_person_identifier": legal_person_identifier,
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
if legal_name is not UNSET:
|
|
47
|
+
field_dict["legal_name"] = legal_name
|
|
48
|
+
if user_submitted_customer_metadata is not UNSET:
|
|
49
|
+
field_dict["user_submitted_customer_metadata"] = user_submitted_customer_metadata
|
|
50
|
+
|
|
51
|
+
return field_dict
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
55
|
+
d = dict(src_dict)
|
|
56
|
+
country = d.pop("country")
|
|
57
|
+
|
|
58
|
+
legal_person_identifier = d.pop("legal_person_identifier")
|
|
59
|
+
|
|
60
|
+
legal_name = d.pop("legal_name", UNSET)
|
|
61
|
+
|
|
62
|
+
user_submitted_customer_metadata = d.pop("user_submitted_customer_metadata", UNSET)
|
|
63
|
+
|
|
64
|
+
onboarding_company_validation_request_request = cls(
|
|
65
|
+
country=country,
|
|
66
|
+
legal_person_identifier=legal_person_identifier,
|
|
67
|
+
legal_name=legal_name,
|
|
68
|
+
user_submitted_customer_metadata=user_submitted_customer_metadata,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
onboarding_company_validation_request_request.additional_properties = d
|
|
72
|
+
return onboarding_company_validation_request_request
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
def additional_keys(self) -> list[str]:
|
|
76
|
+
return list(self.additional_properties.keys())
|
|
77
|
+
|
|
78
|
+
def __getitem__(self, key: str) -> Any:
|
|
79
|
+
return self.additional_properties[key]
|
|
80
|
+
|
|
81
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
82
|
+
self.additional_properties[key] = value
|
|
83
|
+
|
|
84
|
+
def __delitem__(self, key: str) -> None:
|
|
85
|
+
del self.additional_properties[key]
|
|
86
|
+
|
|
87
|
+
def __contains__(self, key: str) -> bool:
|
|
88
|
+
return key in self.additional_properties
|