waldur-api-client 7.6.5__py3-none-any.whl → 7.6.8__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 (230) hide show
  1. waldur_api_client/api/access_subnets/access_subnets_list.py +8 -4
  2. waldur_api_client/api/admin_announcements/admin_announcements_list.py +8 -4
  3. waldur_api_client/api/auth_tokens/auth_tokens_list.py +8 -4
  4. waldur_api_client/api/autoprovisioning_rule_plans/autoprovisioning_rule_plans_list.py +8 -4
  5. waldur_api_client/api/autoprovisioning_rules/autoprovisioning_rules_list.py +8 -4
  6. waldur_api_client/api/aws_images/aws_images_list.py +8 -4
  7. waldur_api_client/api/aws_instances/aws_instances_list.py +8 -4
  8. waldur_api_client/api/aws_regions/aws_regions_list.py +8 -4
  9. waldur_api_client/api/aws_sizes/aws_sizes_list.py +8 -4
  10. waldur_api_client/api/aws_volumes/aws_volumes_list.py +8 -4
  11. waldur_api_client/api/azure_images/azure_images_list.py +8 -4
  12. waldur_api_client/api/azure_locations/azure_locations_list.py +8 -4
  13. waldur_api_client/api/azure_public_ips/azure_public_ips_list.py +8 -4
  14. waldur_api_client/api/azure_resource_groups/azure_resource_groups_list.py +8 -4
  15. waldur_api_client/api/azure_sizes/azure_sizes_list.py +8 -4
  16. waldur_api_client/api/azure_sql_databases/azure_sql_databases_list.py +8 -4
  17. waldur_api_client/api/azure_sql_servers/azure_sql_servers_list.py +8 -4
  18. waldur_api_client/api/azure_virtualmachines/azure_virtualmachines_list.py +8 -4
  19. waldur_api_client/api/backend_resource_requests/__init__.py +1 -0
  20. waldur_api_client/api/backend_resource_requests/backend_resource_requests_create.py +150 -0
  21. waldur_api_client/api/backend_resource_requests/backend_resource_requests_list.py +313 -0
  22. waldur_api_client/api/backend_resource_requests/backend_resource_requests_retrieve.py +142 -0
  23. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_done.py +144 -0
  24. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_erred.py +166 -0
  25. waldur_api_client/api/backend_resource_requests/backend_resource_requests_start_processing.py +146 -0
  26. waldur_api_client/api/backend_resources/__init__.py +1 -0
  27. waldur_api_client/api/backend_resources/backend_resources_create.py +150 -0
  28. waldur_api_client/api/backend_resources/backend_resources_destroy.py +89 -0
  29. waldur_api_client/api/backend_resources/backend_resources_import_resource.py +162 -0
  30. waldur_api_client/api/backend_resources/backend_resources_list.py +315 -0
  31. waldur_api_client/api/backend_resources/backend_resources_retrieve.py +142 -0
  32. waldur_api_client/api/booking_offerings/booking_offerings_list.py +8 -4
  33. waldur_api_client/api/booking_resources/booking_resources_list.py +8 -4
  34. waldur_api_client/api/broadcast_message_templates/broadcast_message_templates_list.py +8 -4
  35. waldur_api_client/api/broadcast_messages/broadcast_messages_list.py +8 -4
  36. waldur_api_client/api/call_managing_organisations/call_managing_organisations_list.py +8 -4
  37. waldur_api_client/api/call_rounds/call_rounds_list.py +8 -4
  38. waldur_api_client/api/component_user_usage_limits/component_user_usage_limits_list.py +8 -4
  39. waldur_api_client/api/customer_credits/customer_credits_list.py +8 -4
  40. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +8 -4
  41. waldur_api_client/api/digitalocean_droplets/digitalocean_droplets_list.py +8 -4
  42. waldur_api_client/api/digitalocean_images/digitalocean_images_list.py +8 -4
  43. waldur_api_client/api/digitalocean_regions/digitalocean_regions_list.py +8 -4
  44. waldur_api_client/api/digitalocean_sizes/digitalocean_sizes_list.py +8 -4
  45. waldur_api_client/api/email_logs/email_logs_list.py +8 -4
  46. waldur_api_client/api/event_subscriptions/event_subscriptions_list.py +8 -4
  47. waldur_api_client/api/events/events_list.py +8 -4
  48. waldur_api_client/api/events_stats/events_stats_list.py +8 -4
  49. waldur_api_client/api/financial_reports/financial_reports_list.py +8 -4
  50. waldur_api_client/api/freeipa_profiles/freeipa_profiles_list.py +8 -4
  51. waldur_api_client/api/google_auth/google_auth_list.py +8 -4
  52. waldur_api_client/api/hooks/hooks_list.py +4 -2
  53. waldur_api_client/api/hooks_email/hooks_email_list.py +8 -4
  54. waldur_api_client/api/hooks_web/hooks_web_list.py +8 -4
  55. waldur_api_client/api/identity_providers/identity_providers_list.py +8 -4
  56. waldur_api_client/api/invoice_items/invoice_items_list.py +8 -4
  57. waldur_api_client/api/invoices/invoices_list.py +8 -4
  58. waldur_api_client/api/keycloak_groups/keycloak_groups_list.py +8 -4
  59. waldur_api_client/api/keycloak_user_group_memberships/keycloak_user_group_memberships_list.py +8 -4
  60. waldur_api_client/api/keys/keys_list.py +8 -4
  61. waldur_api_client/api/lexis_links/lexis_links_list.py +8 -4
  62. waldur_api_client/api/marketplace_categories/marketplace_categories_list.py +8 -4
  63. waldur_api_client/api/marketplace_category_columns/marketplace_category_columns_list.py +8 -4
  64. waldur_api_client/api/marketplace_category_component_usages/marketplace_category_component_usages_list.py +8 -4
  65. waldur_api_client/api/marketplace_category_components/marketplace_category_components_list.py +8 -4
  66. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_list.py +8 -4
  67. waldur_api_client/api/marketplace_category_help_articles/marketplace_category_help_articles_list.py +8 -4
  68. waldur_api_client/api/marketplace_checklists/marketplace_checklists_answers_list.py +8 -4
  69. waldur_api_client/api/marketplace_checklists/marketplace_checklists_list.py +8 -4
  70. waldur_api_client/api/marketplace_checklists/marketplace_checklists_questions_list.py +8 -4
  71. waldur_api_client/api/marketplace_checklists/marketplace_checklists_user_answers_list.py +8 -4
  72. waldur_api_client/api/marketplace_checklists_categories/marketplace_checklists_categories_checklists_list.py +8 -4
  73. waldur_api_client/api/marketplace_checklists_categories/marketplace_checklists_categories_list.py +8 -4
  74. waldur_api_client/api/marketplace_component_usages/marketplace_component_usages_list.py +8 -4
  75. waldur_api_client/api/marketplace_component_user_usages/marketplace_component_user_usages_list.py +8 -4
  76. waldur_api_client/api/marketplace_customer_estimated_cost_policies/marketplace_customer_estimated_cost_policies_list.py +8 -4
  77. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +8 -4
  78. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +8 -4
  79. waldur_api_client/api/marketplace_offering_estimated_cost_policies/marketplace_offering_estimated_cost_policies_list.py +8 -4
  80. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +8 -4
  81. waldur_api_client/api/marketplace_offering_permissions/marketplace_offering_permissions_list.py +18 -17
  82. waldur_api_client/api/marketplace_offering_permissions_log/marketplace_offering_permissions_log_list.py +18 -17
  83. waldur_api_client/api/marketplace_offering_referrals/marketplace_offering_referrals_list.py +8 -4
  84. waldur_api_client/api/marketplace_offering_usage_policies/marketplace_offering_usage_policies_list.py +8 -4
  85. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +8 -4
  86. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +8 -4
  87. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +8 -4
  88. waldur_api_client/api/marketplace_plan_components/marketplace_plan_components_list.py +8 -4
  89. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +8 -4
  90. waldur_api_client/api/marketplace_project_estimated_cost_policies/marketplace_project_estimated_cost_policies_list.py +8 -4
  91. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +8 -4
  92. waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_list.py +8 -4
  93. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +10 -13
  94. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +10 -13
  95. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +10 -13
  96. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +10 -13
  97. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +18 -17
  98. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +20 -16
  99. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +8 -4
  100. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_as_erred.py +11 -68
  101. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_backend_id.py +20 -16
  102. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_backend_metadata.py +12 -12
  103. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_limits.py +12 -12
  104. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_submit_report.py +20 -16
  105. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +18 -17
  106. waldur_api_client/api/marketplace_remote_synchronisations/marketplace_remote_synchronisations_list.py +8 -4
  107. waldur_api_client/api/marketplace_resource_users/marketplace_resource_users_list.py +8 -4
  108. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +8 -4
  109. waldur_api_client/api/marketplace_resources/marketplace_resources_update_options.py +20 -16
  110. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +8 -4
  111. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +8 -4
  112. waldur_api_client/api/marketplace_script_async_dry_run/marketplace_script_async_dry_run_list.py +8 -4
  113. waldur_api_client/api/marketplace_sections/marketplace_sections_list.py +8 -4
  114. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  115. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_list.py +8 -4
  116. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +10 -13
  117. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_permissions_list.py +10 -13
  118. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +15 -0
  119. waldur_api_client/api/notification_messages/notification_messages_list.py +8 -4
  120. waldur_api_client/api/notification_messages_templates/notification_messages_templates_list.py +8 -4
  121. waldur_api_client/api/openstack_backups/openstack_backups_list.py +8 -4
  122. waldur_api_client/api/openstack_flavors/openstack_flavors_list.py +26 -4
  123. waldur_api_client/api/openstack_images/openstack_images_list.py +26 -4
  124. waldur_api_client/api/openstack_instance_availability_zones/openstack_instance_availability_zones_list.py +8 -4
  125. waldur_api_client/api/openstack_instances/openstack_instances_list.py +8 -4
  126. waldur_api_client/api/openstack_marketplace_tenants/openstack_marketplace_tenants_list.py +8 -4
  127. waldur_api_client/api/openstack_migrations/openstack_migrations_list.py +8 -4
  128. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_list.py +8 -4
  129. waldur_api_client/api/openstack_networks/openstack_networks_list.py +8 -4
  130. waldur_api_client/api/openstack_ports/openstack_ports_list.py +8 -4
  131. waldur_api_client/api/openstack_routers/openstack_routers_list.py +8 -4
  132. waldur_api_client/api/openstack_security_groups/openstack_security_groups_list.py +8 -4
  133. waldur_api_client/api/openstack_server_groups/openstack_server_groups_list.py +8 -4
  134. waldur_api_client/api/openstack_snapshots/openstack_snapshots_list.py +8 -4
  135. waldur_api_client/api/openstack_subnets/openstack_subnets_list.py +8 -4
  136. waldur_api_client/api/openstack_tenants/openstack_tenants_list.py +8 -4
  137. waldur_api_client/api/openstack_volume_availability_zones/openstack_volume_availability_zones_list.py +8 -4
  138. waldur_api_client/api/openstack_volume_types/openstack_volume_types_list.py +26 -4
  139. waldur_api_client/api/openstack_volumes/openstack_volumes_list.py +8 -4
  140. waldur_api_client/api/organization_groups/organization_groups_list.py +8 -4
  141. waldur_api_client/api/payment_profiles/payment_profiles_list.py +8 -4
  142. waldur_api_client/api/payments/payments_list.py +8 -4
  143. waldur_api_client/api/project_credits/project_credits_list.py +8 -4
  144. waldur_api_client/api/project_types/project_types_list.py +8 -4
  145. waldur_api_client/api/projects/projects_list.py +23 -4
  146. waldur_api_client/api/promotions_campaigns/promotions_campaigns_list.py +8 -4
  147. waldur_api_client/api/proposal_proposals/proposal_proposals_list.py +8 -4
  148. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_list.py +8 -4
  149. waldur_api_client/api/proposal_public_calls/proposal_public_calls_list.py +8 -4
  150. waldur_api_client/api/proposal_requested_offerings/proposal_requested_offerings_list.py +8 -4
  151. waldur_api_client/api/proposal_requested_resources/proposal_requested_resources_list.py +8 -4
  152. waldur_api_client/api/proposal_reviews/proposal_reviews_list.py +8 -4
  153. waldur_api_client/api/provider_invoice_items/provider_invoice_items_list.py +8 -4
  154. waldur_api_client/api/rancher_apps/rancher_apps_list.py +8 -4
  155. waldur_api_client/api/rancher_catalogs/rancher_catalogs_list.py +8 -4
  156. waldur_api_client/api/rancher_cluster_security_groups/rancher_cluster_security_groups_list.py +8 -4
  157. waldur_api_client/api/rancher_cluster_templates/rancher_cluster_templates_list.py +8 -4
  158. waldur_api_client/api/rancher_clusters/rancher_clusters_list.py +8 -4
  159. waldur_api_client/api/rancher_hpas/rancher_hpas_list.py +8 -4
  160. waldur_api_client/api/rancher_ingresses/rancher_ingresses_list.py +8 -4
  161. waldur_api_client/api/rancher_namespaces/rancher_namespaces_list.py +8 -4
  162. waldur_api_client/api/rancher_nodes/rancher_nodes_list.py +8 -4
  163. waldur_api_client/api/rancher_projects/rancher_projects_list.py +8 -4
  164. waldur_api_client/api/rancher_role_templates/rancher_role_templates_list.py +8 -4
  165. waldur_api_client/api/rancher_services/rancher_services_list.py +8 -4
  166. waldur_api_client/api/rancher_templates/rancher_templates_list.py +8 -4
  167. waldur_api_client/api/rancher_users/rancher_users_list.py +8 -4
  168. waldur_api_client/api/rancher_workloads/rancher_workloads_list.py +8 -4
  169. waldur_api_client/api/roles/roles_list.py +8 -4
  170. waldur_api_client/api/service_settings/service_settings_list.py +18 -17
  171. waldur_api_client/api/slurm_allocation_user_usage/slurm_allocation_user_usage_list.py +8 -4
  172. waldur_api_client/api/slurm_allocations/slurm_allocations_list.py +8 -4
  173. waldur_api_client/api/slurm_associations/slurm_associations_list.py +8 -4
  174. waldur_api_client/api/slurm_jobs/slurm_jobs_list.py +8 -4
  175. waldur_api_client/api/support_attachments/support_attachments_list.py +8 -4
  176. waldur_api_client/api/support_comments/support_comments_list.py +8 -4
  177. waldur_api_client/api/support_feedbacks/support_feedbacks_list.py +8 -4
  178. waldur_api_client/api/support_issues/support_issues_list.py +8 -4
  179. waldur_api_client/api/support_priorities/support_priorities_list.py +8 -4
  180. waldur_api_client/api/support_templates/support_templates_list.py +8 -4
  181. waldur_api_client/api/support_users/support_users_list.py +8 -4
  182. waldur_api_client/api/user_agreements/user_agreements_list.py +8 -4
  183. waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +8 -4
  184. waldur_api_client/api/user_invitations/user_invitations_list.py +8 -4
  185. waldur_api_client/api/user_permission_requests/user_permission_requests_list.py +8 -4
  186. waldur_api_client/api/user_permissions/user_permissions_list.py +18 -17
  187. waldur_api_client/api/users/users_list.py +8 -4
  188. waldur_api_client/api/vmware_clusters/vmware_clusters_list.py +8 -4
  189. waldur_api_client/api/vmware_datastores/vmware_datastores_list.py +8 -4
  190. waldur_api_client/api/vmware_disks/vmware_disks_list.py +8 -4
  191. waldur_api_client/api/vmware_folders/vmware_folders_list.py +8 -4
  192. waldur_api_client/api/vmware_networks/vmware_networks_list.py +8 -4
  193. waldur_api_client/api/vmware_ports/vmware_ports_list.py +8 -4
  194. waldur_api_client/api/vmware_templates/vmware_templates_list.py +8 -4
  195. waldur_api_client/api/vmware_virtual_machine/vmware_virtual_machine_list.py +8 -4
  196. waldur_api_client/models/__init__.py +28 -16
  197. waldur_api_client/models/backend_resource.py +162 -0
  198. waldur_api_client/models/{resource_backend_id.py → backend_resource_import_request.py} +21 -13
  199. waldur_api_client/models/backend_resource_req.py +162 -0
  200. waldur_api_client/models/{resource_backend_metadata.py → backend_resource_req_request.py} +12 -11
  201. waldur_api_client/models/backend_resource_req_state_enum.py +11 -0
  202. waldur_api_client/models/backend_resource_request.py +96 -0
  203. waldur_api_client/models/{resource_set_state_erred.py → backend_resource_request_set_erred_request.py} +5 -5
  204. waldur_api_client/models/backend_resource_requests_list_o_item.py +9 -0
  205. waldur_api_client/models/backend_resource_requests_list_state_item.py +11 -0
  206. waldur_api_client/models/{order_details_attributes.py → backend_resource_requests_set_done_response_200.py} +6 -6
  207. waldur_api_client/models/{resource_options.py → backend_resource_requests_set_erred_response_200.py} +7 -22
  208. waldur_api_client/models/backend_resource_requests_start_processing_response_200.py +44 -0
  209. waldur_api_client/models/backend_resources_list_o_item.py +9 -0
  210. waldur_api_client/models/constance_settings.py +9 -0
  211. waldur_api_client/models/constance_settings_request.py +9 -0
  212. waldur_api_client/models/customer.py +0 -21
  213. waldur_api_client/models/customers_list_field_item.py +0 -1
  214. waldur_api_client/models/customers_retrieve_field_item.py +0 -1
  215. waldur_api_client/models/event_types_enum.py +5 -0
  216. waldur_api_client/models/merged_plugin_options.py +20 -0
  217. waldur_api_client/models/merged_plugin_options_request.py +20 -0
  218. waldur_api_client/models/nested_requested_offering.py +18 -0
  219. waldur_api_client/models/order_details.py +4 -14
  220. waldur_api_client/models/provider_requested_offering.py +10 -0
  221. waldur_api_client/models/requested_offering.py +10 -0
  222. waldur_api_client/models/{resource_set_limits.py → resource_response_status.py} +11 -11
  223. waldur_api_client/models/user_agreement.py +9 -11
  224. waldur_api_client/models/user_agreement_request.py +9 -11
  225. {waldur_api_client-7.6.5.dist-info → waldur_api_client-7.6.8.dist-info}/METADATA +1 -1
  226. {waldur_api_client-7.6.5.dist-info → waldur_api_client-7.6.8.dist-info}/RECORD +228 -209
  227. waldur_api_client/models/permission_project.py +0 -147
  228. waldur_api_client/models/resource_report.py +0 -73
  229. {waldur_api_client-7.6.5.dist-info → waldur_api_client-7.6.8.dist-info}/LICENSE +0 -0
  230. {waldur_api_client-7.6.5.dist-info → waldur_api_client-7.6.8.dist-info}/WHEEL +0 -0
