waldur-api-client 7.7.5__py3-none-any.whl → 7.7.7__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 (229) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +34 -11
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
  3. waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
  4. waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
  5. waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
  6. waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
  7. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
  8. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
  9. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
  10. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
  11. waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
  12. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
  13. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
  14. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
  15. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
  16. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
  17. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
  18. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
  19. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
  20. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
  21. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
  22. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
  23. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
  24. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
  25. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
  26. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
  27. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
  28. waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
  29. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
  30. waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
  31. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
  32. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
  33. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
  34. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
  35. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
  36. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
  37. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
  38. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
  39. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
  40. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
  41. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
  42. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
  43. waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
  44. waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
  45. waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
  46. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
  47. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
  48. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
  49. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
  50. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
  51. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
  52. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
  53. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
  54. waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
  55. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
  56. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
  57. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
  58. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
  59. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
  60. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
  61. waldur_api_client/models/__init__.py +118 -4
  62. waldur_api_client/models/admin_announcement.py +109 -1
  63. waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
  64. waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
  65. waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
  66. waldur_api_client/models/azure_sql_server_create_order_attributes.py +83 -0
  67. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +99 -0
  68. waldur_api_client/models/basic_user.py +30 -21
  69. waldur_api_client/models/booking_offerings_list_field_item.py +1 -2
  70. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -2
  71. waldur_api_client/models/booking_resource.py +10 -9
  72. waldur_api_client/models/booking_resources_list_field_item.py +1 -1
  73. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
  74. waldur_api_client/models/checklist_info.py +76 -0
  75. waldur_api_client/models/compliance_overview.py +91 -0
  76. waldur_api_client/models/create_router.py +1 -1
  77. waldur_api_client/models/create_router_request.py +1 -1
  78. waldur_api_client/models/customer.py +51 -0
  79. waldur_api_client/models/customers_list_field_item.py +2 -0
  80. waldur_api_client/models/customers_retrieve_field_item.py +2 -0
  81. waldur_api_client/models/fingerprint.py +19 -17
  82. waldur_api_client/models/generic_order_attributes.py +69 -0
  83. waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
  84. waldur_api_client/models/google_auth_list_field_item.py +1 -0
  85. waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
  86. waldur_api_client/models/google_credentials.py +9 -0
  87. waldur_api_client/models/group_invitation.py +24 -0
  88. waldur_api_client/models/group_invitation_request.py +10 -0
  89. waldur_api_client/models/instance_flavor_change_request.py +1 -1
  90. waldur_api_client/models/maintenance_announcement.py +8 -0
  91. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
  92. waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
  93. waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
  94. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
  95. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
  96. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -2
  97. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -2
  98. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -2
  99. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -2
  100. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -2
  101. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -2
  102. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
  103. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
  104. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
  105. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -2
  106. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -2
  107. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +145 -0
  108. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
  109. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
  110. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
  111. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
  112. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
  113. waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
  114. waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
  115. waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
  116. waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
  117. waldur_api_client/models/offering.py +9 -18
  118. waldur_api_client/models/offering_create.py +8 -18
  119. waldur_api_client/models/offering_create_request.py +0 -18
  120. waldur_api_client/models/offering_overview_update_request.py +0 -18
  121. waldur_api_client/models/offering_terms_of_service.py +142 -0
  122. waldur_api_client/models/offering_terms_of_service_create.py +107 -0
  123. waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
  124. waldur_api_client/models/offering_terms_of_service_request.py +96 -0
  125. waldur_api_client/models/open_stack_backend_instance.py +2 -2
  126. waldur_api_client/models/open_stack_backend_volumes.py +3 -3
  127. waldur_api_client/models/open_stack_backup.py +1 -1
  128. waldur_api_client/models/open_stack_backup_restoration.py +8 -5
  129. waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
  130. waldur_api_client/models/open_stack_fixed_ip.py +2 -2
  131. waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
  132. waldur_api_client/models/open_stack_floating_ip.py +5 -4
  133. waldur_api_client/models/open_stack_instance.py +17 -15
  134. waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
  135. waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
  136. waldur_api_client/models/open_stack_instance_create_order_attributes.py +283 -0
  137. waldur_api_client/models/open_stack_instance_request.py +4 -3
  138. waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
  139. waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
  140. waldur_api_client/models/open_stack_nested_instance.py +1 -1
  141. waldur_api_client/models/open_stack_nested_port.py +5 -5
  142. waldur_api_client/models/open_stack_nested_port_request.py +1 -1
  143. waldur_api_client/models/open_stack_nested_security_group.py +16 -16
  144. waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
  145. waldur_api_client/models/{nested_security_group_rule_request.py → open_stack_nested_security_group_rules_item.py} +73 -63
  146. waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
  147. waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
  148. waldur_api_client/models/open_stack_nested_volume.py +3 -3
  149. waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
  150. waldur_api_client/models/open_stack_network.py +23 -3
  151. waldur_api_client/models/open_stack_port.py +10 -9
  152. waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
  153. waldur_api_client/models/open_stack_port_request.py +3 -3
  154. waldur_api_client/models/open_stack_router.py +2 -2
  155. waldur_api_client/models/open_stack_router_interface_request.py +4 -2
  156. waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
  157. waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
  158. waldur_api_client/models/open_stack_security_group_rule_update_request.py +10 -9
  159. waldur_api_client/models/open_stack_server_group.py +2 -1
  160. waldur_api_client/models/open_stack_server_group_request.py +2 -1
  161. waldur_api_client/models/open_stack_snapshot.py +2 -2
  162. waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
  163. waldur_api_client/models/open_stack_sub_net.py +5 -5
  164. waldur_api_client/models/open_stack_sub_net_request.py +2 -2
  165. waldur_api_client/models/open_stack_tenant.py +41 -3
  166. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +130 -0
  167. waldur_api_client/models/open_stack_volume.py +9 -9
  168. waldur_api_client/models/open_stack_volume_create_order_attributes.py +155 -0
  169. waldur_api_client/models/open_stack_volume_request.py +1 -1
  170. waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
  171. waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
  172. waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
  173. waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
  174. waldur_api_client/models/order_create.py +0 -8
  175. waldur_api_client/models/order_create_request.py +181 -4
  176. waldur_api_client/models/order_details.py +0 -9
  177. waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
  178. waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
  179. waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
  180. waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
  181. waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
  182. waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
  183. waldur_api_client/models/permission_project.py +147 -0
  184. waldur_api_client/models/permission_request.py +2 -2
  185. waldur_api_client/models/project_answer.py +122 -0
  186. waldur_api_client/models/project_detail.py +133 -0
  187. waldur_api_client/models/project_details_response.py +115 -0
  188. waldur_api_client/models/provider_offering_details.py +9 -18
  189. waldur_api_client/models/provider_offering_details_request.py +0 -18
  190. waldur_api_client/models/public_maintenance_announcement.py +217 -0
  191. waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
  192. waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
  193. waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
  194. waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
  195. waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
  196. waldur_api_client/models/public_offering_details.py +9 -18
  197. waldur_api_client/models/question_answer.py +176 -0
  198. waldur_api_client/models/question_answer_project_answers_item.py +44 -0
  199. waldur_api_client/models/question_answer_question_options_item.py +44 -0
  200. waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
  201. waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
  202. waldur_api_client/models/remote_project_update_request.py +2 -2
  203. waldur_api_client/models/remote_resource_order.py +88 -0
  204. waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
  205. waldur_api_client/models/remote_resource_sync_status.py +123 -0
  206. waldur_api_client/models/remote_resource_sync_status_remote_state_enum.py +13 -0
  207. waldur_api_client/models/remote_resource_team_member.py +85 -0
  208. waldur_api_client/models/resource.py +10 -9
  209. waldur_api_client/models/robot_account_details.py +226 -144
  210. waldur_api_client/models/service_provider.py +9 -0
  211. waldur_api_client/models/service_provider_compliance_overview.py +122 -0
  212. waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
  213. waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
  214. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +75 -0
  215. waldur_api_client/models/sync_status_enum.py +10 -0
  216. waldur_api_client/models/user_offering_consent.py +202 -0
  217. waldur_api_client/models/user_offering_consent_create.py +60 -0
  218. waldur_api_client/models/user_offering_consent_create_request.py +60 -0
  219. waldur_api_client/models/user_offering_consent_request.py +59 -0
  220. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +228 -0
  221. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
  222. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
  223. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
  224. waldur_api_client/models/volume_attach_request.py +1 -1
  225. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/METADATA +1 -1
  226. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/RECORD +228 -138
  227. waldur_api_client/models/nested_security_group_rule.py +0 -222
  228. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/LICENSE +0 -0
  229. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/WHEEL +0 -0
