waldur-api-client 7.8.3__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 (341) 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 +108 -0
  3. waldur_api_client/api/booking_resources/booking_resources_list.py +108 -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_offering_users/marketplace_offering_users_checklist_template_count.py +125 -0
  19. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_retrieve.py +126 -0
  20. waldur_api_client/api/marketplace_orders/marketplace_orders_set_backend_id.py +105 -0
  21. waldur_api_client/api/marketplace_plans/marketplace_plans_update_discounts.py +123 -0
  22. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_partition.py +168 -0
  23. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_software_catalog.py +168 -0
  24. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_user.py +19 -10
  25. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
  26. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
  27. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
  28. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create_offering_component.py +1 -1
  29. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
  30. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
  31. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
  32. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
  33. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_partition.py +107 -0
  34. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_software_catalog.py +107 -0
  35. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_tos_stats_retrieve.py +146 -0
  36. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_partition_partial_update.py +168 -0
  37. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_software_catalog_partial_update.py +168 -0
  38. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +108 -0
  39. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +108 -0
  40. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_downscaled.py +107 -0
  41. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_paused.py +107 -0
  42. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_restrict_member_access.py +107 -0
  43. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_update_options.py +168 -0
  44. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
  45. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
  46. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +108 -0
  47. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +108 -0
  48. waldur_api_client/api/marketplace_resources/marketplace_resources_renew.py +166 -0
  49. waldur_api_client/api/marketplace_resources/marketplace_resources_set_downscaled.py +107 -0
  50. waldur_api_client/api/marketplace_resources/marketplace_resources_set_paused.py +107 -0
  51. waldur_api_client/api/marketplace_resources/marketplace_resources_set_restrict_member_access.py +107 -0
  52. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_add_user.py +17 -10
  53. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  54. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
  55. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +14 -24
  56. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_set_offerings_username.py +8 -67
  57. waldur_api_client/api/marketplace_service_providers/service_provider_checklists_summary.py +189 -0
  58. waldur_api_client/api/marketplace_site_agent_identities/__init__.py +1 -0
  59. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_count.py +240 -0
  60. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_create.py +148 -0
  61. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_destroy.py +89 -0
  62. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_list.py +241 -0
  63. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_event_subscription.py +176 -0
  64. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_service.py +170 -0
  65. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_retrieve.py +140 -0
  66. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_update.py +162 -0
  67. waldur_api_client/api/marketplace_site_agent_processors/__init__.py +1 -0
  68. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_count.py +240 -0
  69. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_list.py +241 -0
  70. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_retrieve.py +142 -0
  71. waldur_api_client/api/marketplace_site_agent_services/__init__.py +1 -0
  72. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_count.py +229 -0
  73. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_list.py +230 -0
  74. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_register_processor.py +172 -0
  75. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_retrieve.py +140 -0
  76. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_set_statistics.py +166 -0
  77. waldur_api_client/api/marketplace_software_catalogs/__init__.py +1 -0
  78. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_count.py +225 -0
  79. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_create.py +150 -0
  80. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_destroy.py +89 -0
  81. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_list.py +226 -0
  82. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_partial_update.py +164 -0
  83. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_retrieve.py +142 -0
  84. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_update.py +164 -0
  85. waldur_api_client/api/marketplace_software_packages/__init__.py +1 -0
  86. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_count.py +352 -0
  87. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_create.py +150 -0
  88. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_destroy.py +89 -0
  89. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_list.py +353 -0
  90. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_partial_update.py +164 -0
  91. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_retrieve.py +142 -0
  92. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_update.py +164 -0
  93. waldur_api_client/api/marketplace_software_targets/__init__.py +1 -0
  94. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_count.py +313 -0
  95. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_create.py +117 -0
  96. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_destroy.py +89 -0
  97. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_list.py +314 -0
  98. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_partial_update.py +142 -0
  99. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_retrieve.py +142 -0
  100. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_update.py +142 -0
  101. waldur_api_client/api/marketplace_software_versions/__init__.py +1 -0
  102. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_count.py +310 -0
  103. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_create.py +117 -0
  104. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_destroy.py +89 -0
  105. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_list.py +311 -0
  106. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_partial_update.py +142 -0
  107. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_retrieve.py +142 -0
  108. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_update.py +142 -0
  109. waldur_api_client/api/onboarding/__init__.py +1 -0
  110. waldur_api_client/api/onboarding/onboarding_supported_countries_retrieve.py +74 -0
  111. waldur_api_client/api/onboarding_justifications/__init__.py +1 -0
  112. waldur_api_client/api/onboarding_justifications/onboarding_justifications_approve.py +168 -0
  113. waldur_api_client/api/onboarding_justifications/onboarding_justifications_attach_document.py +211 -0
  114. waldur_api_client/api/onboarding_justifications/onboarding_justifications_count.py +172 -0
  115. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create.py +150 -0
  116. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create_justification.py +154 -0
  117. waldur_api_client/api/onboarding_justifications/onboarding_justifications_destroy.py +89 -0
  118. waldur_api_client/api/onboarding_justifications/onboarding_justifications_list.py +175 -0
  119. waldur_api_client/api/onboarding_justifications/onboarding_justifications_partial_update.py +164 -0
  120. waldur_api_client/api/onboarding_justifications/onboarding_justifications_reject.py +168 -0
  121. waldur_api_client/api/onboarding_justifications/onboarding_justifications_retrieve.py +142 -0
  122. waldur_api_client/api/onboarding_justifications/onboarding_justifications_update.py +164 -0
  123. waldur_api_client/api/onboarding_verifications/__init__.py +1 -0
  124. waldur_api_client/api/onboarding_verifications/onboarding_verifications_count.py +172 -0
  125. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create.py +150 -0
  126. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create_customer.py +144 -0
  127. waldur_api_client/api/onboarding_verifications/onboarding_verifications_destroy.py +89 -0
  128. waldur_api_client/api/onboarding_verifications/onboarding_verifications_list.py +175 -0
  129. waldur_api_client/api/onboarding_verifications/onboarding_verifications_partial_update.py +164 -0
  130. waldur_api_client/api/onboarding_verifications/onboarding_verifications_retrieve.py +142 -0
  131. waldur_api_client/api/onboarding_verifications/onboarding_verifications_update.py +164 -0
  132. waldur_api_client/api/onboarding_verifications/onboarding_verifications_validate_company.py +154 -0
  133. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_count.py +33 -0
  134. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_create.py +154 -0
  135. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_destroy.py +91 -0
  136. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_list.py +33 -0
  137. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_partial_update.py +164 -0
  138. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_update.py +164 -0
  139. waldur_api_client/api/openstack_networks/openstack_networks_rbac_policy_create.py +24 -22
  140. waldur_api_client/api/projects/projects_add_user.py +17 -10
  141. waldur_api_client/api/projects/projects_checklist_template_count.py +125 -0
  142. waldur_api_client/api/projects/projects_checklist_template_retrieve.py +126 -0
  143. waldur_api_client/api/projects/projects_count.py +30 -0
  144. waldur_api_client/api/projects/projects_list.py +30 -0
  145. waldur_api_client/api/projects/projects_move_project.py +19 -10
  146. waldur_api_client/api/projects/projects_recover.py +166 -0
  147. waldur_api_client/api/proposal_proposals/proposal_proposals_add_user.py +17 -10
  148. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_count.py +125 -0
  149. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_retrieve.py +126 -0
  150. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_add_user.py +17 -10
  151. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_offerings_list.py +15 -0
  152. waldur_api_client/api/remote_waldur_api/remote_waldur_api_pull_resource_robot_accounts.py +88 -0
  153. waldur_api_client/models/__init__.py +214 -8
  154. waldur_api_client/models/agent_event_subscription_create_request.py +71 -0
  155. waldur_api_client/models/agent_identity.py +211 -0
  156. waldur_api_client/models/agent_identity_request.py +157 -0
  157. waldur_api_client/models/agent_processor.py +170 -0
  158. waldur_api_client/models/agent_processor_create_request.py +89 -0
  159. waldur_api_client/models/agent_service.py +172 -0
  160. waldur_api_client/models/agent_service_create_request.py +81 -0
  161. waldur_api_client/models/agent_service_state.py +10 -0
  162. waldur_api_client/models/agent_service_statistics_request.py +59 -0
  163. waldur_api_client/models/base_provider_plan.py +21 -0
  164. waldur_api_client/models/base_public_plan.py +21 -0
  165. waldur_api_client/models/booking_offerings_list_field_item.py +2 -0
  166. waldur_api_client/models/booking_offerings_retrieve_field_item.py +2 -0
  167. waldur_api_client/models/booking_resource.py +37 -11
  168. waldur_api_client/models/booking_resource_renewal_date_type_0.py +53 -0
  169. waldur_api_client/models/booking_resources_list_field_item.py +1 -0
  170. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -0
  171. waldur_api_client/models/call_managing_organisations_add_user_response_400.py +65 -0
  172. waldur_api_client/models/call_round.py +4 -4
  173. waldur_api_client/models/checklist_template.py +99 -0
  174. waldur_api_client/models/checklist_template_checklist.py +44 -0
  175. waldur_api_client/models/constance_settings.py +126 -45
  176. waldur_api_client/models/constance_settings_request.py +126 -45
  177. waldur_api_client/models/constance_settings_request_form.py +126 -45
  178. waldur_api_client/models/constance_settings_request_multipart.py +219 -71
  179. waldur_api_client/models/customer.py +9 -0
  180. waldur_api_client/models/customer_component_usage_policy.py +175 -0
  181. waldur_api_client/models/customer_component_usage_policy_request.py +102 -0
  182. waldur_api_client/models/customers_add_user_response_400.py +65 -0
  183. waldur_api_client/models/customers_list_field_item.py +1 -0
  184. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  185. waldur_api_client/models/deprecated_network_rbac_policy.py +137 -0
  186. waldur_api_client/models/deprecated_network_rbac_policy_request.py +78 -0
  187. waldur_api_client/models/discount_config_request.py +91 -0
  188. waldur_api_client/models/discounts_update_request.py +65 -0
  189. waldur_api_client/models/discounts_update_request_discounts.py +57 -0
  190. waldur_api_client/models/event_types_enum.py +1 -0
  191. waldur_api_client/models/issue.py +0 -25
  192. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -0
  193. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -0
  194. waldur_api_client/models/marketplace_orders_count_state_item.py +1 -0
  195. waldur_api_client/models/marketplace_orders_list_field_item.py +2 -0
  196. waldur_api_client/models/marketplace_orders_list_state_item.py +1 -0
  197. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +2 -0
  198. waldur_api_client/models/marketplace_provider_offerings_add_user_response_400.py +65 -0
  199. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +2 -0
  200. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +2 -0
  201. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +2 -0
  202. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +2 -0
  203. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +2 -0
  204. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +2 -0
  205. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +2 -0
  206. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -0
  207. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -0
  208. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -0
  209. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +2 -0
  210. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +2 -0
  211. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -0
  212. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -0
  213. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -0
  214. waldur_api_client/models/marketplace_service_providers_add_user_response_400.py +65 -0
  215. waldur_api_client/models/marketplace_site_agent_services_count_state_item.py +10 -0
  216. waldur_api_client/models/marketplace_site_agent_services_list_state_item.py +10 -0
  217. waldur_api_client/models/marketplace_software_catalogs_count_o_item.py +15 -0
  218. waldur_api_client/models/marketplace_software_catalogs_list_o_item.py +15 -0
  219. waldur_api_client/models/marketplace_software_packages_count_o_item.py +17 -0
  220. waldur_api_client/models/marketplace_software_packages_list_o_item.py +17 -0
  221. waldur_api_client/models/marketplace_software_targets_count_o_item.py +15 -0
  222. waldur_api_client/models/marketplace_software_targets_list_o_item.py +15 -0
  223. waldur_api_client/models/marketplace_software_versions_count_o_item.py +15 -0
  224. waldur_api_client/models/marketplace_software_versions_list_o_item.py +15 -0
  225. waldur_api_client/models/merged_plugin_options.py +65 -8
  226. waldur_api_client/models/merged_plugin_options_request.py +65 -8
  227. waldur_api_client/models/nested_agent_processor.py +154 -0
  228. waldur_api_client/models/nested_agent_service.py +134 -0
  229. waldur_api_client/models/nested_agent_service_request.py +90 -0
  230. waldur_api_client/models/nested_customer_usage_policy_component.py +103 -0
  231. waldur_api_client/models/nested_customer_usage_policy_component_request.py +87 -0
  232. waldur_api_client/models/nested_partition.py +412 -0
  233. waldur_api_client/models/nested_partition_request.py +397 -0
  234. waldur_api_client/models/nested_plan_component.py +155 -0
  235. waldur_api_client/models/nested_plan_component_request.py +128 -0
  236. waldur_api_client/models/nested_round.py +5 -5
  237. waldur_api_client/models/nested_software_catalog.py +134 -0
  238. waldur_api_client/models/nested_software_catalog_catalog.py +86 -0
  239. waldur_api_client/models/nested_software_catalog_partition.py +86 -0
  240. waldur_api_client/models/nested_software_catalog_request.py +68 -0
  241. waldur_api_client/models/nested_software_target.py +84 -0
  242. waldur_api_client/models/nested_software_target_request.py +75 -0
  243. waldur_api_client/models/nested_software_version.py +124 -0
  244. waldur_api_client/models/nested_software_version_request.py +93 -0
  245. waldur_api_client/models/network_rbac_policy_request.py +8 -0
  246. waldur_api_client/models/notification.py +9 -9
  247. waldur_api_client/models/{notification_context_fields.py → notification_context_schema.py} +6 -6
  248. waldur_api_client/models/notification_template_detail_serializers.py +9 -3
  249. waldur_api_client/models/observable_object_type_enum.py +14 -0
  250. waldur_api_client/models/offering.py +42 -0
  251. waldur_api_client/models/offering_component.py +79 -0
  252. waldur_api_client/models/offering_component_request.py +80 -0
  253. waldur_api_client/models/offering_create.py +36 -0
  254. waldur_api_client/models/offering_partition.py +440 -0
  255. waldur_api_client/models/offering_partition_request.py +406 -0
  256. waldur_api_client/models/offering_software_catalog.py +176 -0
  257. waldur_api_client/models/offering_software_catalog_request.py +118 -0
  258. waldur_api_client/models/onboarding_company_validation_request_request.py +88 -0
  259. waldur_api_client/models/onboarding_justification.py +212 -0
  260. waldur_api_client/models/onboarding_justification_create_request.py +71 -0
  261. waldur_api_client/models/onboarding_justification_documentation.py +108 -0
  262. waldur_api_client/models/onboarding_justification_documentation_request.py +84 -0
  263. waldur_api_client/models/onboarding_justification_documentation_request_form.py +84 -0
  264. waldur_api_client/models/onboarding_justification_documentation_request_multipart.py +98 -0
  265. waldur_api_client/models/onboarding_justification_request.py +89 -0
  266. waldur_api_client/models/onboarding_justification_review_request.py +59 -0
  267. waldur_api_client/models/onboarding_verification.py +250 -0
  268. waldur_api_client/models/onboarding_verification_request.py +128 -0
  269. waldur_api_client/models/onboarding_verification_status_enum.py +12 -0
  270. waldur_api_client/models/open_stack_create_floating_ip_request.py +20 -1
  271. waldur_api_client/models/order_backend_id_request.py +59 -0
  272. waldur_api_client/models/order_create.py +4 -4
  273. waldur_api_client/models/order_details.py +43 -11
  274. waldur_api_client/models/order_state.py +1 -0
  275. waldur_api_client/models/patched_customer_component_usage_policy_request.py +104 -0
  276. waldur_api_client/models/patched_network_rbac_policy_request.py +85 -0
  277. waldur_api_client/models/patched_offering_partition_request.py +412 -0
  278. waldur_api_client/models/patched_offering_software_catalog_update_request.py +131 -0
  279. waldur_api_client/models/patched_onboarding_justification_request.py +88 -0
  280. waldur_api_client/models/patched_onboarding_verification_request.py +128 -0
  281. waldur_api_client/models/patched_project_credit_request.py +13 -0
  282. waldur_api_client/models/patched_project_request.py +10 -2
  283. waldur_api_client/models/patched_project_request_form.py +10 -2
  284. waldur_api_client/models/patched_project_request_multipart.py +13 -2
  285. waldur_api_client/models/patched_software_catalog_request.py +86 -0
  286. waldur_api_client/models/patched_software_package_request.py +86 -0
  287. waldur_api_client/models/plan_component.py +40 -0
  288. waldur_api_client/models/project.py +37 -2
  289. waldur_api_client/models/project_credit.py +13 -0
  290. waldur_api_client/models/project_credit_request.py +13 -0
  291. waldur_api_client/models/project_recovery_request.py +70 -0
  292. waldur_api_client/models/project_request.py +10 -2
  293. waldur_api_client/models/project_request_form.py +10 -2
  294. waldur_api_client/models/project_request_multipart.py +13 -2
  295. waldur_api_client/models/project_user.py +21 -4
  296. waldur_api_client/models/projects_add_user_response_400.py +65 -0
  297. waldur_api_client/models/projects_list_field_item.py +4 -0
  298. waldur_api_client/models/projects_move_project_response_400.py +65 -0
  299. waldur_api_client/models/projects_retrieve_field_item.py +4 -0
  300. waldur_api_client/models/proposal_proposals_add_user_response_400.py +65 -0
  301. waldur_api_client/models/proposal_protected_calls_add_user_response_400.py +65 -0
  302. waldur_api_client/models/protected_round.py +4 -4
  303. waldur_api_client/models/provider_offering_details.py +42 -0
  304. waldur_api_client/models/provider_plan_details.py +18 -0
  305. waldur_api_client/models/public_offering_details.py +42 -0
  306. waldur_api_client/models/question.py +102 -0
  307. waldur_api_client/models/question_options.py +79 -0
  308. waldur_api_client/models/remote_resource_order_remote_state_enum.py +1 -0
  309. waldur_api_client/models/{set_offerings_username.py → remove_partition_request.py} +11 -19
  310. waldur_api_client/models/remove_software_catalog_request.py +60 -0
  311. waldur_api_client/models/resource.py +37 -11
  312. waldur_api_client/models/resource_downscaled_request.py +59 -0
  313. waldur_api_client/models/resource_paused_request.py +59 -0
  314. waldur_api_client/models/resource_renew_request.py +83 -0
  315. waldur_api_client/models/resource_renew_request_limits.py +44 -0
  316. waldur_api_client/models/resource_renewal_date_type_0.py +53 -0
  317. waldur_api_client/models/resource_restrict_member_access_request.py +59 -0
  318. waldur_api_client/models/{status_enum.py → round_status.py} +1 -1
  319. waldur_api_client/models/service_provider_checklist_summary.py +98 -0
  320. waldur_api_client/models/software_catalog.py +130 -0
  321. waldur_api_client/models/software_catalog_request.py +87 -0
  322. waldur_api_client/models/software_catalog_uuid.py +60 -0
  323. waldur_api_client/models/software_package.py +168 -0
  324. waldur_api_client/models/software_package_request.py +87 -0
  325. waldur_api_client/models/software_target.py +110 -0
  326. waldur_api_client/models/software_version.py +135 -0
  327. waldur_api_client/models/time_series_to_s_data.py +69 -0
  328. waldur_api_client/models/to_s_consent_dashboard.py +155 -0
  329. waldur_api_client/models/update_offering_component_request.py +79 -0
  330. waldur_api_client/models/user.py +20 -0
  331. waldur_api_client/models/users_list_field_item.py +1 -0
  332. waldur_api_client/models/users_me_retrieve_field_item.py +1 -0
  333. waldur_api_client/models/users_retrieve_field_item.py +1 -0
  334. waldur_api_client/models/validation_decision_enum.py +10 -0
  335. waldur_api_client/models/validation_method_enum.py +8 -0
  336. waldur_api_client/models/version_adoption.py +67 -0
  337. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/METADATA +1 -1
  338. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/RECORD +340 -123
  339. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +0 -36
  340. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/WHEEL +0 -0
  341. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,93 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+ from dateutil.parser import isoparse
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="NestedSoftwareVersionRequest")
12
+
13
+
14
+ @_attrs_define
15
+ class NestedSoftwareVersionRequest:
16
+ """
17
+ Attributes:
18
+ version (str):
19
+ release_date (Union[None, Unset, datetime.date]):
20
+ """
21
+
22
+ version: str
23
+ release_date: Union[None, Unset, datetime.date] = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ version = self.version
28
+
29
+ release_date: Union[None, Unset, str]
30
+ if isinstance(self.release_date, Unset):
31
+ release_date = UNSET
32
+ elif isinstance(self.release_date, datetime.date):
33
+ release_date = self.release_date.isoformat()
34
+ else:
35
+ release_date = self.release_date
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "version": version,
42
+ }
43
+ )
44
+ if release_date is not UNSET:
45
+ field_dict["release_date"] = release_date
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
51
+ d = dict(src_dict)
52
+ version = d.pop("version")
53
+
54
+ def _parse_release_date(data: object) -> Union[None, Unset, datetime.date]:
55
+ if data is None:
56
+ return data
57
+ if isinstance(data, Unset):
58
+ return data
59
+ try:
60
+ if not isinstance(data, str):
61
+ raise TypeError()
62
+ release_date_type_0 = isoparse(data).date()
63
+
64
+ return release_date_type_0
65
+ except: # noqa: E722
66
+ pass
67
+ return cast(Union[None, Unset, datetime.date], data)
68
+
69
+ release_date = _parse_release_date(d.pop("release_date", UNSET))
70
+
71
+ nested_software_version_request = cls(
72
+ version=version,
73
+ release_date=release_date,
74
+ )
75
+
76
+ nested_software_version_request.additional_properties = d
77
+ return nested_software_version_request
78
+
79
+ @property
80
+ def additional_keys(self) -> list[str]:
81
+ return list(self.additional_properties.keys())
82
+
83
+ def __getitem__(self, key: str) -> Any:
84
+ return self.additional_properties[key]
85
+
86
+ def __setitem__(self, key: str, value: Any) -> None:
87
+ self.additional_properties[key] = value
88
+
89
+ def __delitem__(self, key: str) -> None:
90
+ del self.additional_properties[key]
91
+
92
+ def __contains__(self, key: str) -> bool:
93
+ return key in self.additional_properties
@@ -14,15 +14,19 @@ T = TypeVar("T", bound="NetworkRBACPolicyRequest")
14
14
  class NetworkRBACPolicyRequest:
15
15
  """
16
16
  Attributes:
17
+ network (str):
17
18
  target_tenant (str):
18
19
  policy_type (Union[Unset, PolicyTypeEnum]): Default: PolicyTypeEnum.ACCESS_AS_SHARED.
19
20
  """
20
21
 
22
+ network: str
21
23
  target_tenant: str
22
24
  policy_type: Union[Unset, PolicyTypeEnum] = PolicyTypeEnum.ACCESS_AS_SHARED
23
25
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
26
 
25
27
  def to_dict(self) -> dict[str, Any]:
28
+ network = self.network
29
+
26
30
  target_tenant = self.target_tenant
27
31
 
28
32
  policy_type: Union[Unset, str] = UNSET
@@ -33,6 +37,7 @@ class NetworkRBACPolicyRequest:
33
37
  field_dict.update(self.additional_properties)
34
38
  field_dict.update(
35
39
  {
40
+ "network": network,
36
41
  "target_tenant": target_tenant,
37
42
  }
38
43
  )
@@ -44,6 +49,8 @@ class NetworkRBACPolicyRequest:
44
49
  @classmethod
45
50
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
46
51
  d = dict(src_dict)
52
+ network = d.pop("network")
53
+
47
54
  target_tenant = d.pop("target_tenant")
48
55
 