@@ -1,46 +1,31 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, TypeVar, Union
2
+ from typing import Any, TypeVar
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
- from ..types import UNSET, Unset
8
-
9
- T = TypeVar("T", bound="ResourceOptions")
7
+ T = TypeVar("T", bound="BackendResourceRequestsSetErredResponse200")
10
8
 
11
9
 
12
10
  @_attrs_define
13
- class ResourceOptions:
14
- """
15
- Attributes:
16
- options (Union[Unset, Any]):
17
- """
11
+ class BackendResourceRequestsSetErredResponse200:
12
+ """ """
18
13
 
19
- options: Union[Unset, Any] = UNSET
20
14
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
15
 
22
16
  def to_dict(self) -> dict[str, Any]:
23
- options = self.options
24
-
25
17
  field_dict: dict[str, Any] = {}
26
18
  field_dict.update(self.additional_properties)
27
- field_dict.update({})
28
- if options is not UNSET:
29
- field_dict["options"] = options
30
19
 
31
20
  return field_dict
32
21
 
33
22
  @classmethod
34
23
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
24
  d = dict(src_dict)
36
- options = d.pop("options", UNSET)
37
-
38
- resource_options = cls(
39
- options=options,
40
- )
25
+ backend_resource_requests_set_erred_response_200 = cls()
41
26
 