@@ -8,7 +8,21 @@ from ..models.request_types import RequestTypes
8
8
  from ..types import UNSET, Unset
9
9
 
10
10
  if TYPE_CHECKING:
11
+ from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
12
+ from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
13
+ from ..models.generic_order_attributes import GenericOrderAttributes
14
+ from ..models.marketplace_managed_rancher_create_order_attributes import (
15
+ MarketplaceManagedRancherCreateOrderAttributes,
16
+ )
17
+ from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
18
+ from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
19
+ from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
20
+ from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
11
21
  from ..models.order_create_request_limits import OrderCreateRequestLimits
22
+ from ..models.slurm_invoices_slurm_package_create_order_attributes import (
23
+ SlurmInvoicesSlurmPackageCreateOrderAttributes,
24
+ )
25
+ from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
12
26
 
13
27
 
14
28
  T = TypeVar("T", bound="OrderCreateRequest")
@@ -21,7 +35,13 @@ class OrderCreateRequest:
21
35
  offering (str):
22
36
  project (str):
23
37
  plan (Union[Unset, str]):
24
- attributes (Union[Unset, Any]):
38
+ attributes (Union['AzureSQLServerCreateOrderAttributes', 'AzureVirtualMachineCreateOrderAttributes',
39
+ 'GenericOrderAttributes', 'MarketplaceManagedRancherCreateOrderAttributes',
40
+ 'MarketplaceRancherCreateOrderAttributes', 'OpenStackInstanceCreateOrderAttributes',
41
+ 'OpenStackTenantCreateOrderAttributes', 'OpenStackVolumeCreateOrderAttributes',
42
+ 'SlurmInvoicesSlurmPackageCreateOrderAttributes', 'VMwareVirtualMachineCreateOrderAttributes', Unset]):
43
+ Attributes structure depends on the offering type specified in the parent object. Can also be a generic object
44
+ for offerings without a specific attributes schema.
25
45
  limits (Union[Unset, OrderCreateRequestLimits]):
