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
@@ -34,7 +34,7 @@ class OpenStackInstance:
34
34
  name (Union[Unset, str]):
35
35
  description (Union[Unset, str]):
36
36
  service_name (Union[Unset, str]):
37
- service_settings (Union[Unset, str]):
37
+ service_settings (Union[Unset, str]): OpenStack provider settings
38
38
  service_settings_uuid (Union[Unset, UUID]):
39
39
  service_settings_state (Union[Unset, str]):
40
40
  service_settings_error_message (Union[Unset, str]):
@@ -51,7 +51,7 @@ class OpenStackInstance:
51
51
  state (Union[Unset, CoreStates]):
52
52
  created (Union[Unset, datetime.datetime]):
53
53
  modified (Union[Unset, datetime.datetime]):
54
- backend_id (Union[None, Unset, str]):
54
+ backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
55
55
  access_url (Union[None, Unset, str]):
56
56
  start_time (Union[None, Unset, datetime.datetime]):
57
57
  cores (Union[Unset, int]): Number of cores in a VM
@@ -68,21 +68,23 @@ class OpenStackInstance:
68
68
  key_fingerprint (Union[Unset, str]):
69
69
  image_name (Union[Unset, str]):
70
70
  flavor_disk (Union[Unset, int]): Flavor disk size in MiB
71
- flavor_name (Union[Unset, str]):
72
- volumes (Union[Unset, list['OpenStackNestedVolume']]):
73
- security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]):
74
- server_group (Union['OpenStackNestedServerGroup', None, Unset]):
75
- floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]):
76
- ports (Union[Unset, list['OpenStackNestedPort']]):
77
- availability_zone (Union[None, Unset, str]):
78
- availability_zone_name (Union[Unset, str]):
79
- connect_directly_to_external_network (Union[Unset, bool]):
71
+ flavor_name (Union[Unset, str]): Name of the flavor used by this instance
72
+ volumes (Union[Unset, list['OpenStackNestedVolume']]): List of volumes attached to the instance
73
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]): List of security groups to apply to the
74
+ instance
75
+ server_group (Union['OpenStackNestedServerGroup', None, Unset]): Server group for instance scheduling policy
76
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]): Floating IPs to assign to the instance
77
+ ports (Union[Unset, list['OpenStackNestedPort']]): Network ports to attach to the instance
78
+ availability_zone (Union[None, Unset, str]): Availability zone where this instance is located
79
+ availability_zone_name (Union[Unset, str]): Name of the availability zone where instance is located
80
+ connect_directly_to_external_network (Union[Unset, bool]): If True, instance will be connected directly to
81
+ external network
80
82
  runtime_state (Union[Unset, str]):
81
83
  action (Union[Unset, str]):
82
- action_details (Union[Unset, Any]):
83
- tenant_uuid (Union[Unset, UUID]):
84
- hypervisor_hostname (Union[Unset, str]):
85
- tenant (Union[Unset, str]):
84
+ action_details (Union[Unset, Any]): Details about ongoing or completed actions
85
+ tenant_uuid (Union[Unset, UUID]): UUID of the OpenStack tenant
86
+ hypervisor_hostname (Union[Unset, str]): Name of the hypervisor hosting this instance
87
+ tenant (Union[Unset, str]): The OpenStack tenant to create the instance in
86
88
  external_address (Union[Unset, list[str]]):
87
89
  rancher_cluster (Union['RancherClusterReference', None, Unset]):
88
90
  marketplace_offering_uuid (Union[None, Unset, str]):
@@ -15,8 +15,9 @@ T = TypeVar("T", bound="OpenStackInstanceAllowedAddressPairsUpdateRequest")
15
15
  class OpenStackInstanceAllowedAddressPairsUpdateRequest:
16
16
  """
17
17
  Attributes:
18
- subnet (str):
19
- allowed_address_pairs (list['OpenStackAllowedAddressPairRequest']):
18
+ subnet (str): The subnet to update allowed address pairs for.
19
+ allowed_address_pairs (list['OpenStackAllowedAddressPairRequest']): List of allowed address pairs to set on the
20
+ port. Each pair should contain 'ip_address' and optional 'mac_address'.
20
21
  """
