waldur-api-client 7.7.9__py3-none-any.whl → 7.8.1__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_course_accounts/marketplace_course_accounts_count.py +96 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
- waldur_api_client/api/{rancher_clusters/rancher_clusters_create.py → marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py} +29 -38
- 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/marketplace_orders/marketplace_orders_update_attachment.py +168 -0
- 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_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -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_course_accounts_list.py +98 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
- waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
- waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
- waldur_api_client/models/__init__.py +34 -6
- 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/booking_resource.py +18 -0
- waldur_api_client/models/booking_resources_list_field_item.py +2 -0
- waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/country_enum.py +211 -0
- waldur_api_client/models/course_account.py +24 -0
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/deployment_mode_enum.py +9 -0
- waldur_api_client/models/group_invitation.py +8 -0
- waldur_api_client/models/identity_provider.py +57 -0
- waldur_api_client/models/identity_provider_request.py +57 -0
- waldur_api_client/models/invitation.py +8 -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/managed_rancher_cluster_resources_list_field_item.py +2 -0
- waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
- waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
- waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
- waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
- 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 +5 -0
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +5 -0
- waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +72 -0
- waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_provider_resources_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/marketplace_resources_details_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
- waldur_api_client/models/merged_plugin_options.py +36 -0
- waldur_api_client/models/merged_plugin_options_request.py +36 -0
- waldur_api_client/models/notification.py +11 -0
- waldur_api_client/models/notification_context_fields.py +47 -0
- waldur_api_client/models/offering.py +9 -0
- waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -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 +99 -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/public_offering_details.py +9 -0
- waldur_api_client/models/rancher_cluster_request.py +1 -48
- waldur_api_client/models/resource.py +18 -0
- waldur_api_client/models/resource_update_limits_request.py +23 -1
- waldur_api_client/models/service_provider_request.py +9 -0
- waldur_api_client/models/user_checklist_completion.py +265 -0
- waldur_api_client/models/user_consent_info.py +86 -0
- waldur_api_client/models/user_request.py +9 -0
- waldur_api_client/models/visible_invitation_details.py +8 -0
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/METADATA +4 -2
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/RECORD +105 -89
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.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/models/provider_offering_details_request.py +0 -398
- {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
|
|
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
|
+
if TYPE_CHECKING:
|
|
11
|
+
from ..models.offering_user import OfferingUser
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="UserChecklistCompletion")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class UserChecklistCompletion:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
uuid (UUID):
|
|
22
|
+
offering_user (OfferingUser):
|
|
23
|
+
offering_user_uuid (Union[None, str]):
|
|
24
|
+
offering_name (Union[None, str]):
|
|
25
|
+
offering_uuid (Union[None, str]):
|
|
26
|
+
customer_provider_uuid (Union[None, str]):
|
|
27
|
+
customer_provider_name (Union[None, str]):
|
|
28
|
+
checklist_uuid (str):
|
|
29
|
+
checklist_name (str):
|
|
30
|
+
checklist_description (str):
|
|
31
|
+
is_completed (bool): Whether all required questions have been answered
|
|
32
|
+
completion_percentage (float):
|
|
33
|
+
unanswered_required_questions (int):
|
|
34
|
+
requires_review (bool): Whether any answers triggered review requirements
|
|
35
|
+
reviewed_by (Union[None, int]): User who reviewed the checklist completion
|
|
36
|
+
reviewed_at (Union[None, datetime.datetime]):
|
|
37
|
+
review_notes (str): Notes from the reviewer
|
|
38
|
+
created (datetime.datetime):
|
|
39
|
+
modified (datetime.datetime):
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
uuid: UUID
|
|
43
|
+
offering_user: "OfferingUser"
|
|
44
|
+
offering_user_uuid: Union[None, str]
|
|
45
|
+
offering_name: Union[None, str]
|
|
46
|
+
offering_uuid: Union[None, str]
|
|
47
|
+
customer_provider_uuid: Union[None, str]
|
|
48
|
+
customer_provider_name: Union[None, str]
|
|
49
|
+
checklist_uuid: str
|
|
50
|
+
checklist_name: str
|
|
51
|
+
checklist_description: str
|
|
52
|
+
is_completed: bool
|
|
53
|
+
completion_percentage: float
|
|
54
|
+
unanswered_required_questions: int
|
|
55
|
+
requires_review: bool
|
|
56
|
+
reviewed_by: Union[None, int]
|
|
57
|
+
reviewed_at: Union[None, datetime.datetime]
|
|
58
|
+
review_notes: str
|
|
59
|
+
created: datetime.datetime
|
|
60
|
+
modified: datetime.datetime
|
|
61
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
62
|
+
|
|
63
|
+
def to_dict(self) -> dict[str, Any]:
|
|
64
|
+
uuid = str(self.uuid)
|
|
65
|
+
|
|
66
|
+
offering_user = self.offering_user.to_dict()
|
|
67
|
+
|
|
68
|
+
offering_user_uuid: Union[None, str]
|
|
69
|
+
offering_user_uuid = self.offering_user_uuid
|
|
70
|
+
|
|
71
|
+
offering_name: Union[None, str]
|
|
72
|
+
offering_name = self.offering_name
|
|
73
|
+
|
|
74
|
+
offering_uuid: Union[None, str]
|
|
75
|
+
offering_uuid = self.offering_uuid
|
|
76
|
+
|
|
77
|
+
customer_provider_uuid: Union[None, str]
|
|
78
|
+
customer_provider_uuid = self.customer_provider_uuid
|
|
79
|
+
|
|
80
|
+
customer_provider_name: Union[None, str]
|
|
81
|
+
customer_provider_name = self.customer_provider_name
|
|
82
|
+
|
|
83
|
+
checklist_uuid = self.checklist_uuid
|
|
84
|
+
|
|
85
|
+
checklist_name = self.checklist_name
|
|
86
|
+
|
|
87
|
+
checklist_description = self.checklist_description
|
|
88
|
+
|
|
89
|
+
is_completed = self.is_completed
|
|
90
|
+
|
|
91
|
+
completion_percentage = self.completion_percentage
|
|
92
|
+
|
|
93
|
+
unanswered_required_questions = self.unanswered_required_questions
|
|
94
|
+
|
|
95
|
+
requires_review = self.requires_review
|
|
96
|
+
|
|
97
|
+
reviewed_by: Union[None, int]
|
|
98
|
+
reviewed_by = self.reviewed_by
|
|
99
|
+
|
|
100
|
+
reviewed_at: Union[None, str]
|
|
101
|
+
if isinstance(self.reviewed_at, datetime.datetime):
|
|
102
|
+
reviewed_at = self.reviewed_at.isoformat()
|
|
103
|
+
else:
|
|
104
|
+
reviewed_at = self.reviewed_at
|
|
105
|
+
|
|
106
|
+
review_notes = self.review_notes
|
|
107
|
+
|
|
108
|
+
created = self.created.isoformat()
|
|
109
|
+
|
|
110
|
+
modified = self.modified.isoformat()
|
|
111
|
+
|
|
112
|
+
field_dict: dict[str, Any] = {}
|
|
113
|
+
field_dict.update(self.additional_properties)
|
|
114
|
+
field_dict.update(
|
|
115
|
+
{
|
|
116
|
+
"uuid": uuid,
|
|
117
|
+
"offering_user": offering_user,
|
|
118
|
+
"offering_user_uuid": offering_user_uuid,
|
|
119
|
+
"offering_name": offering_name,
|
|
120
|
+
"offering_uuid": offering_uuid,
|
|
121
|
+
"customer_provider_uuid": customer_provider_uuid,
|
|
122
|
+
"customer_provider_name": customer_provider_name,
|
|
123
|
+
"checklist_uuid": checklist_uuid,
|
|
124
|
+
"checklist_name": checklist_name,
|
|
125
|
+
"checklist_description": checklist_description,
|
|
126
|
+
"is_completed": is_completed,
|
|
127
|
+
"completion_percentage": completion_percentage,
|
|
128
|
+
"unanswered_required_questions": unanswered_required_questions,
|
|
129
|
+
"requires_review": requires_review,
|
|
130
|
+
"reviewed_by": reviewed_by,
|
|
131
|
+
"reviewed_at": reviewed_at,
|
|
132
|
+
"review_notes": review_notes,
|
|
133
|
+
"created": created,
|
|
134
|
+
"modified": modified,
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
return field_dict
|
|
139
|
+
|
|
140
|
+
@classmethod
|
|
141
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
142
|
+
from ..models.offering_user import OfferingUser
|
|
143
|
+
|
|
144
|
+
d = dict(src_dict)
|
|
145
|
+
uuid = UUID(d.pop("uuid"))
|
|
146
|
+
|
|
147
|
+
offering_user = OfferingUser.from_dict(d.pop("offering_user"))
|
|
148
|
+
|
|
149
|
+
def _parse_offering_user_uuid(data: object) -> Union[None, str]:
|
|
150
|
+
if data is None:
|
|
151
|
+
return data
|
|
152
|
+
return cast(Union[None, str], data)
|
|
153
|
+
|
|
154
|
+
offering_user_uuid = _parse_offering_user_uuid(d.pop("offering_user_uuid"))
|
|
155
|
+
|
|
156
|
+
def _parse_offering_name(data: object) -> Union[None, str]:
|
|
157
|
+
if data is None:
|
|
158
|
+
return data
|
|
159
|
+
return cast(Union[None, str], data)
|
|
160
|
+
|
|
161
|
+
offering_name = _parse_offering_name(d.pop("offering_name"))
|
|
162
|
+
|
|
163
|
+
def _parse_offering_uuid(data: object) -> Union[None, str]:
|
|
164
|
+
if data is None:
|
|
165
|
+
return data
|
|
166
|
+
return cast(Union[None, str], data)
|
|
167
|
+
|
|
168
|
+
offering_uuid = _parse_offering_uuid(d.pop("offering_uuid"))
|
|
169
|
+
|
|
170
|
+
def _parse_customer_provider_uuid(data: object) -> Union[None, str]:
|
|
171
|
+
if data is None:
|
|
172
|
+
return data
|
|
173
|
+
return cast(Union[None, str], data)
|
|
174
|
+
|
|
175
|
+
customer_provider_uuid = _parse_customer_provider_uuid(d.pop("customer_provider_uuid"))
|
|
176
|
+
|
|
177
|
+
def _parse_customer_provider_name(data: object) -> Union[None, str]:
|
|
178
|
+
if data is None:
|
|
179
|
+
return data
|
|
180
|
+
return cast(Union[None, str], data)
|
|
181
|
+
|
|
182
|
+
customer_provider_name = _parse_customer_provider_name(d.pop("customer_provider_name"))
|
|
183
|
+
|
|
184
|
+
checklist_uuid = d.pop("checklist_uuid")
|
|
185
|
+
|
|
186
|
+
checklist_name = d.pop("checklist_name")
|
|
187
|
+
|
|
188
|
+
checklist_description = d.pop("checklist_description")
|
|
189
|
+
|
|
190
|
+
is_completed = d.pop("is_completed")
|
|
191
|
+
|
|
192
|
+
completion_percentage = d.pop("completion_percentage")
|
|
193
|
+
|
|
194
|
+
unanswered_required_questions = d.pop("unanswered_required_questions")
|
|
195
|
+
|
|
196
|
+
requires_review = d.pop("requires_review")
|
|
197
|
+
|
|
198
|
+
def _parse_reviewed_by(data: object) -> Union[None, int]:
|
|
199
|
+
if data is None:
|
|
200
|
+
return data
|
|
201
|
+
return cast(Union[None, int], data)
|
|
202
|
+
|
|
203
|
+
reviewed_by = _parse_reviewed_by(d.pop("reviewed_by"))
|
|
204
|
+
|
|
205
|
+
def _parse_reviewed_at(data: object) -> Union[None, datetime.datetime]:
|
|
206
|
+
if data is None:
|
|
207
|
+
return data
|
|
208
|
+
try:
|
|
209
|
+
if not isinstance(data, str):
|
|
210
|
+
raise TypeError()
|
|
211
|
+
reviewed_at_type_0 = isoparse(data)
|
|
212
|
+
|
|
213
|
+
return reviewed_at_type_0
|
|
214
|
+
except: # noqa: E722
|
|
215
|
+
pass
|
|
216
|
+
return cast(Union[None, datetime.datetime], data)
|
|
217
|
+
|
|
218
|
+
reviewed_at = _parse_reviewed_at(d.pop("reviewed_at"))
|
|
219
|
+
|
|
220
|
+
review_notes = d.pop("review_notes")
|
|
221
|
+
|
|
222
|
+
created = isoparse(d.pop("created"))
|
|
223
|
+
|
|
224
|
+
modified = isoparse(d.pop("modified"))
|
|
225
|
+
|
|
226
|
+
user_checklist_completion = cls(
|
|
227
|
+
uuid=uuid,
|
|
228
|
+
offering_user=offering_user,
|
|
229
|
+
offering_user_uuid=offering_user_uuid,
|
|
230
|
+
offering_name=offering_name,
|
|
231
|
+
offering_uuid=offering_uuid,
|
|
232
|
+
customer_provider_uuid=customer_provider_uuid,
|
|
233
|
+
customer_provider_name=customer_provider_name,
|
|
234
|
+
checklist_uuid=checklist_uuid,
|
|
235
|
+
checklist_name=checklist_name,
|
|
236
|
+
checklist_description=checklist_description,
|
|
237
|
+
is_completed=is_completed,
|
|
238
|
+
completion_percentage=completion_percentage,
|
|
239
|
+
unanswered_required_questions=unanswered_required_questions,
|
|
240
|
+
requires_review=requires_review,
|
|
241
|
+
reviewed_by=reviewed_by,
|
|
242
|
+
reviewed_at=reviewed_at,
|
|
243
|
+
review_notes=review_notes,
|
|
244
|
+
created=created,
|
|
245
|
+
modified=modified,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
user_checklist_completion.additional_properties = d
|
|
249
|
+
return user_checklist_completion
|
|
250
|
+
|
|
251
|
+
@property
|
|
252
|
+
def additional_keys(self) -> list[str]:
|
|
253
|
+
return list(self.additional_properties.keys())
|
|
254
|
+
|
|
255
|
+
def __getitem__(self, key: str) -> Any:
|
|
256
|
+
return self.additional_properties[key]
|
|
257
|
+
|
|
258
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
259
|
+
self.additional_properties[key] = value
|
|
260
|
+
|
|
261
|
+
def __delitem__(self, key: str) -> None:
|
|
262
|
+
del self.additional_properties[key]
|
|
263
|
+
|
|
264
|
+
def __contains__(self, key: str) -> bool:
|
|
265
|
+
return key in self.additional_properties
|
|
@@ -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,
|
|
@@ -26,6 +26,7 @@ class VisibleInvitationDetails:
|
|
|
26
26
|
role_description (str):
|
|
27
27
|
created_by_full_name (str):
|
|
28
28
|
created_by_username (str):
|
|
29
|
+
created_by_image (str):
|
|
29
30
|
email (str): Invitation link will be sent to this email. Note that user can accept invitation with different
|
|
30
31
|
email.
|
|
31
32
|
error_message (str):
|
|
@@ -43,6 +44,7 @@ class VisibleInvitationDetails:
|
|
|
43
44
|
role_description: str
|
|
44
45
|
created_by_full_name: str
|
|
45
46
|
created_by_username: str
|
|
47
|
+
created_by_image: str
|
|
46
48
|
email: str
|
|
47
49
|
error_message: str
|
|
48
50
|
execution_state: ExecutionStateEnum
|
|
@@ -71,6 +73,8 @@ class VisibleInvitationDetails:
|
|
|
71
73
|
|
|
72
74
|
created_by_username = self.created_by_username
|
|
73
75
|
|
|
76
|
+
created_by_image = self.created_by_image
|
|
77
|
+
|
|
74
78
|
email = self.email
|
|
75
79
|
|
|
76
80
|
error_message = self.error_message
|
|
@@ -93,6 +97,7 @@ class VisibleInvitationDetails:
|
|
|
93
97
|
"role_description": role_description,
|
|
94
98
|
"created_by_full_name": created_by_full_name,
|
|
95
99
|
"created_by_username": created_by_username,
|
|
100
|
+
"created_by_image": created_by_image,
|
|
96
101
|
"email": email,
|
|
97
102
|
"error_message": error_message,
|
|
98
103
|
"execution_state": execution_state,
|
|
@@ -130,6 +135,8 @@ class VisibleInvitationDetails:
|
|
|
130
135
|
|
|
131
136
|
created_by_username = d.pop("created_by_username")
|
|
132
137
|
|
|
138
|
+
created_by_image = d.pop("created_by_image")
|
|
139
|
+
|
|
133
140
|
email = d.pop("email")
|
|
134
141
|
|
|
135
142
|
error_message = d.pop("error_message")
|
|
@@ -149,6 +156,7 @@ class VisibleInvitationDetails:
|
|
|
149
156
|
role_description=role_description,
|
|
150
157
|
created_by_full_name=created_by_full_name,
|
|
151
158
|
created_by_username=created_by_username,
|
|
159
|
+
created_by_image=created_by_image,
|
|
152
160
|
email=email,
|
|
153
161
|
error_message=error_message,
|
|
154
162
|
execution_state=execution_state,
|
|
@@ -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.1
|
|
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)
|