26
46
  type_ (Union[Unset, RequestTypes]): Default: RequestTypes.CREATE.
27
47
  accepting_terms_of_service (Union[Unset, bool]):
@@ -31,7 +51,19 @@ class OrderCreateRequest:
31
51
  offering: str
32
52
  project: str
33
53
  plan: Union[Unset, str] = UNSET
34
- attributes: Union[Unset, Any] = UNSET
54
+ attributes: Union[
55
+ "AzureSQLServerCreateOrderAttributes",
56
+ "AzureVirtualMachineCreateOrderAttributes",
57
+ "GenericOrderAttributes",
58
+ "MarketplaceManagedRancherCreateOrderAttributes",
59
+ "MarketplaceRancherCreateOrderAttributes",
60
+ "OpenStackInstanceCreateOrderAttributes",
61
+ "OpenStackTenantCreateOrderAttributes",
62
+ "OpenStackVolumeCreateOrderAttributes",
63
+ "SlurmInvoicesSlurmPackageCreateOrderAttributes",
64
+ "VMwareVirtualMachineCreateOrderAttributes",
65
+ Unset,
66
+ ] = UNSET
35
67
  limits: Union[Unset, "OrderCreateRequestLimits"] = UNSET
36
68
  type_: Union[Unset, RequestTypes] = RequestTypes.CREATE
37
69
  accepting_terms_of_service: Union[Unset, bool] = UNSET
@@ -39,13 +71,49 @@ class OrderCreateRequest:
39
71
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
72
 
41
73
  def to_dict(self) -> dict[str, Any]:
74
+ from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
75
+ from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
76
+ from ..models.marketplace_managed_rancher_create_order_attributes import (
77
+ MarketplaceManagedRancherCreateOrderAttributes,
78
+ )
79
+ from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
80
+ from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
81
+ from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
82
+ from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
83
+ from ..models.slurm_invoices_slurm_package_create_order_attributes import (
84
+ SlurmInvoicesSlurmPackageCreateOrderAttributes,
85
+ )
86
+ from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
87
+
42
88
  offering = self.offering