42
- resource_options.additional_properties = d
43
- return resource_options
27
+ backend_resource_requests_set_erred_response_200.additional_properties = d
28
+ return backend_resource_requests_set_erred_response_200
44
29
 
45
30
  @property
46
31
  def additional_keys(self) -> list[str]:
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="BackendResourceRequestsStartProcessingResponse200")
8
+
9
+
10
+ @_attrs_define
11
+ class BackendResourceRequestsStartProcessingResponse200:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ backend_resource_requests_start_processing_response_200 = cls()
26
+
27
+ backend_resource_requests_start_processing_response_200.additional_properties = d
28
+ return backend_resource_requests_start_processing_response_200
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class BackendResourcesListOItem(str, Enum):
5
+ CREATED = "created"
6
+ VALUE_0 = "-created"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -142,6 +142,7 @@ class ConstanceSettings:
142
142
  oidc_client_secret (Union[Unset, str]):
143
143
  oidc_user_field (Union[Unset, str]):
144
144
  oidc_cache_timeout (Union[Unset, int]):
145
+ deactivate_user_if_no_roles (Union[Unset, bool]):
145
146
  """
146
147
 
147
148
  site_name: Union[Unset, str] = UNSET
@@ -273,6 +274,7 @@ class ConstanceSettings:
273
274
  oidc_client_secret: Union[Unset, str] = UNSET
274
275
  oidc_user_field: Union[Unset, str] = UNSET
275
276
  oidc_cache_timeout: Union[Unset, int] = UNSET
277
+ deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
276
278
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
277
279
 
278
280
  def to_dict(self) -> dict[str, Any]:
@@ -586,6 +588,8 @@ class ConstanceSettings:
586
588
 
587
589
  oidc_cache_timeout = self.oidc_cache_timeout
588
590
 
591
+ deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
592
+
589
593
  field_dict: dict[str, Any] = {}
590
594
  field_dict.update(self.additional_properties)
591
595
  field_dict.update({})
@@ -851,6 +855,8 @@ class ConstanceSettings:
851
855
  field_dict["OIDC_USER_FIELD"] = oidc_user_field
852
856
  if oidc_cache_timeout is not UNSET:
853
857
  field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
858
+ if deactivate_user_if_no_roles is not UNSET:
859
+ field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
854
860
 
855
861
  return field_dict
856
862
 
@@ -1203,6 +1209,8 @@ class ConstanceSettings:
1203
1209
 
1204
1210
  oidc_cache_timeout = d.pop("OIDC_CACHE_TIMEOUT", UNSET)
1205
1211
 
1212
+ deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
1213
+
1206
1214
  constance_settings = cls(
1207
1215
  site_name=site_name,
1208
1216
  site_description=site_description,
@@ -1333,6 +1341,7 @@ class ConstanceSettings:
1333
1341
  oidc_client_secret=oidc_client_secret,
1334
1342
  oidc_user_field=oidc_user_field,
1335
1343
  oidc_cache_timeout=oidc_cache_timeout,
1344
+ deactivate_user_if_no_roles=deactivate_user_if_no_roles,
1336
1345
  )
1337
1346
 
1338
1347
  constance_settings.additional_properties = d
@@ -144,6 +144,7 @@ class ConstanceSettingsRequest:
144
144
  oidc_client_secret (Union[Unset, str]):
145
145
  oidc_user_field (Union[Unset, str]):
146
146
  oidc_cache_timeout (Union[Unset, int]):
147
+ deactivate_user_if_no_roles (Union[Unset, bool]):
147
148
  """