21
22
 
22
23
  subnet: str
@@ -18,7 +18,7 @@ class OpenStackInstanceAvailabilityZone:
18
18
  uuid (UUID):
19
19
  name (str):
20
20
  settings (Union[None, Unset, str]):
21
- available (Union[Unset, bool]):
21
+ available (Union[Unset, bool]): Indicates whether this availability zone is available for instance provisioning
22
22
  """
23
23
 
24
24
  url: str
@@ -0,0 +1,283 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.open_stack_data_volume_request import OpenStackDataVolumeRequest
11
+ from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
12
+ from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
13
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
14
+
15
+
16
+ T = TypeVar("T", bound="OpenStackInstanceCreateOrderAttributes")
17
+
18
+
19
+ @_attrs_define
20
+ class OpenStackInstanceCreateOrderAttributes:
21
+ """This mixin allows to specify list of fields to be rendered by serializer.
22
+ It expects that request is available in serializer's context.
23
+
24
+ It is disabled for nested serializers (where parent is another serializer)
25
+ but remains active for list views (where parent is a ListSerializer).
26
+
27
+ Attributes:
28
+ name (str):
29
+ flavor (str): The flavor to use for the instance
30
+ image (str): The OS image to use for the instance
31
+ ports (list['OpenStackNestedPortRequest']): Network ports to attach to the instance
32
+ system_volume_size (int): Size of the system volume in MiB. Minimum size is 1024 MiB (1 GiB)
33
+ description (Union[Unset, str]):
34
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): List of security groups to apply to
35
+ the instance
36
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs to assign to the instance
37
+ system_volume_type (Union[None, Unset, str]): Volume type for the system volume
38
+ data_volume_size (Union[Unset, int]): Size of the data volume in MiB. Minimum size is 1024 MiB (1 GiB)
39
+ data_volume_type (Union[None, Unset, str]): Volume type for the data volume
40
+ ssh_public_key (Union[Unset, str]):
41
+ user_data (Union[Unset, str]): Additional data that will be added to instance on provisioning
42
+ availability_zone (Union[None, Unset, str]): Availability zone where this instance is located
43
+ connect_directly_to_external_network (Union[Unset, bool]): If True, instance will be connected directly to
44
+ external network
45
+ data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
46
+ instance
47
+ """
48
+
49
+ name: str
50
+ flavor: str
51
+ image: str
52
+ ports: list["OpenStackNestedPortRequest"]
53
+ system_volume_size: int
54
+ description: Union[Unset, str] = UNSET
55
+ security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
56
+ floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
57
+ system_volume_type: Union[None, Unset, str] = UNSET
58
+ data_volume_size: Union[Unset, int] = UNSET
59
+ data_volume_type: Union[None, Unset, str] = UNSET
60
+ ssh_public_key: Union[Unset, str] = UNSET
61
+ user_data: Union[Unset, str] = UNSET
62
+ availability_zone: Union[None, Unset, str] = UNSET
63
+ connect_directly_to_external_network: Union[Unset, bool] = UNSET
64
+ data_volumes: Union[Unset, list["OpenStackDataVolumeRequest"]] = UNSET
65
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
66
+
67
+ def to_dict(self) -> dict[str, Any]:
68
+ name = self.name
69
+
70
+ flavor = self.flavor
71
+
72
+ image = self.image
73
+
74
+ ports = []
75
+ for ports_item_data in self.ports:
76
+ ports_item = ports_item_data.to_dict()
77
+ ports.append(ports_item)
78
+
79
+ system_volume_size = self.system_volume_size
80
+
81
+ description = self.description
82
+
83
+ security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
84
+ if not isinstance(self.security_groups, Unset):
85
+ security_groups = []
86
+ for security_groups_item_data in self.security_groups:
87
+ security_groups_item = security_groups_item_data.to_dict()
88
+ security_groups.append(security_groups_item)
89
+
90
+ floating_ips: Union[Unset, list[dict[str, Any]]] = UNSET
91
+ if not isinstance(self.floating_ips, Unset):
92
+ floating_ips = []
93
+ for floating_ips_item_data in self.floating_ips:
94
+ floating_ips_item = floating_ips_item_data.to_dict()
95
+ floating_ips.append(floating_ips_item)
96
+
97
+ system_volume_type: Union[None, Unset, str]
98
+ if isinstance(self.system_volume_type, Unset):
99
+ system_volume_type = UNSET
100
+ else:
101
+ system_volume_type = self.system_volume_type
102
+
103
+ data_volume_size = self.data_volume_size
104
+
105
+ data_volume_type: Union[None, Unset, str]
106
+ if isinstance(self.data_volume_type, Unset):
107
+ data_volume_type = UNSET
108
+ else:
109
+ data_volume_type = self.data_volume_type
110
+
111
+ ssh_public_key = self.ssh_public_key
112
+
113
+ user_data = self.user_data
114
+
115
+ availability_zone: Union[None, Unset, str]
116
+ if isinstance(self.availability_zone, Unset):
117
+ availability_zone = UNSET
118
+ else:
119
+ availability_zone = self.availability_zone
120
+
121
+ connect_directly_to_external_network = self.connect_directly_to_external_network
122
+
123
+ data_volumes: Union[Unset, list[dict[str, Any]]] = UNSET
124
+ if not isinstance(self.data_volumes, Unset):
125
+ data_volumes = []
126
+ for data_volumes_item_data in self.data_volumes:
127
+ data_volumes_item = data_volumes_item_data.to_dict()
128
+ data_volumes.append(data_volumes_item)
129
+
130
+ field_dict: dict[str, Any] = {}
131
+ field_dict.update(self.additional_properties)
132
+ field_dict.update(
133
+ {
134
+ "name": name,
135
+ "flavor": flavor,
136
+ "image": image,
137
+ "ports": ports,
138
+ "system_volume_size": system_volume_size,
139
+ }
140
+ )
141
+ if description is not UNSET:
142
+ field_dict["description"] = description
143
+ if security_groups is not UNSET:
144
+ field_dict["security_groups"] = security_groups
145
+ if floating_ips is not UNSET:
146
+ field_dict["floating_ips"] = floating_ips
147
+ if system_volume_type is not UNSET:
148
+ field_dict["system_volume_type"] = system_volume_type
149
+ if data_volume_size is not UNSET:
150
+ field_dict["data_volume_size"] = data_volume_size
151
+ if data_volume_type is not UNSET:
152
+ field_dict["data_volume_type"] = data_volume_type
153
+ if ssh_public_key is not UNSET:
154
+ field_dict["ssh_public_key"] = ssh_public_key
155
+ if user_data is not UNSET:
156
+ field_dict["user_data"] = user_data
157
+ if availability_zone is not UNSET:
158
+ field_dict["availability_zone"] = availability_zone
159
+ if connect_directly_to_external_network is not UNSET:
160
+ field_dict["connect_directly_to_external_network"] = connect_directly_to_external_network
161
+ if data_volumes is not UNSET:
162
+ field_dict["data_volumes"] = data_volumes
163
+
164
+ return field_dict
165
+
166
+ @classmethod
167
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
168
+ from ..models.open_stack_data_volume_request import OpenStackDataVolumeRequest
169
+ from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
170
+ from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
171
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
172
+
173
+ d = dict(src_dict)
174
+ name = d.pop("name")
175
+
176
+ flavor = d.pop("flavor")
177
+
178
+ image = d.pop("image")
179
+
180
+ ports = []
181
+ _ports = d.pop("ports")
182
+ for ports_item_data in _ports:
183
+ ports_item = OpenStackNestedPortRequest.from_dict(ports_item_data)
184
+
185
+ ports.append(ports_item)
186
+
187
+ system_volume_size = d.pop("system_volume_size")
188
+
189
+ description = d.pop("description", UNSET)
190
+
191
+ security_groups = []
192
+ _security_groups = d.pop("security_groups", UNSET)
193
+ for security_groups_item_data in _security_groups or []:
194
+ security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
195
+
196
+ security_groups.append(security_groups_item)
197
+
198
+ floating_ips = []
199
+ _floating_ips = d.pop("floating_ips", UNSET)
200
+ for floating_ips_item_data in _floating_ips or []:
201
+ floating_ips_item = OpenStackNestedFloatingIPRequest.from_dict(floating_ips_item_data)
202
+
203
+ floating_ips.append(floating_ips_item)
204
+
205
+ def _parse_system_volume_type(data: object) -> Union[None, Unset, str]:
206
+ if data is None:
207
+ return data
208
+ if isinstance(data, Unset):
209
+ return data
210
+ return cast(Union[None, Unset, str], data)
211
+
212
+ system_volume_type = _parse_system_volume_type(d.pop("system_volume_type", UNSET))
213
+
214
+ data_volume_size = d.pop("data_volume_size", UNSET)
215
+
216
+ def _parse_data_volume_type(data: object) -> Union[None, Unset, str]:
217
+ if data is None:
218
+ return data
219
+ if isinstance(data, Unset):
220
+ return data
221
+ return cast(Union[None, Unset, str], data)
222
+
223
+ data_volume_type = _parse_data_volume_type(d.pop("data_volume_type", UNSET))
224
+
225
+ ssh_public_key = d.pop("ssh_public_key", UNSET)
226
+
227
+ user_data = d.pop("user_data", UNSET)
228
+
229
+ def _parse_availability_zone(data: object) -> Union[None, Unset, str]:
230
+ if data is None:
231
+ return data
232
+ if isinstance(data, Unset):
233
+ return data
234
+ return cast(Union[None, Unset, str], data)
235
+
236
+ availability_zone = _parse_availability_zone(d.pop("availability_zone", UNSET))
237
+
238
+ connect_directly_to_external_network = d.pop("connect_directly_to_external_network", UNSET)
239
+
240
+ data_volumes = []
241
+ _data_volumes = d.pop("data_volumes", UNSET)
242
+ for data_volumes_item_data in _data_volumes or []:
243
+ data_volumes_item = OpenStackDataVolumeRequest.from_dict(data_volumes_item_data)
244
+
245
+ data_volumes.append(data_volumes_item)
246
+
247
+ open_stack_instance_create_order_attributes = cls(
248
+ name=name,
249
+ flavor=flavor,
250
+ image=image,
251
+ ports=ports,
252
+ system_volume_size=system_volume_size,
253
+ description=description,
254
+ security_groups=security_groups,
255
+ floating_ips=floating_ips,
256
+ system_volume_type=system_volume_type,
257
+ data_volume_size=data_volume_size,
258
+ data_volume_type=data_volume_type,
259
+ ssh_public_key=ssh_public_key,
260
+ user_data=user_data,
261
+ availability_zone=availability_zone,
262
+ connect_directly_to_external_network=connect_directly_to_external_network,
263
+ data_volumes=data_volumes,
264
+ )
265
+
266
+ open_stack_instance_create_order_attributes.additional_properties = d
267
+ return open_stack_instance_create_order_attributes
268
+
269
+ @property
270
+ def additional_keys(self) -> list[str]:
271
+ return list(self.additional_properties.keys())
272
+
273
+ def __getitem__(self, key: str) -> Any:
274
+ return self.additional_properties[key]
275
+
276
+ def __setitem__(self, key: str, value: Any) -> None:
277
+ self.additional_properties[key] = value
278
+
279
+ def __delitem__(self, key: str) -> None:
280
+ del self.additional_properties[key]
281
+
282
+ def __contains__(self, key: str) -> bool:
283
+ return key in self.additional_properties
@@ -19,9 +19,10 @@ class OpenStackInstanceRequest:
19
19
  Attributes:
20
20
  name (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: str
@@ -11,7 +11,7 @@ T = TypeVar("T", bound="OpenStackInstanceSecurityGroupsUpdateRequest")
11
11
  class OpenStackInstanceSecurityGroupsUpdateRequest:
12
12
  """