43
89
 
44
90
  project = self.project
45
91
 
46
92
  plan = self.plan
47
93
 
48
- attributes = self.attributes
94
+ attributes: Union[Unset, dict[str, Any]]
95
+ if isinstance(self.attributes, Unset):
96
+ attributes = UNSET
97
+ elif isinstance(self.attributes, AzureVirtualMachineCreateOrderAttributes):
98
+ attributes = self.attributes.to_dict()
99
+ elif isinstance(self.attributes, AzureSQLServerCreateOrderAttributes):
100
+ attributes = self.attributes.to_dict()
101
+ elif isinstance(self.attributes, OpenStackTenantCreateOrderAttributes):
102
+ attributes = self.attributes.to_dict()
103
+ elif isinstance(self.attributes, OpenStackInstanceCreateOrderAttributes):
104
+ attributes = self.attributes.to_dict()
105
+ elif isinstance(self.attributes, OpenStackVolumeCreateOrderAttributes):
106
+ attributes = self.attributes.to_dict()
107
+ elif isinstance(self.attributes, MarketplaceRancherCreateOrderAttributes):
108
+ attributes = self.attributes.to_dict()
109
+ elif isinstance(self.attributes, MarketplaceManagedRancherCreateOrderAttributes):
110
+ attributes = self.attributes.to_dict()
111
+ elif isinstance(self.attributes, SlurmInvoicesSlurmPackageCreateOrderAttributes):
112
+ attributes = self.attributes.to_dict()
113
+ elif isinstance(self.attributes, VMwareVirtualMachineCreateOrderAttributes):
114
+ attributes = self.attributes.to_dict()
115
+ else:
116
+ attributes = self.attributes.to_dict()
49
117
 
50
118
  limits: Union[Unset, dict[str, Any]] = UNSET
51
119
  if not isinstance(self.limits, Unset):
@@ -88,7 +156,21 @@ class OrderCreateRequest:
88
156
 
89
157
  @classmethod
90
158
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
159
+ from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
160
+ from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
161
+ from ..models.generic_order_attributes import GenericOrderAttributes
162
+ from ..models.marketplace_managed_rancher_create_order_attributes import (
163
+ MarketplaceManagedRancherCreateOrderAttributes,
164
+ )
165
+ from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
166
+ from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
167
+ from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
168
+ from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
91
169
  from ..models.order_create_request_limits import OrderCreateRequestLimits
170
+ from ..models.slurm_invoices_slurm_package_create_order_attributes import (
171
+ SlurmInvoicesSlurmPackageCreateOrderAttributes,
172
+ )
173
+ from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
92
174
 
93
175
  d = dict(src_dict)
94
176
  offering = d.pop("offering")
@@ -97,7 +179,102 @@ class OrderCreateRequest:
97
179
 
98
180
  plan = d.pop("plan", UNSET)
99
181
 