148
149
 
149
150
  site_name: Union[Unset, str] = UNSET
@@ -275,6 +276,7 @@ class ConstanceSettingsRequest:
275
276
  oidc_client_secret: Union[Unset, str] = UNSET
276
277
  oidc_user_field: Union[Unset, str] = UNSET
277
278
  oidc_cache_timeout: Union[Unset, int] = UNSET
279
+ deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
278
280
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
279
281
 
280
282
  def to_dict(self) -> dict[str, Any]:
@@ -624,6 +626,8 @@ class ConstanceSettingsRequest:
624
626
 
625
627
  oidc_cache_timeout = self.oidc_cache_timeout
626
628
 
629
+ deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
630
+
627
631
  field_dict: dict[str, Any] = {}
628
632
  field_dict.update(self.additional_properties)
629
633
  field_dict.update({})
@@ -889,6 +893,8 @@ class ConstanceSettingsRequest:
889
893
  field_dict["OIDC_USER_FIELD"] = oidc_user_field
890
894
  if oidc_cache_timeout is not UNSET:
891
895
  field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
896
+ if deactivate_user_if_no_roles is not UNSET:
897
+ field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
892
898
 
893
899
  return field_dict
894
900
 
@@ -1337,6 +1343,8 @@ class ConstanceSettingsRequest:
1337
1343
 