13
13
  Attributes:
14
- security_groups (list[str]):
14
+ security_groups (list[str]): List of security groups to be assigned to the instance.
15
15
  """
16
16
 
17
17
  security_groups: list[str]
@@ -20,14 +20,14 @@ class OpenStackNestedFloatingIP:
20
20
  Attributes:
21
21
  url (Union[Unset, str]):
22
22
  uuid (Union[Unset, UUID]):
23
- address (Union[None, Unset, str]):
23
+ address (Union[None, Unset, str]): The public IPv4 address of the floating IP
24
24
  port_fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
25
- port_mac_address (Union[None, Unset, str]):
25
+ port_mac_address (Union[None, Unset, str]): MAC address of the port
26
26
  subnet (Union[Unset, str]):
27
27
  subnet_uuid (Union[Unset, UUID]):
28
28
  subnet_name (Union[Unset, str]):
29
29
  subnet_description (Union[Unset, str]):
30
- subnet_cidr (Union[Unset, str]):
30
+ subnet_cidr (Union[Unset, str]): IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
31
31
  """
32
32
 
33
33
  url: Union[Unset, str] = UNSET
@@ -14,7 +14,7 @@ T = TypeVar("T", bound="OpenStackNestedInstance")
14
14
  class OpenStackNestedInstance:
15
15
  """
16
16
  Attributes:
17
- backend_id (Union[None, Unset, str]):
17
+ backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
18
18
  name (Union[Unset, str]):
19
19
  uuid (Union[Unset, UUID]):
20
20
  """
@@ -22,15 +22,15 @@ class OpenStackNestedPort:
22
22
  Attributes:
23
23
  url (Union[Unset, str]):
24
24
  fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
25
- mac_address (Union[Unset, str]):
26
- subnet (Union[None, Unset, str]):
25
+ mac_address (Union[Unset, str]): MAC address of the port
26
+ subnet (Union[None, Unset, str]): Subnet to which this port belongs
27
27
  subnet_uuid (Union[None, UUID, Unset]):
28
28
  subnet_name (Union[None, Unset, str]):
29
29
  subnet_description (Union[None, Unset, str]):
30
- subnet_cidr (Union[None, Unset, str]):
30
+ subnet_cidr (Union[None, Unset, str]): IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
31
31
  allowed_address_pairs (Union[Unset, list['OpenStackAllowedAddressPair']]):
32
- device_id (Union[None, Unset, str]):
33
- device_owner (Union[None, Unset, str]):
32
+ device_id (Union[None, Unset, str]): ID of device (instance, router etc) to which this port is connected
33
+ device_owner (Union[None, Unset, str]): Entity that uses this port (e.g. network:router_interface)
34
34
  security_groups (Union[Unset, list['OpenStackSecurityGroup']]):