49
56
  _policy_type = d.pop("policy_type", UNSET)
@@ -54,6 +61,7 @@ class NetworkRBACPolicyRequest:
54
61
  policy_type = PolicyTypeEnum(_policy_type)
55
62
 
56
63
  network_rbac_policy_request = cls(
64
+ network=network,
57
65
  target_tenant=target_tenant,
58
66
  policy_type=policy_type,
59
67
  )
@@ -10,7 +10,7 @@ from dateutil.parser import isoparse
10
10
  from ..types import UNSET, Unset
11
11
 
12
12
  if TYPE_CHECKING:
13
- from ..models.notification_context_fields import NotificationContextFields
13
+ from ..models.notification_context_schema import NotificationContextSchema
14
14
  from ..models.notification_template_detail_serializers import NotificationTemplateDetailSerializers
15
15
 
16
16
 
@@ -27,8 +27,8 @@ class Notification:
27
27
  enabled (bool): Indicates if notification is enabled or disabled
28
28
  created (datetime.datetime):
29
29
  templates (list['NotificationTemplateDetailSerializers']):
30
- context_fields (NotificationContextFields): Finds the notification definition in the global NOTIFICATIONS
31
- dictionary and returns its 'context' fields.
30
+ context_schema (NotificationContextSchema): Finds the notification definition in the global NOTIFICATIONS
31
+ dictionary and returns its 'context' schema.
32
32
  description (Union[Unset, str]):