1338
1344
  oidc_cache_timeout = d.pop("OIDC_CACHE_TIMEOUT", UNSET)
1339
1345
 
1346
+ deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
1347
+
1340
1348
  constance_settings_request = cls(
1341
1349
  site_name=site_name,
1342
1350
  site_description=site_description,
@@ -1467,6 +1475,7 @@ class ConstanceSettingsRequest:
1467
1475
  oidc_client_secret=oidc_client_secret,
1468
1476
  oidc_user_field=oidc_user_field,
1469
1477
  oidc_cache_timeout=oidc_cache_timeout,
1478
+ deactivate_user_if_no_roles=deactivate_user_if_no_roles,
1470
1479
  )
1471
1480
 
1472
1481
  constance_settings_request.additional_properties = d
@@ -15,7 +15,6 @@ if TYPE_CHECKING:
15
15
  from ..models.nested_price_estimate import NestedPriceEstimate
16
16
  from ..models.organization_group import OrganizationGroup
17
17
  from ..models.payment_profile import PaymentProfile
18
- from ..models.permission_project import PermissionProject
19
18
 
20
19
 
21
20
  T = TypeVar("T", bound="Customer")
@@ -30,7 +29,6 @@ class Customer:
30
29
  created (Union[Unset, datetime.datetime]):
31
30
  organization_groups (Union[Unset, list['OrganizationGroup']]):
32
31
  display_name (Union[Unset, str]):
33
- projects (Union[Unset, list['PermissionProject']]):
34
32
  backend_id (Union[Unset, str]): Organization identifier in another application.
35
33
  image (Union[None, Unset, str]):
36
34
  blocked (Union[Unset, bool]):
@@ -78,7 +76,6 @@ class Customer:
78
76
  created: Union[Unset, datetime.datetime] = UNSET
79
77
  organization_groups: Union[Unset, list["OrganizationGroup"]] = UNSET
80
78
  display_name: Union[Unset, str] = UNSET
81
- projects: Union[Unset, list["PermissionProject"]] = UNSET
82
79
  backend_id: Union[Unset, str] = UNSET
83
80
  image: Union[None, Unset, str] = UNSET
84
81
  blocked: Union[Unset, bool] = UNSET
@@ -140,13 +137,6 @@ class Customer:
140
137
 
141
138
  display_name = self.display_name
142
139
 
143
- projects: Union[Unset, list[dict[str, Any]]] = UNSET
144
- if not isinstance(self.projects, Unset):
145
- projects = []
146
- for projects_item_data in self.projects:
147
- projects_item = projects_item_data.to_dict()
148
- projects.append(projects_item)
149
-
150
140
  backend_id = self.backend_id
151
141
 
152
142
  image: Union[None, Unset, str]
@@ -295,8 +285,6 @@ class Customer:
295
285
  field_dict["organization_groups"] = organization_groups
296
286
  if display_name is not UNSET:
297
287
  field_dict["display_name"] = display_name
298
- if projects is not UNSET:
299
- field_dict["projects"] = projects
300
288
  if backend_id is not UNSET:
301
289
  field_dict["backend_id"] = backend_id
302
290
  if image is not UNSET:
@@ -383,7 +371,6 @@ class Customer:
383
371
  from ..models.nested_price_estimate import NestedPriceEstimate
384
372
  from ..models.organization_group import OrganizationGroup
385
373
  from ..models.payment_profile import PaymentProfile
386
- from ..models.permission_project import PermissionProject
387
374
 
388
375
  d = dict(src_dict)
389
376
  url = d.pop("url", UNSET)
@@ -411,13 +398,6 @@ class Customer:
411
398
 
412
399
  display_name = d.pop("display_name", UNSET)
413
400
 
414
- projects = []
415
- _projects = d.pop("projects", UNSET)
416
- for projects_item_data in _projects or []:
417
- projects_item = PermissionProject.from_dict(projects_item_data)
418
-
419
- projects.append(projects_item)
420
-
421
401
  backend_id = d.pop("backend_id", UNSET)
422
402
 
423
403
  def _parse_image(data: object) -> Union[None, Unset, str]:
@@ -614,7 +594,6 @@ class Customer:
614
594
  created=created,
615
595
  organization_groups=organization_groups,
616
596
  display_name=display_name,
617
- projects=projects,
618
597
  backend_id=backend_id,
619
598
  image=image,
620
599
  blocked=blocked,
@@ -36,7 +36,6 @@ class CustomersListFieldItem(str, Enum):
36
36
  PAYMENT_PROFILES = "payment_profiles"
37
37
  PHONE_NUMBER = "phone_number"
38
38
  POSTAL = "postal"
39
- PROJECTS = "projects"
40
39
  PROJECTS_COUNT = "projects_count"
41
40
  REGISTRATION_CODE = "registration_code"
42
41
  SERVICE_PROVIDER = "service_provider"
@@ -36,7 +36,6 @@ class CustomersRetrieveFieldItem(str, Enum):
36
36
  PAYMENT_PROFILES = "payment_profiles"
37
37
  PHONE_NUMBER = "phone_number"
38
38
  POSTAL = "postal"
39
- PROJECTS = "projects"
40
39
  PROJECTS_COUNT = "projects_count"
41
40
  REGISTRATION_CODE = "registration_code"
