waldur-api-client 7.7.8__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.

Files changed (77) hide show
  1. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +15 -0
  2. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +15 -0
  3. waldur_api_client/api/{rancher_clusters/rancher_clusters_destroy.py → marketplace_orders/marketplace_orders_delete_attachment.py} +6 -4
  4. waldur_api_client/api/{rancher_clusters/rancher_clusters_create.py → marketplace_orders/marketplace_orders_update_attachment.py} +47 -29
  5. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +45 -0
  6. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +45 -0
  7. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +45 -0
  8. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +45 -0
  9. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +45 -0
  10. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +45 -0
  11. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +45 -0
  12. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +45 -0
  13. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +45 -0
  14. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +45 -0
  15. waldur_api_client/models/__init__.py +10 -4
  16. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  17. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  18. waldur_api_client/models/constance_settings.py +9 -0
  19. waldur_api_client/models/constance_settings_request.py +9 -0
  20. waldur_api_client/models/country_enum.py +211 -0
  21. waldur_api_client/models/course_account.py +14 -15
  22. waldur_api_client/models/course_account_request.py +0 -9
  23. waldur_api_client/models/customer_request.py +9 -0
  24. waldur_api_client/models/deployment_mode_enum.py +9 -0
  25. waldur_api_client/models/identity_provider.py +57 -0
  26. waldur_api_client/models/identity_provider_request.py +57 -0
  27. waldur_api_client/models/issue.py +8 -17
  28. waldur_api_client/models/issue_request.py +8 -17
  29. waldur_api_client/models/issue_type_enum.py +4 -4
  30. waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
  31. waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
  32. waldur_api_client/models/marketplace_orders_list_field_item.py +2 -0
  33. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +2 -0
  34. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  35. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  36. waldur_api_client/models/merged_plugin_options.py +27 -0
  37. waldur_api_client/models/merged_plugin_options_request.py +27 -0
  38. waldur_api_client/models/offering.py +9 -0
  39. waldur_api_client/models/offering_create.py +9 -8
  40. waldur_api_client/models/offering_create_request.py +9 -0
  41. waldur_api_client/models/offering_overview_update_request.py +9 -0
  42. waldur_api_client/models/offering_terms_of_service.py +42 -1
  43. waldur_api_client/models/offering_user.py +18 -0
  44. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +0 -18
  45. waldur_api_client/models/open_stack_tenant_request.py +18 -0
  46. waldur_api_client/models/order_attachment.py +71 -0
  47. waldur_api_client/models/order_attachment_request.py +84 -0
  48. waldur_api_client/models/order_create.py +58 -16
  49. waldur_api_client/models/order_create_request.py +44 -62
  50. waldur_api_client/models/order_details.py +65 -16
  51. waldur_api_client/models/patched_customer_request.py +9 -0
  52. waldur_api_client/models/patched_identity_provider_request.py +58 -0
  53. waldur_api_client/models/patched_project_request.py +9 -0
  54. waldur_api_client/models/patched_protected_call_request.py +9 -0
  55. waldur_api_client/models/patched_protected_round_request.py +2 -2
  56. waldur_api_client/models/patched_service_provider_request.py +9 -0
  57. waldur_api_client/models/patched_user_request.py +9 -0
  58. waldur_api_client/models/project_request.py +9 -0
  59. waldur_api_client/models/protected_call_request.py +9 -0
  60. waldur_api_client/models/protected_round.py +2 -2
  61. waldur_api_client/models/protected_round_request.py +2 -2
  62. waldur_api_client/models/provider_offering_details_request.py +9 -0
  63. waldur_api_client/models/public_offering_details.py +9 -0
  64. waldur_api_client/models/rancher_cluster_request.py +1 -48
  65. waldur_api_client/models/resource_update_limits_request.py +56 -1
  66. waldur_api_client/models/robot_account.py +12 -4
  67. waldur_api_client/models/robot_account_details.py +12 -4
  68. waldur_api_client/models/robot_account_states.py +13 -0
  69. waldur_api_client/models/service_provider_request.py +9 -0
  70. waldur_api_client/models/user_consent_info.py +86 -0
  71. waldur_api_client/models/user_request.py +9 -0
  72. {waldur_api_client-7.7.8.dist-info → waldur_api_client-7.8.0.dist-info}/METADATA +4 -2
  73. {waldur_api_client-7.7.8.dist-info → waldur_api_client-7.8.0.dist-info}/RECORD +75 -72
  74. {waldur_api_client-7.7.8.dist-info → waldur_api_client-7.8.0.dist-info}/WHEEL +1 -1
  75. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +0 -144
  76. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +0 -145
  77. {waldur_api_client-7.7.8.dist-info → waldur_api_client-7.8.0.dist-info/licenses}/LICENSE +0 -0