100
- attributes = d.pop("attributes", UNSET)
182
+ def _parse_attributes(
183
+ data: object,
184
+ ) -> Union[
185
+ "AzureSQLServerCreateOrderAttributes",
186
+ "AzureVirtualMachineCreateOrderAttributes",
187
+ "GenericOrderAttributes",
188
+ "MarketplaceManagedRancherCreateOrderAttributes",
189
+ "MarketplaceRancherCreateOrderAttributes",
190
+ "OpenStackInstanceCreateOrderAttributes",
191
+ "OpenStackTenantCreateOrderAttributes",
192
+ "OpenStackVolumeCreateOrderAttributes",
193
+ "SlurmInvoicesSlurmPackageCreateOrderAttributes",
194
+ "VMwareVirtualMachineCreateOrderAttributes",
195
+ Unset,
196
+ ]:
197
+ if isinstance(data, Unset):
198
+ return data
199
+ try:
200
+ if not isinstance(data, dict):
201
+ raise TypeError()
202
+ attributes_type_0 = AzureVirtualMachineCreateOrderAttributes.from_dict(data)
203
+
204
+ return attributes_type_0
205
+ except: # noqa: E722
206
+ pass
207
+ try:
208
+ if not isinstance(data, dict):
209
+ raise TypeError()
210
+ attributes_type_1 = AzureSQLServerCreateOrderAttributes.from_dict(data)
211
+
212
+ return attributes_type_1
213
+ except: # noqa: E722
214
+ pass
215
+ try:
216
+ if not isinstance(data, dict):
217
+ raise TypeError()
218
+ attributes_type_2 = OpenStackTenantCreateOrderAttributes.from_dict(data)
219
+
220
+ return attributes_type_2
221
+ except: # noqa: E722
222
+ pass
223
+ try:
224
+ if not isinstance(data, dict):
225
+ raise TypeError()
226
+ attributes_type_3 = OpenStackInstanceCreateOrderAttributes.from_dict(data)
227
+
228
+ return attributes_type_3
229
+ except: # noqa: E722
230
+ pass
231
+ try:
232
+ if not isinstance(data, dict):
233
+ raise TypeError()
234
+ attributes_type_4 = OpenStackVolumeCreateOrderAttributes.from_dict(data)
235
+
236
+ return attributes_type_4
237
+ except: # noqa: E722
238
+ pass
239
+ try:
240
+ if not isinstance(data, dict):
241
+ raise TypeError()
242
+ attributes_type_5 = MarketplaceRancherCreateOrderAttributes.from_dict(data)
243
+
244
+ return attributes_type_5
245
+ except: # noqa: E722
246
+ pass
247
+ try:
248
+ if not isinstance(data, dict):
249
+ raise TypeError()
250
+ attributes_type_6 = MarketplaceManagedRancherCreateOrderAttributes.from_dict(data)
251
+
252
+ return attributes_type_6
253
+ except: # noqa: E722
254
+ pass
255
+ try:
256
+ if not isinstance(data, dict):
257
+ raise TypeError()
258
+ attributes_type_7 = SlurmInvoicesSlurmPackageCreateOrderAttributes.from_dict(data)
259
+
260
+ return attributes_type_7
261
+ except: # noqa: E722
262
+ pass
263
+ try:
264
+ if not isinstance(data, dict):
265
+ raise TypeError()
266
+ attributes_type_8 = VMwareVirtualMachineCreateOrderAttributes.from_dict(data)
267
+
268
+ return attributes_type_8
269
+ except: # noqa: E722
270
+ pass
271
+ if not isinstance(data, dict):
272
+ raise TypeError()
273
+ attributes_type_9 = GenericOrderAttributes.from_dict(data)
274
+
275
+ return attributes_type_9
276
+
277
+ attributes = _parse_attributes(d.pop("attributes", UNSET))
101
278
 
102
279
  _limits = d.pop("limits", UNSET)
103
280
  limits: Union[Unset, OrderCreateRequestLimits]
@@ -31,7 +31,6 @@ class OrderDetails:
31
31
  offering_image (Union[Unset, str]):
32
32
  offering_thumbnail (Union[Unset, str]):
33
33
  offering_type (Union[Unset, str]):
34
- offering_terms_of_service (Union[Unset, str]):
35
34
  offering_shared (Union[Unset, bool]): Accessible to all customers.
36
35
  offering_billable (Union[Unset, bool]): Purchase and usage is invoiced.
37
36
  offering_plugin_options (Union[Unset, Any]): Public data used by specific plugin, such as storage mode for
@@ -106,7 +105,6 @@ class OrderDetails:
106
105
  offering_image: Union[Unset, str] = UNSET
107
106
  offering_thumbnail: Union[Unset, str] = UNSET
108
107
  offering_type: Union[Unset, str] = UNSET
109
- offering_terms_of_service: Union[Unset, str] = UNSET
110
108
  offering_shared: Union[Unset, bool] = UNSET
111
109
  offering_billable: Union[Unset, bool] = UNSET
112
110
  offering_plugin_options: Union[Unset, Any] = UNSET
@@ -187,8 +185,6 @@ class OrderDetails:
187
185
 
188
186
  offering_type = self.offering_type
189
187
 
190
- offering_terms_of_service = self.offering_terms_of_service
191
-
192
188
  offering_shared = self.offering_shared
193
189
 
194
190
  offering_billable = self.offering_billable
@@ -468,8 +464,6 @@ class OrderDetails:
468
464
  field_dict["offering_thumbnail"] = offering_thumbnail
469
465
  if offering_type is not UNSET:
470
466
  field_dict["offering_type"] = offering_type
471
- if offering_terms_of_service is not UNSET:
472
- field_dict["offering_terms_of_service"] = offering_terms_of_service
473
467
  if offering_shared is not UNSET:
474
468
  field_dict["offering_shared"] = offering_shared
475
469
  if offering_billable is not UNSET:
@@ -616,8 +610,6 @@ class OrderDetails:
616
610
 
617
611
  offering_type = d.pop("offering_type", UNSET)
618
612
 
619
- offering_terms_of_service = d.pop("offering_terms_of_service", UNSET)
620
-
621
613
  offering_shared = d.pop("offering_shared", UNSET)
622
614
 
623
615
  offering_billable = d.pop("offering_billable", UNSET)
@@ -1061,7 +1053,6 @@ class OrderDetails:
1061
1053
  offering_image=offering_image,
1062
1054
  offering_thumbnail=offering_thumbnail,
1063
1055
  offering_type=offering_type,
1064
- offering_terms_of_service=offering_terms_of_service,
1065
1056
  offering_shared=offering_shared,
1066
1057
  offering_billable=offering_billable,
1067
1058
  offering_plugin_options=offering_plugin_options,
@@ -0,0 +1,96 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="PatchedOfferingTermsOfServiceRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PatchedOfferingTermsOfServiceRequest:
14
+ """
15
+ Attributes:
16
+ terms_of_service (Union[Unset, str]):
17
+ terms_of_service_link (Union[Unset, str]):
18
+ version (Union[Unset, str]):
19
+ is_active (Union[Unset, bool]):
20
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
21
+ the terms of service are updated.
22
+ """
23
+
24
+ terms_of_service: Union[Unset, str] = UNSET
25
+ terms_of_service_link: Union[Unset, str] = UNSET
26
+ version: Union[Unset, str] = UNSET
27
+ is_active: Union[Unset, bool] = UNSET
28
+ requires_reconsent: Union[Unset, bool] = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> dict[str, Any]:
32
+ terms_of_service = self.terms_of_service
33
+
34
+ terms_of_service_link = self.terms_of_service_link
35
+
36
+ version = self.version
37
+
38
+ is_active = self.is_active
39
+
40
+ requires_reconsent = self.requires_reconsent
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update({})
45
+ if terms_of_service is not UNSET:
46
+ field_dict["terms_of_service"] = terms_of_service
47
+ if terms_of_service_link is not UNSET:
48
+ field_dict["terms_of_service_link"] = terms_of_service_link
49
+ if version is not UNSET:
50
+ field_dict["version"] = version
51
+ if is_active is not UNSET:
52
+ field_dict["is_active"] = is_active
53
+ if requires_reconsent is not UNSET:
54
+ field_dict["requires_reconsent"] = requires_reconsent
55
+
56
+ return field_dict
57
+
58
+ @classmethod
59
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
60
+ d = dict(src_dict)
61
+ terms_of_service = d.pop("terms_of_service", UNSET)
62
+
63
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
64
+
65
+ version = d.pop("version", UNSET)
66
+
67
+ is_active = d.pop("is_active", UNSET)
68
+
69
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
70
+
71
+ patched_offering_terms_of_service_request = cls(
72
+ terms_of_service=terms_of_service,
73
+ terms_of_service_link=terms_of_service_link,
74
+ version=version,
75
+ is_active=is_active,
76
+ requires_reconsent=requires_reconsent,
77
+ )
78
+
79
+ patched_offering_terms_of_service_request.additional_properties = d
80
+ return patched_offering_terms_of_service_request
81
+
82
+ @property
83
+ def additional_keys(self) -> list[str]:
84
+ return list(self.additional_properties.keys())
85
+
86
+ def __getitem__(self, key: str) -> Any:
87
+ return self.additional_properties[key]
88
+
89
+ def __setitem__(self, key: str, value: Any) -> None:
90
+ self.additional_properties[key] = value
91
+
92
+ def __delitem__(self, key: str) -> None:
93
+ del self.additional_properties[key]
94
+
95
+ def __contains__(self, key: str) -> bool:
96
+ return key in self.additional_properties
@@ -19,9 +19,10 @@ class PatchedOpenStackInstanceRequest:
19
19
  Attributes:
20
20
  name (Union[Unset, str]):
21
21
  description (Union[Unset, str]):
