waldur-api-client 7.8.4__py3-none-any.whl → 7.8.5__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 (257) hide show
  1. waldur_api_client/api/backend_resources/backend_resources_import_resource.py +3 -3
  2. waldur_api_client/api/booking_resources/booking_resources_count.py +90 -0
  3. waldur_api_client/api/booking_resources/booking_resources_list.py +90 -0
  4. waldur_api_client/api/call_managing_organisations/call_managing_organisations_add_user.py +17 -10
  5. waldur_api_client/api/customers/customers_add_user.py +17 -10
  6. waldur_api_client/api/marketplace_component_usages/marketplace_component_usages_count.py +30 -0
  7. waldur_api_client/api/marketplace_component_usages/marketplace_component_usages_list.py +30 -0
  8. waldur_api_client/api/marketplace_customer_component_usage_policies/__init__.py +1 -0
  9. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_actions_count.py +125 -0
  10. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_actions_retrieve.py +119 -0
  11. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_count.py +239 -0
  12. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_create.py +152 -0
  13. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_destroy.py +89 -0
  14. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_list.py +242 -0
  15. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_partial_update.py +166 -0
  16. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_retrieve.py +144 -0
  17. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_update.py +166 -0
  18. waldur_api_client/api/marketplace_orders/marketplace_orders_set_backend_id.py +105 -0
  19. waldur_api_client/api/marketplace_plans/marketplace_plans_update_discounts.py +123 -0
  20. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_partition.py +168 -0
  21. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_software_catalog.py +168 -0
  22. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_user.py +19 -10
  23. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
  24. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
  25. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
  26. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create_offering_component.py +1 -1
  27. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
  28. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
  29. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
  30. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
  31. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_partition.py +107 -0
  32. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_software_catalog.py +107 -0
  33. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_partition_partial_update.py +168 -0
  34. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_software_catalog_partial_update.py +168 -0
  35. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +90 -0
  36. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +90 -0
  37. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_downscaled.py +107 -0
  38. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_paused.py +107 -0
  39. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_restrict_member_access.py +107 -0
  40. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
  41. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
  42. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +90 -0
  43. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +90 -0
  44. waldur_api_client/api/marketplace_resources/marketplace_resources_set_downscaled.py +107 -0
  45. waldur_api_client/api/marketplace_resources/marketplace_resources_set_paused.py +107 -0
  46. waldur_api_client/api/marketplace_resources/marketplace_resources_set_restrict_member_access.py +107 -0
  47. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_add_user.py +17 -10
  48. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  49. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
  50. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +14 -24
  51. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_set_offerings_username.py +8 -67
  52. waldur_api_client/api/marketplace_site_agent_identities/__init__.py +1 -0
  53. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_count.py +240 -0
  54. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_create.py +148 -0
  55. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_destroy.py +89 -0
  56. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_list.py +241 -0
  57. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_event_subscription.py +176 -0
  58. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_service.py +170 -0
  59. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_retrieve.py +140 -0
  60. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_update.py +162 -0
  61. waldur_api_client/api/marketplace_site_agent_processors/__init__.py +1 -0
  62. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_count.py +240 -0
  63. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_list.py +241 -0
  64. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_retrieve.py +142 -0
  65. waldur_api_client/api/marketplace_site_agent_services/__init__.py +1 -0
  66. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_count.py +229 -0
  67. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_list.py +230 -0
  68. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_register_processor.py +172 -0
  69. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_retrieve.py +140 -0
  70. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_set_statistics.py +166 -0
  71. waldur_api_client/api/marketplace_software_catalogs/__init__.py +1 -0
  72. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_count.py +225 -0
  73. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_create.py +150 -0
  74. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_destroy.py +89 -0
  75. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_list.py +226 -0
  76. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_partial_update.py +164 -0
  77. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_retrieve.py +142 -0
  78. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_update.py +164 -0
  79. waldur_api_client/api/marketplace_software_packages/__init__.py +1 -0
  80. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_count.py +352 -0
  81. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_create.py +150 -0
  82. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_destroy.py +89 -0
  83. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_list.py +353 -0
  84. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_partial_update.py +164 -0
  85. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_retrieve.py +142 -0
  86. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_update.py +164 -0
  87. waldur_api_client/api/marketplace_software_targets/__init__.py +1 -0
  88. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_count.py +313 -0
  89. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_create.py +117 -0
  90. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_destroy.py +89 -0
  91. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_list.py +314 -0
  92. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_partial_update.py +142 -0
  93. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_retrieve.py +142 -0
  94. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_update.py +142 -0
  95. waldur_api_client/api/marketplace_software_versions/__init__.py +1 -0
  96. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_count.py +310 -0
  97. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_create.py +117 -0
  98. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_destroy.py +89 -0
  99. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_list.py +311 -0
  100. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_partial_update.py +142 -0
  101. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_retrieve.py +142 -0
  102. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_update.py +142 -0
  103. waldur_api_client/api/onboarding_justifications/onboarding_justifications_approve.py +168 -0
  104. waldur_api_client/api/onboarding_justifications/onboarding_justifications_reject.py +168 -0
  105. waldur_api_client/api/projects/projects_add_user.py +17 -10
  106. waldur_api_client/api/projects/projects_count.py +30 -0
  107. waldur_api_client/api/projects/projects_list.py +30 -0
  108. waldur_api_client/api/projects/projects_move_project.py +19 -10
  109. waldur_api_client/api/projects/projects_recover.py +166 -0
  110. waldur_api_client/api/proposal_proposals/proposal_proposals_add_user.py +17 -10
  111. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_add_user.py +17 -10
  112. waldur_api_client/api/remote_waldur_api/remote_waldur_api_pull_resource_robot_accounts.py +88 -0
  113. waldur_api_client/models/__init__.py +152 -4
  114. waldur_api_client/models/agent_event_subscription_create_request.py +71 -0
  115. waldur_api_client/models/agent_identity.py +211 -0
  116. waldur_api_client/models/agent_identity_request.py +157 -0
  117. waldur_api_client/models/agent_processor.py +170 -0
  118. waldur_api_client/models/agent_processor_create_request.py +89 -0
  119. waldur_api_client/models/agent_service.py +172 -0
  120. waldur_api_client/models/agent_service_create_request.py +81 -0
  121. waldur_api_client/models/agent_service_state.py +10 -0
  122. waldur_api_client/models/agent_service_statistics_request.py +59 -0
  123. waldur_api_client/models/base_provider_plan.py +21 -0
  124. waldur_api_client/models/base_public_plan.py +21 -0
  125. waldur_api_client/models/booking_offerings_list_field_item.py +2 -0
  126. waldur_api_client/models/booking_offerings_retrieve_field_item.py +2 -0
  127. waldur_api_client/models/booking_resource.py +33 -0
  128. waldur_api_client/models/booking_resource_renewal_date_type_0.py +53 -0
  129. waldur_api_client/models/booking_resources_list_field_item.py +1 -0
  130. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -0
  131. waldur_api_client/models/call_managing_organisations_add_user_response_400.py +65 -0
  132. waldur_api_client/models/constance_settings.py +81 -45
  133. waldur_api_client/models/constance_settings_request.py +81 -45
  134. waldur_api_client/models/constance_settings_request_form.py +81 -45
  135. waldur_api_client/models/constance_settings_request_multipart.py +134 -71
  136. waldur_api_client/models/customer_component_usage_policy.py +175 -0
  137. waldur_api_client/models/customer_component_usage_policy_request.py +102 -0
  138. waldur_api_client/models/customers_add_user_response_400.py +65 -0
  139. waldur_api_client/models/discount_config_request.py +91 -0
  140. waldur_api_client/models/discounts_update_request.py +65 -0
  141. waldur_api_client/models/discounts_update_request_discounts.py +57 -0
  142. waldur_api_client/models/issue.py +0 -25
  143. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -0
  144. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -0
  145. waldur_api_client/models/marketplace_orders_count_state_item.py +1 -0
  146. waldur_api_client/models/marketplace_orders_list_field_item.py +2 -0
  147. waldur_api_client/models/marketplace_orders_list_state_item.py +1 -0
  148. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +2 -0
  149. waldur_api_client/models/marketplace_provider_offerings_add_user_response_400.py +65 -0
  150. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +2 -0
  151. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +2 -0
  152. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +2 -0
  153. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +2 -0
  154. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +2 -0
  155. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +2 -0
  156. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +2 -0
  157. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -0
  158. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -0
  159. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -0
  160. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +2 -0
  161. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +2 -0
  162. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -0
  163. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -0
  164. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -0
  165. waldur_api_client/models/marketplace_service_providers_add_user_response_400.py +65 -0
  166. waldur_api_client/models/marketplace_site_agent_services_count_state_item.py +10 -0
  167. waldur_api_client/models/marketplace_site_agent_services_list_state_item.py +10 -0
  168. waldur_api_client/models/marketplace_software_catalogs_count_o_item.py +15 -0
  169. waldur_api_client/models/marketplace_software_catalogs_list_o_item.py +15 -0
  170. waldur_api_client/models/marketplace_software_packages_count_o_item.py +17 -0
  171. waldur_api_client/models/marketplace_software_packages_list_o_item.py +17 -0
  172. waldur_api_client/models/marketplace_software_targets_count_o_item.py +15 -0
  173. waldur_api_client/models/marketplace_software_targets_list_o_item.py +15 -0
  174. waldur_api_client/models/marketplace_software_versions_count_o_item.py +15 -0
  175. waldur_api_client/models/marketplace_software_versions_list_o_item.py +15 -0
  176. waldur_api_client/models/merged_plugin_options.py +47 -8
  177. waldur_api_client/models/merged_plugin_options_request.py +47 -8
  178. waldur_api_client/models/nested_agent_processor.py +154 -0
  179. waldur_api_client/models/nested_agent_service.py +134 -0
  180. waldur_api_client/models/nested_agent_service_request.py +90 -0
  181. waldur_api_client/models/nested_customer_usage_policy_component.py +103 -0
  182. waldur_api_client/models/nested_customer_usage_policy_component_request.py +87 -0
  183. waldur_api_client/models/nested_partition.py +412 -0
  184. waldur_api_client/models/nested_partition_request.py +397 -0
  185. waldur_api_client/models/nested_plan_component.py +155 -0
  186. waldur_api_client/models/nested_plan_component_request.py +128 -0
  187. waldur_api_client/models/nested_software_catalog.py +134 -0
  188. waldur_api_client/models/nested_software_catalog_catalog.py +86 -0
  189. waldur_api_client/models/nested_software_catalog_partition.py +86 -0
  190. waldur_api_client/models/nested_software_catalog_request.py +68 -0
  191. waldur_api_client/models/nested_software_target.py +84 -0
  192. waldur_api_client/models/nested_software_target_request.py +75 -0
  193. waldur_api_client/models/nested_software_version.py +124 -0
  194. waldur_api_client/models/nested_software_version_request.py +93 -0
  195. waldur_api_client/models/observable_object_type_enum.py +14 -0
  196. waldur_api_client/models/offering.py +42 -0
  197. waldur_api_client/models/offering_create.py +36 -0
  198. waldur_api_client/models/offering_partition.py +440 -0
  199. waldur_api_client/models/offering_partition_request.py +406 -0
  200. waldur_api_client/models/offering_software_catalog.py +176 -0
  201. waldur_api_client/models/offering_software_catalog_request.py +118 -0
  202. waldur_api_client/models/onboarding_justification.py +35 -6
  203. waldur_api_client/models/onboarding_justification_create_request.py +8 -5
  204. waldur_api_client/models/onboarding_justification_request.py +20 -6
  205. waldur_api_client/models/onboarding_justification_review_request.py +59 -0
  206. waldur_api_client/models/order_backend_id_request.py +59 -0
  207. waldur_api_client/models/order_details.py +39 -0
  208. waldur_api_client/models/order_state.py +1 -0
  209. waldur_api_client/models/patched_customer_component_usage_policy_request.py +104 -0
  210. waldur_api_client/models/patched_offering_partition_request.py +412 -0
  211. waldur_api_client/models/patched_offering_software_catalog_update_request.py +131 -0
  212. waldur_api_client/models/patched_onboarding_justification_request.py +16 -5
  213. waldur_api_client/models/patched_project_request.py +9 -0
  214. waldur_api_client/models/patched_project_request_form.py +9 -0
  215. waldur_api_client/models/patched_project_request_multipart.py +12 -0
  216. waldur_api_client/models/patched_software_catalog_request.py +86 -0
  217. waldur_api_client/models/patched_software_package_request.py +86 -0
  218. waldur_api_client/models/plan_component.py +40 -0
  219. waldur_api_client/models/project.py +27 -0
  220. waldur_api_client/models/project_recovery_request.py +70 -0
  221. waldur_api_client/models/project_request.py +9 -0
  222. waldur_api_client/models/project_request_form.py +9 -0
  223. waldur_api_client/models/project_request_multipart.py +12 -0
  224. waldur_api_client/models/project_user.py +21 -4
  225. waldur_api_client/models/projects_add_user_response_400.py +65 -0
  226. waldur_api_client/models/projects_list_field_item.py +3 -0
  227. waldur_api_client/models/projects_move_project_response_400.py +65 -0
  228. waldur_api_client/models/projects_retrieve_field_item.py +3 -0
  229. waldur_api_client/models/proposal_proposals_add_user_response_400.py +65 -0
  230. waldur_api_client/models/proposal_protected_calls_add_user_response_400.py +65 -0
  231. waldur_api_client/models/provider_offering_details.py +42 -0
  232. waldur_api_client/models/provider_plan_details.py +18 -0
  233. waldur_api_client/models/public_offering_details.py +42 -0
  234. waldur_api_client/models/remote_resource_order_remote_state_enum.py +1 -0
  235. waldur_api_client/models/{set_offerings_username.py → remove_partition_request.py} +11 -19
  236. waldur_api_client/models/remove_software_catalog_request.py +60 -0
  237. waldur_api_client/models/resource.py +33 -0
  238. waldur_api_client/models/resource_downscaled_request.py +59 -0
  239. waldur_api_client/models/resource_paused_request.py +59 -0
  240. waldur_api_client/models/resource_renewal_date_type_0.py +53 -0
  241. waldur_api_client/models/resource_restrict_member_access_request.py +59 -0
  242. waldur_api_client/models/software_catalog.py +130 -0
  243. waldur_api_client/models/software_catalog_request.py +87 -0
  244. waldur_api_client/models/software_catalog_uuid.py +60 -0
  245. waldur_api_client/models/software_package.py +168 -0
  246. waldur_api_client/models/software_package_request.py +87 -0
  247. waldur_api_client/models/software_target.py +110 -0
  248. waldur_api_client/models/software_version.py +135 -0
  249. waldur_api_client/models/user.py +20 -0
  250. waldur_api_client/models/users_list_field_item.py +1 -0
  251. waldur_api_client/models/users_me_retrieve_field_item.py +1 -0
  252. waldur_api_client/models/users_retrieve_field_item.py +1 -0
  253. {waldur_api_client-7.8.4.dist-info → waldur_api_client-7.8.5.dist-info}/METADATA +1 -1
  254. {waldur_api_client-7.8.4.dist-info → waldur_api_client-7.8.5.dist-info}/RECORD +256 -103
  255. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +0 -37
  256. {waldur_api_client-7.8.4.dist-info → waldur_api_client-7.8.5.dist-info}/WHEEL +0 -0
  257. {waldur_api_client-7.8.4.dist-info → waldur_api_client-7.8.5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,412 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="NestedPartition")