@@ -50,7 +50,6 @@ class OrderDetails:
50
50
  uuid (Union[Unset, UUID]):
51
51
  created (Union[Unset, datetime.datetime]):
52
52
  modified (Union[Unset, datetime.datetime]):
53
- type_ (Union[Unset, RequestTypes]): Default: RequestTypes.CREATE.
54
53
  resource_uuid (Union[None, UUID, Unset]):
55
54
  resource_type (Union[None, Unset, str]):
56
55
  resource_name (Union[Unset, str]):
@@ -59,8 +58,12 @@ class OrderDetails:
59
58
  output (Union[Unset, str]):
60
59
  marketplace_resource_uuid (Union[Unset, UUID]):
61
60
  error_message (Union[Unset, str]):
61
+ error_traceback (Union[Unset, str]):
62
62
  callback_url (Union[None, Unset, str]):
63
63
  completed_at (Union[None, Unset, datetime.datetime]):
64
+ request_comment (Union[None, Unset, str]):
65
+ attachment (Union[None, Unset, str]):
66
+ type_ (Union[Unset, RequestTypes]): Default: RequestTypes.CREATE.
64
67
  consumer_reviewed_by (Union[None, Unset, str]): Required. 128 characters or fewer. Lowercase letters, numbers
65
68
  and @/./+/-/_ characters
66
69
  consumer_reviewed_by_full_name (Union[None, Unset, str]):
@@ -123,7 +126,6 @@ class OrderDetails:
123
126
  uuid: Union[Unset, UUID] = UNSET
124
127
  created: Union[Unset, datetime.datetime] = UNSET
125
128
  modified: Union[Unset, datetime.datetime] = UNSET
126
- type_: Union[Unset, RequestTypes] = RequestTypes.CREATE
127
129
  resource_uuid: Union[None, UUID, Unset] = UNSET
128
130
  resource_type: Union[None, Unset, str] = UNSET
129
131
  resource_name: Union[Unset, str] = UNSET
@@ -132,8 +134,12 @@ class OrderDetails:
132
134
  output: Union[Unset, str] = UNSET
133
135
  marketplace_resource_uuid: Union[Unset, UUID] = UNSET
134
136
  error_message: Union[Unset, str] = UNSET
137
+ error_traceback: Union[Unset, str] = UNSET
135
138
  callback_url: Union[None, Unset, str] = UNSET
136
139
  completed_at: Union[None, Unset, datetime.datetime] = UNSET
140
+ request_comment: Union[None, Unset, str] = UNSET
141
+ attachment: Union[None, Unset, str] = UNSET
142
+ type_: Union[Unset, RequestTypes] = RequestTypes.CREATE
137
143
  consumer_reviewed_by: Union[None, Unset, str] = UNSET
138
144
  consumer_reviewed_by_full_name: Union[None, Unset, str] = UNSET
139
145
  consumer_reviewed_by_username: Union[None, Unset, str] = UNSET
@@ -253,10 +259,6 @@ class OrderDetails:
253
259
  if not isinstance(self.modified, Unset):
254
260
  modified = self.modified.isoformat()
255
261
 
256
- type_: Union[Unset, str] = UNSET
257
- if not isinstance(self.type_, Unset):
258
- type_ = self.type_.value
259
-
260
262
  resource_uuid: Union[None, Unset, str]
261
263
  if isinstance(self.resource_uuid, Unset):
262
264
  resource_uuid = UNSET
@@ -291,6 +293,8 @@ class OrderDetails:
291
293
 
292
294
  error_message = self.error_message
293
295
 
296
+ error_traceback = self.error_traceback
297
+
294
298
  callback_url: Union[None, Unset, str]
295
299
  if isinstance(self.callback_url, Unset):
296
300
  callback_url = UNSET
@@ -305,6 +309,22 @@ class OrderDetails:
305
309
  else:
306
310
  completed_at = self.completed_at
307
311
 
