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,154 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import 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
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="NestedAgentProcessor")
13
+
14
+
15
+ @_attrs_define
16
+ class NestedAgentProcessor:
17
+ """
18
+ Attributes:
19
+ uuid (UUID):
20
+ url (str):
21
+ name (str):
22
+ backend_type (str): Type of the backend, for example SLURM.
23
+ created (datetime.datetime):
24
+ modified (datetime.datetime):
25
+ last_run (Union[None, Unset, datetime.datetime]):
26
+ backend_version (Union[None, Unset, str]):
27
+ """
28
+
29
+ uuid: UUID
30
+ url: str
31
+ name: str
32
+ backend_type: str
33
+ created: datetime.datetime
34
+ modified: datetime.datetime
35
+ last_run: Union[None, Unset, datetime.datetime] = UNSET
36
+ backend_version: Union[None, Unset, str] = UNSET
37
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> dict[str, Any]:
40
+ uuid = str(self.uuid)
41
+
42
+ url = self.url
43
+
44
+ name = self.name
45
+
46
+ backend_type = self.backend_type
47
+
48
+ created = self.created.isoformat()
49
+
50
+ modified = self.modified.isoformat()
51
+
52
+ last_run: Union[None, Unset, str]
53
+ if isinstance(self.last_run, Unset):
54
+ last_run = UNSET
55
+ elif isinstance(self.last_run, datetime.datetime):
56
+ last_run = self.last_run.isoformat()
57
+ else:
58
+ last_run = self.last_run
59
+
60
+ backend_version: Union[None, Unset, str]
61
+ if isinstance(self.backend_version, Unset):
62
+ backend_version = UNSET
63
+ else:
64
+ backend_version = self.backend_version
65
+
66
+ field_dict: dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update(
69
+ {
70
+ "uuid": uuid,
71
+ "url": url,
72
+ "name": name,
73
+ "backend_type": backend_type,
74
+ "created": created,
75
+ "modified": modified,
76
+ }
77
+ )
78
+ if last_run is not UNSET:
79
+ field_dict["last_run"] = last_run
80
+ if backend_version is not UNSET:
81
+ field_dict["backend_version"] = backend_version
82
+
83
+ return field_dict
84
+
85
+ @classmethod
86
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
87
+ d = dict(src_dict)
88
+ uuid = UUID(d.pop("uuid"))
89
+
90
+ url = d.pop("url")
91
+
92
+ name = d.pop("name")
93
+
94
+ backend_type = d.pop("backend_type")
95
+
96
+ created = isoparse(d.pop("created"))
97
+
98
+ modified = isoparse(d.pop("modified"))
99
+
100
+ def _parse_last_run(data: object) -> Union[None, Unset, datetime.datetime]:
101
+ if data is None:
102
+ return data
103
+ if isinstance(data, Unset):
104
+ return data
105
+ try:
106
+ if not isinstance(data, str):
107
+ raise TypeError()
108
+ last_run_type_0 = isoparse(data)
109
+
110
+ return last_run_type_0
111
+ except: # noqa: E722
112
+ pass
113
+ return cast(Union[None, Unset, datetime.datetime], data)
114
+
115
+ last_run = _parse_last_run(d.pop("last_run", UNSET))
116
+
117
+ def _parse_backend_version(data: object) -> Union[None, Unset, str]:
118
+ if data is None:
119
+ return data
120
+ if isinstance(data, Unset):
121
+ return data
122
+ return cast(Union[None, Unset, str], data)
123
+
124
+ backend_version = _parse_backend_version(d.pop("backend_version", UNSET))
125
+
126
+ nested_agent_processor = cls(
127
+ uuid=uuid,
128
+ url=url,
129
+ name=name,
130
+ backend_type=backend_type,
131
+ created=created,
132
+ modified=modified,
133
+ last_run=last_run,
134
+ backend_version=backend_version,
135
+ )
136
+
137
+ nested_agent_processor.additional_properties = d
138
+ return nested_agent_processor
139
+
140
+ @property
141
+ def additional_keys(self) -> list[str]:
142
+ return list(self.additional_properties.keys())
143
+
144
+ def __getitem__(self, key: str) -> Any:
145
+ return self.additional_properties[key]
146
+
147
+ def __setitem__(self, key: str, value: Any) -> None:
148
+ self.additional_properties[key] = value
149
+
150
+ def __delitem__(self, key: str) -> None:
151
+ del self.additional_properties[key]
152
+
153
+ def __contains__(self, key: str) -> bool:
154
+ return key in self.additional_properties
@@ -0,0 +1,134 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import 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
+ from ..models.agent_service_state import AgentServiceState
11
+ from ..types import UNSET, Unset
12
+
13
+ T = TypeVar("T", bound="NestedAgentService")
14
+
15
+
16
+ @_attrs_define
17
+ class NestedAgentService:
18
+ """
19
+ Attributes:
20
+ uuid (UUID):
21
+ url (str):
22
+ name (str):
23
+ state (AgentServiceState):
24
+ created (datetime.datetime):
25
+ modified (datetime.datetime):
26
+ mode (Union[None, Unset, str]):
27
+ statistics (Union[Unset, Any]):
28
+ """
29
+
30
+ uuid: UUID
31
+ url: str
32
+ name: str
33
+ state: AgentServiceState
34
+ created: datetime.datetime
35
+ modified: datetime.datetime
36
+ mode: Union[None, Unset, str] = UNSET
37
+ statistics: Union[Unset, Any] = UNSET
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ uuid = str(self.uuid)
42
+
43
+ url = self.url
44
+
45
+ name = self.name
46
+
47
+ state = self.state.value
48
+
49
+ created = self.created.isoformat()
50
+
51
+ modified = self.modified.isoformat()
52
+
53
+ mode: Union[None, Unset, str]
54
+ if isinstance(self.mode, Unset):
55
+ mode = UNSET
56
+ else:
57
+ mode = self.mode
58
+
59
+ statistics = self.statistics
60
+
61
+ field_dict: dict[str, Any] = {}
62
+ field_dict.update(self.additional_properties)
63
+ field_dict.update(
64
+ {
65
+ "uuid": uuid,
66
+ "url": url,
67
+ "name": name,
68
+ "state": state,
69
+ "created": created,
70
+ "modified": modified,
71
+ }
72
+ )
73
+ if mode is not UNSET:
74
+ field_dict["mode"] = mode
75
+ if statistics is not UNSET:
76
+ field_dict["statistics"] = statistics
77
+
78
+ return field_dict
79
+
80
+ @classmethod
81
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
82
+ d = dict(src_dict)
83
+ uuid = UUID(d.pop("uuid"))
84
+
85
+ url = d.pop("url")
86
+
87
+ name = d.pop("name")
88
+
89
+ state = AgentServiceState(d.pop("state"))
90
+
91
+ created = isoparse(d.pop("created"))
92
+
93
+ modified = isoparse(d.pop("modified"))
94
+
95
+ def _parse_mode(data: object) -> Union[None, Unset, str]:
96
+ if data is None:
97
+ return data
98
+ if isinstance(data, Unset):
99
+ return data
100
+ return cast(Union[None, Unset, str], data)
101
+
102
+ mode = _parse_mode(d.pop("mode", UNSET))
103
+
104
+ statistics = d.pop("statistics", UNSET)
105
+
106
+ nested_agent_service = cls(
107
+ uuid=uuid,
108
+ url=url,
109
+ name=name,
110
+ state=state,
111
+ created=created,
112
+ modified=modified,
113
+ mode=mode,
114
+ statistics=statistics,
115
+ )
116
+
117
+ nested_agent_service.additional_properties = d
118
+ return nested_agent_service
119
+
120
+ @property
121
+ def additional_keys(self) -> list[str]:
122
+ return list(self.additional_properties.keys())
123
+
124
+ def __getitem__(self, key: str) -> Any:
125
+ return self.additional_properties[key]
126
+
127
+ def __setitem__(self, key: str, value: Any) -> None:
128
+ self.additional_properties[key] = value
129
+
130
+ def __delitem__(self, key: str) -> None:
131
+ del self.additional_properties[key]
132
+
133
+ def __contains__(self, key: str) -> bool:
134
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="NestedAgentServiceRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class NestedAgentServiceRequest:
14
+ """
15
+ Attributes:
16
+ name (str):
17
+ mode (Union[None, Unset, str]):
18
+ statistics (Union[Unset, Any]):
19
+ """
20
+
21
+ name: str
22
+ mode: Union[None, Unset, str] = UNSET
23
+ statistics: Union[Unset, Any] = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ name = self.name
28
+
29
+ mode: Union[None, Unset, str]
30
+ if isinstance(self.mode, Unset):
31
+ mode = UNSET
32
+ else:
33
+ mode = self.mode
34
+
35
+ statistics = self.statistics
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "name": name,
42
+ }
43
+ )
44
+ if mode is not UNSET:
45
+ field_dict["mode"] = mode
46
+ if statistics is not UNSET:
47
+ field_dict["statistics"] = statistics
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
+ name = d.pop("name")
55
+
56
+ def _parse_mode(data: object) -> Union[None, Unset, str]:
57
+ if data is None:
58
+ return data
59
+ if isinstance(data, Unset):
60
+ return data
61
+ return cast(Union[None, Unset, str], data)
62
+
63
+ mode = _parse_mode(d.pop("mode", UNSET))
64
+
65
+ statistics = d.pop("statistics", UNSET)
66
+
67
+ nested_agent_service_request = cls(
68
+ name=name,
69
+ mode=mode,
70
+ statistics=statistics,
71
+ )
72
+
73
+ nested_agent_service_request.additional_properties = d
74
+ return nested_agent_service_request
75
+
76
+ @property
77
+ def additional_keys(self) -> list[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -0,0 +1,103 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
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 ..models.period_enum import PeriodEnum
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="NestedCustomerUsagePolicyComponent")
12
+
13
+
14
+ @_attrs_define
15
+ class NestedCustomerUsagePolicyComponent:
16
+ """
17
+ Attributes:
18
+ type_ (str):
19
+ limit (int):
20
+ period_name (str):
21
+ component (UUID):
22
+ period (Union[Unset, PeriodEnum]):
23
+ """
24
+
25
+ type_: str
26
+ limit: int
27
+ period_name: str
28
+ component: UUID
29
+ period: Union[Unset, PeriodEnum] = UNSET
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+ type_ = self.type_
34
+
35
+ limit = self.limit
36
+
37
+ period_name = self.period_name
38
+
39
+ component = str(self.component)
40
+
41
+ period: Union[Unset, int] = UNSET
42
+ if not isinstance(self.period, Unset):
43
+ period = self.period.value
44
+
45
+ field_dict: dict[str, Any] = {}
46
+ field_dict.update(self.additional_properties)
47
+ field_dict.update(
48
+ {
49
+ "type": type_,
50
+ "limit": limit,
51
+ "period_name": period_name,
52
+ "component": component,
53
+ }
54
+ )
55
+ if period is not UNSET:
56
+ field_dict["period"] = period
57
+
58
+ return field_dict
59
+
60
+ @classmethod
61
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
62
+ d = dict(src_dict)
63
+ type_ = d.pop("type")
64
+
65
+ limit = d.pop("limit")
66
+
67
+ period_name = d.pop("period_name")
68
+
69
+ component = UUID(d.pop("component"))
70
+
71
+ _period = d.pop("period", UNSET)
72
+ period: Union[Unset, PeriodEnum]
73
+ if isinstance(_period, Unset):
74
+ period = UNSET
75
+ else:
76
+ period = PeriodEnum(_period)
77
+
78
+ nested_customer_usage_policy_component = cls(
79
+ type_=type_,
80
+ limit=limit,
81
+ period_name=period_name,
82
+ component=component,
83
+ period=period,
84
+ )
85
+
86
+ nested_customer_usage_policy_component.additional_properties = d
87
+ return nested_customer_usage_policy_component
88
+
89
+ @property
90
+ def additional_keys(self) -> list[str]:
91
+ return list(self.additional_properties.keys())
92
+
93
+ def __getitem__(self, key: str) -> Any:
94
+ return self.additional_properties[key]
95
+
96
+ def __setitem__(self, key: str, value: Any) -> None:
97
+ self.additional_properties[key] = value
98
+
99
+ def __delitem__(self, key: str) -> None:
100
+ del self.additional_properties[key]
101
+
102
+ def __contains__(self, key: str) -> bool:
103
+ return key in self.additional_properties
@@ -0,0 +1,87 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
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 ..models.period_enum import PeriodEnum
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="NestedCustomerUsagePolicyComponentRequest")
12
+
13
+
14
+ @_attrs_define
15
+ class NestedCustomerUsagePolicyComponentRequest:
16
+ """
17
+ Attributes:
18
+ limit (int):
19
+ component (UUID):
20
+ period (Union[Unset, PeriodEnum]):
21
+ """
22
+
23
+ limit: int
24
+ component: UUID
25
+ period: Union[Unset, PeriodEnum] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ limit = self.limit
30
+
31
+ component = str(self.component)
32
+
33
+ period: Union[Unset, int] = UNSET
34
+ if not isinstance(self.period, Unset):
35
+ period = self.period.value
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "limit": limit,
42
+ "component": component,
43
+ }
44
+ )
45
+ if period is not UNSET:
46
+ field_dict["period"] = period
47
+
48
+ return field_dict
49
+
50
+ @classmethod
51
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
52
+ d = dict(src_dict)
53
+ limit = d.pop("limit")
54
+
55
+ component = UUID(d.pop("component"))
56
+
57
+ _period = d.pop("period", UNSET)
58
+ period: Union[Unset, PeriodEnum]
59
+ if isinstance(_period, Unset):
60
+ period = UNSET
61
+ else:
62
+ period = PeriodEnum(_period)
63
+
64
+ nested_customer_usage_policy_component_request = cls(
65
+ limit=limit,
66
+ component=component,
67
+ period=period,
68
+ )
69
+
70
+ nested_customer_usage_policy_component_request.additional_properties = d
71
+ return nested_customer_usage_policy_component_request
72
+
73
+ @property
74
+ def additional_keys(self) -> list[str]:
75
+ return list(self.additional_properties.keys())
76
+
77
+ def __getitem__(self, key: str) -> Any:
78
+ return self.additional_properties[key]
79
+
80
+ def __setitem__(self, key: str, value: Any) -> None:
81
+ self.additional_properties[key] = value
82
+
83
+ def __delitem__(self, key: str) -> None:
84
+ del self.additional_properties[key]
85
+
86
+ def __contains__(self, key: str) -> bool:
87
+ return key in self.additional_properties