35
35
  """
36
36
 
@@ -18,7 +18,7 @@ class OpenStackNestedPortRequest:
18
18
  """
19
19
  Attributes:
20
20
  fixed_ips (Union[Unset, list['OpenStackFixedIpRequest']]):
21
- subnet (Union[None, Unset, str]):
21
+ subnet (Union[None, Unset, str]): Subnet to which this port belongs
22
22
  port (Union[Unset, str]):
23
23
  """
24
24
 
@@ -7,7 +7,7 @@ from attrs import field as _attrs_field
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
- from ..models.nested_security_group_rule import NestedSecurityGroupRule
10
+ from ..models.open_stack_nested_security_group_rules_item import OpenStackNestedSecurityGroupRulesItem
11
11
 
12
12
 
13
13
  T = TypeVar("T", bound="OpenStackNestedSecurityGroup")
@@ -19,16 +19,16 @@ class OpenStackNestedSecurityGroup:
19
19
  Attributes:
20
20
  url (Union[Unset, str]):
21
21
  name (Union[Unset, str]):
22
- rules (Union[Unset, list['NestedSecurityGroupRule']]):
23
22
  description (Union[Unset, str]):
24
23
  state (Union[Unset, str]):
24
+ rules (Union[Unset, list['OpenStackNestedSecurityGroupRulesItem']]):
25
25
  """