312
+ request_comment: Union[None, Unset, str]
313
+ if isinstance(self.request_comment, Unset):
314
+ request_comment = UNSET
315
+ else:
316
+ request_comment = self.request_comment
317
+
318
+ attachment: Union[None, Unset, str]
319
+ if isinstance(self.attachment, Unset):
320
+ attachment = UNSET
321
+ else:
322
+ attachment = self.attachment
323
+
324
+ type_: Union[Unset, str] = UNSET
325
+ if not isinstance(self.type_, Unset):
326
+ type_ = self.type_.value
327
+
308
328
  consumer_reviewed_by: Union[None, Unset, str]
309
329
  if isinstance(self.consumer_reviewed_by, Unset):
310
330
  consumer_reviewed_by = UNSET
@@ -500,8 +520,6 @@ class OrderDetails:
500
520
  field_dict["created"] = created
501
521
  if modified is not UNSET:
502
522
  field_dict["modified"] = modified
503
- if type_ is not UNSET:
504
- field_dict["type"] = type_
505
523
  if resource_uuid is not UNSET:
506
524
  field_dict["resource_uuid"] = resource_uuid
507
525
  if resource_type is not UNSET:
@@ -518,10 +536,18 @@ class OrderDetails:
518
536
  field_dict["marketplace_resource_uuid"] = marketplace_resource_uuid
519
537
  if error_message is not UNSET:
520
538
  field_dict["error_message"] = error_message
539
+ if error_traceback is not UNSET:
540
+ field_dict["error_traceback"] = error_traceback
521
541
  if callback_url is not UNSET:
522
542
  field_dict["callback_url"] = callback_url
523
543
  if completed_at is not UNSET:
524
544
  field_dict["completed_at"] = completed_at
545
+ if request_comment is not UNSET:
546
+ field_dict["request_comment"] = request_comment
547
+ if attachment is not UNSET:
548
+ field_dict["attachment"] = attachment
549
+ if type_ is not UNSET:
550
+ field_dict["type"] = type_
525
551
  if consumer_reviewed_by is not UNSET:
526
552
  field_dict["consumer_reviewed_by"] = consumer_reviewed_by
527
553
  if consumer_reviewed_by_full_name is not UNSET:
@@ -720,13 +746,6 @@ class OrderDetails:
720
746
  else:
721
747
  modified = isoparse(_modified)
722
748
 
723
- _type_ = d.pop("type", UNSET)
724
- type_: Union[Unset, RequestTypes]
725
- if isinstance(_type_, Unset):
726
- type_ = UNSET
727
- else:
728
- type_ = RequestTypes(_type_)
729
-
730
749
  def _parse_resource_uuid(data: object) -> Union[None, UUID, Unset]:
731
750
  if data is None:
732
751
  return data
@@ -782,6 +801,8 @@ class OrderDetails:
782
801
 
783
802
  error_message = d.pop("error_message", UNSET)
784
803
 
804
+ error_traceback = d.pop("error_traceback", UNSET)
805
+
785
806
  def _parse_callback_url(data: object) -> Union[None, Unset, str]:
786
807
  if data is None:
787
808
  return data
@@ -808,6 +829,31 @@ class OrderDetails:
808
829
 
809
830
  completed_at = _parse_completed_at(d.pop("completed_at", UNSET))
810
831
 
832
+ def _parse_request_comment(data: object) -> Union[None, Unset, str]:
833
+ if data is None:
834
+ return data
835
+ if isinstance(data, Unset):
836
+ return data
837
+ return cast(Union[None, Unset, str], data)
838
+
839
+ request_comment = _parse_request_comment(d.pop("request_comment", UNSET))
840
+
841
+ def _parse_attachment(data: object) -> Union[None, Unset, str]:
842
+ if data is None:
843
+ return data
844
+ if isinstance(data, Unset):
845
+ return data
846
+ return cast(Union[None, Unset, str], data)
847
+
848
+ attachment = _parse_attachment(d.pop("attachment", UNSET))
849
+
850
+ _type_ = d.pop("type", UNSET)
851
+ type_: Union[Unset, RequestTypes]
852
+ if isinstance(_type_, Unset):
853
+ type_ = UNSET
854
+ else:
855
+ type_ = RequestTypes(_type_)
856
+
811
857
  def _parse_consumer_reviewed_by(data: object) -> Union[None, Unset, str]:
812
858
  if data is None:
813
859
  return data
@@ -1071,7 +1117,6 @@ class OrderDetails:
1071
1117
  uuid=uuid,
1072
1118
  created=created,
1073
1119
  modified=modified,
1074
- type_=type_,
1075
1120
  resource_uuid=resource_uuid,
1076
1121
  resource_type=resource_type,