22
- system_volume_type (Union[None, Unset, str]):
23
- data_volume_type (Union[None, Unset, str]):
24
- data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]):
22
+ system_volume_type (Union[None, Unset, str]): Volume type for the system volume
23
+ data_volume_type (Union[None, Unset, str]): Volume type for the data volume
24
+ data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
25
+ instance
25
26
  """
26
27
 
27
28
  name: Union[Unset, str] = UNSET
@@ -17,7 +17,8 @@ class PatchedOpenStackServerGroupRequest:
17
17
  Attributes:
18
18
  name (Union[Unset, str]):
19
19
  description (Union[Unset, str]):
20
- policy (Union[BlankEnum, PolicyEnum, Unset]):
20
+ policy (Union[BlankEnum, PolicyEnum, Unset]): Server group policy determining the rules for scheduling servers
21
+ in this group
21
22
  """
22
23
 
23
24
  name: Union[Unset, str] = UNSET
@@ -21,8 +21,8 @@ class PatchedOpenStackSubNetRequest:
21
21
  name (Union[Unset, str]):
22
22
  description (Union[Unset, str]):
23
23
  cidr (Union[Unset, str]):
24
- gateway_ip (Union[None, Unset, str]):
25
- disable_gateway (Union[Unset, bool]):
24
+ gateway_ip (Union[None, Unset, str]): IP address of the gateway for this subnet
25
+ disable_gateway (Union[Unset, bool]): If True, no gateway IP address will be allocated
26
26
  allocation_pools (Union[Unset, list['OpenStackSubNetAllocationPoolRequest']]):
27
27
  dns_nameservers (Union[Unset, list[str]]):
28
28
  host_routes (Union[Unset, list['OpenStackStaticRouteRequest']]):
@@ -15,7 +15,7 @@ class PatchedOpenStackVolumeRequest:
15
15
  Attributes:
16
16
  name (Union[Unset, str]):
17
17
  description (Union[Unset, str]):
