waldur-api-client 8.0.9.dev332__py3-none-any.whl → 8.0.9.dev333__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.
@@ -68,6 +68,11 @@ def sync_detailed(
68
68
 
69
69
  Return permissions the current user can delegate to a PAT.
70
70
 
71
+ Staff users can delegate any permission (they bypass UserRole checks).
72
+ For other users only the permissions granted by their active roles are
73
+ offered, plus SUPPORT.ACCESS for support users — mirroring what the
74
+ create serializer would accept.
75
+
71
76
  Args:
72
77
  page (Union[Unset, int]):
73
78
  page_size (Union[Unset, int]):
@@ -102,6 +107,11 @@ def sync(
102
107
 
103
108
  Return permissions the current user can delegate to a PAT.
104
109
 
110
+ Staff users can delegate any permission (they bypass UserRole checks).
111
+ For other users only the permissions granted by their active roles are
112
+ offered, plus SUPPORT.ACCESS for support users — mirroring what the
113
+ create serializer would accept.
114
+
105
115
  Args:
106
116
  page (Union[Unset, int]):
107
117
  page_size (Union[Unset, int]):
@@ -131,6 +141,11 @@ async def asyncio_detailed(
131
141
 
132
142
  Return permissions the current user can delegate to a PAT.
133
143
 
144
+ Staff users can delegate any permission (they bypass UserRole checks).
145
+ For other users only the permissions granted by their active roles are
146
+ offered, plus SUPPORT.ACCESS for support users — mirroring what the
147
+ create serializer would accept.
148
+
134
149
  Args:
135
150
  page (Union[Unset, int]):
136
151
  page_size (Union[Unset, int]):
@@ -163,6 +178,11 @@ async def asyncio(
163
178
 
164
179
  Return permissions the current user can delegate to a PAT.
165
180
 
181
+ Staff users can delegate any permission (they bypass UserRole checks).
182
+ For other users only the permissions granted by their active roles are
183
+ offered, plus SUPPORT.ACCESS for support users — mirroring what the
184
+ create serializer would accept.
185
+
166
186
  Args:
167
187
  page (Union[Unset, int]):
168
188
  page_size (Union[Unset, int]):
@@ -1,5 +1,5 @@
1
1
  # Waldur API — Full Endpoint Reference
2
- # Version: 8.0.9-rc.25.dev.20260610233347
2
+ # Version: 8.0.9-rc.25.dev.20260611233346
3
3
  #
4
4
  # Import pattern:
5
5
  # from waldur_api_client.api.<domain> import <operation_id>
@@ -17653,6 +17653,11 @@ GET /api/personal-access-tokens/available_scopes/
17653
17653
  Summary: List available scopes for PAT creation
17654
17654
  Description: Return permissions the current user can delegate to a PAT.
17655
17655
 
17656
+ Staff users can delegate any permission (they bypass UserRole checks).
17657
+ For other users only the permissions granted by their active roles are
17658
+ offered, plus SUPPORT.ACCESS for support users — mirroring what the
17659
+ create serializer would acc...
17660
+
17656
17661
  ### personal_access_tokens_available_scopes_count
17657
17662
  HEAD /api/personal-access-tokens/available_scopes/
17658
17663
  Summary: List available scopes for PAT creation
@@ -1,6 +1,6 @@
1
1
  # Waldur API
2
2
 
3
- > Auto-generated Python SDK for the Waldur API (version 8.0.9-rc.25.dev.20260610233347).
3
+ > Auto-generated Python SDK for the Waldur API (version 8.0.9-rc.25.dev.20260611233346).
4
4
  > This SDK is generated from an OpenAPI specification using openapi-python-client.
5
5
 
6
6
  ## Quick Start
@@ -103,6 +103,7 @@ class BookingResource:
103
103
  end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, a resource will be scheduled
104
104
  for termination.
105
105
  end_date_requested_by (Union[None, Unset, str]):
106
+ end_date_updated_at (Union[None, Unset, datetime.datetime]): Timestamp of the last end_date change.
106
107
  username (Union[None, Unset, str]):
107
108
  limit_usage (Union[Unset, BookingResourceLimitUsage]): Dictionary mapping limit-based component types to their
108
109
  consumed usage. For monthly periods, maps from current_usages; for longer periods, aggregates historical usage.
@@ -198,6 +199,7 @@ class BookingResource:
198
199
  report: Union[Unset, list["ReportSection"]] = UNSET
199
200
  end_date: Union[None, Unset, datetime.date] = UNSET
200
201
  end_date_requested_by: Union[None, Unset, str] = UNSET
202
+ end_date_updated_at: Union[None, Unset, datetime.datetime] = UNSET
201
203
  username: Union[None, Unset, str] = UNSET
202
204
  limit_usage: Union[Unset, "BookingResourceLimitUsage"] = UNSET
203
205
  downscaled: Union[Unset, bool] = UNSET
@@ -446,6 +448,14 @@ class BookingResource:
446
448
  else:
447
449
  end_date_requested_by = self.end_date_requested_by
448
450
 
451
+ end_date_updated_at: Union[None, Unset, str]
452
+ if isinstance(self.end_date_updated_at, Unset):
453
+ end_date_updated_at = UNSET
454
+ elif isinstance(self.end_date_updated_at, datetime.datetime):
455
+ end_date_updated_at = self.end_date_updated_at.isoformat()
456
+ else:
457
+ end_date_updated_at = self.end_date_updated_at
458
+
449
459
  username: Union[None, Unset, str]
450
460
  if isinstance(self.username, Unset):
451
461
  username = UNSET
@@ -674,6 +684,8 @@ class BookingResource:
674
684
  field_dict["end_date"] = end_date
675
685
  if end_date_requested_by is not UNSET:
676
686
  field_dict["end_date_requested_by"] = end_date_requested_by
687
+ if end_date_updated_at is not UNSET:
688
+ field_dict["end_date_updated_at"] = end_date_updated_at
677
689
  if username is not UNSET:
678
690
  field_dict["username"] = username
679
691
  if limit_usage is not UNSET:
@@ -1077,6 +1089,23 @@ class BookingResource:
1077
1089
 
1078
1090
  end_date_requested_by = _parse_end_date_requested_by(d.pop("end_date_requested_by", UNSET))
1079
1091
 
1092
+ def _parse_end_date_updated_at(data: object) -> Union[None, Unset, datetime.datetime]:
1093
+ if data is None:
1094
+ return data
1095
+ if isinstance(data, Unset):
1096
+ return data
1097
+ try:
1098
+ if not isinstance(data, str):
1099
+ raise TypeError()
1100
+ end_date_updated_at_type_0 = isoparse(data)
1101
+
1102
+ return end_date_updated_at_type_0
1103
+ except: # noqa: E722
1104
+ pass
1105
+ return cast(Union[None, Unset, datetime.datetime], data)
1106
+
1107
+ end_date_updated_at = _parse_end_date_updated_at(d.pop("end_date_updated_at", UNSET))
1108
+
1080
1109
  def _parse_username(data: object) -> Union[None, Unset, str]:
1081
1110
  if data is None:
1082
1111
  return data
@@ -1281,6 +1310,7 @@ class BookingResource:
1281
1310
  report=report,
1282
1311
  end_date=end_date,
1283
1312
  end_date_requested_by=end_date_requested_by,
1313
+ end_date_updated_at=end_date_updated_at,
1284
1314
  username=username,
1285
1315
  limit_usage=limit_usage,
1286
1316
  downscaled=downscaled,
@@ -28,6 +28,7 @@ class BookingResourceFieldEnum(str, Enum):
28
28
  ENDPOINTS = "endpoints"
29
29
  END_DATE = "end_date"
30
30
  END_DATE_REQUESTED_BY = "end_date_requested_by"
31
+ END_DATE_UPDATED_AT = "end_date_updated_at"
31
32
  ERROR_MESSAGE = "error_message"
32
33
  ERROR_TRACEBACK = "error_traceback"
33
34
  IS_LIMIT_BASED = "is_limit_based"
@@ -102,6 +102,7 @@ class Resource:
102
102
  end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, a resource will be scheduled
103
103
  for termination.
104
104
  end_date_requested_by (Union[None, Unset, str]):
105
+ end_date_updated_at (Union[None, Unset, datetime.datetime]): Timestamp of the last end_date change.
105
106
  username (Union[None, Unset, str]):
106
107
  limit_usage (Union[Unset, ResourceLimitUsage]): Dictionary mapping limit-based component types to their consumed
107
108
  usage. For monthly periods, maps from current_usages; for longer periods, aggregates historical usage.
@@ -188,6 +189,7 @@ class Resource:
188
189
  report: Union[Unset, list["ReportSection"]] = UNSET
189
190
  end_date: Union[None, Unset, datetime.date] = UNSET
190
191
  end_date_requested_by: Union[None, Unset, str] = UNSET
192
+ end_date_updated_at: Union[None, Unset, datetime.datetime] = UNSET
191
193
  username: Union[None, Unset, str] = UNSET
192
194
  limit_usage: Union[Unset, "ResourceLimitUsage"] = UNSET
193
195
  downscaled: Union[Unset, bool] = UNSET
@@ -429,6 +431,14 @@ class Resource:
429
431
  else:
430
432
  end_date_requested_by = self.end_date_requested_by
431
433
 
434
+ end_date_updated_at: Union[None, Unset, str]
435
+ if isinstance(self.end_date_updated_at, Unset):
436
+ end_date_updated_at = UNSET
437
+ elif isinstance(self.end_date_updated_at, datetime.datetime):
438
+ end_date_updated_at = self.end_date_updated_at.isoformat()
439
+ else:
440
+ end_date_updated_at = self.end_date_updated_at
441
+
432
442
  username: Union[None, Unset, str]
433
443
  if isinstance(self.username, Unset):
434
444
  username = UNSET
@@ -638,6 +648,8 @@ class Resource:
638
648
  field_dict["end_date"] = end_date
639
649
  if end_date_requested_by is not UNSET:
640
650
  field_dict["end_date_requested_by"] = end_date_requested_by
651
+ if end_date_updated_at is not UNSET:
652
+ field_dict["end_date_updated_at"] = end_date_updated_at
641
653
  if username is not UNSET:
642
654
  field_dict["username"] = username
643
655
  if limit_usage is not UNSET:
@@ -1026,6 +1038,23 @@ class Resource:
1026
1038
 
1027
1039
  end_date_requested_by = _parse_end_date_requested_by(d.pop("end_date_requested_by", UNSET))
1028
1040
 
1041
+ def _parse_end_date_updated_at(data: object) -> Union[None, Unset, datetime.datetime]:
1042
+ if data is None:
1043
+ return data
1044
+ if isinstance(data, Unset):
1045
+ return data
1046
+ try:
1047
+ if not isinstance(data, str):
1048
+ raise TypeError()
1049
+ end_date_updated_at_type_0 = isoparse(data)
1050
+
1051
+ return end_date_updated_at_type_0
1052
+ except: # noqa: E722
1053
+ pass
1054
+ return cast(Union[None, Unset, datetime.datetime], data)
1055
+
1056
+ end_date_updated_at = _parse_end_date_updated_at(d.pop("end_date_updated_at", UNSET))
1057
+
1029
1058
  def _parse_username(data: object) -> Union[None, Unset, str]:
1030
1059
  if data is None:
1031
1060
  return data
@@ -1211,6 +1240,7 @@ class Resource:
1211
1240
  report=report,
1212
1241
  end_date=end_date,
1213
1242
  end_date_requested_by=end_date_requested_by,
1243
+ end_date_updated_at=end_date_updated_at,
1214
1244
  username=username,
1215
1245
  limit_usage=limit_usage,
1216
1246
  downscaled=downscaled,
@@ -22,6 +22,7 @@ class ResourceFieldEnum(str, Enum):
22
22
  ENDPOINTS = "endpoints"
23
23
  END_DATE = "end_date"
24
24
  END_DATE_REQUESTED_BY = "end_date_requested_by"
25
+ END_DATE_UPDATED_AT = "end_date_updated_at"
25
26
  ERROR_MESSAGE = "error_message"
26
27
  ERROR_TRACEBACK = "error_traceback"
27
28
  IS_LIMIT_BASED = "is_limit_based"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waldur-api-client
3
- Version: 8.0.9.dev332
3
+ Version: 8.0.9.dev333
4
4
  Summary: A client library for accessing Waldur API
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -2146,7 +2146,7 @@ waldur_api_client/api/personal_access_tokens/__init__.py,sha256=5vd9uJWAjRqa9xzx
2146
2146
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_available_binding_targets_count.py,sha256=YXlFrRIQYjBb93gFCWSzeo7MDZCtqt8Ig47XYCBhxQE,4921
2147
2147
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_available_binding_targets_list.py,sha256=8aQIjTaXbWZ-4ow3CijqaBNHm6Uzti9Gl38taXFzc-0,10506
2148
2148
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_available_scopes_count.py,sha256=ugr9MrzT5LQyg2ezuA43xxTCsCkZLaU0UzBx7i9V87Q,4840
2149
- waldur_api_client/api/personal_access_tokens/personal_access_tokens_available_scopes_list.py,sha256=IjGJ0qYROWmTslJS7q8p_9EapLFbzLC6Tmm0_oKG_ug,8938
2149
+ waldur_api_client/api/personal_access_tokens/personal_access_tokens_available_scopes_list.py,sha256=dsk_C2oJdO2SbLp3R4PffYGhfcHxY4t5AbFFAv3xRn0,9982
2150
2150
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_count.py,sha256=3tzSUYJCrAlttLzbfrwO8n4nZF_6G2CbDqofSxKE0rU,4643
2151
2151
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_create.py,sha256=P-6DmD3i_ykKQ43hEzDYAHS7IhvgKQCrq5cpJOfRIn8,4071
2152
2152
  waldur_api_client/api/personal_access_tokens/personal_access_tokens_destroy.py,sha256=-LDhmvOPmEIG37L4Zgu-E0DeW7WMhzwTLSFiZJBy7Vc,2260
@@ -2931,8 +2931,8 @@ waldur_api_client/api/vmware_virtual_machine/vmware_virtual_machine_web_console_
2931
2931
  waldur_api_client/api-map.md,sha256=XLF0rxJmUaUCDbvf3fhSO8Twths14kLrSfFvG2eX2g4,370099
2932
2932
  waldur_api_client/client.py,sha256=GLq-qDZKHfSA_9duhz0MTPeaAkXUlvuHHWCRzsPcE5Y,11727
2933
2933
  waldur_api_client/errors.py,sha256=UYHn64tnzy2ITApxz6jHW9KXUusxkd5iuqyKyCw5cq8,571
2934
- waldur_api_client/llms-full.txt,sha256=QT9gkSy07Olq112y0E6T3sAcLrbzm9LYhhvBGbWmIZ8,827394
2935
- waldur_api_client/llms.txt,sha256=Kc9zLpUQXzE__0Txvc8J24wJFv-PChtWmcW5td6F8S8,14639
2934
+ waldur_api_client/llms-full.txt,sha256=n-lB4mYFfjkgejg7XaH8h7yTajHd_NbJV5wT_yJP8OY,827638
2935
+ waldur_api_client/llms.txt,sha256=4tnjWcZJZfwDpyN-I6fDHps4s6JqF4SFRhsObIfiA7U,14639
2936
2936
  waldur_api_client/models/__init__.py,sha256=2o0KzrwTSeMruFdIanBiXIC21Dug7c_rC1tOdc1QMtY,234046
2937
2937
  waldur_api_client/models/access_project.py,sha256=oMD_LlZ48i2YhFjPCAVSyb5a1-AEh8a5YYrJ6olBx_w,2165
2938
2938
  waldur_api_client/models/access_resource.py,sha256=mN0bhw0tfmIHDwC0jDCDFDDVlaVtZwDdgRIlbc-g0gY,1635
@@ -3177,10 +3177,10 @@ waldur_api_client/models/billing_unit.py,sha256=815EwV5FnAVeqgAiSI2NER8kgxXTmMOh
3177
3177
  waldur_api_client/models/blank_enum.py,sha256=B6YlVTToYmpoebDxBv-B2BKiV7HMNc9GmQx4Cqm5LYo,131
3178
3178
  waldur_api_client/models/booking.py,sha256=4jzkRYuLTxwLjJ9RrEza5-QHWXUp7qcQIbpAhzlw3E4,2310
3179
3179
  waldur_api_client/models/booking_order_uuid.py,sha256=GXQhgFBT8QNPT8crXFstNeCao2dDkXPpf0eY6vrMpR8,1560
3180
- waldur_api_client/models/booking_resource.py,sha256=LZXi7VMO-eOHX3BEsYsUtT5B-TYgN4FjHcwSwLxsejo,53052
3180
+ waldur_api_client/models/booking_resource.py,sha256=cQFgv1rdgPxxQjhi-EzZHbRIzWKhyS-DYwIxljTJAzY,54413
3181
3181
  waldur_api_client/models/booking_resource_attributes.py,sha256=-ROfxmUxJIXzReYTBnSt6WBJ2BKuB9HnA2W7N_4fS8M,1273
3182
3182
  waldur_api_client/models/booking_resource_current_usages.py,sha256=hEBUeLAaa3S8yS6EheLRKcMSRKUS5ZENPmRo5iUjyC0,1370
3183
- waldur_api_client/models/booking_resource_field_enum.py,sha256=KnsdGxvGyk10ZTDUV0TfjD2ilQcGKRmb_xEKXoHEWOY,3445
3183
+ waldur_api_client/models/booking_resource_field_enum.py,sha256=YCoAh4GJo8fVWWRlsAcGBOhRftlSt6W1GvPW0SqYxBs,3493
3184
3184
  waldur_api_client/models/booking_resource_limit_usage.py,sha256=EL_xxzxQLvx7UXH3zj-rT5S-8DZMfJE6Ys09imFsrx4,1458
3185
3185
  waldur_api_client/models/booking_resource_limits.py,sha256=1E9knmsKpWCxrD2AOxnTuAq8t0TX-pJLytnoLdwUDtM,1253
3186
3186
  waldur_api_client/models/booking_resource_o_enum.py,sha256=gITXXz-ZUys4BCS6xfPK9Plyh8jiizUUu6X2y_v3bcw,309
@@ -4820,7 +4820,7 @@ waldur_api_client/models/requested_offering_states.py,sha256=aRCc6hAt-6hLBL31B3N
4820
4820
  waldur_api_client/models/requested_resource.py,sha256=CPrkG4G2h0kTB30RHs6DAmmFKSmBiQi8-H5nGnaYWpQ,5147
4821
4821
  waldur_api_client/models/requested_resource_request.py,sha256=NnQC2_Ib_paO6szj-5mba_T7vpOFhTcEHmlVyYoRpo8,3905
4822
4822
  waldur_api_client/models/reserved_agent_task.py,sha256=VvBRX1Wv5APX9xUEI8xu_QiTdZBYBSiEoG389_q2Bic,1593
4823
- waldur_api_client/models/resource.py,sha256=GsHEOf6UX4rHn76UxrVOOd9FkBRqDubvGauu3W5KlqA,49228
4823
+ waldur_api_client/models/resource.py,sha256=DULtD2M-k2bfgVFqpc2XaeP0h3a3dhxPb9b2q5IKzVw,50589
4824
4824
  waldur_api_client/models/resource_attributes.py,sha256=_YJkmdPQOg2nJvmdRsNH--768kATNGvMb_U-QpPSLEc,1235
4825
4825
  waldur_api_client/models/resource_backend_id_request.py,sha256=NkjwuR1yvmsh8UohnBt2aH_c2a1SiyVnrHFHhZzFVWk,1661
4826
4826
  waldur_api_client/models/resource_backend_metadata_request.py,sha256=UXhVQzxDJfS7GEzor2cjC-96oTTQ3ieMJjiI2T9VRVo,1658
@@ -4835,7 +4835,7 @@ waldur_api_client/models/resource_end_date_by_provider_request.py,sha256=b2tyUCj
4835
4835
  waldur_api_client/models/resource_end_date_request.py,sha256=hf0aykgSs66riBD4XXZOaglX3Y0rurhXH-Vj-dtNkw4,2594
4836
4836
  waldur_api_client/models/resource_endpoint_request.py,sha256=sJpCdIfNIY-GRELvQpKL-V47qJMtUjjPB_10STgjNow,1688
4837
4837
  waldur_api_client/models/resource_endpoints_request.py,sha256=B2u9NaaUZUpSpwWaKyYD5nYmJ27PqikVRyItjc2yE5o,2185
4838
- waldur_api_client/models/resource_field_enum.py,sha256=2pEvK7tyCGHAJQOFjDQRtnaHpTO3aOmvvjtvGePcNjs,3102
4838
+ waldur_api_client/models/resource_field_enum.py,sha256=gDcBJYcyPnO0lQsgAmsNSw90RdVqy3pJd3EJq2E-U8Q,3150
4839
4839
  waldur_api_client/models/resource_limit_change_request.py,sha256=6wOq6iNk2JmSuF1HM3L5_T3IL8BS2bV4UOHaBqEkyJg,9922
4840
4840
  waldur_api_client/models/resource_limit_change_request_create.py,sha256=JTaN4sFnjfVuI91tyJODQdCxyZ3vgUUir_asB9Y1YqI,2198
4841
4841
  waldur_api_client/models/resource_limit_change_request_create_request.py,sha256=NU5Rd-VX59A_5eKitfNPVyff8Z_eFYfMxrx4fohj_po,1927
@@ -5325,7 +5325,7 @@ waldur_api_client/models/zammadarticletype_enum.py,sha256=BPDZq_hO1gK6eSi4Z_2s_p
5325
5325
  waldur_api_client/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
5326
5326
  waldur_api_client/types.py,sha256=ZSn3mJeG6_KoPRQVkzh_-bMkaCht3nO3bkQg0tt1aN8,1381
5327
5327
  waldur_api_client/utils.py,sha256=nzWBKV8bhpN3jdzAv8I5FuAdfMwAvmZPiNAD05e0_9c,907
5328
- waldur_api_client-8.0.9.dev332.dist-info/METADATA,sha256=a_mgs7KDdOP5DsC3ek5Yd4TM2rpBGSukUagzwdvjRps,5925
5329
- waldur_api_client-8.0.9.dev332.dist-info/WHEEL,sha256=EGEvSphFYqXKs23-kQBeyNoJP1nrT8ZJKQoi5p5DYL8,88
5330
- waldur_api_client-8.0.9.dev332.dist-info/licenses/LICENSE,sha256=ggoC8v8nQf3HIDGLzIB6VMlzLScX8tIpNhFa0s8UYxw,1072
5331
- waldur_api_client-8.0.9.dev332.dist-info/RECORD,,
5328
+ waldur_api_client-8.0.9.dev333.dist-info/METADATA,sha256=K_CBjRJq40xYkMe1FgL-l6bEHfIROruufGK5JPR4dQs,5925
5329
+ waldur_api_client-8.0.9.dev333.dist-info/WHEEL,sha256=EGEvSphFYqXKs23-kQBeyNoJP1nrT8ZJKQoi5p5DYL8,88
5330
+ waldur_api_client-8.0.9.dev333.dist-info/licenses/LICENSE,sha256=ggoC8v8nQf3HIDGLzIB6VMlzLScX8tIpNhFa0s8UYxw,1072
5331
+ waldur_api_client-8.0.9.dev333.dist-info/RECORD,,