1077
1122
  resource_name=resource_name,
@@ -1080,8 +1125,12 @@ class OrderDetails:
1080
1125
  output=output,
1081
1126
  marketplace_resource_uuid=marketplace_resource_uuid,
1082
1127
  error_message=error_message,
1128
+ error_traceback=error_traceback,
1083
1129
  callback_url=callback_url,
1084
1130
  completed_at=completed_at,
1131
+ request_comment=request_comment,
1132
+ attachment=attachment,
1133
+ type_=type_,
1085
1134
  consumer_reviewed_by=consumer_reviewed_by,
1086
1135
  consumer_reviewed_by_full_name=consumer_reviewed_by_full_name,
1087
1136
  consumer_reviewed_by_username=consumer_reviewed_by_username,
@@ -20,6 +20,7 @@ class PatchedCustomerRequest:
20
20
  backend_id (Union[Unset, str]): Organization identifier in another application.
21
21
  image (Union[File, None, Unset]):
22
22
  name (Union[Unset, str]):
23
+ slug (Union[Unset, str]):
23
24
  native_name (Union[Unset, str]):
24
25
  abbreviation (Union[Unset, str]):
25
26
  description (Union[Unset, str]):
@@ -41,6 +42,7 @@ class PatchedCustomerRequest:
41
42
  backend_id: Union[Unset, str] = UNSET
42
43
  image: Union[File, None, Unset] = UNSET
43
44
  name: Union[Unset, str] = UNSET
45
+ slug: Union[Unset, str] = UNSET
44
46
  native_name: Union[Unset, str] = UNSET
45
47
  abbreviation: Union[Unset, str] = UNSET
46
48
  description: Union[Unset, str] = UNSET
@@ -73,6 +75,8 @@ class PatchedCustomerRequest:
73
75
 
74
76
  name = self.name
75
77
 
78
+ slug = self.slug
79
+
76
80
  native_name = self.native_name
77
81
 
78
82
  abbreviation = self.abbreviation
@@ -128,6 +132,8 @@ class PatchedCustomerRequest:
128
132
  field_dict["image"] = image
129
133
  if name is not UNSET:
130
134
  field_dict["name"] = name
135
+ if slug is not UNSET:
136
+ field_dict["slug"] = slug
131
137
  if native_name is not UNSET:
132
138
  field_dict["native_name"] = native_name
133
139
  if abbreviation is not UNSET:
@@ -187,6 +193,8 @@ class PatchedCustomerRequest:
187
193
 
188
194
  name = d.pop("name", UNSET)
189
195
 
196
+ slug = d.pop("slug", UNSET)
197
+
190
198
  native_name = d.pop("native_name", UNSET)
191
199
 
192
200
  abbreviation = d.pop("abbreviation", UNSET)
@@ -254,6 +262,7 @@ class PatchedCustomerRequest:
254
262
  backend_id=backend_id,
255
263
  image=image,
256
264
  name=name,
265
+ slug=slug,
257
266
  native_name=native_name,
258
267
  abbreviation=abbreviation,
259
268
  description=description,
@@ -16,6 +16,7 @@ class PatchedIdentityProviderRequest:
16
16
  provider (Union[Unset, str]):
17
17
  is_active (Union[Unset, bool]):
18
18
  client_id (Union[Unset, str]): ID of application used for OAuth authentication.
19
+ client_secret (Union[Unset, str]): Application secret key.
19
20
  verify_ssl (Union[Unset, bool]):
20
21
  enable_post_logout_redirect (Union[Unset, bool]):
21
22
  enable_pkce (Union[Unset, bool]):
@@ -24,11 +25,18 @@ class PatchedIdentityProviderRequest:
24
25
  management_url (Union[Unset, str]): The endpoint for user details management.
25
26
  protected_fields (Union[Unset, Any]):
26
27
  extra_scope (Union[None, Unset, str]): Space-separated list of scopes to request during authentication.
