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.

Files changed (108) hide show
  1. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
  2. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
  3. waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
  4. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
  5. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
  6. waldur_api_client/api/{rancher_clusters/rancher_clusters_create.py → marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py} +29 -38
  7. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +15 -0
  8. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +15 -0
  9. waldur_api_client/api/{rancher_clusters/rancher_clusters_destroy.py → marketplace_orders/marketplace_orders_delete_attachment.py} +6 -4
  10. waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +168 -0
  11. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
  12. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
  13. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
  14. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
  15. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
  16. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
  17. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
  18. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
  19. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
  20. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
  21. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
  22. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
  23. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
  24. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
  25. waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
  26. waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
  27. waldur_api_client/models/__init__.py +34 -6
  28. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  29. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  30. waldur_api_client/models/booking_resource.py +18 -0
  31. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  32. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  33. waldur_api_client/models/country_enum.py +211 -0
  34. waldur_api_client/models/course_account.py +24 -0
  35. waldur_api_client/models/customer_request.py +9 -0
  36. waldur_api_client/models/deployment_mode_enum.py +9 -0
  37. waldur_api_client/models/group_invitation.py +8 -0
  38. waldur_api_client/models/identity_provider.py +57 -0
  39. waldur_api_client/models/identity_provider_request.py +57 -0
  40. waldur_api_client/models/invitation.py +8 -0
  41. waldur_api_client/models/issue.py +8 -17
  42. waldur_api_client/models/issue_request.py +8 -17
  43. waldur_api_client/models/issue_type_enum.py +4 -4
  44. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
  45. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
  46. waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
  47. waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
  48. waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
  49. waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
  50. waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
  51. waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
  52. waldur_api_client/models/marketplace_orders_list_field_item.py +5 -0
  53. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +5 -0
  54. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +72 -0
  55. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  56. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  57. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  58. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  59. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  60. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  61. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  62. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  63. waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
  64. waldur_api_client/models/merged_plugin_options.py +36 -0
  65. waldur_api_client/models/merged_plugin_options_request.py +36 -0
  66. waldur_api_client/models/notification.py +11 -0
  67. waldur_api_client/models/notification_context_fields.py +47 -0
  68. waldur_api_client/models/offering.py +9 -0
  69. waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
  70. waldur_api_client/models/offering_create.py +9 -8
  71. waldur_api_client/models/offering_create_request.py +9 -0
  72. waldur_api_client/models/offering_overview_update_request.py +9 -0
  73. waldur_api_client/models/offering_terms_of_service.py +42 -1
  74. waldur_api_client/models/offering_user.py +18 -0
  75. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +0 -18
  76. waldur_api_client/models/open_stack_tenant_request.py +18 -0
  77. waldur_api_client/models/order_attachment.py +71 -0
  78. waldur_api_client/models/order_attachment_request.py +84 -0
  79. waldur_api_client/models/order_create.py +58 -16
  80. waldur_api_client/models/order_create_request.py +44 -62
  81. waldur_api_client/models/order_details.py +99 -16
  82. waldur_api_client/models/patched_customer_request.py +9 -0
  83. waldur_api_client/models/patched_identity_provider_request.py +58 -0
  84. waldur_api_client/models/patched_project_request.py +9 -0
  85. waldur_api_client/models/patched_protected_call_request.py +9 -0
  86. waldur_api_client/models/patched_protected_round_request.py +2 -2
  87. waldur_api_client/models/patched_service_provider_request.py +9 -0
  88. waldur_api_client/models/patched_user_request.py +9 -0
  89. waldur_api_client/models/project_request.py +9 -0
  90. waldur_api_client/models/protected_call_request.py +9 -0
  91. waldur_api_client/models/protected_round.py +2 -2
  92. waldur_api_client/models/protected_round_request.py +2 -2
  93. waldur_api_client/models/public_offering_details.py +9 -0
  94. waldur_api_client/models/rancher_cluster_request.py +1 -48
  95. waldur_api_client/models/resource.py +18 -0
  96. waldur_api_client/models/resource_update_limits_request.py +23 -1
  97. waldur_api_client/models/service_provider_request.py +9 -0
  98. waldur_api_client/models/user_checklist_completion.py +265 -0
  99. waldur_api_client/models/user_consent_info.py +86 -0
  100. waldur_api_client/models/user_request.py +9 -0
  101. waldur_api_client/models/visible_invitation_details.py +8 -0
  102. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/METADATA +4 -2
  103. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/RECORD +105 -89
  104. {waldur_api_client-7.7.9.dist-info → waldur_api_client-7.8.1.dist-info}/WHEEL +1 -1
  105. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +0 -144
  106. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +0 -145
  107. waldur_api_client/models/provider_offering_details_request.py +0 -398
  108. {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.3
1
+ Metadata-Version: 2.4
2
2
  Name: waldur-api-client
3
- Version: 7.7.9
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)