waldur-api-client 7.7.9__py3-none-any.whl → 7.8.0__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/marketplace_offering_users/marketplace_offering_users_count.py +15 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +15 -0
- waldur_api_client/api/{rancher_clusters/rancher_clusters_destroy.py → marketplace_orders/marketplace_orders_delete_attachment.py} +6 -4
- waldur_api_client/api/{rancher_clusters/rancher_clusters_create.py → marketplace_orders/marketplace_orders_update_attachment.py} +47 -29
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
- waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
- waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
- waldur_api_client/models/__init__.py +8 -4
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/country_enum.py +211 -0
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/deployment_mode_enum.py +9 -0
- waldur_api_client/models/identity_provider.py +57 -0
- waldur_api_client/models/identity_provider_request.py +57 -0
- waldur_api_client/models/issue.py +8 -17
- waldur_api_client/models/issue_request.py +8 -17
- waldur_api_client/models/issue_type_enum.py +4 -4
- waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/merged_plugin_options.py +27 -0
- waldur_api_client/models/merged_plugin_options_request.py +27 -0
- waldur_api_client/models/offering.py +9 -0
- waldur_api_client/models/offering_create.py +9 -8
- waldur_api_client/models/offering_create_request.py +9 -0
- waldur_api_client/models/offering_overview_update_request.py +9 -0
- waldur_api_client/models/offering_terms_of_service.py +42 -1
- waldur_api_client/models/offering_user.py +18 -0
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +0 -18
- waldur_api_client/models/open_stack_tenant_request.py +18 -0
- waldur_api_client/models/order_attachment.py +71 -0
- waldur_api_client/models/order_attachment_request.py +84 -0
- waldur_api_client/models/order_create.py +58 -16
- waldur_api_client/models/order_create_request.py +44 -62
- waldur_api_client/models/order_details.py +65 -16
- waldur_api_client/models/patched_customer_request.py +9 -0
- waldur_api_client/models/patched_identity_provider_request.py +58 -0
- waldur_api_client/models/patched_project_request.py +9 -0
- waldur_api_client/models/patched_protected_call_request.py +9 -0
- waldur_api_client/models/patched_protected_round_request.py +2 -2
- waldur_api_client/models/patched_service_provider_request.py +9 -0
- waldur_api_client/models/patched_user_request.py +9 -0
- waldur_api_client/models/project_request.py +9 -0
- waldur_api_client/models/protected_call_request.py +9 -0
- waldur_api_client/models/protected_round.py +2 -2
- waldur_api_client/models/protected_round_request.py +2 -2
- waldur_api_client/models/provider_offering_details_request.py +9 -0
- waldur_api_client/models/public_offering_details.py +9 -0
- waldur_api_client/models/rancher_cluster_request.py +1 -48
- waldur_api_client/models/resource_update_limits_request.py +56 -1
- waldur_api_client/models/service_provider_request.py +9 -0
- waldur_api_client/models/user_consent_info.py +86 -0
- waldur_api_client/models/user_request.py +9 -0
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.0.dist-info}/METADATA +4 -2
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.0.dist-info}/RECORD +68 -66
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.0.dist-info}/WHEEL +1 -1
- waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +0 -144
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +0 -145
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -36,7 +36,7 @@ class ProtectedRound:
|
|
|
36
36
|
allocation_time (Union[Unset, AllocationTimeEnum]):
|
|
37
37
|
allocation_date (Union[None, Unset, datetime.datetime]):
|
|
38
38
|
minimal_average_scoring (Union[None, Unset, str]):
|
|
39
|
-
review_duration_in_days (Union[Unset, int]):
|
|
39
|
+
review_duration_in_days (Union[Unset, int]):
|
|
40
40
|
minimum_number_of_reviewers (Union[None, Unset, int]):
|
|
41
41
|
"""
|
|
42
42
|
|
|
@@ -52,7 +52,7 @@ class ProtectedRound:
|
|
|
52
52
|
allocation_time: Union[Unset, AllocationTimeEnum] = UNSET
|
|
53
53
|
allocation_date: Union[None, Unset, datetime.datetime] = UNSET
|
|
54
54
|
minimal_average_scoring: Union[None, Unset, str] = UNSET
|
|
55
|
-
review_duration_in_days: Union[Unset, int] =
|
|
55
|
+
review_duration_in_days: Union[Unset, int] = UNSET
|
|
56
56
|
minimum_number_of_reviewers: Union[None, Unset, int] = UNSET
|
|
57
57
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
58
58
|
|
|
@@ -25,7 +25,7 @@ class ProtectedRoundRequest:
|
|
|
25
25
|
allocation_time (Union[Unset, AllocationTimeEnum]):
|
|
26
26
|
allocation_date (Union[None, Unset, datetime.datetime]):
|
|
27
27
|
minimal_average_scoring (Union[None, Unset, str]):
|
|
28
|
-
review_duration_in_days (Union[Unset, int]):
|
|
28
|
+
review_duration_in_days (Union[Unset, int]):
|
|
29
29
|
minimum_number_of_reviewers (Union[None, Unset, int]):
|
|
30
30
|
"""
|
|
31
31
|
|
|
@@ -36,7 +36,7 @@ class ProtectedRoundRequest:
|
|
|
36
36
|
allocation_time: Union[Unset, AllocationTimeEnum] = UNSET
|
|
37
37
|
allocation_date: Union[None, Unset, datetime.datetime] = UNSET
|
|
38
38
|
minimal_average_scoring: Union[None, Unset, str] = UNSET
|
|
39
|
-
review_duration_in_days: Union[Unset, int] =
|
|
39
|
+
review_duration_in_days: Union[Unset, int] = UNSET
|
|
40
40
|
minimum_number_of_reviewers: Union[None, Unset, int] = UNSET
|
|
41
41
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
42
42
|
|
|
@@ -25,6 +25,7 @@ class ProviderOfferingDetailsRequest:
|
|
|
25
25
|
name (str):
|
|
26
26
|
category (str):
|
|
27
27
|
type_ (str):
|
|
28
|
+
slug (Union[Unset, str]):
|
|
28
29
|
description (Union[Unset, str]):
|
|
29
30
|
full_description (Union[Unset, str]):
|
|
30
31
|
privacy_policy_link (Union[Unset, str]):
|
|
@@ -51,6 +52,7 @@ class ProviderOfferingDetailsRequest:
|
|
|
51
52
|
name: str
|
|
52
53
|
category: str
|
|
53
54
|
type_: str
|
|
55
|
+
slug: Union[Unset, str] = UNSET
|
|
54
56
|
description: Union[Unset, str] = UNSET
|
|
55
57
|
full_description: Union[Unset, str] = UNSET
|
|
56
58
|
privacy_policy_link: Union[Unset, str] = UNSET
|
|
@@ -81,6 +83,8 @@ class ProviderOfferingDetailsRequest:
|
|
|
81
83
|
|
|
82
84
|
type_ = self.type_
|
|
83
85
|
|
|
86
|
+
slug = self.slug
|
|
87
|
+
|
|
84
88
|
description = self.description
|
|
85
89
|
|
|
86
90
|
full_description = self.full_description
|
|
@@ -174,6 +178,8 @@ class ProviderOfferingDetailsRequest:
|
|
|
174
178
|
"type": type_,
|
|
175
179
|
}
|
|
176
180
|
)
|
|
181
|
+
if slug is not UNSET:
|
|
182
|
+
field_dict["slug"] = slug
|
|
177
183
|
if description is not UNSET:
|
|
178
184
|
field_dict["description"] = description
|
|
179
185
|
if full_description is not UNSET:
|
|
@@ -231,6 +237,8 @@ class ProviderOfferingDetailsRequest:
|
|
|
231
237
|
|
|
232
238
|
type_ = d.pop("type")
|
|
233
239
|
|
|
240
|
+
slug = d.pop("slug", UNSET)
|
|
241
|
+
|
|
234
242
|
description = d.pop("description", UNSET)
|
|
235
243
|
|
|
236
244
|
full_description = d.pop("full_description", UNSET)
|
|
@@ -355,6 +363,7 @@ class ProviderOfferingDetailsRequest:
|
|
|
355
363
|
name=name,
|
|
356
364
|
category=category,
|
|
357
365
|
type_=type_,
|
|
366
|
+
slug=slug,
|
|
358
367
|
description=description,
|
|
359
368
|
full_description=full_description,
|
|
360
369
|
privacy_policy_link=privacy_policy_link,
|
|
@@ -95,6 +95,7 @@ class PublicOfferingDetails:
|
|
|
95
95
|
parent_name (Union[None, Unset, str]):
|
|
96
96
|
backend_metadata (Union[Unset, Any]):
|
|
97
97
|
has_compliance_requirements (Union[Unset, bool]):
|
|
98
|
+
user_has_consent (Union[Unset, bool]):
|
|
98
99
|
google_calendar_is_public (Union[None, Unset, bool]):
|
|
99
100
|
google_calendar_link (Union[None, Unset, str]): Get the Google Calendar link for an offering.
|
|
100
101
|
promotion_campaigns (Union[Unset, list['NestedCampaign']]):
|
|
@@ -160,6 +161,7 @@ class PublicOfferingDetails:
|
|
|
160
161
|
parent_name: Union[None, Unset, str] = UNSET
|
|
161
162
|
backend_metadata: Union[Unset, Any] = UNSET
|
|
162
163
|
has_compliance_requirements: Union[Unset, bool] = UNSET
|
|
164
|
+
user_has_consent: Union[Unset, bool] = UNSET
|
|
163
165
|
google_calendar_is_public: Union[None, Unset, bool] = UNSET
|
|
164
166
|
google_calendar_link: Union[None, Unset, str] = UNSET
|
|
165
167
|
promotion_campaigns: Union[Unset, list["NestedCampaign"]] = UNSET
|
|
@@ -440,6 +442,8 @@ class PublicOfferingDetails:
|
|
|
440
442
|
|
|
441
443
|
has_compliance_requirements = self.has_compliance_requirements
|
|
442
444
|
|
|
445
|
+
user_has_consent = self.user_has_consent
|
|
446
|
+
|
|
443
447
|
google_calendar_is_public: Union[None, Unset, bool]
|
|
444
448
|
if isinstance(self.google_calendar_is_public, Unset):
|
|
445
449
|
google_calendar_is_public = UNSET
|
|
@@ -582,6 +586,8 @@ class PublicOfferingDetails:
|
|
|
582
586
|
field_dict["backend_metadata"] = backend_metadata
|
|
583
587
|
if has_compliance_requirements is not UNSET:
|
|
584
588
|
field_dict["has_compliance_requirements"] = has_compliance_requirements
|
|
589
|
+
if user_has_consent is not UNSET:
|
|
590
|
+
field_dict["user_has_consent"] = user_has_consent
|
|
585
591
|
if google_calendar_is_public is not UNSET:
|
|
586
592
|
field_dict["google_calendar_is_public"] = google_calendar_is_public
|
|
587
593
|
if google_calendar_link is not UNSET:
|
|
@@ -1012,6 +1018,8 @@ class PublicOfferingDetails:
|
|
|
1012
1018
|
|
|
1013
1019
|
has_compliance_requirements = d.pop("has_compliance_requirements", UNSET)
|
|
1014
1020
|
|
|
1021
|
+
user_has_consent = d.pop("user_has_consent", UNSET)
|
|
1022
|
+
|
|
1015
1023
|
def _parse_google_calendar_is_public(data: object) -> Union[None, Unset, bool]:
|
|
1016
1024
|
if data is None:
|
|
1017
1025
|
return data
|
|
@@ -1098,6 +1106,7 @@ class PublicOfferingDetails:
|
|
|
1098
1106
|
parent_name=parent_name,
|
|
1099
1107
|
backend_metadata=backend_metadata,
|
|
1100
1108
|
has_compliance_requirements=has_compliance_requirements,
|
|
1109
|
+
user_has_consent=user_has_consent,
|
|
1101
1110
|
google_calendar_is_public=google_calendar_is_public,
|
|
1102
1111
|
google_calendar_link=google_calendar_link,
|
|
1103
1112
|
promotion_campaigns=promotion_campaigns,
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
7
|
from ..types import UNSET, Unset
|
|
8
8
|
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from ..models.rancher_nested_node_request import RancherNestedNodeRequest
|
|
11
|
-
|
|
12
|
-
|
|
13
9
|
T = TypeVar("T", bound="RancherClusterRequest")
|
|
14
10
|
|
|
15
11
|
|
|
@@ -18,11 +14,7 @@ class RancherClusterRequest:
|
|
|
18
14
|
"""
|
|
19
15
|
Attributes:
|
|
20
16
|
name (str):
|
|
21
|
-
service_settings (str):
|
|
22
|
-
project (str):
|
|
23
|
-
nodes (list['RancherNestedNodeRequest']):
|
|
24
17
|
description (Union[Unset, str]):
|
|
25
|
-
tenant (Union[Unset, str]):
|
|
26
18
|
vm_project (Union[None, Unset, str]):
|
|
27
19
|
ssh_public_key (Union[Unset, str]):
|
|
28
20
|
install_longhorn (Union[Unset, bool]): Longhorn is a distributed block storage deployed on top of Kubernetes
|
|
@@ -30,11 +22,7 @@ class RancherClusterRequest:
|
|
|
30
22
|
"""
|
|
31
23
|
|
|
32
24
|
name: str
|
|
33
|
-
service_settings: str
|
|
34
|
-
project: str
|
|
35
|
-
nodes: list["RancherNestedNodeRequest"]
|
|
36
25
|
description: Union[Unset, str] = UNSET
|
|
37
|
-
tenant: Union[Unset, str] = UNSET
|
|
38
26
|
vm_project: Union[None, Unset, str] = UNSET
|
|
39
27
|
ssh_public_key: Union[Unset, str] = UNSET
|
|
40
28
|
install_longhorn: Union[Unset, bool] = False
|
|
@@ -43,19 +31,8 @@ class RancherClusterRequest:
|
|
|
43
31
|
def to_dict(self) -> dict[str, Any]:
|
|
44
32
|
name = self.name
|
|
45
33
|
|
|
46
|
-
service_settings = self.service_settings
|
|
47
|
-
|
|
48
|
-
project = self.project
|
|
49
|
-
|
|
50
|
-
nodes = []
|
|
51
|
-
for nodes_item_data in self.nodes:
|
|
52
|
-
nodes_item = nodes_item_data.to_dict()
|
|
53
|
-
nodes.append(nodes_item)
|
|
54
|
-
|
|
55
34
|
description = self.description
|
|
56
35
|
|
|
57
|
-
tenant = self.tenant
|
|
58
|
-
|
|
59
36
|
vm_project: Union[None, Unset, str]
|
|
60
37
|
if isinstance(self.vm_project, Unset):
|
|
61
38
|
vm_project = UNSET
|
|
@@ -71,15 +48,10 @@ class RancherClusterRequest:
|
|
|
71
48
|
field_dict.update(
|
|
72
49
|
{
|
|
73
50
|
"name": name,
|
|
74
|
-
"service_settings": service_settings,
|
|
75
|
-
"project": project,
|
|
76
|
-
"nodes": nodes,
|
|
77
51
|
}
|
|
78
52
|
)
|
|
79
53
|
if description is not UNSET:
|
|
80
54
|
field_dict["description"] = description
|
|
81
|
-
if tenant is not UNSET:
|
|
82
|
-
field_dict["tenant"] = tenant
|
|
83
55
|
if vm_project is not UNSET:
|
|
84
56
|
field_dict["vm_project"] = vm_project
|
|
85
57
|
if ssh_public_key is not UNSET:
|
|
@@ -91,26 +63,11 @@ class RancherClusterRequest:
|
|
|
91
63
|
|
|
92
64
|
@classmethod
|
|
93
65
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
94
|
-
from ..models.rancher_nested_node_request import RancherNestedNodeRequest
|
|
95
|
-
|
|
96
66
|
d = dict(src_dict)
|
|
97
67
|
name = d.pop("name")
|
|
98
68
|
|
|
99
|
-
service_settings = d.pop("service_settings")
|
|
100
|
-
|
|
101
|
-
project = d.pop("project")
|
|
102
|
-
|
|
103
|
-
nodes = []
|
|
104
|
-
_nodes = d.pop("nodes")
|
|
105
|
-
for nodes_item_data in _nodes:
|
|
106
|
-
nodes_item = RancherNestedNodeRequest.from_dict(nodes_item_data)
|
|
107
|
-
|
|
108
|
-
nodes.append(nodes_item)
|
|
109
|
-
|
|
110
69
|
description = d.pop("description", UNSET)
|
|
111
70
|
|
|
112
|
-
tenant = d.pop("tenant", UNSET)
|
|
113
|
-
|
|
114
71
|
def _parse_vm_project(data: object) -> Union[None, Unset, str]:
|
|
115
72
|
if data is None:
|
|
116
73
|
return data
|
|
@@ -126,11 +83,7 @@ class RancherClusterRequest:
|
|
|
126
83
|
|
|
127
84
|
rancher_cluster_request = cls(
|
|
128
85
|
name=name,
|
|
129
|
-
service_settings=service_settings,
|
|
130
|
-
project=project,
|
|
131
|
-
nodes=nodes,
|
|
132
86
|
description=description,
|
|
133
|
-
tenant=tenant,
|
|
134
87
|
vm_project=vm_project,
|
|
135
88
|
ssh_public_key=ssh_public_key,
|
|
136
89
|
install_longhorn=install_longhorn,
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
|
|
3
4
|
|
|
4
5
|
from attrs import define as _attrs_define
|
|
5
6
|
from attrs import field as _attrs_field
|
|
6
7
|
|
|
8
|
+
from .. import types
|
|
9
|
+
from ..types import UNSET, File, Unset
|
|
10
|
+
|
|
7
11
|
if TYPE_CHECKING:
|
|
8
12
|
from ..models.resource_update_limits_request_limits import ResourceUpdateLimitsRequestLimits
|
|
9
13
|
|
|
@@ -16,14 +20,33 @@ class ResourceUpdateLimitsRequest:
|
|
|
16
20
|
"""
|
|
17
21
|
Attributes:
|
|
18
22
|
limits (ResourceUpdateLimitsRequestLimits):
|
|
23
|
+
request_comment (Union[None, Unset, str]):
|
|
24
|
+
attachment (Union[File, None, Unset]):
|
|
19
25
|
"""
|
|
20
26
|
|
|
21
27
|
limits: "ResourceUpdateLimitsRequestLimits"
|
|
28
|
+
request_comment: Union[None, Unset, str] = UNSET
|
|
29
|
+
attachment: Union[File, None, Unset] = UNSET
|
|
22
30
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
31
|
|
|
24
32
|
def to_dict(self) -> dict[str, Any]:
|
|
25
33
|
limits = self.limits.to_dict()
|
|
26
34
|
|
|
35
|
+
request_comment: Union[None, Unset, str]
|
|
36
|
+
if isinstance(self.request_comment, Unset):
|
|
37
|
+
request_comment = UNSET
|
|
38
|
+
else:
|
|
39
|
+
request_comment = self.request_comment
|
|
40
|
+
|
|
41
|
+
attachment: Union[None, Unset, types.FileTypes]
|
|
42
|
+
if isinstance(self.attachment, Unset):
|
|
43
|
+
attachment = UNSET
|
|
44
|
+
elif isinstance(self.attachment, File):
|
|
45
|
+
attachment = self.attachment.to_tuple()
|
|
46
|
+
|
|
47
|
+
else:
|
|
48
|
+
attachment = self.attachment
|
|
49
|
+
|
|
27
50
|
field_dict: dict[str, Any] = {}
|
|
28
51
|
field_dict.update(self.additional_properties)
|
|
29
52
|
field_dict.update(
|
|
@@ -31,6 +54,10 @@ class ResourceUpdateLimitsRequest:
|
|
|
31
54
|
"limits": limits,
|
|
32
55
|
}
|
|
33
56
|
)
|
|
57
|
+
if request_comment is not UNSET:
|
|
58
|
+
field_dict["request_comment"] = request_comment
|
|
59
|
+
if attachment is not UNSET:
|
|
60
|
+
field_dict["attachment"] = attachment
|
|
34
61
|
|
|
35
62
|
return field_dict
|
|
36
63
|
|
|
@@ -41,8 +68,36 @@ class ResourceUpdateLimitsRequest:
|
|
|
41
68
|
d = dict(src_dict)
|
|
42
69
|
limits = ResourceUpdateLimitsRequestLimits.from_dict(d.pop("limits"))
|
|
43
70
|
|
|
71
|
+
def _parse_request_comment(data: object) -> Union[None, Unset, str]:
|
|
72
|
+
if data is None:
|
|
73
|
+
return data
|
|
74
|
+
if isinstance(data, Unset):
|
|
75
|
+
return data
|
|
76
|
+
return cast(Union[None, Unset, str], data)
|
|
77
|
+
|
|
78
|
+
request_comment = _parse_request_comment(d.pop("request_comment", UNSET))
|
|
79
|
+
|
|
80
|
+
def _parse_attachment(data: object) -> Union[File, None, Unset]:
|
|
81
|
+
if data is None:
|
|
82
|
+
return data
|
|
83
|
+
if isinstance(data, Unset):
|
|
84
|
+
return data
|
|
85
|
+
try:
|
|
86
|
+
if not isinstance(data, bytes):
|
|
87
|
+
raise TypeError()
|
|
88
|
+
attachment_type_0 = File(payload=BytesIO(data))
|
|
89
|
+
|
|
90
|
+
return attachment_type_0
|
|
91
|
+
except: # noqa: E722
|
|
92
|
+
pass
|
|
93
|
+
return cast(Union[File, None, Unset], data)
|
|
94
|
+
|
|
95
|
+
attachment = _parse_attachment(d.pop("attachment", UNSET))
|
|
96
|
+
|
|
44
97
|
resource_update_limits_request = cls(
|
|
45
98
|
limits=limits,
|
|
99
|
+
request_comment=request_comment,
|
|
100
|
+
attachment=attachment,
|
|
46
101
|
)
|
|
47
102
|
|
|
48
103
|
resource_update_limits_request.additional_properties = d
|
|
@@ -17,11 +17,13 @@ class ServiceProviderRequest:
|
|
|
17
17
|
Attributes:
|
|
18
18
|
customer (str):
|
|
19
19
|
description (Union[Unset, str]):
|
|
20
|
+
enable_notifications (Union[Unset, bool]):
|
|
20
21
|
image (Union[File, None, Unset]):
|
|
21
22
|
"""
|
|
22
23
|
|
|
23
24
|
customer: str
|
|
24
25
|
description: Union[Unset, str] = UNSET
|
|
26
|
+
enable_notifications: Union[Unset, bool] = UNSET
|
|
25
27
|
image: Union[File, None, Unset] = UNSET
|
|
26
28
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
29
|
|
|
@@ -30,6 +32,8 @@ class ServiceProviderRequest:
|
|
|
30
32
|
|
|
31
33
|
description = self.description
|
|
32
34
|
|
|
35
|
+
enable_notifications = self.enable_notifications
|
|
36
|
+
|
|
33
37
|
image: Union[None, Unset, types.FileTypes]
|
|
34
38
|
if isinstance(self.image, Unset):
|
|
35
39
|
image = UNSET
|
|
@@ -48,6 +52,8 @@ class ServiceProviderRequest:
|
|
|
48
52
|
)
|
|
49
53
|
if description is not UNSET:
|
|
50
54
|
field_dict["description"] = description
|
|
55
|
+
if enable_notifications is not UNSET:
|
|
56
|
+
field_dict["enable_notifications"] = enable_notifications
|
|
51
57
|
if image is not UNSET:
|
|
52
58
|
field_dict["image"] = image
|
|
53
59
|
|
|
@@ -60,6 +66,8 @@ class ServiceProviderRequest:
|
|
|
60
66
|
|
|
61
67
|
description = d.pop("description", UNSET)
|
|
62
68
|
|
|
69
|
+
enable_notifications = d.pop("enable_notifications", UNSET)
|
|
70
|
+
|
|
63
71
|
def _parse_image(data: object) -> Union[File, None, Unset]:
|
|
64
72
|
if data is None:
|
|
65
73
|
return data
|
|
@@ -80,6 +88,7 @@ class ServiceProviderRequest:
|
|
|
80
88
|
service_provider_request = cls(
|
|
81
89
|
customer=customer,
|
|
82
90
|
description=description,
|
|
91
|
+
enable_notifications=enable_notifications,
|
|
83
92
|
image=image,
|
|
84
93
|
)
|
|
85
94
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
from uuid import UUID
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from dateutil.parser import isoparse
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="UserConsentInfo")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class UserConsentInfo:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
uuid (UUID):
|
|
18
|
+
version (str):
|
|
19
|
+
agreement_date (datetime.datetime):
|
|
20
|
+
is_revoked (bool):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
uuid: UUID
|
|
24
|
+
version: str
|
|
25
|
+
agreement_date: datetime.datetime
|
|
26
|
+
is_revoked: bool
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
uuid = str(self.uuid)
|
|
31
|
+
|
|
32
|
+
version = self.version
|
|
33
|
+
|
|
34
|
+
agreement_date = self.agreement_date.isoformat()
|
|
35
|
+
|
|
36
|
+
is_revoked = self.is_revoked
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update(
|
|
41
|
+
{
|
|
42
|
+
"uuid": uuid,
|
|
43
|
+
"version": version,
|
|
44
|
+
"agreement_date": agreement_date,
|
|
45
|
+
"is_revoked": is_revoked,
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return field_dict
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
53
|
+
d = dict(src_dict)
|
|
54
|
+
uuid = UUID(d.pop("uuid"))
|
|
55
|
+
|
|
56
|
+
version = d.pop("version")
|
|
57
|
+
|
|
58
|
+
agreement_date = isoparse(d.pop("agreement_date"))
|
|
59
|
+
|
|
60
|
+
is_revoked = d.pop("is_revoked")
|
|
61
|
+
|
|
62
|
+
user_consent_info = cls(
|
|
63
|
+
uuid=uuid,
|
|
64
|
+
version=version,
|
|
65
|
+
agreement_date=agreement_date,
|
|
66
|
+
is_revoked=is_revoked,
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
user_consent_info.additional_properties = d
|
|
70
|
+
return user_consent_info
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def additional_keys(self) -> list[str]:
|
|
74
|
+
return list(self.additional_properties.keys())
|
|
75
|
+
|
|
76
|
+
def __getitem__(self, key: str) -> Any:
|
|
77
|
+
return self.additional_properties[key]
|
|
78
|
+
|
|
79
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
80
|
+
self.additional_properties[key] = value
|
|
81
|
+
|
|
82
|
+
def __delitem__(self, key: str) -> None:
|
|
83
|
+
del self.additional_properties[key]
|
|
84
|
+
|
|
85
|
+
def __contains__(self, key: str) -> bool:
|
|
86
|
+
return key in self.additional_properties
|
|
@@ -17,6 +17,7 @@ class UserRequest:
|
|
|
17
17
|
Attributes:
|
|
18
18
|
username (str): Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
|
|
19
19
|
email (str):
|
|
20
|
+
slug (Union[Unset, str]):
|
|
20
21
|
native_name (Union[Unset, str]):
|
|
21
22
|
job_title (Union[Unset, str]):
|
|
22
23
|
phone_number (Union[Unset, str]):
|
|
@@ -38,6 +39,7 @@ class UserRequest:
|
|
|
38
39
|
|
|
39
40
|
username: str
|
|
40
41
|
email: str
|
|
42
|
+
slug: Union[Unset, str] = UNSET
|
|
41
43
|
native_name: Union[Unset, str] = UNSET
|
|
42
44
|
job_title: Union[Unset, str] = UNSET
|
|
43
45
|
phone_number: Union[Unset, str] = UNSET
|
|
@@ -60,6 +62,8 @@ class UserRequest:
|
|
|
60
62
|
|
|
61
63
|
email = self.email
|
|
62
64
|
|
|
65
|
+
slug = self.slug
|
|
66
|
+
|
|
63
67
|
native_name = self.native_name
|
|
64
68
|
|
|
65
69
|
job_title = self.job_title
|
|
@@ -109,6 +113,8 @@ class UserRequest:
|
|
|
109
113
|
"email": email,
|
|
110
114
|
}
|
|
111
115
|
)
|
|
116
|
+
if slug is not UNSET:
|
|
117
|
+
field_dict["slug"] = slug
|
|
112
118
|
if native_name is not UNSET:
|
|
113
119
|
field_dict["native_name"] = native_name
|
|
114
120
|
if job_title is not UNSET:
|
|
@@ -149,6 +155,8 @@ class UserRequest:
|
|
|
149
155
|
|
|
150
156
|
email = d.pop("email")
|
|
151
157
|
|
|
158
|
+
slug = d.pop("slug", UNSET)
|
|
159
|
+
|
|
152
160
|
native_name = d.pop("native_name", UNSET)
|
|
153
161
|
|
|
154
162
|
job_title = d.pop("job_title", UNSET)
|
|
@@ -204,6 +212,7 @@ class UserRequest:
|
|
|
204
212
|
user_request = cls(
|
|
205
213
|
username=username,
|
|
206
214
|
email=email,
|
|
215
|
+
slug=slug,
|
|
207
216
|
native_name=native_name,
|
|
208
217
|
job_title=job_title,
|
|
209
218
|
phone_number=phone_number,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: waldur-api-client
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.8.0
|
|
4
4
|
Summary: A client library for accessing Waldur API
|
|
5
5
|
License: MIT
|
|
6
|
+
License-File: LICENSE
|
|
6
7
|
Author: OpenNode Team
|
|
7
8
|
Author-email: info@opennodecloud.com
|
|
8
9
|
Requires-Python: >=3.9,<4.0
|
|
@@ -13,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
13
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
18
|
Requires-Dist: attrs (>=22.2.0)
|
|
17
19
|
Requires-Dist: httpx (>=0.20.0,<0.29.0)
|
|
18
20
|
Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
|