28
+ user_field (Union[Unset, str]): The field in Waldur User model to be used for looking up the user
29
+ user_claim (Union[Unset, str]): The OIDC claim from the userinfo endpoint to be used as the value for the lookup
30
+ field.
31
+ attribute_mapping (Union[Unset, Any]): A JSON object mapping Waldur User model fields to OIDC claims. Example:
32
+ {"first_name": "given_name", "last_name": "family_name", "email": "email"}
33
+ extra_fields (Union[None, Unset, str]): Space-separated list of extra fields to persist.
27
34
  """
28
35
 
29
36
  provider: Union[Unset, str] = UNSET
30
37
  is_active: Union[Unset, bool] = UNSET
31
38
  client_id: Union[Unset, str] = UNSET
39
+ client_secret: Union[Unset, str] = UNSET
32
40
  verify_ssl: Union[Unset, bool] = UNSET
33
41
  enable_post_logout_redirect: Union[Unset, bool] = UNSET
34
42
  enable_pkce: Union[Unset, bool] = UNSET
@@ -37,6 +45,10 @@ class PatchedIdentityProviderRequest:
37
45
  management_url: Union[Unset, str] = UNSET
38
46
  protected_fields: Union[Unset, Any] = UNSET
39
47
  extra_scope: Union[None, Unset, str] = UNSET
48
+ user_field: Union[Unset, str] = UNSET
49
+ user_claim: Union[Unset, str] = UNSET
50
+ attribute_mapping: Union[Unset, Any] = UNSET
51
+ extra_fields: Union[None, Unset, str] = UNSET
40
52
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
53
 
42
54
  def to_dict(self) -> dict[str, Any]:
@@ -46,6 +58,8 @@ class PatchedIdentityProviderRequest:
46
58
 
47
59
  client_id = self.client_id
48
60
 
61
+ client_secret = self.client_secret
62
+
49
63
  verify_ssl = self.verify_ssl
50
64
 
51
65
  enable_post_logout_redirect = self.enable_post_logout_redirect
@@ -66,6 +80,18 @@ class PatchedIdentityProviderRequest:
66
80
  else:
67
81
  extra_scope = self.extra_scope
68
82
 
83
+ user_field = self.user_field
84
+
85
+ user_claim = self.user_claim
86
+
87
+ attribute_mapping = self.attribute_mapping
88
+
89
+ extra_fields: Union[None, Unset, str]
90
+ if isinstance(self.extra_fields, Unset):
91
+ extra_fields = UNSET
92
+ else:
93
+ extra_fields = self.extra_fields
94
+
69
95
  field_dict: dict[str, Any] = {}
70
96
  field_dict.update(self.additional_properties)
71
97
  field_dict.update({})
@@ -75,6 +101,8 @@ class PatchedIdentityProviderRequest:
75
101
  field_dict["is_active"] = is_active
76
102
  if client_id is not UNSET:
77
103
  field_dict["client_id"] = client_id
104
+ if client_secret is not UNSET:
105
+ field_dict["client_secret"] = client_secret
78
106
  if verify_ssl is not UNSET:
79
107
  field_dict["verify_ssl"] = verify_ssl
80
108
  if enable_post_logout_redirect is not UNSET:
@@ -91,6 +119,14 @@ class PatchedIdentityProviderRequest:
91
119
  field_dict["protected_fields"] = protected_fields
92
120
  if extra_scope is not UNSET:
93
121
  field_dict["extra_scope"] = extra_scope
122
+ if user_field is not UNSET:
123
+ field_dict["user_field"] = user_field
124
+ if user_claim is not UNSET:
125
+ field_dict["user_claim"] = user_claim
126
+ if attribute_mapping is not UNSET:
127
+ field_dict["attribute_mapping"] = attribute_mapping
128
+ if extra_fields is not UNSET:
129
+ field_dict["extra_fields"] = extra_fields
94
130
 
95
131
  return field_dict
96
132
 
@@ -103,6 +139,8 @@ class PatchedIdentityProviderRequest:
103
139
 
104
140
  client_id = d.pop("client_id", UNSET)
105
141
 
142
+ client_secret = d.pop("client_secret", UNSET)
143
+
106
144
  verify_ssl = d.pop("verify_ssl", UNSET)
107
145
 
108
146
  enable_post_logout_redirect = d.pop("enable_post_logout_redirect", UNSET)
@@ -126,10 +164,26 @@ class PatchedIdentityProviderRequest:
126
164
 
127
165
  extra_scope = _parse_extra_scope(d.pop("extra_scope", UNSET))
128
166
 
167
+ user_field = d.pop("user_field", UNSET)
168
+
169
+ user_claim = d.pop("user_claim", UNSET)
170
+
171
+ attribute_mapping = d.pop("attribute_mapping", UNSET)
172
+
173
+ def _parse_extra_fields(data: object) -> Union[None, Unset, str]:
174
+ if data is None:
175
+ return data
176
+ if isinstance(data, Unset):
177
+ return data
178
+ return cast(Union[None, Unset, str], data)
179
+
180
+ extra_fields = _parse_extra_fields(d.pop("extra_fields", UNSET))
181
+
129
182
  patched_identity_provider_request = cls(
130
183
  provider=provider,
131
184
  is_active=is_active,
132
185
  client_id=client_id,
186
+ client_secret=client_secret,
133
187
  verify_ssl=verify_ssl,
134
188
  enable_post_logout_redirect=enable_post_logout_redirect,
135
189
  enable_pkce=enable_pkce,
@@ -138,6 +192,10 @@ class PatchedIdentityProviderRequest:
138
192
  management_url=management_url,
139
193
  protected_fields=protected_fields,
140
194
  extra_scope=extra_scope,
195
+ user_field=user_field,
196
+ user_claim=user_claim,
197
+ attribute_mapping=attribute_mapping,
198
+ extra_fields=extra_fields,
141
199
  )
142
200
 
143
201
  patched_identity_provider_request.additional_properties = d
@@ -21,6 +21,7 @@ class PatchedProjectRequest:
21
21
  """