33
33
  """
34
34
 
@@ -38,7 +38,7 @@ class Notification:
38
38
  enabled: bool
39
39
  created: datetime.datetime
40
40
  templates: list["NotificationTemplateDetailSerializers"]
41
- context_fields: "NotificationContextFields"
41
+ context_schema: "NotificationContextSchema"
42
42
  description: Union[Unset, str] = UNSET
43
43
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
44
 
@@ -58,7 +58,7 @@ class Notification:
58
58
  templates_item = templates_item_data.to_dict()
59
59
  templates.append(templates_item)
60
60
 
61
- context_fields = self.context_fields.to_dict()
61
+ context_schema = self.context_schema.to_dict()
62
62
 
63
63
  description = self.description
64
64
 
@@ -72,7 +72,7 @@ class Notification:
72
72
  "enabled": enabled,
73
73
  "created": created,
74
74
  "templates": templates,
75
- "context_fields": context_fields,
75
+ "context_schema": context_schema,
76
76
  }
77
77
  )
78
78
  if description is not UNSET:
@@ -82,7 +82,7 @@ class Notification:
82
82
 
83
83
  @classmethod
84
84
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
85
- from ..models.notification_context_fields import NotificationContextFields
85
+ from ..models.notification_context_schema import NotificationContextSchema
86
86
  from ..models.notification_template_detail_serializers import NotificationTemplateDetailSerializers
87
87
 
88
88
  d = dict(src_dict)
@@ -103,7 +103,7 @@ class Notification:
103
103
 
104
104
  templates.append(templates_item)
105
105
 
106
- context_fields = NotificationContextFields.from_dict(d.pop("context_fields"))
106
+ context_schema = NotificationContextSchema.from_dict(d.pop("context_schema"))
107
107
 
108
108
  description = d.pop("description", UNSET)
109
109
 
@@ -114,7 +114,7 @@ class Notification:
114
114
  enabled=enabled,
115
115
  created=created,
116
116
  templates=templates,
117
- context_fields=context_fields,
117
+ context_schema=context_schema,
118
118
  description=description,
119
119
  )
120
120
 
@@ -4,13 +4,13 @@ from typing import Any, TypeVar
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
- T = TypeVar("T", bound="NotificationContextFields")
7
+ T = TypeVar("T", bound="NotificationContextSchema")
8
8
 
9
9
 
10
10
  @_attrs_define
11
- class NotificationContextFields:
11
+ class NotificationContextSchema:
12
12
  """Finds the notification definition in the global NOTIFICATIONS