42
41
  SERVICE_PROVIDER = "service_provider"
@@ -105,11 +105,15 @@ class EventTypesEnum(str, Enum):
105
105
  OPENSTACK_PORT_PULLED = "openstack_port_pulled"
106
106
  OPENSTACK_PORT_UPDATED = "openstack_port_updated"
107
107
  OPENSTACK_ROUTER_UPDATED = "openstack_router_updated"
108
+ OPENSTACK_SECURITY_GROUP_ADDED_LOCALLY = "openstack_security_group_added_locally"
109
+ OPENSTACK_SECURITY_GROUP_ADDED_REMOTELY = "openstack_security_group_added_remotely"
108
110
  OPENSTACK_SECURITY_GROUP_CLEANED = "openstack_security_group_cleaned"
109
111
  OPENSTACK_SECURITY_GROUP_CREATED = "openstack_security_group_created"
110
112
  OPENSTACK_SECURITY_GROUP_DELETED = "openstack_security_group_deleted"
111
113
  OPENSTACK_SECURITY_GROUP_IMPORTED = "openstack_security_group_imported"
112
114
  OPENSTACK_SECURITY_GROUP_PULLED = "openstack_security_group_pulled"
115
+ OPENSTACK_SECURITY_GROUP_REMOVED_LOCALLY = "openstack_security_group_removed_locally"
116
+ OPENSTACK_SECURITY_GROUP_REMOVED_REMOTELY = "openstack_security_group_removed_remotely"
113
117
  OPENSTACK_SECURITY_GROUP_RULE_CLEANED = "openstack_security_group_rule_cleaned"
114
118
  OPENSTACK_SECURITY_GROUP_RULE_CREATED = "openstack_security_group_rule_created"
115
119
  OPENSTACK_SECURITY_GROUP_RULE_DELETED = "openstack_security_group_rule_deleted"
@@ -240,6 +244,7 @@ class EventTypesEnum(str, Enum):
240
244
  USER_ACTIVATED = "user_activated"
241
245
  USER_CREATION_SUCCEEDED = "user_creation_succeeded"
242
246
  USER_DEACTIVATED = "user_deactivated"
247
+ USER_DEACTIVATED_NO_ROLES = "user_deactivated_no_roles"
243
248
  USER_DELETION_SUCCEEDED = "user_deletion_succeeded"
244
249
  USER_DETAILS_UPDATE_SUCCEEDED = "user_details_update_succeeded"
245
250
  USER_HAS_BEEN_CREATED_BY_STAFF = "user_has_been_created_by_staff"
@@ -31,6 +31,10 @@ class MergedPluginOptions:
31
31
  the same organization under which the request is done
32
32
  supports_downscaling (Union[Unset, bool]): If set to True, it will be possible to downscale resources
33
33
  supports_pausing (Union[Unset, bool]): If set to True, it will be possible to pause resources
34
+ minimal_team_count_for_provisioning (Union[Unset, int]): Minimal team count required for provisioning of
35
+ resources
36
+ required_team_role_for_provisioning (Union[Unset, str]): Required user role in a project for provisioning of
37
+ resources
34
38
  default_internal_network_mtu (Union[Unset, int]): If set, it will be used as a default MTU for the first network
35
39
  in a tenant
36
40
  max_instances (Union[Unset, int]): Default limit for number of instances in OpenStack tenant
@@ -80,6 +84,8 @@ class MergedPluginOptions:
80
84
  auto_approve_in_service_provider_projects: Union[Unset, bool] = UNSET
81
85
  supports_downscaling: Union[Unset, bool] = UNSET
82
86
  supports_pausing: Union[Unset, bool] = UNSET
87
+ minimal_team_count_for_provisioning: Union[Unset, int] = UNSET
88
+ required_team_role_for_provisioning: Union[Unset, str] = UNSET
83
89
  default_internal_network_mtu: Union[Unset, int] = UNSET
84
90
  max_instances: Union[Unset, int] = UNSET
85
91
  max_volumes: Union[Unset, int] = UNSET
@@ -139,6 +145,10 @@ class MergedPluginOptions:
139
145
 
140
146
  supports_pausing = self.supports_pausing
141
147
 
148
+ minimal_team_count_for_provisioning = self.minimal_team_count_for_provisioning
149
+
150
+ required_team_role_for_provisioning = self.required_team_role_for_provisioning
151
+
142
152
  default_internal_network_mtu = self.default_internal_network_mtu
143
153
 
144
154
  max_instances = self.max_instances
@@ -242,6 +252,10 @@ class MergedPluginOptions:
242
252
  field_dict["supports_downscaling"] = supports_downscaling
243
253
  if supports_pausing is not UNSET:
244
254
  field_dict["supports_pausing"] = supports_pausing
255
+ if minimal_team_count_for_provisioning is not UNSET:
256
+ field_dict["minimal_team_count_for_provisioning"] = minimal_team_count_for_provisioning
257
+ if required_team_role_for_provisioning is not UNSET:
258
+ field_dict["required_team_role_for_provisioning"] = required_team_role_for_provisioning
245
259
  if default_internal_network_mtu is not UNSET:
246
260
  field_dict["default_internal_network_mtu"] = default_internal_network_mtu
247
261
  if max_instances is not UNSET:
@@ -351,6 +365,10 @@ class MergedPluginOptions:
351
365
 
352
366
  supports_pausing = d.pop("supports_pausing", UNSET)
353
367
 
368
+ minimal_team_count_for_provisioning = d.pop("minimal_team_count_for_provisioning", UNSET)
369
+
370
+ required_team_role_for_provisioning = d.pop("required_team_role_for_provisioning", UNSET)
371
+
354
372
  default_internal_network_mtu = d.pop("default_internal_network_mtu", UNSET)
355
373
 
356
374
  max_instances = d.pop("max_instances", UNSET)
@@ -464,6 +482,8 @@ class MergedPluginOptions:
464
482
  auto_approve_in_service_provider_projects=auto_approve_in_service_provider_projects,
465
483
  supports_downscaling=supports_downscaling,
466
484
  supports_pausing=supports_pausing,