22
22
  Attributes:
23
23
  name (Union[Unset, str]):
24
+ slug (Union[Unset, str]):
24
25
  customer (Union[Unset, str]):
25
26
  description (Union[Unset, str]):
26
27
  type_ (Union[None, Unset, str]):
@@ -35,6 +36,7 @@ class PatchedProjectRequest:
35
36
  """
36
37
 
37
38
  name: Union[Unset, str] = UNSET
39
+ slug: Union[Unset, str] = UNSET
38
40
  customer: Union[Unset, str] = UNSET
39
41
  description: Union[Unset, str] = UNSET
40
42
  type_: Union[None, Unset, str] = UNSET
@@ -50,6 +52,8 @@ class PatchedProjectRequest:
50
52
  def to_dict(self) -> dict[str, Any]:
51
53
  name = self.name
52
54
 
55
+ slug = self.slug
56
+
53
57
  customer = self.customer
54
58
 
55
59
  description = self.description
@@ -108,6 +112,8 @@ class PatchedProjectRequest:
108
112
  field_dict.update({})
109
113
  if name is not UNSET:
110
114
  field_dict["name"] = name
115
+ if slug is not UNSET:
116
+ field_dict["slug"] = slug
111
117
  if customer is not UNSET:
112
118
  field_dict["customer"] = customer
113
119
  if description is not UNSET:
@@ -136,6 +142,8 @@ class PatchedProjectRequest:
136
142
  d = dict(src_dict)
137
143
  name = d.pop("name", UNSET)
138
144
 
145
+ slug = d.pop("slug", UNSET)
146
+
139
147
  customer = d.pop("customer", UNSET)
140
148
 
141
149
  description = d.pop("description", UNSET)
@@ -238,6 +246,7 @@ class PatchedProjectRequest:
238
246
 
239
247
  patched_project_request = cls(
240
248
  name=name,
249
+ slug=slug,
241
250
  customer=customer,
242
251
  description=description,
243
252
  type_=type_,
@@ -14,6 +14,7 @@ T = TypeVar("T", bound="PatchedProtectedCallRequest")
14
14
  class PatchedProtectedCallRequest:
15
15
  """
16
16
  Attributes:
17
+ slug (Union[Unset, str]):
17
18
  name (Union[Unset, str]):
18
19
  description (Union[Unset, str]):
19
20
  fixed_duration_in_days (Union[None, Unset, int]):
@@ -29,6 +30,7 @@ class PatchedProtectedCallRequest:
29
30
  submission