13
- dictionary and returns its 'context' fields.
13
+ dictionary and returns its 'context' schema.
14
14
 
15
15
  """
16
16
 
@@ -25,10 +25,10 @@ class NotificationContextFields:
25
25
  @classmethod
26
26
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
27
27
  d = dict(src_dict)
28
- notification_context_fields = cls()
28
+ notification_context_schema = cls()
29
29
 
30
- notification_context_fields.additional_properties = d
31
- return notification_context_fields
30
+ notification_context_schema.additional_properties = d
31
+ return notification_context_schema
32
32
 
33
33
  @property
34
34
  def additional_keys(self) -> list[str]:
@@ -16,7 +16,7 @@ class NotificationTemplateDetailSerializers:
16
16
  url (str):
17
17
  path (str): Example: 'flatpages/default.html'
18
18
  name (str):
19
- content (str):
19
+ content (Union[None, str]):
20
20
  original_content (Union[None, str]):
21
21
  is_content_overridden (bool):
22
22
  """
@@ -25,7 +25,7 @@ class NotificationTemplateDetailSerializers:
25
25
  url: str
26
26
  path: str
27
27
  name: str
28
- content: str
28
+ content: Union[None, str]
29
29
  original_content: Union[None, str]
30
30
  is_content_overridden: bool
31
31
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -39,6 +39,7 @@ class NotificationTemplateDetailSerializers:
39
39
 
40
40
  name = self.name
41
41
 
42
+ content: Union[None, str]
42
43
  content = self.content