485
+ minimal_team_count_for_provisioning=minimal_team_count_for_provisioning,
486
+ required_team_role_for_provisioning=required_team_role_for_provisioning,
467
487
  default_internal_network_mtu=default_internal_network_mtu,
468
488
  max_instances=max_instances,
469
489
  max_volumes=max_volumes,
@@ -31,6 +31,10 @@ class MergedPluginOptionsRequest:
31
31
  the same organization under which the request is done
32
32
  supports_downscaling (Union[Unset, bool]): If set to True, it will be possible to downscale resources
33
33
  supports_pausing (Union[Unset, bool]): If set to True, it will be possible to pause resources
34
+ minimal_team_count_for_provisioning (Union[Unset, int]): Minimal team count required for provisioning of
35
+ resources
36
+ required_team_role_for_provisioning (Union[Unset, str]): Required user role in a project for provisioning of
37
+ resources
34
38
  default_internal_network_mtu (Union[Unset, int]): If set, it will be used as a default MTU for the first network
35
39
  in a tenant
36
40
  max_instances (Union[Unset, int]): Default limit for number of instances in OpenStack tenant
@@ -80,6 +84,8 @@ class MergedPluginOptionsRequest:
80
84
  auto_approve_in_service_provider_projects: Union[Unset, bool] = UNSET
81
85
  supports_downscaling: Union[Unset, bool] = UNSET
82
86
  supports_pausing: Union[Unset, bool] = UNSET
87
+ minimal_team_count_for_provisioning: Union[Unset, int] = UNSET
88
+ required_team_role_for_provisioning: Union[Unset, str] = UNSET
83
89
  default_internal_network_mtu: Union[Unset, int] = UNSET
84
90
  max_instances: Union[Unset, int] = UNSET
85
91
  max_volumes: Union[Unset, int] = UNSET
@@ -139,6 +145,10 @@ class MergedPluginOptionsRequest:
139
145
 
140
146
  supports_pausing = self.supports_pausing
141
147
 
148
+ minimal_team_count_for_provisioning = self.minimal_team_count_for_provisioning
149
+
150
+ required_team_role_for_provisioning = self.required_team_role_for_provisioning
151
+
142
152
  default_internal_network_mtu = self.default_internal_network_mtu
143
153
 
144
154
  max_instances = self.max_instances
@@ -242,6 +252,10 @@ class MergedPluginOptionsRequest:
242
252
  field_dict["supports_downscaling"] = supports_downscaling
243
253
  if supports_pausing is not UNSET:
244
254
  field_dict["supports_pausing"] = supports_pausing
255
+ if minimal_team_count_for_provisioning is not UNSET:
256
+ field_dict["minimal_team_count_for_provisioning"] = minimal_team_count_for_provisioning
257
+ if required_team_role_for_provisioning is not UNSET:
258
+ field_dict["required_team_role_for_provisioning"] = required_team_role_for_provisioning
245
259
  if default_internal_network_mtu is not UNSET:
246
260
  field_dict["default_internal_network_mtu"] = default_internal_network_mtu
247
261
  if max_instances is not UNSET:
@@ -351,6 +365,10 @@ class MergedPluginOptionsRequest:
351
365
 
352
366
  supports_pausing = d.pop("supports_pausing", UNSET)
353
367
 
368
+ minimal_team_count_for_provisioning = d.pop("minimal_team_count_for_provisioning", UNSET)
369
+
370
+ required_team_role_for_provisioning = d.pop("required_team_role_for_provisioning", UNSET)
371
+
354
372
  default_internal_network_mtu = d.pop("default_internal_network_mtu", UNSET)
355
373
 
356
374
  max_instances = d.pop("max_instances", UNSET)
@@ -464,6 +482,8 @@ class MergedPluginOptionsRequest:
464
482
  auto_approve_in_service_provider_projects=auto_approve_in_service_provider_projects,
465
483
  supports_downscaling=supports_downscaling,
466
484
  supports_pausing=supports_pausing,
485
+ minimal_team_count_for_provisioning=minimal_team_count_for_provisioning,
486
+ required_team_role_for_provisioning=required_team_role_for_provisioning,
467
487
  default_internal_network_mtu=default_internal_network_mtu,
468
488
  max_instances=max_instances,
469
489
  max_volumes=max_volumes,
@@ -1,9 +1,11 @@
1
+ import datetime
1
2
  from collections.abc import Mapping
2
3
  from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
4
  from uuid import UUID
4
5
 
5
6
  from attrs import define as _attrs_define
6
7
  from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
7
9
 
8
10
  from ..models.requested_offering_states import RequestedOfferingStates
9
11
  from ..types import UNSET, Unset
@@ -35,6 +37,7 @@ class NestedRequestedOffering:
35
37
  plan_details (Union[Unset, BasePublicPlan]):
36
38
  options (Union[Unset, OfferingOptions]):
37
39
  components (Union[Unset, list['OfferingComponent']]):