30
31
  """
31
32
 
33
+ slug: Union[Unset, str] = UNSET
32
34
  name: Union[Unset, str] = UNSET
33
35
  description: Union[Unset, str] = UNSET
34
36
  fixed_duration_in_days: Union[None, Unset, int] = UNSET
@@ -42,6 +44,8 @@ class PatchedProtectedCallRequest:
42
44
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
45
 
44
46
  def to_dict(self) -> dict[str, Any]:
47
+ slug = self.slug
48
+
45
49
  name = self.name
46
50
 
47
51
  description = self.description
@@ -83,6 +87,8 @@ class PatchedProtectedCallRequest:
83
87
  field_dict: dict[str, Any] = {}
84
88
  field_dict.update(self.additional_properties)
85
89
  field_dict.update({})
90
+ if slug is not UNSET:
91
+ field_dict["slug"] = slug
86
92
  if name is not UNSET:
87
93
  field_dict["name"] = name
88
94
  if description is not UNSET:
@@ -109,6 +115,8 @@ class PatchedProtectedCallRequest:
109
115
  @classmethod
110
116
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
111
117
  d = dict(src_dict)
118
+ slug = d.pop("slug", UNSET)
119
+
112
120
  name = d.pop("name", UNSET)
113
121
 
114
122
  description = d.pop("description", UNSET)
@@ -166,6 +174,7 @@ class PatchedProtectedCallRequest:
166
174
  compliance_checklist = _parse_compliance_checklist(d.pop("compliance_checklist", UNSET))
167
175
 
168
176
  patched_protected_call_request = cls(
177
+ slug=slug,
169
178
  name=name,
170
179
  description=description,
171
180
  fixed_duration_in_days=fixed_duration_in_days,
@@ -25,7 +25,7 @@ class PatchedProtectedRoundRequest:
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]): Default: 7.
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 PatchedProtectedRoundRequest:
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] = 7
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
 
@@ -16,16 +16,20 @@ class PatchedServiceProviderRequest:
16
16
  """
17
17
  Attributes:
18
18
  description (Union[Unset, str]):
19
+ enable_notifications (Union[Unset, bool]):
19
20
  image (Union[File, None, Unset]):
20
21
  """
21
22
 
22
23
  description: Union[Unset, str] = UNSET
24
+ enable_notifications: Union[Unset, bool] = UNSET
23
25
  image: Union[File, None, Unset] = UNSET
24
26
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
27
 
26
28
  def to_dict(self) -> dict[str, Any]:
27
29
  description = self.description
28
30
 
31
+ enable_notifications = self.enable_notifications
32
+
29
33
  image: Union[None, Unset, types.FileTypes]
30
34
  if isinstance(self.image, Unset):
31
35
  image = UNSET
@@ -40,6 +44,8 @@ class PatchedServiceProviderRequest:
40
44
  field_dict.update({})
41
45
  if description is not UNSET:
42
46
  field_dict["description"] = description
47
+ if enable_notifications is not UNSET:
48
+ field_dict["enable_notifications"] = enable_notifications
43
49
  if image is not UNSET:
44
50
  field_dict["image"] = image
45
51
 
@@ -50,6 +56,8 @@ class PatchedServiceProviderRequest:
50
56
  d = dict(src_dict)
51
57
  description = d.pop("description", UNSET)
52
58
 
59
+ enable_notifications = d.pop("enable_notifications", UNSET)
60
+
53
61
  def _parse_image(data: object) -> Union[File, None, Unset]:
54
62
  if data is None:
55
63
  return data
@@ -69,6 +77,7 @@ class PatchedServiceProviderRequest:
69
77
 
70
78
  patched_service_provider_request = cls(
71
79
  description=description,
80
+ enable_notifications=enable_notifications,
72
81
  image=image,
73
82
  )
74
83
 
@@ -17,6 +17,7 @@ class PatchedUserRequest:
17
17
  Attributes:
18
18
  username (Union[Unset, str]): Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_
19
19
  characters
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]):
@@ -37,6 +38,7 @@ class PatchedUserRequest:
37
38
  """
38
39
 
39
40
  username: Union[Unset, str] = UNSET
41
+ slug: Union[Unset, str] = UNSET
40
42
  native_name: Union[Unset, str] = UNSET
41
43
  job_title: Union[Unset, str] = UNSET
42
44
  phone_number: Union[Unset, str] = UNSET
@@ -57,6 +59,8 @@ class PatchedUserRequest:
57
59
  def to_dict(self) -> dict[str, Any]:
58
60
  username = self.username
59
61
 
62
+ slug = self.slug
63
+
60
64
  native_name = self.native_name
61
65
 
62
66
  job_title = self.job_title
@@ -103,6 +107,8 @@ class PatchedUserRequest:
103
107
  field_dict.update({})
104
108
  if username is not UNSET:
105
109
  field_dict["username"] = username
110
+ if slug is not UNSET:
111
+ field_dict["slug"] = slug
106
112
  if native_name is not UNSET:
107
113
  field_dict["native_name"] = native_name
108
114
  if job_title is not UNSET:
@@ -141,6 +147,8 @@ class PatchedUserRequest:
141
147
  d = dict(src_dict)
142
148
  username = d.pop("username", UNSET)
143
149
 
150
+ slug = d.pop("slug", UNSET)
151
+
144
152
  native_name = d.pop("native_name", UNSET)