43
44
 
44
45
  original_content: Union[None, str]
@@ -73,7 +74,12 @@ class NotificationTemplateDetailSerializers:
73
74
 
74
75
  name = d.pop("name")
75
76
 
76
- content = d.pop("content")
77
+ def _parse_content(data: object) -> Union[None, str]:
78
+ if data is None:
79
+ return data
80
+ return cast(Union[None, str], data)
81
+
82
+ content = _parse_content(d.pop("content"))
77
83
 
78
84
  def _parse_original_content(data: object) -> Union[None, str]:
79
85
  if data is None:
@@ -0,0 +1,14 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ObservableObjectTypeEnum(str, Enum):
5
+ COURSE_ACCOUNT = "course_account"
6
+ IMPORTABLE_RESOURCES = "importable_resources"
7
+ OFFERING_USER = "offering_user"
8
+ ORDER = "order"
9
+ RESOURCE = "resource"
10
+ SERVICE_ACCOUNT = "service_account"
11
+ USER_ROLE = "user_role"
12
+
13
+ def __str__(self) -> str:
14
+ return str(self.value)
@@ -19,8 +19,10 @@ if TYPE_CHECKING:
19
19
  from ..models.merged_plugin_options import MergedPluginOptions
20
20
  from ..models.nested_endpoint import NestedEndpoint
21
21
  from ..models.nested_offering_file import NestedOfferingFile
22
+ from ..models.nested_partition import NestedPartition
22
23
  from ..models.nested_role import NestedRole
23
24
  from ..models.nested_screenshot import NestedScreenshot
25
+ from ..models.nested_software_catalog import NestedSoftwareCatalog
24
26
  from ..models.offering_attributes import OfferingAttributes
25
27
  from ..models.offering_component import OfferingComponent
26
28
  from ..models.offering_options import OfferingOptions
@@ -45,6 +47,8 @@ class Offering:
45
47
  privacy_policy_link (Union[Unset, str]):
46
48
  access_url (Union[Unset, str]): Publicly accessible offering access URL
47
49
  endpoints (Union[Unset, list['NestedEndpoint']]):
50
+ software_catalogs (Union[Unset, list['NestedSoftwareCatalog']]):
51
+ partitions (Union[Unset, list['NestedPartition']]):
48
52
  roles (Union[Unset, list['NestedRole']]):
49
53
  customer (Union[None, Unset, str]):
50
54
  customer_uuid (Union[None, UUID, Unset]):
@@ -110,6 +114,8 @@ class Offering:
110
114
  privacy_policy_link: Union[Unset, str] = UNSET
111
115
  access_url: Union[Unset, str] = UNSET
112
116
  endpoints: Union[Unset, list["NestedEndpoint"]] = UNSET
117
+ software_catalogs: Union[Unset, list["NestedSoftwareCatalog"]] = UNSET
118
+ partitions: Union[Unset, list["NestedPartition"]] = UNSET
113
119
  roles: Union[Unset, list["NestedRole"]] = UNSET
114
120
  customer: Union[None, Unset, str] = UNSET
115
121
  customer_uuid: Union[None, UUID, Unset] = UNSET
@@ -195,6 +201,20 @@ class Offering:
195
201
  endpoints_item = endpoints_item_data.to_dict()
196
202
  endpoints.append(endpoints_item)
197
203
 
204
+ software_catalogs: Union[Unset, list[dict[str, Any]]] = UNSET
205
+ if not isinstance(self.software_catalogs, Unset):
206
+ software_catalogs = []
207
+ for software_catalogs_item_data in self.software_catalogs:
208
+ software_catalogs_item = software_catalogs_item_data.to_dict()
209
+ software_catalogs.append(software_catalogs_item)
210
+
211
+ partitions: Union[Unset, list[dict[str, Any]]] = UNSET
212
+ if not isinstance(self.partitions, Unset):
213
+ partitions = []
214
+ for partitions_item_data in self.partitions:
215
+ partitions_item = partitions_item_data.to_dict()
216
+ partitions.append(partitions_item)
217
+
198
218
  roles: Union[Unset, list[dict[str, Any]]] = UNSET
199
219
  if not isinstance(self.roles, Unset):
200
220
  roles = []
@@ -475,6 +495,10 @@ class Offering:
475
495
  field_dict["access_url"] = access_url
476
496
  if endpoints is not UNSET:
477
497
  field_dict["endpoints"] = endpoints
498
+ if software_catalogs is not UNSET:
499
+ field_dict["software_catalogs"] = software_catalogs
500
+ if partitions is not UNSET:
501
+ field_dict["partitions"] = partitions
478
502
  if roles is not UNSET:
479
503
  field_dict["roles"] = roles
480
504
  if customer is not UNSET:
@@ -591,8 +615,10 @@ class Offering:
591
615
  from ..models.merged_plugin_options import MergedPluginOptions
592
616
  from ..models.nested_endpoint import NestedEndpoint
593
617
  from ..models.nested_offering_file import NestedOfferingFile
618
+ from ..models.nested_partition import NestedPartition
594
619
  from ..models.nested_role import NestedRole
595
620
  from ..models.nested_screenshot import NestedScreenshot
621
+ from ..models.nested_software_catalog import NestedSoftwareCatalog
596
622
  from ..models.offering_attributes import OfferingAttributes
597
623
  from ..models.offering_component import OfferingComponent
598
624
  from ..models.offering_options import OfferingOptions
@@ -635,6 +661,20 @@ class Offering:
635
661
 
636
662
  endpoints.append(endpoints_item)
637
663
 
664
+ software_catalogs = []
665
+ _software_catalogs = d.pop("software_catalogs", UNSET)
666
+ for software_catalogs_item_data in _software_catalogs or []:
667
+ software_catalogs_item = NestedSoftwareCatalog.from_dict(software_catalogs_item_data)
668
+
669
+ software_catalogs.append(software_catalogs_item)
670
+
671
+ partitions = []
672
+ _partitions = d.pop("partitions", UNSET)
673
+ for partitions_item_data in _partitions or []:
674
+ partitions_item = NestedPartition.from_dict(partitions_item_data)
675
+
676
+ partitions.append(partitions_item)
677
+
638
678
  roles = []