40
+ created (Union[Unset, datetime.datetime]):
38
41
  """
39
42
 
40
43
  uuid: Union[Unset, UUID] = UNSET
@@ -51,6 +54,7 @@ class NestedRequestedOffering:
51
54
  plan_details: Union[Unset, "BasePublicPlan"] = UNSET
52
55
  options: Union[Unset, "OfferingOptions"] = UNSET
53
56
  components: Union[Unset, list["OfferingComponent"]] = UNSET
57
+ created: Union[Unset, datetime.datetime] = UNSET
54
58
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
55
59
 
56
60
  def to_dict(self) -> dict[str, Any]:
@@ -103,6 +107,10 @@ class NestedRequestedOffering:
103
107
  components_item = components_item_data.to_dict()
104
108
  components.append(components_item)
105
109
 
110
+ created: Union[Unset, str] = UNSET
111
+ if not isinstance(self.created, Unset):
112
+ created = self.created.isoformat()
113
+
106
114
  field_dict: dict[str, Any] = {}
107
115
  field_dict.update(self.additional_properties)
108
116
  field_dict.update({})
@@ -134,6 +142,8 @@ class NestedRequestedOffering:
134
142
  field_dict["options"] = options
135
143
  if components is not UNSET:
136
144
  field_dict["components"] = components
145
+ if created is not UNSET:
146
+ field_dict["created"] = created
137
147
 
138
148
  return field_dict
139
149
 
@@ -214,6 +224,13 @@ class NestedRequestedOffering:
214
224
 
215
225
  components.append(components_item)
216
226
 
227
+ _created = d.pop("created", UNSET)
228
+ created: Union[Unset, datetime.datetime]
229
+ if isinstance(_created, Unset):
230
+ created = UNSET
231
+ else:
232
+ created = isoparse(_created)
233
+
217
234
  nested_requested_offering = cls(
218
235
  uuid=uuid,
219
236
  state=state,
@@ -229,6 +246,7 @@ class NestedRequestedOffering:
229
246
  plan_details=plan_details,
230
247
  options=options,
231
248
  components=components,
249
+ created=created,
232
250
  )
233
251
 
234
252
  nested_requested_offering.additional_properties = d
@@ -14,7 +14,6 @@ from ..types import UNSET, Unset
14
14
 
15
15
  if TYPE_CHECKING:
16
16
  from ..models.issue_reference import IssueReference
17
- from ..models.order_details_attributes import OrderDetailsAttributes
18
17
  from ..models.order_details_limits import OrderDetailsLimits
19
18
 
20
19
 
@@ -47,8 +46,7 @@ class OrderDetails:
47
46
  plan_name (Union[None, Unset, str]):
48
47
  plan_uuid (Union[None, UUID, Unset]):
49
48
  plan_description (Union[None, Unset, str]):
50
- attributes (Union[Unset, OrderDetailsAttributes]): Get attributes excluding secret attributes, such as username
51
- and password.
49
+ attributes (Union[Unset, Any]):
52
50
  limits (Union[Unset, OrderDetailsLimits]):
53
51
  uuid (Union[Unset, UUID]):
54
52
  created (Union[Unset, datetime.datetime]):
@@ -122,7 +120,7 @@ class OrderDetails:
122
120
  plan_name: Union[None, Unset, str] = UNSET
123
121
  plan_uuid: Union[None, UUID, Unset] = UNSET
124
122
  plan_description: Union[None, Unset, str] = UNSET
125
- attributes: Union[Unset, "OrderDetailsAttributes"] = UNSET
123
+ attributes: Union[Unset, Any] = UNSET
126
124
  limits: Union[Unset, "OrderDetailsLimits"] = UNSET
127
125
  uuid: Union[Unset, UUID] = UNSET
128
126
  created: Union[Unset, datetime.datetime] = UNSET
@@ -241,9 +239,7 @@ class OrderDetails:
241
239
  else:
242
240
  plan_description = self.plan_description
243
241
 
244
- attributes: Union[Unset, dict[str, Any]] = UNSET
245
- if not isinstance(self.attributes, Unset):
246
- attributes = self.attributes.to_dict()
242
+ attributes = self.attributes
247
243
 
248
244
  limits: Union[Unset, dict[str, Any]] = UNSET
249
245
  if not isinstance(self.limits, Unset):
@@ -598,7 +594,6 @@ class OrderDetails:
598
594
  @classmethod
599
595
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
600
596
  from ..models.issue_reference import IssueReference
601
- from ..models.order_details_attributes import OrderDetailsAttributes
602
597
  from ..models.order_details_limits import OrderDetailsLimits
603
598
 
604
599
  d = dict(src_dict)
@@ -703,12 +698,7 @@ class OrderDetails:
703
698
 
704
699
  plan_description = _parse_plan_description(d.pop("plan_description", UNSET))
705
700
 
706
- _attributes = d.pop("attributes", UNSET)
707
- attributes: Union[Unset, OrderDetailsAttributes]
708
- if isinstance(_attributes, Unset):
709
- attributes = UNSET
710
- else:
711
- attributes = OrderDetailsAttributes.from_dict(_attributes)
701
+ attributes = d.pop("attributes", UNSET)
712
702
 
713
703
  _limits = d.pop("limits", UNSET)
714
704
  limits: Union[Unset, OrderDetailsLimits]
@@ -1,9 +1,11 @@
1
+ import datetime
1
2
  from collections.abc import Mapping
2
3
  from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
4
  from uuid import UUID
4
5
 
5
6
  from attrs import define as _attrs_define
6
7
  from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
7
9
 
8
10
  from ..models.requested_offering_states import RequestedOfferingStates
9
11
  from ..types import UNSET, Unset
@@ -34,6 +36,7 @@ class ProviderRequestedOffering:
34
36
  plan_details (BasePublicPlan):
35
37
  options (OfferingOptions):
36
38
  components (list['OfferingComponent']):
39
+ created (datetime.datetime):
37
40
  url (str):
38
41
  call_name (str):
39
42
  call (str):
@@ -56,6 +59,7 @@ class ProviderRequestedOffering:
56
59
  plan_details: "BasePublicPlan"
57
60
  options: "OfferingOptions"
58
61
  components: list["OfferingComponent"]
62
+ created: datetime.datetime
59
63
  url: str
60
64
  call_name: str
61
65
  call: str
@@ -96,6 +100,8 @@ class ProviderRequestedOffering:
96
100
  components_item = components_item_data.to_dict()
97
101
  components.append(components_item)
98
102
 
103
+ created = self.created.isoformat()
104
+
99
105
  url = self.url
100
106
 
101
107
  call_name = self.call_name
@@ -127,6 +133,7 @@ class ProviderRequestedOffering:
127
133
  "plan_details": plan_details,
128
134
  "options": options,
129
135
  "components": components,
136
+ "created": created,
130
137
  "url": url,
131
138
  "call_name": call_name,
132
139
  "call": call,
@@ -183,6 +190,8 @@ class ProviderRequestedOffering:
183
190
 
184
191
  components.append(components_item)
185
192
 
193
+ created = isoparse(d.pop("created"))
194
+
186
195
  url = d.pop("url")
187
196
 
188
197
  call_name = d.pop("call_name")
@@ -211,6 +220,7 @@ class ProviderRequestedOffering:
211
220
  plan_details=plan_details,
212
221
  options=options,
213
222
  components=components,
223
+ created=created,
214
224
  url=url,
215
225
  call_name=call_name,
216
226
  call=call,