145
153
 
146
154
  job_title = d.pop("job_title", UNSET)
@@ -195,6 +203,7 @@ class PatchedUserRequest:
195
203
 
196
204
  patched_user_request = cls(
197
205
  username=username,
206
+ slug=slug,
198
207
  native_name=native_name,
199
208
  job_title=job_title,
200
209
  phone_number=phone_number,
@@ -22,6 +22,7 @@ class ProjectRequest:
22
22
  Attributes:
23
23
  name (str):
24
24
  customer (str):
25
+ slug (Union[Unset, str]):
25
26
  description (Union[Unset, str]):
26
27
  type_ (Union[None, Unset, str]):
27
28
  backend_id (Union[Unset, str]):
@@ -36,6 +37,7 @@ class ProjectRequest:
36
37
 
37
38
  name: str
38
39
  customer: str
40
+ slug: Union[Unset, str] = UNSET
39
41
  description: Union[Unset, str] = UNSET
40
42
  type_: Union[None, Unset, str] = UNSET
41
43
  backend_id: Union[Unset, str] = UNSET
@@ -52,6 +54,8 @@ class ProjectRequest:
52
54
 
53
55
  customer = self.customer
54
56
 
57
+ slug = self.slug
58
+
55
59
  description = self.description
56
60
 
57
61
  type_: Union[None, Unset, str]
@@ -111,6 +115,8 @@ class ProjectRequest:
111
115
  "customer": customer,
112
116
  }
113
117
  )
118
+ if slug is not UNSET:
119
+ field_dict["slug"] = slug
114
120
  if description is not UNSET:
115
121
  field_dict["description"] = description
116
122
  if type_ is not UNSET:
@@ -139,6 +145,8 @@ class ProjectRequest:
139
145
 
140
146
  customer = d.pop("customer")
141
147
 
148
+ slug = d.pop("slug", UNSET)
149
+
142
150
  description = d.pop("description", UNSET)
143
151
 
144
152
  def _parse_type_(data: object) -> Union[None, Unset, str]:
@@ -240,6 +248,7 @@ class ProjectRequest:
240
248
  project_request = cls(
241
249
  name=name,
242
250
  customer=customer,
251
+ slug=slug,
243
252
  description=description,
244
253
  type_=type_,
245
254
  backend_id=backend_id,
@@ -16,6 +16,7 @@ class ProtectedCallRequest:
16
16
  Attributes:
17
17
  name (str):
18
18
  manager (str):
19
+ slug (Union[Unset, str]):
19
20
  description (Union[Unset, str]):
20
21
  fixed_duration_in_days (Union[None, Unset, int]):
21
22
  backend_id (Union[Unset, str]):
@@ -32,6 +33,7 @@ class ProtectedCallRequest:
32
33
 
33
34
  name: str
34
35
  manager: str
36
+ slug: Union[Unset, str] = UNSET
35
37
  description: Union[Unset, str] = UNSET
36
38
  fixed_duration_in_days: Union[None, Unset, int] = UNSET
37
39
  backend_id: Union[Unset, str] = UNSET
@@ -48,6 +50,8 @@ class ProtectedCallRequest:
48
50
 
49
51
  manager = self.manager
50
52
 
53
+ slug = self.slug
54
+
51
55
  description = self.description
52
56
 
53
57
  fixed_duration_in_days: Union[None, Unset, int]
@@ -92,6 +96,8 @@ class ProtectedCallRequest:
92
96
  "manager": manager,
93
97
  }
94
98
  )
99
+ if slug is not UNSET:
100
+ field_dict["slug"] = slug
95
101
  if description is not UNSET:
96
102
  field_dict["description"] = description
97
103
  if fixed_duration_in_days is not UNSET:
@@ -120,6 +126,8 @@ class ProtectedCallRequest:
120
126
 
121
127
  manager = d.pop("manager")
122
128
 
129
+ slug = d.pop("slug", UNSET)
130
+
123
131
  description = d.pop("description", UNSET)
124
132
 
125
133
  def _parse_fixed_duration_in_days(data: object) -> Union[None, Unset, int]:
@@ -177,6 +185,7 @@ class ProtectedCallRequest:
177
185
  protected_call_request = cls(
178
186
  name=name,
179
187
  manager=manager,
188
+ slug=slug,
180
189
  description=description,
181
190
  fixed_duration_in_days=fixed_duration_in_days,
182
191
  backend_id=backend_id,