639
679
  _roles = d.pop("roles", UNSET)
640
680
  for roles_item_data in _roles or []:
@@ -1034,6 +1074,8 @@ class Offering:
1034
1074
  privacy_policy_link=privacy_policy_link,
1035
1075
  access_url=access_url,
1036
1076
  endpoints=endpoints,
1077
+ software_catalogs=software_catalogs,
1078
+ partitions=partitions,
1037
1079
  roles=roles,
1038
1080
  customer=customer,
1039
1081
  customer_uuid=customer_uuid,
@@ -34,6 +34,10 @@ class OfferingComponent:
34
34
  default_limit (Union[None, Unset, int]):
35
35
  factor (Union[None, Unset, int]):
36
36
  is_builtin (Union[Unset, bool]):
37
+ is_prepaid (Union[Unset, bool]):
38
+ overage_component (Union[None, UUID, Unset]):
39
+ min_prepaid_duration (Union[None, Unset, int]):
40
+ max_prepaid_duration (Union[None, Unset, int]):
37
41
  """
38
42
 
39
43
  uuid: Union[Unset, UUID] = UNSET
@@ -53,6 +57,10 @@ class OfferingComponent:
53
57
  default_limit: Union[None, Unset, int] = UNSET
54
58
  factor: Union[None, Unset, int] = UNSET
55
59
  is_builtin: Union[Unset, bool] = UNSET
60
+ is_prepaid: Union[Unset, bool] = UNSET
61
+ overage_component: Union[None, UUID, Unset] = UNSET
62
+ min_prepaid_duration: Union[None, Unset, int] = UNSET
63
+ max_prepaid_duration: Union[None, Unset, int] = UNSET
56
64
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
57
65
 
58
66
  def to_dict(self) -> dict[str, Any]:
@@ -126,6 +134,28 @@ class OfferingComponent:
126
134
 
127
135
  is_builtin = self.is_builtin
128
136
 
137
+ is_prepaid = self.is_prepaid
138
+
139
+ overage_component: Union[None, Unset, str]
140
+ if isinstance(self.overage_component, Unset):
141
+ overage_component = UNSET
142
+ elif isinstance(self.overage_component, UUID):
143
+ overage_component = str(self.overage_component)
144
+ else:
145
+ overage_component = self.overage_component
146
+
147
+ min_prepaid_duration: Union[None, Unset, int]
148
+ if isinstance(self.min_prepaid_duration, Unset):
149
+ min_prepaid_duration = UNSET
150
+ else:
151
+ min_prepaid_duration = self.min_prepaid_duration
152
+
153
+ max_prepaid_duration: Union[None, Unset, int]
154
+ if isinstance(self.max_prepaid_duration, Unset):
155
+ max_prepaid_duration = UNSET
156
+ else:
157
+ max_prepaid_duration = self.max_prepaid_duration
158
+
129
159
  field_dict: dict[str, Any] = {}
130
160
  field_dict.update(self.additional_properties)
131
161
  field_dict.update({})
@@ -163,6 +193,14 @@ class OfferingComponent:
163
193
  field_dict["factor"] = factor
164
194
  if is_builtin is not UNSET:
165
195
  field_dict["is_builtin"] = is_builtin
196
+ if is_prepaid is not UNSET:
197
+ field_dict["is_prepaid"] = is_prepaid
198
+ if overage_component is not UNSET:
199
+ field_dict["overage_component"] = overage_component
200
+ if min_prepaid_duration is not UNSET:
201
+ field_dict["min_prepaid_duration"] = min_prepaid_duration
202
+ if max_prepaid_duration is not UNSET:
203
+ field_dict["max_prepaid_duration"] = max_prepaid_duration
166
204
 
167
205
  return field_dict
168
206
 
@@ -278,6 +316,43 @@ class OfferingComponent:
278
316
 
279
317
  is_builtin = d.pop("is_builtin", UNSET)
280
318
 
319
+ is_prepaid = d.pop("is_prepaid", UNSET)
320
+
321
+ def _parse_overage_component(data: object) -> Union[None, UUID, Unset]:
322
+ if data is None:
323
+ return data
324
+ if isinstance(data, Unset):
325
+ return data
326
+ try:
327
+ if not isinstance(data, str):
328
+ raise TypeError()
329
+ overage_component_type_0 = UUID(data)
330
+
331
+ return overage_component_type_0
332
+ except: # noqa: E722
333
+ pass
334
+ return cast(Union[None, UUID, Unset], data)
335
+
336
+ overage_component = _parse_overage_component(d.pop("overage_component", UNSET))
337
+
338
+ def _parse_min_prepaid_duration(data: object) -> Union[None, Unset, int]:
339
+ if data is None:
340
+ return data
341
+ if isinstance(data, Unset):
342
+ return data
343
+ return cast(Union[None, Unset, int], data)
344
+
345
+ min_prepaid_duration = _parse_min_prepaid_duration(d.pop("min_prepaid_duration", UNSET))
346
+
347
+ def _parse_max_prepaid_duration(data: object) -> Union[None, Unset, int]:
348
+ if data is None:
349
+ return data
350
+ if isinstance(data, Unset):
351
+ return data
352
+ return cast(Union[None, Unset, int], data)
353
+
354
+ max_prepaid_duration = _parse_max_prepaid_duration(d.pop("max_prepaid_duration", UNSET))
355
+
281
356
  offering_component = cls(
282
357
  uuid=uuid,
283
358
  billing_type=billing_type,
@@ -296,6 +371,10 @@ class OfferingComponent:
296
371
  default_limit=default_limit,
297
372
  factor=factor,
298
373
  is_builtin=is_builtin,
374
+ is_prepaid=is_prepaid,
375
+ overage_component=overage_component,
376
+ min_prepaid_duration=min_prepaid_duration,
377
+ max_prepaid_duration=max_prepaid_duration,
299
378
  )
300
379
 
301
380
  offering_component.additional_properties = d
@@ -1,5 +1,6 @@
1
1
  from collections.abc import Mapping
2
2
  from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
3
4
 
4
5
  from attrs import define as _attrs_define
5
6
  from attrs import field as _attrs_field
@@ -30,6 +31,10 @@ class OfferingComponentRequest:
30
31
  max_available_limit (Union[None, Unset, int]):
31
32
  is_boolean (Union[Unset, bool]):
32
33
  default_limit (Union[None, Unset, int]):
34
+ is_prepaid (Union[Unset, bool]):
35
+ overage_component (Union[None, UUID, Unset]):
36
+ min_prepaid_duration (Union[None, Unset, int]):
37
+ max_prepaid_duration (Union[None, Unset, int]):
33
38
  """