26
26
 
27
27
  url: Union[Unset, str] = UNSET
28
28
  name: Union[Unset, str] = UNSET
29
- rules: Union[Unset, list["NestedSecurityGroupRule"]] = UNSET
30
29
  description: Union[Unset, str] = UNSET
31
30
  state: Union[Unset, str] = UNSET
31
+ rules: Union[Unset, list["OpenStackNestedSecurityGroupRulesItem"]] = UNSET
32
32
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
33
 
34
34
  def to_dict(self) -> dict[str, Any]:
@@ -36,6 +36,10 @@ class OpenStackNestedSecurityGroup:
36
36
 
37
37
  name = self.name
38
38
 
39
+ description = self.description
40
+
41
+ state = self.state
42
+
39
43
  rules: Union[Unset, list[dict[str, Any]]] = UNSET
40
44
  if not isinstance(self.rules, Unset):
41
45
  rules = []
@@ -43,10 +47,6 @@ class OpenStackNestedSecurityGroup:
43
47
  rules_item = rules_item_data.to_dict()
44
48
  rules.append(rules_item)
45
49
 
46
- description = self.description
47
-
48
- state = self.state
49
-
50
50
  field_dict: dict[str, Any] = {}
51
51
  field_dict.update(self.additional_properties)
52
52
  field_dict.update({})
@@ -54,41 +54,41 @@ class OpenStackNestedSecurityGroup:
54
54
  field_dict["url"] = url
55
55
  if name is not UNSET:
56
56
  field_dict["name"] = name
57
- if rules is not UNSET:
58
- field_dict["rules"] = rules
59
57
  if description is not UNSET:
60
58
  field_dict["description"] = description
61
59
  if state is not UNSET:
62
60
  field_dict["state"] = state
61
+ if rules is not UNSET:
62
+ field_dict["rules"] = rules
63
63
 
64
64
  return field_dict
65
65
 
66
66
  @classmethod
67
67
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
68
- from ..models.nested_security_group_rule import NestedSecurityGroupRule
68
+ from ..models.open_stack_nested_security_group_rules_item import OpenStackNestedSecurityGroupRulesItem
69
69
 
70
70
  d = dict(src_dict)
71
71
  url = d.pop("url", UNSET)
72
72
 
73
73
  name = d.pop("name", UNSET)
74
74
 
75
+ description = d.pop("description", UNSET)
76
+
77
+ state = d.pop("state", UNSET)
78
+
75
79
  rules = []
76
80
  _rules = d.pop("rules", UNSET)
77
81
  for rules_item_data in _rules or []:
78
- rules_item = NestedSecurityGroupRule.from_dict(rules_item_data)
82
+ rules_item = OpenStackNestedSecurityGroupRulesItem.from_dict(rules_item_data)
79
83
 
80
84
  rules.append(rules_item)
81
85
 
82
- description = d.pop("description", UNSET)
83
-
84
- state = d.pop("state", UNSET)
85
-
86
86
  open_stack_nested_security_group = cls(
87
87
  url=url,
88
88
  name=name,
89
- rules=rules,
90
89
  description=description,
91
90
  state=state,
91
+ rules=rules,
92
92
  )
93
93
 
94
94
  open_stack_nested_security_group.additional_properties = d
@@ -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="OpenStackNestedSecurityGroupRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class OpenStackNestedSecurityGroupRequest:
14
+ """
15
+ Attributes:
16
+ url (Union[Unset, str]):
17
+ """
18
+
19
+ url: 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
+ url = self.url
24
+
25
+ field_dict: dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update({})
28
+ if url is not UNSET:
29
+ field_dict["url"] = url
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
+ url = d.pop("url", UNSET)
37
+
38
+ open_stack_nested_security_group_request = cls(
39
+ url=url,
40
+ )
41
+
42
+ open_stack_nested_security_group_request.additional_properties = d
43
+ return open_stack_nested_security_group_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