18
- bootable (Union[Unset, bool]):
18
+ bootable (Union[Unset, bool]): Indicates if this volume can be used to boot an instance
19
19
  """
20
20
 
21
21
  name: Union[Unset, str] = UNSET
@@ -0,0 +1,59 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="PatchedUserOfferingConsentRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PatchedUserOfferingConsentRequest:
14
+ """
15
+ Attributes:
16
+ version (Union[Unset, str]):
17
+ """
18
+
19
+ version: Union[Unset, str] = UNSET
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ version = self.version
24
+
25
+ field_dict: dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update({})
28
+ if version is not UNSET:
29
+ field_dict["version"] = version
30
+
31
+ return field_dict
32
+
33
+ @classmethod
34
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
+ d = dict(src_dict)
36
+ version = d.pop("version", UNSET)
37
+
38
+ patched_user_offering_consent_request = cls(
39
+ version=version,
40
+ )
41
+
42
+ patched_user_offering_consent_request.additional_properties = d
43
+ return patched_user_offering_consent_request
44
+
45
+ @property
46
+ def additional_keys(self) -> list[str]:
47
+ return list(self.additional_properties.keys())
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ return self.additional_properties[key]
51
+
52
+ def __setitem__(self, key: str, value: Any) -> None:
53
+ self.additional_properties[key] = value
54
+
55
+ def __delitem__(self, key: str) -> None:
56
+ del self.additional_properties[key]
57
+
58
+ def __contains__(self, key: str) -> bool:
59
+ return key in self.additional_properties
@@ -0,0 +1,147 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union, cast
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="PermissionProject")
13
+
14
+
15
+ @_attrs_define
16
+ class PermissionProject:
17
+ """
18
+ Attributes:
19
+ url (Union[Unset, str]):
20
+ uuid (Union[Unset, UUID]):
21
+ name (Union[Unset, str]):
22
+ image (Union[None, Unset, str]):
23
+ resource_count (Union[Unset, int]):
24
+ end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, all project resource will be
25
+ scheduled for termination.
26
+ """
27
+
28
+ url: Union[Unset, str] = UNSET
29
+ uuid: Union[Unset, UUID] = UNSET
30
+ name: Union[Unset, str] = UNSET
31
+ image: Union[None, Unset, str] = UNSET
32
+ resource_count: Union[Unset, int] = UNSET
33
+ end_date: Union[None, Unset, datetime.date] = UNSET
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ url = self.url
38
+
39
+ uuid: Union[Unset, str] = UNSET
40
+ if not isinstance(self.uuid, Unset):
41
+ uuid = str(self.uuid)
42
+
43
+ name = self.name
44
+
45
+ image: Union[None, Unset, str]
46
+ if isinstance(self.image, Unset):
47
+ image = UNSET
48
+ else:
49
+ image = self.image
50
+
51
+ resource_count = self.resource_count
52
+
53
+ end_date: Union[None, Unset, str]
54
+ if isinstance(self.end_date, Unset):
55
+ end_date = UNSET
56
+ elif isinstance(self.end_date, datetime.date):
57
+ end_date = self.end_date.isoformat()
58
+ else:
59
+ end_date = self.end_date
60
+
61
+ field_dict: dict[str, Any] = {}
62
+ field_dict.update(self.additional_properties)
63
+ field_dict.update({})
64
+ if url is not UNSET:
65
+ field_dict["url"] = url
66
+ if uuid is not UNSET:
67
+ field_dict["uuid"] = uuid
68
+ if name is not UNSET:
69
+ field_dict["name"] = name
70
+ if image is not UNSET:
71
+ field_dict["image"] = image
72
+ if resource_count is not UNSET:
73
+ field_dict["resource_count"] = resource_count
74
+ if end_date is not UNSET:
75
+ field_dict["end_date"] = end_date
76
+
77
+ return field_dict
78
+
79
+ @classmethod
80
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
81
+ d = dict(src_dict)
82
+ url = d.pop("url", UNSET)
83
+
84
+ _uuid = d.pop("uuid", UNSET)
85
+ uuid: Union[Unset, UUID]
86
+ if isinstance(_uuid, Unset):
87
+ uuid = UNSET
88
+ else:
89
+ uuid = UUID(_uuid)
90
+
91
+ name = d.pop("name", UNSET)
92
+
93
+ def _parse_image(data: object) -> Union[None, Unset, str]:
94
+ if data is None:
95
+ return data
96
+ if isinstance(data, Unset):
97
+ return data
98
+ return cast(Union[None, Unset, str], data)
99
+
100
+ image = _parse_image(d.pop("image", UNSET))
101
+
102
+ resource_count = d.pop("resource_count", UNSET)
103
+
104
+ def _parse_end_date(data: object) -> Union[None, Unset, datetime.date]:
105
+ if data is None:
106
+ return data
107
+ if isinstance(data, Unset):
108
+ return data
109
+ try:
110
+ if not isinstance(data, str):
111
+ raise TypeError()
112
+ end_date_type_0 = isoparse(data).date()
113
+
114
+ return end_date_type_0
115
+ except: # noqa: E722
116
+ pass
117
+ return cast(Union[None, Unset, datetime.date], data)
118
+
119
+ end_date = _parse_end_date(d.pop("end_date", UNSET))
120
+
121
+ permission_project = cls(
122
+ url=url,
123
+ uuid=uuid,
124
+ name=name,
125
+ image=image,
126
+ resource_count=resource_count,
127
+ end_date=end_date,
128
+ )
129
+
130
+ permission_project.additional_properties = d
131
+ return permission_project
132
+
133
+ @property
134
+ def additional_keys(self) -> list[str]:
135
+ return list(self.additional_properties.keys())
136
+
137
+ def __getitem__(self, key: str) -> Any:
138
+ return self.additional_properties[key]
139
+
140
+ def __setitem__(self, key: str, value: Any) -> None:
141
+ self.additional_properties[key] = value
142
+
143
+ def __delitem__(self, key: str) -> None:
144
+ del self.additional_properties[key]
145
+
146
+ def __contains__(self, key: str) -> bool:
147
+ return key in self.additional_properties
@@ -25,14 +25,14 @@ class PermissionRequest:
25
25
  created_by_username (str):
26
26
  reviewed_by_full_name (str):
27
27
  reviewed_by_username (str):
28
- reviewed_at (Union[None, datetime.datetime]):
28
+ reviewed_at (Union[None, datetime.datetime]): Timestamp when the review was completed
29
29
  scope_uuid (UUID):
30
30
  scope_name (str):
31
31
  customer_uuid (UUID):
32
32
  customer_name (str):
33
33
  role_name (str):
34
34
  role_description (str):
35
- review_comment (Union[None, Unset, str]):
35
+ review_comment (Union[None, Unset, str]): Optional comment provided during review
36
36
  """
37
37
 
38
38
  url: str