34
39
 
35
40
  billing_type: BillingTypeEnum
@@ -46,6 +51,10 @@ class OfferingComponentRequest:
46
51
  max_available_limit: Union[None, Unset, int] = UNSET
47
52
  is_boolean: Union[Unset, bool] = UNSET
48
53
  default_limit: Union[None, Unset, int] = UNSET
54
+ is_prepaid: Union[Unset, bool] = UNSET
55
+ overage_component: Union[None, UUID, Unset] = UNSET
56
+ min_prepaid_duration: Union[None, Unset, int] = UNSET
57
+ max_prepaid_duration: Union[None, Unset, int] = UNSET
49
58
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
50
59
 
51
60
  def to_dict(self) -> dict[str, Any]:
@@ -105,6 +114,28 @@ class OfferingComponentRequest:
105
114
  else:
106
115
  default_limit = self.default_limit
107
116
 
117
+ is_prepaid = self.is_prepaid
118
+
119
+ overage_component: Union[None, Unset, str]
120
+ if isinstance(self.overage_component, Unset):
121
+ overage_component = UNSET
122
+ elif isinstance(self.overage_component, UUID):
123
+ overage_component = str(self.overage_component)
124
+ else:
125
+ overage_component = self.overage_component
126
+
127
+ min_prepaid_duration: Union[None, Unset, int]
128
+ if isinstance(self.min_prepaid_duration, Unset):
129
+ min_prepaid_duration = UNSET
130
+ else:
131
+ min_prepaid_duration = self.min_prepaid_duration
132
+
133
+ max_prepaid_duration: Union[None, Unset, int]
134
+ if isinstance(self.max_prepaid_duration, Unset):
135
+ max_prepaid_duration = UNSET
136
+ else:
137
+ max_prepaid_duration = self.max_prepaid_duration
138
+
108
139
  field_dict: dict[str, Any] = {}
109
140
  field_dict.update(self.additional_properties)
110
141
  field_dict.update(
@@ -136,6 +167,14 @@ class OfferingComponentRequest:
136
167
  field_dict["is_boolean"] = is_boolean
137
168
  if default_limit is not UNSET:
138
169
  field_dict["default_limit"] = default_limit
170
+ if is_prepaid is not UNSET:
171
+ field_dict["is_prepaid"] = is_prepaid
172
+ if overage_component is not UNSET:
173
+ field_dict["overage_component"] = overage_component
174
+ if min_prepaid_duration is not UNSET:
175
+ field_dict["min_prepaid_duration"] = min_prepaid_duration
176
+ if max_prepaid_duration is not UNSET:
177
+ field_dict["max_prepaid_duration"] = max_prepaid_duration
139
178
 
140
179
  return field_dict
141
180
 
@@ -228,6 +267,43 @@ class OfferingComponentRequest:
228
267
 
229
268
  default_limit = _parse_default_limit(d.pop("default_limit", UNSET))
230
269
 
270
+ is_prepaid = d.pop("is_prepaid", UNSET)
271
+
272
+ def _parse_overage_component(data: object) -> Union[None, UUID, Unset]:
273
+ if data is None:
274
+ return data
275
+ if isinstance(data, Unset):
276
+ return data
277
+ try:
278
+ if not isinstance(data, str):
279
+ raise TypeError()
280
+ overage_component_type_0 = UUID(data)
281
+
282
+ return overage_component_type_0
283
+ except: # noqa: E722
284
+ pass
285
+ return cast(Union[None, UUID, Unset], data)
286
+
287
+ overage_component = _parse_overage_component(d.pop("overage_component", UNSET))
288
+
289
+ def _parse_min_prepaid_duration(data: object) -> Union[None, Unset, int]:
290
+ if data is None:
291
+ return data
292
+ if isinstance(data, Unset):
293
+ return data
294
+ return cast(Union[None, Unset, int], data)
295
+
296
+ min_prepaid_duration = _parse_min_prepaid_duration(d.pop("min_prepaid_duration", UNSET))
297
+
298
+ def _parse_max_prepaid_duration(data: object) -> Union[None, Unset, int]:
299
+ if data is None:
300
+ return data
301
+ if isinstance(data, Unset):
302
+ return data
303
+ return cast(Union[None, Unset, int], data)
304
+
305
+ max_prepaid_duration = _parse_max_prepaid_duration(d.pop("max_prepaid_duration", UNSET))
306
+
231
307
  offering_component_request = cls(
232
308
  billing_type=billing_type,
233
309
  type_=type_,
@@ -243,6 +319,10 @@ class OfferingComponentRequest:
243
319
  max_available_limit=max_available_limit,
244
320
  is_boolean=is_boolean,
245
321
  default_limit=default_limit,
322
+ is_prepaid=is_prepaid,
323
+ overage_component=overage_component,
324
+ min_prepaid_duration=min_prepaid_duration,
325
+ max_prepaid_duration=max_prepaid_duration,
246
326
  )
247
327
 
248
328
  offering_component_request.additional_properties = d