11
+
12
+
13
+ @_attrs_define
14
+ class NestedPartition:
15
+ """
16
+ Attributes:
17
+ uuid (Union[Unset, UUID]):
18
+ partition_name (Union[Unset, str]): Name of the SLURM partition
19
+ cpu_bind (Union[None, Unset, int]): Default task binding policy (SLURM cpu_bind)
20
+ def_cpu_per_gpu (Union[None, Unset, int]): Default CPUs allocated per GPU
21
+ max_cpus_per_node (Union[None, Unset, int]): Maximum allocated CPUs per node
22
+ max_cpus_per_socket (Union[None, Unset, int]): Maximum allocated CPUs per socket
23
+ def_mem_per_cpu (Union[None, Unset, int]): Default memory per CPU in MB
24
+ def_mem_per_gpu (Union[None, Unset, int]): Default memory per GPU in MB
25
+ def_mem_per_node (Union[None, Unset, int]): Default memory per node in MB
26
+ max_mem_per_cpu (Union[None, Unset, int]): Maximum memory per CPU in MB
27
+ max_mem_per_node (Union[None, Unset, int]): Maximum memory per node in MB
28
+ default_time (Union[None, Unset, int]): Default time limit in minutes
29
+ max_time (Union[None, Unset, int]): Maximum time limit in minutes
30
+ grace_time (Union[None, Unset, int]): Preemption grace time in seconds
31
+ max_nodes (Union[None, Unset, int]): Maximum nodes per job
32
+ min_nodes (Union[None, Unset, int]): Minimum nodes per job
33
+ exclusive_topo (Union[Unset, bool]): Exclusive topology access required
34
+ exclusive_user (Union[Unset, bool]): Exclusive user access required
35
+ priority_tier (Union[None, Unset, int]): Priority tier for scheduling and preemption
36
+ qos (Union[Unset, str]): Quality of Service (QOS) name
37
+ req_resv (Union[Unset, bool]): Require reservation for job allocation
38
+ """
39
+
40
+ uuid: Union[Unset, UUID] = UNSET
41
+ partition_name: Union[Unset, str] = UNSET
42
+ cpu_bind: Union[None, Unset, int] = UNSET
43
+ def_cpu_per_gpu: Union[None, Unset, int] = UNSET
44
+ max_cpus_per_node: Union[None, Unset, int] = UNSET
45
+ max_cpus_per_socket: Union[None, Unset, int] = UNSET
46
+ def_mem_per_cpu: Union[None, Unset, int] = UNSET
47
+ def_mem_per_gpu: Union[None, Unset, int] = UNSET
48
+ def_mem_per_node: Union[None, Unset, int] = UNSET
49
+ max_mem_per_cpu: Union[None, Unset, int] = UNSET
50
+ max_mem_per_node: Union[None, Unset, int] = UNSET
51
+ default_time: Union[None, Unset, int] = UNSET
52
+ max_time: Union[None, Unset, int] = UNSET
53
+ grace_time: Union[None, Unset, int] = UNSET
54
+ max_nodes: Union[None, Unset, int] = UNSET
55
+ min_nodes: Union[None, Unset, int] = UNSET
56
+ exclusive_topo: Union[Unset, bool] = UNSET
57
+ exclusive_user: Union[Unset, bool] = UNSET
58
+ priority_tier: Union[None, Unset, int] = UNSET
59
+ qos: Union[Unset, str] = UNSET
60
+ req_resv: Union[Unset, bool] = UNSET
61
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
62
+
63
+ def to_dict(self) -> dict[str, Any]:
64
+ uuid: Union[Unset, str] = UNSET
65
+ if not isinstance(self.uuid, Unset):
66
+ uuid = str(self.uuid)
67
+
68
+ partition_name = self.partition_name
69
+
70
+ cpu_bind: Union[None, Unset, int]
71
+ if isinstance(self.cpu_bind, Unset):
72
+ cpu_bind = UNSET
73
+ else:
74
+ cpu_bind = self.cpu_bind
75
+
76
+ def_cpu_per_gpu: Union[None, Unset, int]
77
+ if isinstance(self.def_cpu_per_gpu, Unset):
78
+ def_cpu_per_gpu = UNSET
79
+ else:
80
+ def_cpu_per_gpu = self.def_cpu_per_gpu
81
+
82
+ max_cpus_per_node: Union[None, Unset, int]
83
+ if isinstance(self.max_cpus_per_node, Unset):
84
+ max_cpus_per_node = UNSET
85
+ else:
86
+ max_cpus_per_node = self.max_cpus_per_node
87
+
88
+ max_cpus_per_socket: Union[None, Unset, int]
89
+ if isinstance(self.max_cpus_per_socket, Unset):
90
+ max_cpus_per_socket = UNSET
91
+ else:
92
+ max_cpus_per_socket = self.max_cpus_per_socket
93
+
94
+ def_mem_per_cpu: Union[None, Unset, int]
95
+ if isinstance(self.def_mem_per_cpu, Unset):
96
+ def_mem_per_cpu = UNSET
97
+ else:
98
+ def_mem_per_cpu = self.def_mem_per_cpu
99
+
100
+ def_mem_per_gpu: Union[None, Unset, int]
101
+ if isinstance(self.def_mem_per_gpu, Unset):
102
+ def_mem_per_gpu = UNSET
103
+ else:
104
+ def_mem_per_gpu = self.def_mem_per_gpu
105
+
106
+ def_mem_per_node: Union[None, Unset, int]
107
+ if isinstance(self.def_mem_per_node, Unset):
108
+ def_mem_per_node = UNSET
109
+ else:
110
+ def_mem_per_node = self.def_mem_per_node
111
+
112
+ max_mem_per_cpu: Union[None, Unset, int]
113
+ if isinstance(self.max_mem_per_cpu, Unset):
114
+ max_mem_per_cpu = UNSET
115
+ else:
116
+ max_mem_per_cpu = self.max_mem_per_cpu
117
+
118
+ max_mem_per_node: Union[None, Unset, int]
119
+ if isinstance(self.max_mem_per_node, Unset):
120
+ max_mem_per_node = UNSET
121
+ else:
122
+ max_mem_per_node = self.max_mem_per_node
123
+
124
+ default_time: Union[None, Unset, int]
125
+ if isinstance(self.default_time, Unset):
126
+ default_time = UNSET
127
+ else:
128
+ default_time = self.default_time
129
+
130
+ max_time: Union[None, Unset, int]
131
+ if isinstance(self.max_time, Unset):
132
+ max_time = UNSET
133
+ else:
134
+ max_time = self.max_time
135
+
136
+ grace_time: Union[None, Unset, int]
137
+ if isinstance(self.grace_time, Unset):
138
+ grace_time = UNSET
139
+ else:
140
+ grace_time = self.grace_time
141
+
142
+ max_nodes: Union[None, Unset, int]
143
+ if isinstance(self.max_nodes, Unset):
144
+ max_nodes = UNSET
145
+ else:
146
+ max_nodes = self.max_nodes
147
+
148
+ min_nodes: Union[None, Unset, int]
149
+ if isinstance(self.min_nodes, Unset):
150
+ min_nodes = UNSET
151
+ else:
152
+ min_nodes = self.min_nodes
153
+
154
+ exclusive_topo = self.exclusive_topo
155
+
156
+ exclusive_user = self.exclusive_user
157
+
158
+ priority_tier: Union[None, Unset, int]
159
+ if isinstance(self.priority_tier, Unset):
160
+ priority_tier = UNSET
161
+ else:
162
+ priority_tier = self.priority_tier
163
+
164
+ qos = self.qos
165
+
166
+ req_resv = self.req_resv
167
+
168
+ field_dict: dict[str, Any] = {}
169
+ field_dict.update(self.additional_properties)
170
+ field_dict.update({})
171
+ if uuid is not UNSET:
172
+ field_dict["uuid"] = uuid
173
+ if partition_name is not UNSET:
174
+ field_dict["partition_name"] = partition_name
175
+ if cpu_bind is not UNSET:
176
+ field_dict["cpu_bind"] = cpu_bind
177
+ if def_cpu_per_gpu is not UNSET:
178
+ field_dict["def_cpu_per_gpu"] = def_cpu_per_gpu
179
+ if max_cpus_per_node is not UNSET:
180
+ field_dict["max_cpus_per_node"] = max_cpus_per_node
181
+ if max_cpus_per_socket is not UNSET:
182
+ field_dict["max_cpus_per_socket"] = max_cpus_per_socket
183
+ if def_mem_per_cpu is not UNSET:
184
+ field_dict["def_mem_per_cpu"] = def_mem_per_cpu
185
+ if def_mem_per_gpu is not UNSET:
186
+ field_dict["def_mem_per_gpu"] = def_mem_per_gpu
187
+ if def_mem_per_node is not UNSET:
188
+ field_dict["def_mem_per_node"] = def_mem_per_node
189
+ if max_mem_per_cpu is not UNSET:
190
+ field_dict["max_mem_per_cpu"] = max_mem_per_cpu
191
+ if max_mem_per_node is not UNSET:
192
+ field_dict["max_mem_per_node"] = max_mem_per_node
193
+ if default_time is not UNSET:
194
+ field_dict["default_time"] = default_time
195
+ if max_time is not UNSET:
196
+ field_dict["max_time"] = max_time
197
+ if grace_time is not UNSET:
198
+ field_dict["grace_time"] = grace_time
199
+ if max_nodes is not UNSET:
200
+ field_dict["max_nodes"] = max_nodes
201
+ if min_nodes is not UNSET:
202
+ field_dict["min_nodes"] = min_nodes
203
+ if exclusive_topo is not UNSET:
204
+ field_dict["exclusive_topo"] = exclusive_topo
205
+ if exclusive_user is not UNSET:
206
+ field_dict["exclusive_user"] = exclusive_user
207
+ if priority_tier is not UNSET:
208
+ field_dict["priority_tier"] = priority_tier
209
+ if qos is not UNSET:
210
+ field_dict["qos"] = qos
211
+ if req_resv is not UNSET:
212
+ field_dict["req_resv"] = req_resv
213
+
214
+ return field_dict
215
+
216
+ @classmethod
217
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
218
+ d = dict(src_dict)
219
+ _uuid = d.pop("uuid", UNSET)
220
+ uuid: Union[Unset, UUID]
221
+ if isinstance(_uuid, Unset):
222
+ uuid = UNSET
223
+ else:
224
+ uuid = UUID(_uuid)
225
+
226
+ partition_name = d.pop("partition_name", UNSET)
227
+
228
+ def _parse_cpu_bind(data: object) -> Union[None, Unset, int]:
229
+ if data is None:
230
+ return data
231
+ if isinstance(data, Unset):
232
+ return data
233
+ return cast(Union[None, Unset, int], data)
234
+
235
+ cpu_bind = _parse_cpu_bind(d.pop("cpu_bind", UNSET))
236
+
237
+ def _parse_def_cpu_per_gpu(data: object) -> Union[None, Unset, int]:
238
+ if data is None:
239
+ return data
240
+ if isinstance(data, Unset):
241
+ return data
242
+ return cast(Union[None, Unset, int], data)
243
+
244
+ def_cpu_per_gpu = _parse_def_cpu_per_gpu(d.pop("def_cpu_per_gpu", UNSET))
245
+
246
+ def _parse_max_cpus_per_node(data: object) -> Union[None, Unset, int]:
247
+ if data is None:
248
+ return data
249
+ if isinstance(data, Unset):
250
+ return data
251
+ return cast(Union[None, Unset, int], data)
252
+
253
+ max_cpus_per_node = _parse_max_cpus_per_node(d.pop("max_cpus_per_node", UNSET))
254
+
255
+ def _parse_max_cpus_per_socket(data: object) -> Union[None, Unset, int]:
256
+ if data is None:
257
+ return data
258
+ if isinstance(data, Unset):
259
+ return data
260
+ return cast(Union[None, Unset, int], data)
261
+
262
+ max_cpus_per_socket = _parse_max_cpus_per_socket(d.pop("max_cpus_per_socket", UNSET))
263
+
264
+ def _parse_def_mem_per_cpu(data: object) -> Union[None, Unset, int]:
265
+ if data is None:
266
+ return data
267
+ if isinstance(data, Unset):
268
+ return data
269
+ return cast(Union[None, Unset, int], data)
270
+
271
+ def_mem_per_cpu = _parse_def_mem_per_cpu(d.pop("def_mem_per_cpu", UNSET))
272
+
273
+ def _parse_def_mem_per_gpu(data: object) -> Union[None, Unset, int]:
274
+ if data is None:
275
+ return data
276
+ if isinstance(data, Unset):
277
+ return data
278
+ return cast(Union[None, Unset, int], data)
279
+
280
+ def_mem_per_gpu = _parse_def_mem_per_gpu(d.pop("def_mem_per_gpu", UNSET))
281
+
282
+ def _parse_def_mem_per_node(data: object) -> Union[None, Unset, int]:
283
+ if data is None:
284
+ return data
285
+ if isinstance(data, Unset):
286
+ return data
287
+ return cast(Union[None, Unset, int], data)
288
+
289
+ def_mem_per_node = _parse_def_mem_per_node(d.pop("def_mem_per_node", UNSET))
290
+
291
+ def _parse_max_mem_per_cpu(data: object) -> Union[None, Unset, int]:
292
+ if data is None:
293
+ return data
294
+ if isinstance(data, Unset):
295
+ return data
296
+ return cast(Union[None, Unset, int], data)
297
+
298
+ max_mem_per_cpu = _parse_max_mem_per_cpu(d.pop("max_mem_per_cpu", UNSET))
299
+
300
+ def _parse_max_mem_per_node(data: object) -> Union[None, Unset, int]:
301
+ if data is None:
302
+ return data
303
+ if isinstance(data, Unset):
304
+ return data
305
+ return cast(Union[None, Unset, int], data)
306
+
307
+ max_mem_per_node = _parse_max_mem_per_node(d.pop("max_mem_per_node", UNSET))
308
+
309
+ def _parse_default_time(data: object) -> Union[None, Unset, int]:
310
+ if data is None:
311
+ return data
312
+ if isinstance(data, Unset):
313
+ return data
314
+ return cast(Union[None, Unset, int], data)
315
+
316
+ default_time = _parse_default_time(d.pop("default_time", UNSET))
317
+
318
+ def _parse_max_time(data: object) -> Union[None, Unset, int]:
319
+ if data is None:
320
+ return data
321
+ if isinstance(data, Unset):
322
+ return data
323
+ return cast(Union[None, Unset, int], data)
324
+
325
+ max_time = _parse_max_time(d.pop("max_time", UNSET))
326
+
327
+ def _parse_grace_time(data: object) -> Union[None, Unset, int]:
328
+ if data is None:
329
+ return data
330
+ if isinstance(data, Unset):
331
+ return data
332
+ return cast(Union[None, Unset, int], data)
333
+
334
+ grace_time = _parse_grace_time(d.pop("grace_time", UNSET))
335
+
336
+ def _parse_max_nodes(data: object) -> Union[None, Unset, int]:
337
+ if data is None:
338
+ return data
339
+ if isinstance(data, Unset):
340
+ return data
341
+ return cast(Union[None, Unset, int], data)
342
+
343
+ max_nodes = _parse_max_nodes(d.pop("max_nodes", UNSET))
344
+
345
+ def _parse_min_nodes(data: object) -> Union[None, Unset, int]:
346
+ if data is None:
347
+ return data
348
+ if isinstance(data, Unset):
349
+ return data
350
+ return cast(Union[None, Unset, int], data)
351
+
352
+ min_nodes = _parse_min_nodes(d.pop("min_nodes", UNSET))
353
+
354
+ exclusive_topo = d.pop("exclusive_topo", UNSET)
355
+
356
+ exclusive_user = d.pop("exclusive_user", UNSET)
357
+
358
+ def _parse_priority_tier(data: object) -> Union[None, Unset, int]:
359
+ if data is None:
360
+ return data
361
+ if isinstance(data, Unset):
362
+ return data
363
+ return cast(Union[None, Unset, int], data)
364
+
365
+ priority_tier = _parse_priority_tier(d.pop("priority_tier", UNSET))
366
+
367
+ qos = d.pop("qos", UNSET)
368
+
369
+ req_resv = d.pop("req_resv", UNSET)
370
+
371
+ nested_partition = cls(
372
+ uuid=uuid,
373
+ partition_name=partition_name,
374
+ cpu_bind=cpu_bind,
375
+ def_cpu_per_gpu=def_cpu_per_gpu,
376
+ max_cpus_per_node=max_cpus_per_node,
377
+ max_cpus_per_socket=max_cpus_per_socket,
378
+ def_mem_per_cpu=def_mem_per_cpu,
379
+ def_mem_per_gpu=def_mem_per_gpu,
380
+ def_mem_per_node=def_mem_per_node,
381
+ max_mem_per_cpu=max_mem_per_cpu,
382
+ max_mem_per_node=max_mem_per_node,
383
+ default_time=default_time,
384
+ max_time=max_time,
385
+ grace_time=grace_time,
386
+ max_nodes=max_nodes,
387
+ min_nodes=min_nodes,
388
+ exclusive_topo=exclusive_topo,
389
+ exclusive_user=exclusive_user,
390
+ priority_tier=priority_tier,
391
+ qos=qos,
392
+ req_resv=req_resv,
393
+ )
394
+
395
+ nested_partition.additional_properties = d
396
+ return nested_partition
397
+
398
+ @property
399
+ def additional_keys(self) -> list[str]:
400
+ return list(self.additional_properties.keys())
401
+
402
+ def __getitem__(self, key: str) -> Any:
403
+ return self.additional_properties[key]
404
+
405
+ def __setitem__(self, key: str, value: Any) -> None:
406
+ self.additional_properties[key] = value
407
+
408
+ def __delitem__(self, key: str) -> None:
409
+ del self.additional_properties[key]
410
+
411
+ def __contains__(self, key: str) -> bool:
412
+ return key in self.additional_properties