hyperstack 1.25.0a0__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.
Files changed (401) hide show
  1. hyperstack/__init__.py +420 -0
  2. hyperstack/api/__init__.py +48 -0
  3. hyperstack/api/alive_api.py +270 -0
  4. hyperstack/api/api_key_api.py +1161 -0
  5. hyperstack/api/assigning_member_role_api.py +615 -0
  6. hyperstack/api/auth_api.py +292 -0
  7. hyperstack/api/billing_api.py +5946 -0
  8. hyperstack/api/calculate_api.py +326 -0
  9. hyperstack/api/callbacks_api.py +1795 -0
  10. hyperstack/api/cluster_events_api.py +308 -0
  11. hyperstack/api/clusters_api.py +1651 -0
  12. hyperstack/api/compliance_api.py +1169 -0
  13. hyperstack/api/credit_api.py +295 -0
  14. hyperstack/api/customer_contract_api.py +922 -0
  15. hyperstack/api/dashboard_api.py +292 -0
  16. hyperstack/api/deployment_api.py +1122 -0
  17. hyperstack/api/environment_api.py +1490 -0
  18. hyperstack/api/firewall_attachment_api.py +343 -0
  19. hyperstack/api/firewalls_api.py +1819 -0
  20. hyperstack/api/flavor_api.py +315 -0
  21. hyperstack/api/floating_ip_api.py +585 -0
  22. hyperstack/api/gpu_api.py +292 -0
  23. hyperstack/api/image_api.py +1228 -0
  24. hyperstack/api/invite_api.py +857 -0
  25. hyperstack/api/keypair_api.py +1217 -0
  26. hyperstack/api/organization_api.py +864 -0
  27. hyperstack/api/payment_api.py +584 -0
  28. hyperstack/api/permission_api.py +292 -0
  29. hyperstack/api/policy_api.py +292 -0
  30. hyperstack/api/pricebook_api.py +293 -0
  31. hyperstack/api/profile_api.py +1131 -0
  32. hyperstack/api/rbac_role_api.py +1434 -0
  33. hyperstack/api/region_api.py +292 -0
  34. hyperstack/api/security_rules_api.py +292 -0
  35. hyperstack/api/snapshot_events_api.py +291 -0
  36. hyperstack/api/snapshots_api.py +1779 -0
  37. hyperstack/api/stock_api.py +292 -0
  38. hyperstack/api/template_api.py +1497 -0
  39. hyperstack/api/user_api.py +871 -0
  40. hyperstack/api/user_detail_choice_api.py +295 -0
  41. hyperstack/api/user_permission_api.py +567 -0
  42. hyperstack/api/virtual_machine_api.py +5289 -0
  43. hyperstack/api/virtual_machine_events_api.py +311 -0
  44. hyperstack/api/vnc_url_api.py +595 -0
  45. hyperstack/api/volume_api.py +1742 -0
  46. hyperstack/api/volume_attachment_api.py +650 -0
  47. hyperstack/api_client.py +797 -0
  48. hyperstack/api_response.py +21 -0
  49. hyperstack/configuration.py +605 -0
  50. hyperstack/exceptions.py +199 -0
  51. hyperstack/models/__init__.py +360 -0
  52. hyperstack/models/add_update_flavor_organization_payload.py +111 -0
  53. hyperstack/models/add_user_info_success_response_model.py +95 -0
  54. hyperstack/models/allocated_gpu_count_graph.py +89 -0
  55. hyperstack/models/api_key_fields.py +96 -0
  56. hyperstack/models/api_key_verify_fields.py +93 -0
  57. hyperstack/models/assign_rbac_role_payload.py +87 -0
  58. hyperstack/models/attach_callback_payload.py +87 -0
  59. hyperstack/models/attach_callback_response.py +91 -0
  60. hyperstack/models/attach_firewall_with_vm.py +87 -0
  61. hyperstack/models/attach_firewalls_to_vm_payload.py +87 -0
  62. hyperstack/models/attach_volume_fields.py +96 -0
  63. hyperstack/models/attach_volumes.py +99 -0
  64. hyperstack/models/attach_volumes_payload.py +87 -0
  65. hyperstack/models/auth_get_token_response_model.py +97 -0
  66. hyperstack/models/auth_request_login_fields.py +89 -0
  67. hyperstack/models/auth_request_login_response_model.py +95 -0
  68. hyperstack/models/auth_user_fields.py +94 -0
  69. hyperstack/models/auth_user_info_response_model.py +95 -0
  70. hyperstack/models/billing_immune_resources_response.py +95 -0
  71. hyperstack/models/billing_response.py +100 -0
  72. hyperstack/models/billingmetricesfields.py +108 -0
  73. hyperstack/models/billingmetricesresponse.py +99 -0
  74. hyperstack/models/cluster_events.py +99 -0
  75. hyperstack/models/cluster_events_fields.py +104 -0
  76. hyperstack/models/cluster_fields.py +114 -0
  77. hyperstack/models/cluster_list_response.py +99 -0
  78. hyperstack/models/cluster_response.py +95 -0
  79. hyperstack/models/cluster_versions.py +91 -0
  80. hyperstack/models/common_response_model.py +89 -0
  81. hyperstack/models/compliance_fields.py +93 -0
  82. hyperstack/models/compliance_model_fields.py +99 -0
  83. hyperstack/models/compliance_payload.py +97 -0
  84. hyperstack/models/compliance_response.py +95 -0
  85. hyperstack/models/container_overview_fields.py +95 -0
  86. hyperstack/models/contract.py +105 -0
  87. hyperstack/models/contract_billing_history.py +97 -0
  88. hyperstack/models/contract_billing_history_response_attributes.py +99 -0
  89. hyperstack/models/contract_billing_history_response_model.py +95 -0
  90. hyperstack/models/contract_change_payload.py +101 -0
  91. hyperstack/models/contract_discount_plan_fields.py +103 -0
  92. hyperstack/models/contract_eligible_instance_fields.py +99 -0
  93. hyperstack/models/contract_eligible_instances_response.py +101 -0
  94. hyperstack/models/contract_event_create_model.py +91 -0
  95. hyperstack/models/contract_gpu_allocation_graph_response.py +95 -0
  96. hyperstack/models/contract_instance_fields.py +102 -0
  97. hyperstack/models/contract_instances_response.py +99 -0
  98. hyperstack/models/contract_resource_payload.py +95 -0
  99. hyperstack/models/contractl_billing_history_response_metrics.py +87 -0
  100. hyperstack/models/create_cluster_payload.py +101 -0
  101. hyperstack/models/create_contract_fields.py +110 -0
  102. hyperstack/models/create_contract_payload.py +106 -0
  103. hyperstack/models/create_discount_response.py +95 -0
  104. hyperstack/models/create_discounts_payload.py +112 -0
  105. hyperstack/models/create_environment.py +90 -0
  106. hyperstack/models/create_firewall_payload.py +91 -0
  107. hyperstack/models/create_firewall_rule_payload.py +104 -0
  108. hyperstack/models/create_gpu.py +91 -0
  109. hyperstack/models/create_image.py +91 -0
  110. hyperstack/models/create_image_payload.py +89 -0
  111. hyperstack/models/create_instances_payload.py +134 -0
  112. hyperstack/models/create_instances_response.py +99 -0
  113. hyperstack/models/create_profile_payload.py +92 -0
  114. hyperstack/models/create_profile_response.py +95 -0
  115. hyperstack/models/create_security_rule_payload.py +104 -0
  116. hyperstack/models/create_snapshot_payload.py +93 -0
  117. hyperstack/models/create_snapshot_response.py +95 -0
  118. hyperstack/models/create_update_compliance_response.py +95 -0
  119. hyperstack/models/create_update_permission_payload.py +93 -0
  120. hyperstack/models/create_update_permission_response_model.py +95 -0
  121. hyperstack/models/create_update_policy_payload.py +93 -0
  122. hyperstack/models/create_update_policy_response_model.py +95 -0
  123. hyperstack/models/create_update_rbac_role_payload.py +94 -0
  124. hyperstack/models/create_volume_payload.py +100 -0
  125. hyperstack/models/creditrechargelimitfield.py +93 -0
  126. hyperstack/models/creditrechargelimitresponse.py +99 -0
  127. hyperstack/models/creditrequestresponse.py +99 -0
  128. hyperstack/models/creditrequests.py +96 -0
  129. hyperstack/models/customer_contract_detail_response_model.py +95 -0
  130. hyperstack/models/customer_contract_fields.py +112 -0
  131. hyperstack/models/customer_fields.py +89 -0
  132. hyperstack/models/customer_payload.py +89 -0
  133. hyperstack/models/dashboard_info_response.py +95 -0
  134. hyperstack/models/data.py +91 -0
  135. hyperstack/models/deployment_fields.py +98 -0
  136. hyperstack/models/deployment_fieldsforstartdeployments.py +100 -0
  137. hyperstack/models/deployments.py +99 -0
  138. hyperstack/models/detach_volumes.py +99 -0
  139. hyperstack/models/detach_volumes_payload.py +87 -0
  140. hyperstack/models/discount_entity_model.py +97 -0
  141. hyperstack/models/discount_fields.py +100 -0
  142. hyperstack/models/discount_plan_fields.py +108 -0
  143. hyperstack/models/discount_resource_fields.py +93 -0
  144. hyperstack/models/discount_resource_payload.py +93 -0
  145. hyperstack/models/editlabelofanexisting_vm_payload.py +87 -0
  146. hyperstack/models/environment.py +95 -0
  147. hyperstack/models/environment_features.py +87 -0
  148. hyperstack/models/environment_fields.py +100 -0
  149. hyperstack/models/environment_fieldsfor_volume.py +87 -0
  150. hyperstack/models/environments.py +105 -0
  151. hyperstack/models/error_response_model.py +91 -0
  152. hyperstack/models/exclude_billing_post_payload.py +91 -0
  153. hyperstack/models/exclude_billing_post_response.py +91 -0
  154. hyperstack/models/export_billing_data_request.py +105 -0
  155. hyperstack/models/export_billing_data_response.py +89 -0
  156. hyperstack/models/field_change.py +91 -0
  157. hyperstack/models/firewall_attachment_model.py +98 -0
  158. hyperstack/models/firewall_attachment_vm_model.py +98 -0
  159. hyperstack/models/firewall_detail_fields.py +122 -0
  160. hyperstack/models/firewall_detail_response.py +95 -0
  161. hyperstack/models/firewall_environment_fields.py +91 -0
  162. hyperstack/models/firewall_fields.py +102 -0
  163. hyperstack/models/firewall_response.py +95 -0
  164. hyperstack/models/firewall_rule.py +95 -0
  165. hyperstack/models/firewalls_list_response.py +105 -0
  166. hyperstack/models/flavor_fields.py +120 -0
  167. hyperstack/models/flavor_item_get_response.py +99 -0
  168. hyperstack/models/flavor_list_response.py +99 -0
  169. hyperstack/models/flavor_object_fields.py +95 -0
  170. hyperstack/models/flavor_payload.py +101 -0
  171. hyperstack/models/flavor_response.py +95 -0
  172. hyperstack/models/flavor_vm_fields.py +100 -0
  173. hyperstack/models/flavor_vms_response.py +99 -0
  174. hyperstack/models/future_node_model.py +106 -0
  175. hyperstack/models/future_node_response_model.py +97 -0
  176. hyperstack/models/future_node_stock_model.py +93 -0
  177. hyperstack/models/future_node_update_model.py +98 -0
  178. hyperstack/models/future_nodes_stock_model.py +95 -0
  179. hyperstack/models/generate_update_api_key_payload.py +89 -0
  180. hyperstack/models/generate_update_api_key_response_model.py +95 -0
  181. hyperstack/models/get_all_contract_fields.py +100 -0
  182. hyperstack/models/get_all_contracts_response_model.py +99 -0
  183. hyperstack/models/get_all_discount_for_all_organization_response.py +99 -0
  184. hyperstack/models/get_all_discounts_fields.py +106 -0
  185. hyperstack/models/get_api_keys_response_model.py +99 -0
  186. hyperstack/models/get_customer_contracts_list_response_model.py +101 -0
  187. hyperstack/models/get_discount_detail_response.py +95 -0
  188. hyperstack/models/get_discount_response.py +99 -0
  189. hyperstack/models/get_entity_discount_detail_response.py +108 -0
  190. hyperstack/models/get_invites_response_model.py +99 -0
  191. hyperstack/models/get_organization_response_model.py +95 -0
  192. hyperstack/models/get_permissions_response_model.py +99 -0
  193. hyperstack/models/get_policies_response_model.py +99 -0
  194. hyperstack/models/get_rbac_roles_response_model.py +99 -0
  195. hyperstack/models/get_token_payload.py +89 -0
  196. hyperstack/models/get_user_permissions_response_model.py +99 -0
  197. hyperstack/models/get_version_response.py +91 -0
  198. hyperstack/models/getcreditandthresholdinfo.py +91 -0
  199. hyperstack/models/getcreditandthresholdinfoinresponse.py +95 -0
  200. hyperstack/models/gpu.py +95 -0
  201. hyperstack/models/gpu_fields.py +106 -0
  202. hyperstack/models/gpu_list.py +99 -0
  203. hyperstack/models/gpu_region_fields.py +89 -0
  204. hyperstack/models/graph_datetime_value_model.py +89 -0
  205. hyperstack/models/historical_instance.py +101 -0
  206. hyperstack/models/historical_instances_fields.py +110 -0
  207. hyperstack/models/image.py +91 -0
  208. hyperstack/models/image_fields.py +113 -0
  209. hyperstack/models/image_get_response.py +101 -0
  210. hyperstack/models/image_logos.py +99 -0
  211. hyperstack/models/images.py +99 -0
  212. hyperstack/models/import_keypair_payload.py +92 -0
  213. hyperstack/models/import_keypair_response.py +95 -0
  214. hyperstack/models/infrahub_resource_object_response.py +119 -0
  215. hyperstack/models/infrahub_resource_object_response_for_customer.py +109 -0
  216. hyperstack/models/insert_discount_plan_fields.py +112 -0
  217. hyperstack/models/instance.py +95 -0
  218. hyperstack/models/instance_environment_fields.py +99 -0
  219. hyperstack/models/instance_events.py +99 -0
  220. hyperstack/models/instance_events_fields.py +102 -0
  221. hyperstack/models/instance_fields.py +162 -0
  222. hyperstack/models/instance_flavor_fields.py +101 -0
  223. hyperstack/models/instance_image_fields.py +87 -0
  224. hyperstack/models/instance_keypair_fields.py +87 -0
  225. hyperstack/models/instance_overview_fields.py +95 -0
  226. hyperstack/models/instance_resize_payload.py +93 -0
  227. hyperstack/models/instances.py +105 -0
  228. hyperstack/models/instances_summary_fields.py +120 -0
  229. hyperstack/models/internal_environment_fields.py +94 -0
  230. hyperstack/models/internal_instance_fields.py +156 -0
  231. hyperstack/models/internal_instance_flavor_fields.py +104 -0
  232. hyperstack/models/internal_instance_image_fields.py +95 -0
  233. hyperstack/models/internal_instance_keypair_fields.py +98 -0
  234. hyperstack/models/internal_instances_response.py +99 -0
  235. hyperstack/models/internal_security_rules_fields_for_instance.py +104 -0
  236. hyperstack/models/internal_volume_attachment_fields.py +98 -0
  237. hyperstack/models/internal_volume_fields.py +95 -0
  238. hyperstack/models/internal_volumes_response.py +99 -0
  239. hyperstack/models/invite_fields.py +94 -0
  240. hyperstack/models/invite_user_payload.py +88 -0
  241. hyperstack/models/invite_user_response_model.py +95 -0
  242. hyperstack/models/keypair_fields.py +98 -0
  243. hyperstack/models/keypairs.py +105 -0
  244. hyperstack/models/lable_resonse.py +89 -0
  245. hyperstack/models/lastdaycostfields.py +93 -0
  246. hyperstack/models/lastdaycostresponse.py +95 -0
  247. hyperstack/models/logo_get_response.py +91 -0
  248. hyperstack/models/logout_payload.py +87 -0
  249. hyperstack/models/metric_item_fields.py +91 -0
  250. hyperstack/models/metrics_fields.py +116 -0
  251. hyperstack/models/name_available_model.py +91 -0
  252. hyperstack/models/new_configurations_response.py +95 -0
  253. hyperstack/models/new_model_response.py +101 -0
  254. hyperstack/models/new_stock_response.py +99 -0
  255. hyperstack/models/new_stock_retrive_response.py +95 -0
  256. hyperstack/models/new_stock_update_response_model.py +89 -0
  257. hyperstack/models/node_model.py +114 -0
  258. hyperstack/models/node_payload_model.py +97 -0
  259. hyperstack/models/node_power_usage_model.py +120 -0
  260. hyperstack/models/node_response_model.py +97 -0
  261. hyperstack/models/node_stock_payload_model.py +95 -0
  262. hyperstack/models/node_stock_response_model.py +95 -0
  263. hyperstack/models/node_stocks_payload.py +93 -0
  264. hyperstack/models/organization_fields.py +114 -0
  265. hyperstack/models/organization_level_billing_history.py +99 -0
  266. hyperstack/models/organization_level_billing_history_resources.py +97 -0
  267. hyperstack/models/organization_level_billing_history_response_attributes.py +87 -0
  268. hyperstack/models/organization_level_billing_history_response_metrics.py +97 -0
  269. hyperstack/models/organization_level_billing_history_response_model.py +95 -0
  270. hyperstack/models/organization_object_response.py +97 -0
  271. hyperstack/models/organization_thresholdfields.py +95 -0
  272. hyperstack/models/organization_user_response_model.py +112 -0
  273. hyperstack/models/organizationcreditrechargelimitresponse.py +95 -0
  274. hyperstack/models/organizationthresholdsresponse.py +99 -0
  275. hyperstack/models/organizationthresholdupdateresponse.py +95 -0
  276. hyperstack/models/overview_info.py +103 -0
  277. hyperstack/models/pagination_data.py +91 -0
  278. hyperstack/models/payment_details_fields.py +106 -0
  279. hyperstack/models/payment_details_response.py +95 -0
  280. hyperstack/models/payment_initiate_fields.py +87 -0
  281. hyperstack/models/payment_initiate_payload.py +87 -0
  282. hyperstack/models/payment_initiate_response.py +95 -0
  283. hyperstack/models/permission_fields.py +98 -0
  284. hyperstack/models/policy_fields.py +104 -0
  285. hyperstack/models/policy_permission_fields.py +91 -0
  286. hyperstack/models/power_usage_model.py +89 -0
  287. hyperstack/models/pricebook_model.py +100 -0
  288. hyperstack/models/pricebook_resource_object_response.py +107 -0
  289. hyperstack/models/pricebook_resource_object_response_for_customer.py +99 -0
  290. hyperstack/models/profile_fields.py +96 -0
  291. hyperstack/models/profile_list_response.py +99 -0
  292. hyperstack/models/profile_object_fields.py +89 -0
  293. hyperstack/models/rbac_role_detail_response_model.py +95 -0
  294. hyperstack/models/rbac_role_detail_response_model_fixed.py +95 -0
  295. hyperstack/models/rbac_role_field.py +87 -0
  296. hyperstack/models/rbac_role_fields.py +114 -0
  297. hyperstack/models/refresh_token_payload.py +89 -0
  298. hyperstack/models/region_fields.py +91 -0
  299. hyperstack/models/region_payload.py +89 -0
  300. hyperstack/models/region_response.py +95 -0
  301. hyperstack/models/regions.py +99 -0
  302. hyperstack/models/remove_member_from_organization_response_model.py +89 -0
  303. hyperstack/models/remove_member_payload.py +88 -0
  304. hyperstack/models/request_console.py +91 -0
  305. hyperstack/models/resource_billing_events_history_metrics.py +95 -0
  306. hyperstack/models/resource_billing_events_history_response.py +99 -0
  307. hyperstack/models/resource_billing_response_for_customer.py +95 -0
  308. hyperstack/models/resource_level_billing_details_attributes.py +91 -0
  309. hyperstack/models/resource_level_billing_details_metrics.py +101 -0
  310. hyperstack/models/resource_level_billing_details_vm.py +99 -0
  311. hyperstack/models/resource_level_billing_details_volume.py +99 -0
  312. hyperstack/models/resource_level_billing_details_volume_attributes.py +95 -0
  313. hyperstack/models/resource_level_billing_details_volume_metrics.py +95 -0
  314. hyperstack/models/resource_level_billing_history.py +105 -0
  315. hyperstack/models/resource_level_billing_history_resources.py +97 -0
  316. hyperstack/models/resource_level_billing_history_response_attributes.py +93 -0
  317. hyperstack/models/resource_level_billing_history_response_metrics.py +91 -0
  318. hyperstack/models/resource_level_billing_vm_details_resources.py +97 -0
  319. hyperstack/models/resource_level_billing_volume_details_resources.py +97 -0
  320. hyperstack/models/resource_level_graph_billing_detail_volume.py +101 -0
  321. hyperstack/models/resource_level_graph_billing_details_attributes.py +91 -0
  322. hyperstack/models/resource_level_graph_billing_details_metrics.py +97 -0
  323. hyperstack/models/resource_level_graph_billing_details_vm.py +101 -0
  324. hyperstack/models/resource_level_graph_billing_vm_details_resources.py +97 -0
  325. hyperstack/models/resource_level_graph_billing_volume_details_resources.py +97 -0
  326. hyperstack/models/resource_level_vm_billing_details_response_model.py +95 -0
  327. hyperstack/models/resource_level_vm_billing_history_response_model.py +95 -0
  328. hyperstack/models/resource_level_vm_graph_billing_details_response_model.py +95 -0
  329. hyperstack/models/resource_level_volume_billing_details_response_model.py +95 -0
  330. hyperstack/models/resource_level_volume_billing_history_response_model.py +95 -0
  331. hyperstack/models/resource_level_volume_graph_billing_details_response_model.py +95 -0
  332. hyperstack/models/resource_object_response_for_customer.py +93 -0
  333. hyperstack/models/response_model.py +89 -0
  334. hyperstack/models/role_permission_fields.py +91 -0
  335. hyperstack/models/role_policy_fields.py +91 -0
  336. hyperstack/models/security_group_rule.py +95 -0
  337. hyperstack/models/security_group_rule_fields.py +104 -0
  338. hyperstack/models/security_rules_fieldsfor_instance.py +104 -0
  339. hyperstack/models/security_rules_protocol_fields.py +91 -0
  340. hyperstack/models/set_defaults_payload.py +89 -0
  341. hyperstack/models/single_visibility_user_response.py +91 -0
  342. hyperstack/models/snapshot_fields.py +105 -0
  343. hyperstack/models/snapshot_restore_request.py +89 -0
  344. hyperstack/models/snapshot_retrieve.py +95 -0
  345. hyperstack/models/snapshot_retrieve_fields.py +103 -0
  346. hyperstack/models/snapshots.py +105 -0
  347. hyperstack/models/start_deployment.py +95 -0
  348. hyperstack/models/start_deployment_payload.py +93 -0
  349. hyperstack/models/stock_visibility_user_list_response.py +99 -0
  350. hyperstack/models/stock_visibility_user_payload.py +87 -0
  351. hyperstack/models/sub_resource_graph_billing_details_metrics.py +152 -0
  352. hyperstack/models/sub_resources_costs_response_model.py +101 -0
  353. hyperstack/models/sub_resources_graph_billing_history_fields.py +97 -0
  354. hyperstack/models/sub_resources_graph_response_model.py +95 -0
  355. hyperstack/models/subscribeorunsubscribeupdatepayload.py +87 -0
  356. hyperstack/models/success_response_model.py +89 -0
  357. hyperstack/models/template.py +95 -0
  358. hyperstack/models/template_fields.py +98 -0
  359. hyperstack/models/templates.py +99 -0
  360. hyperstack/models/token_fields.py +91 -0
  361. hyperstack/models/update_contract_payload.py +104 -0
  362. hyperstack/models/update_discounts_payload.py +102 -0
  363. hyperstack/models/update_discounts_status_payload.py +87 -0
  364. hyperstack/models/update_environment.py +88 -0
  365. hyperstack/models/update_gpu.py +91 -0
  366. hyperstack/models/update_keypair_name.py +88 -0
  367. hyperstack/models/update_keypairnameresponse.py +95 -0
  368. hyperstack/models/update_organization_payload.py +88 -0
  369. hyperstack/models/update_organization_response_model.py +89 -0
  370. hyperstack/models/update_template.py +91 -0
  371. hyperstack/models/user_default_choice_for_user_fields.py +91 -0
  372. hyperstack/models/user_default_choices_for_user_response.py +99 -0
  373. hyperstack/models/user_permission_fields.py +91 -0
  374. hyperstack/models/user_transfer_payload.py +89 -0
  375. hyperstack/models/userinfopostpayload.py +107 -0
  376. hyperstack/models/users_info_fields.py +114 -0
  377. hyperstack/models/users_info_list_response.py +95 -0
  378. hyperstack/models/verify_api_key_payload.py +87 -0
  379. hyperstack/models/verify_api_key_response_model.py +95 -0
  380. hyperstack/models/virtual_machine_usage.py +93 -0
  381. hyperstack/models/vm_usage_request_payload.py +87 -0
  382. hyperstack/models/vm_usage_response.py +101 -0
  383. hyperstack/models/vncurl.py +95 -0
  384. hyperstack/models/vncurl_fields.py +89 -0
  385. hyperstack/models/volume.py +95 -0
  386. hyperstack/models/volume_attachment_fields.py +98 -0
  387. hyperstack/models/volume_fields.py +116 -0
  388. hyperstack/models/volume_fieldsfor_instance.py +97 -0
  389. hyperstack/models/volume_overview_fields.py +91 -0
  390. hyperstack/models/volume_status_change_fields.py +96 -0
  391. hyperstack/models/volume_types.py +91 -0
  392. hyperstack/models/volumes.py +99 -0
  393. hyperstack/models/volumes_last_status_change_response.py +99 -0
  394. hyperstack/models/warning_mail_log_fields.py +99 -0
  395. hyperstack/models/warning_mail_log_response.py +101 -0
  396. hyperstack/py.typed +0 -0
  397. hyperstack/rest.py +257 -0
  398. hyperstack-1.25.0a0.dist-info/METADATA +23 -0
  399. hyperstack-1.25.0a0.dist-info/RECORD +401 -0
  400. hyperstack-1.25.0a0.dist-info/WHEEL +5 -0
  401. hyperstack-1.25.0a0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1169 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Infrahub-API
5
+
6
+ Leverage the Infrahub API and Hyperstack platform to easily create, manage, and scale powerful GPU virtual machines and their associated resources. Access this SDK to automate the deployment of your workloads and streamline your infrastructure management. To contribute, please raise an issue with a bug report, feature request, feedback, or general inquiry.
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from ..models.compliance_payload import CompliancePayload
23
+ from ..models.compliance_response import ComplianceResponse
24
+ from ..models.create_update_compliance_response import CreateUpdateComplianceResponse
25
+ from ..models.response_model import ResponseModel
26
+
27
+ from ..api_client import ApiClient, RequestSerialized
28
+ from ..api_response import ApiResponse
29
+ from ..rest import RESTResponseType
30
+
31
+
32
+ class ComplianceApi:
33
+ """NOTE: This class is auto generated by OpenAPI Generator
34
+ Ref: https://openapi-generator.tech
35
+
36
+ Do not edit the class manually.
37
+ """
38
+
39
+ def __init__(self, api_client=None) -> None:
40
+ if api_client is None:
41
+ api_client = ApiClient.get_default()
42
+ self.api_client = api_client
43
+
44
+
45
+ @validate_call
46
+ def create_compliance(
47
+ self,
48
+ payload: CompliancePayload,
49
+ _request_timeout: Union[
50
+ None,
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Tuple[
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Annotated[StrictFloat, Field(gt=0)]
55
+ ]
56
+ ] = None,
57
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
58
+ _content_type: Optional[StrictStr] = None,
59
+ _headers: Optional[Dict[StrictStr, Any]] = None,
60
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
61
+ ) -> CreateUpdateComplianceResponse:
62
+ """Create compliance
63
+
64
+
65
+ :param payload: (required)
66
+ :type payload: CompliancePayload
67
+ :param _request_timeout: timeout setting for this request. If one
68
+ number provided, it will be total request
69
+ timeout. It can also be a pair (tuple) of
70
+ (connection, read) timeouts.
71
+ :type _request_timeout: int, tuple(int, int), optional
72
+ :param _request_auth: set to override the auth_settings for an a single
73
+ request; this effectively ignores the
74
+ authentication in the spec for a single request.
75
+ :type _request_auth: dict, optional
76
+ :param _content_type: force content-type for the request.
77
+ :type _content_type: str, Optional
78
+ :param _headers: set to override the headers for a single
79
+ request; this effectively ignores the headers
80
+ in the spec for a single request.
81
+ :type _headers: dict, optional
82
+ :param _host_index: set to override the host_index for a single
83
+ request; this effectively ignores the host_index
84
+ in the spec for a single request.
85
+ :type _host_index: int, optional
86
+ :return: Returns the result object.
87
+ """ # noqa: E501
88
+
89
+ _param = self._create_compliance_serialize(
90
+ payload=payload,
91
+ _request_auth=_request_auth,
92
+ _content_type=_content_type,
93
+ _headers=_headers,
94
+ _host_index=_host_index
95
+ )
96
+
97
+ _response_types_map: Dict[str, Optional[str]] = {
98
+ '201': "CreateUpdateComplianceResponse",
99
+ '400': "ErrorResponseModel",
100
+ '401': "ErrorResponseModel",
101
+ '404': "ErrorResponseModel",
102
+ '405': "ErrorResponseModel",
103
+ '409': "ErrorResponseModel",
104
+ '500': None,
105
+ }
106
+ response_data = self.api_client.call_api(
107
+ *_param,
108
+ _request_timeout=_request_timeout
109
+ )
110
+ response_data.read()
111
+ return self.api_client.response_deserialize(
112
+ response_data=response_data,
113
+ response_types_map=_response_types_map,
114
+ ).data
115
+
116
+
117
+ @validate_call
118
+ def create_compliance_with_http_info(
119
+ self,
120
+ payload: CompliancePayload,
121
+ _request_timeout: Union[
122
+ None,
123
+ Annotated[StrictFloat, Field(gt=0)],
124
+ Tuple[
125
+ Annotated[StrictFloat, Field(gt=0)],
126
+ Annotated[StrictFloat, Field(gt=0)]
127
+ ]
128
+ ] = None,
129
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
130
+ _content_type: Optional[StrictStr] = None,
131
+ _headers: Optional[Dict[StrictStr, Any]] = None,
132
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
133
+ ) -> ApiResponse[CreateUpdateComplianceResponse]:
134
+ """Create compliance
135
+
136
+
137
+ :param payload: (required)
138
+ :type payload: CompliancePayload
139
+ :param _request_timeout: timeout setting for this request. If one
140
+ number provided, it will be total request
141
+ timeout. It can also be a pair (tuple) of
142
+ (connection, read) timeouts.
143
+ :type _request_timeout: int, tuple(int, int), optional
144
+ :param _request_auth: set to override the auth_settings for an a single
145
+ request; this effectively ignores the
146
+ authentication in the spec for a single request.
147
+ :type _request_auth: dict, optional
148
+ :param _content_type: force content-type for the request.
149
+ :type _content_type: str, Optional
150
+ :param _headers: set to override the headers for a single
151
+ request; this effectively ignores the headers
152
+ in the spec for a single request.
153
+ :type _headers: dict, optional
154
+ :param _host_index: set to override the host_index for a single
155
+ request; this effectively ignores the host_index
156
+ in the spec for a single request.
157
+ :type _host_index: int, optional
158
+ :return: Returns the result object.
159
+ """ # noqa: E501
160
+
161
+ _param = self._create_compliance_serialize(
162
+ payload=payload,
163
+ _request_auth=_request_auth,
164
+ _content_type=_content_type,
165
+ _headers=_headers,
166
+ _host_index=_host_index
167
+ )
168
+
169
+ _response_types_map: Dict[str, Optional[str]] = {
170
+ '201': "CreateUpdateComplianceResponse",
171
+ '400': "ErrorResponseModel",
172
+ '401': "ErrorResponseModel",
173
+ '404': "ErrorResponseModel",
174
+ '405': "ErrorResponseModel",
175
+ '409': "ErrorResponseModel",
176
+ '500': None,
177
+ }
178
+ response_data = self.api_client.call_api(
179
+ *_param,
180
+ _request_timeout=_request_timeout
181
+ )
182
+ response_data.read()
183
+ return self.api_client.response_deserialize(
184
+ response_data=response_data,
185
+ response_types_map=_response_types_map,
186
+ )
187
+
188
+
189
+ @validate_call
190
+ def create_compliance_without_preload_content(
191
+ self,
192
+ payload: CompliancePayload,
193
+ _request_timeout: Union[
194
+ None,
195
+ Annotated[StrictFloat, Field(gt=0)],
196
+ Tuple[
197
+ Annotated[StrictFloat, Field(gt=0)],
198
+ Annotated[StrictFloat, Field(gt=0)]
199
+ ]
200
+ ] = None,
201
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
202
+ _content_type: Optional[StrictStr] = None,
203
+ _headers: Optional[Dict[StrictStr, Any]] = None,
204
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
205
+ ) -> RESTResponseType:
206
+ """Create compliance
207
+
208
+
209
+ :param payload: (required)
210
+ :type payload: CompliancePayload
211
+ :param _request_timeout: timeout setting for this request. If one
212
+ number provided, it will be total request
213
+ timeout. It can also be a pair (tuple) of
214
+ (connection, read) timeouts.
215
+ :type _request_timeout: int, tuple(int, int), optional
216
+ :param _request_auth: set to override the auth_settings for an a single
217
+ request; this effectively ignores the
218
+ authentication in the spec for a single request.
219
+ :type _request_auth: dict, optional
220
+ :param _content_type: force content-type for the request.
221
+ :type _content_type: str, Optional
222
+ :param _headers: set to override the headers for a single
223
+ request; this effectively ignores the headers
224
+ in the spec for a single request.
225
+ :type _headers: dict, optional
226
+ :param _host_index: set to override the host_index for a single
227
+ request; this effectively ignores the host_index
228
+ in the spec for a single request.
229
+ :type _host_index: int, optional
230
+ :return: Returns the result object.
231
+ """ # noqa: E501
232
+
233
+ _param = self._create_compliance_serialize(
234
+ payload=payload,
235
+ _request_auth=_request_auth,
236
+ _content_type=_content_type,
237
+ _headers=_headers,
238
+ _host_index=_host_index
239
+ )
240
+
241
+ _response_types_map: Dict[str, Optional[str]] = {
242
+ '201': "CreateUpdateComplianceResponse",
243
+ '400': "ErrorResponseModel",
244
+ '401': "ErrorResponseModel",
245
+ '404': "ErrorResponseModel",
246
+ '405': "ErrorResponseModel",
247
+ '409': "ErrorResponseModel",
248
+ '500': None,
249
+ }
250
+ response_data = self.api_client.call_api(
251
+ *_param,
252
+ _request_timeout=_request_timeout
253
+ )
254
+ return response_data.response
255
+
256
+
257
+ def _create_compliance_serialize(
258
+ self,
259
+ payload,
260
+ _request_auth,
261
+ _content_type,
262
+ _headers,
263
+ _host_index,
264
+ ) -> RequestSerialized:
265
+
266
+ _host = None
267
+
268
+ _collection_formats: Dict[str, str] = {
269
+ }
270
+
271
+ _path_params: Dict[str, str] = {}
272
+ _query_params: List[Tuple[str, str]] = []
273
+ _header_params: Dict[str, Optional[str]] = _headers or {}
274
+ _form_params: List[Tuple[str, str]] = []
275
+ _files: Dict[
276
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
277
+ ] = {}
278
+ _body_params: Optional[bytes] = None
279
+
280
+ # process the path parameters
281
+ # process the query parameters
282
+ # process the header parameters
283
+ # process the form parameters
284
+ # process the body parameter
285
+ if payload is not None:
286
+ _body_params = payload
287
+
288
+
289
+ # set the HTTP header `Accept`
290
+ if 'Accept' not in _header_params:
291
+ _header_params['Accept'] = self.api_client.select_header_accept(
292
+ [
293
+ 'application/json'
294
+ ]
295
+ )
296
+
297
+ # set the HTTP header `Content-Type`
298
+ if _content_type:
299
+ _header_params['Content-Type'] = _content_type
300
+ else:
301
+ _default_content_type = (
302
+ self.api_client.select_header_content_type(
303
+ [
304
+ 'application/json'
305
+ ]
306
+ )
307
+ )
308
+ if _default_content_type is not None:
309
+ _header_params['Content-Type'] = _default_content_type
310
+
311
+ # authentication setting
312
+ _auth_settings: List[str] = [
313
+ 'apiKey',
314
+ 'accessToken'
315
+ ]
316
+
317
+ return self.api_client.param_serialize(
318
+ method='POST',
319
+ resource_path='/core/compliance',
320
+ path_params=_path_params,
321
+ query_params=_query_params,
322
+ header_params=_header_params,
323
+ body=_body_params,
324
+ post_params=_form_params,
325
+ files=_files,
326
+ auth_settings=_auth_settings,
327
+ collection_formats=_collection_formats,
328
+ _host=_host,
329
+ _request_auth=_request_auth
330
+ )
331
+
332
+
333
+
334
+
335
+ @validate_call
336
+ def delete_a_compliance(
337
+ self,
338
+ gpu_model: StrictStr,
339
+ _request_timeout: Union[
340
+ None,
341
+ Annotated[StrictFloat, Field(gt=0)],
342
+ Tuple[
343
+ Annotated[StrictFloat, Field(gt=0)],
344
+ Annotated[StrictFloat, Field(gt=0)]
345
+ ]
346
+ ] = None,
347
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
348
+ _content_type: Optional[StrictStr] = None,
349
+ _headers: Optional[Dict[StrictStr, Any]] = None,
350
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
351
+ ) -> ResponseModel:
352
+ """Delete a compliance
353
+
354
+
355
+ :param gpu_model: (required)
356
+ :type gpu_model: str
357
+ :param _request_timeout: timeout setting for this request. If one
358
+ number provided, it will be total request
359
+ timeout. It can also be a pair (tuple) of
360
+ (connection, read) timeouts.
361
+ :type _request_timeout: int, tuple(int, int), optional
362
+ :param _request_auth: set to override the auth_settings for an a single
363
+ request; this effectively ignores the
364
+ authentication in the spec for a single request.
365
+ :type _request_auth: dict, optional
366
+ :param _content_type: force content-type for the request.
367
+ :type _content_type: str, Optional
368
+ :param _headers: set to override the headers for a single
369
+ request; this effectively ignores the headers
370
+ in the spec for a single request.
371
+ :type _headers: dict, optional
372
+ :param _host_index: set to override the host_index for a single
373
+ request; this effectively ignores the host_index
374
+ in the spec for a single request.
375
+ :type _host_index: int, optional
376
+ :return: Returns the result object.
377
+ """ # noqa: E501
378
+
379
+ _param = self._delete_a_compliance_serialize(
380
+ gpu_model=gpu_model,
381
+ _request_auth=_request_auth,
382
+ _content_type=_content_type,
383
+ _headers=_headers,
384
+ _host_index=_host_index
385
+ )
386
+
387
+ _response_types_map: Dict[str, Optional[str]] = {
388
+ '200': "ResponseModel",
389
+ '400': "ErrorResponseModel",
390
+ '401': "ErrorResponseModel",
391
+ '404': "ErrorResponseModel",
392
+ '500': None,
393
+ }
394
+ response_data = self.api_client.call_api(
395
+ *_param,
396
+ _request_timeout=_request_timeout
397
+ )
398
+ response_data.read()
399
+ return self.api_client.response_deserialize(
400
+ response_data=response_data,
401
+ response_types_map=_response_types_map,
402
+ ).data
403
+
404
+
405
+ @validate_call
406
+ def delete_a_compliance_with_http_info(
407
+ self,
408
+ gpu_model: StrictStr,
409
+ _request_timeout: Union[
410
+ None,
411
+ Annotated[StrictFloat, Field(gt=0)],
412
+ Tuple[
413
+ Annotated[StrictFloat, Field(gt=0)],
414
+ Annotated[StrictFloat, Field(gt=0)]
415
+ ]
416
+ ] = None,
417
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
418
+ _content_type: Optional[StrictStr] = None,
419
+ _headers: Optional[Dict[StrictStr, Any]] = None,
420
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
421
+ ) -> ApiResponse[ResponseModel]:
422
+ """Delete a compliance
423
+
424
+
425
+ :param gpu_model: (required)
426
+ :type gpu_model: str
427
+ :param _request_timeout: timeout setting for this request. If one
428
+ number provided, it will be total request
429
+ timeout. It can also be a pair (tuple) of
430
+ (connection, read) timeouts.
431
+ :type _request_timeout: int, tuple(int, int), optional
432
+ :param _request_auth: set to override the auth_settings for an a single
433
+ request; this effectively ignores the
434
+ authentication in the spec for a single request.
435
+ :type _request_auth: dict, optional
436
+ :param _content_type: force content-type for the request.
437
+ :type _content_type: str, Optional
438
+ :param _headers: set to override the headers for a single
439
+ request; this effectively ignores the headers
440
+ in the spec for a single request.
441
+ :type _headers: dict, optional
442
+ :param _host_index: set to override the host_index for a single
443
+ request; this effectively ignores the host_index
444
+ in the spec for a single request.
445
+ :type _host_index: int, optional
446
+ :return: Returns the result object.
447
+ """ # noqa: E501
448
+
449
+ _param = self._delete_a_compliance_serialize(
450
+ gpu_model=gpu_model,
451
+ _request_auth=_request_auth,
452
+ _content_type=_content_type,
453
+ _headers=_headers,
454
+ _host_index=_host_index
455
+ )
456
+
457
+ _response_types_map: Dict[str, Optional[str]] = {
458
+ '200': "ResponseModel",
459
+ '400': "ErrorResponseModel",
460
+ '401': "ErrorResponseModel",
461
+ '404': "ErrorResponseModel",
462
+ '500': None,
463
+ }
464
+ response_data = self.api_client.call_api(
465
+ *_param,
466
+ _request_timeout=_request_timeout
467
+ )
468
+ response_data.read()
469
+ return self.api_client.response_deserialize(
470
+ response_data=response_data,
471
+ response_types_map=_response_types_map,
472
+ )
473
+
474
+
475
+ @validate_call
476
+ def delete_a_compliance_without_preload_content(
477
+ self,
478
+ gpu_model: StrictStr,
479
+ _request_timeout: Union[
480
+ None,
481
+ Annotated[StrictFloat, Field(gt=0)],
482
+ Tuple[
483
+ Annotated[StrictFloat, Field(gt=0)],
484
+ Annotated[StrictFloat, Field(gt=0)]
485
+ ]
486
+ ] = None,
487
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
488
+ _content_type: Optional[StrictStr] = None,
489
+ _headers: Optional[Dict[StrictStr, Any]] = None,
490
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
491
+ ) -> RESTResponseType:
492
+ """Delete a compliance
493
+
494
+
495
+ :param gpu_model: (required)
496
+ :type gpu_model: str
497
+ :param _request_timeout: timeout setting for this request. If one
498
+ number provided, it will be total request
499
+ timeout. It can also be a pair (tuple) of
500
+ (connection, read) timeouts.
501
+ :type _request_timeout: int, tuple(int, int), optional
502
+ :param _request_auth: set to override the auth_settings for an a single
503
+ request; this effectively ignores the
504
+ authentication in the spec for a single request.
505
+ :type _request_auth: dict, optional
506
+ :param _content_type: force content-type for the request.
507
+ :type _content_type: str, Optional
508
+ :param _headers: set to override the headers for a single
509
+ request; this effectively ignores the headers
510
+ in the spec for a single request.
511
+ :type _headers: dict, optional
512
+ :param _host_index: set to override the host_index for a single
513
+ request; this effectively ignores the host_index
514
+ in the spec for a single request.
515
+ :type _host_index: int, optional
516
+ :return: Returns the result object.
517
+ """ # noqa: E501
518
+
519
+ _param = self._delete_a_compliance_serialize(
520
+ gpu_model=gpu_model,
521
+ _request_auth=_request_auth,
522
+ _content_type=_content_type,
523
+ _headers=_headers,
524
+ _host_index=_host_index
525
+ )
526
+
527
+ _response_types_map: Dict[str, Optional[str]] = {
528
+ '200': "ResponseModel",
529
+ '400': "ErrorResponseModel",
530
+ '401': "ErrorResponseModel",
531
+ '404': "ErrorResponseModel",
532
+ '500': None,
533
+ }
534
+ response_data = self.api_client.call_api(
535
+ *_param,
536
+ _request_timeout=_request_timeout
537
+ )
538
+ return response_data.response
539
+
540
+
541
+ def _delete_a_compliance_serialize(
542
+ self,
543
+ gpu_model,
544
+ _request_auth,
545
+ _content_type,
546
+ _headers,
547
+ _host_index,
548
+ ) -> RequestSerialized:
549
+
550
+ _host = None
551
+
552
+ _collection_formats: Dict[str, str] = {
553
+ }
554
+
555
+ _path_params: Dict[str, str] = {}
556
+ _query_params: List[Tuple[str, str]] = []
557
+ _header_params: Dict[str, Optional[str]] = _headers or {}
558
+ _form_params: List[Tuple[str, str]] = []
559
+ _files: Dict[
560
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
561
+ ] = {}
562
+ _body_params: Optional[bytes] = None
563
+
564
+ # process the path parameters
565
+ if gpu_model is not None:
566
+ _path_params['gpu_model'] = gpu_model
567
+ # process the query parameters
568
+ # process the header parameters
569
+ # process the form parameters
570
+ # process the body parameter
571
+
572
+
573
+ # set the HTTP header `Accept`
574
+ if 'Accept' not in _header_params:
575
+ _header_params['Accept'] = self.api_client.select_header_accept(
576
+ [
577
+ 'application/json'
578
+ ]
579
+ )
580
+
581
+
582
+ # authentication setting
583
+ _auth_settings: List[str] = [
584
+ 'apiKey',
585
+ 'accessToken'
586
+ ]
587
+
588
+ return self.api_client.param_serialize(
589
+ method='DELETE',
590
+ resource_path='/core/compliance/{gpu_model}',
591
+ path_params=_path_params,
592
+ query_params=_query_params,
593
+ header_params=_header_params,
594
+ body=_body_params,
595
+ post_params=_form_params,
596
+ files=_files,
597
+ auth_settings=_auth_settings,
598
+ collection_formats=_collection_formats,
599
+ _host=_host,
600
+ _request_auth=_request_auth
601
+ )
602
+
603
+
604
+
605
+
606
+ @validate_call
607
+ def retrieve_gpu_compliance(
608
+ self,
609
+ gpu: Annotated[Optional[StrictStr], Field(description="This is for gpu model")] = None,
610
+ _request_timeout: Union[
611
+ None,
612
+ Annotated[StrictFloat, Field(gt=0)],
613
+ Tuple[
614
+ Annotated[StrictFloat, Field(gt=0)],
615
+ Annotated[StrictFloat, Field(gt=0)]
616
+ ]
617
+ ] = None,
618
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
619
+ _content_type: Optional[StrictStr] = None,
620
+ _headers: Optional[Dict[StrictStr, Any]] = None,
621
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
622
+ ) -> ComplianceResponse:
623
+ """Retrieve GPU compliance
624
+
625
+ Returns a list of compliance objects each corresponding to available GPU models. These compliance objects contain minimum and maximum values for RAM in GB, number of vCPUs, and system disk capacity in GB. Use the optional `gpu` model parameter in the query string to filter responses by GPU model. For additional details on GPU compliance, [**click here**](https://infrahub-doc.nexgencloud.com/docs/hardware/flavors#adhering-to-gpu-compliance).
626
+
627
+ :param gpu: This is for gpu model
628
+ :type gpu: str
629
+ :param _request_timeout: timeout setting for this request. If one
630
+ number provided, it will be total request
631
+ timeout. It can also be a pair (tuple) of
632
+ (connection, read) timeouts.
633
+ :type _request_timeout: int, tuple(int, int), optional
634
+ :param _request_auth: set to override the auth_settings for an a single
635
+ request; this effectively ignores the
636
+ authentication in the spec for a single request.
637
+ :type _request_auth: dict, optional
638
+ :param _content_type: force content-type for the request.
639
+ :type _content_type: str, Optional
640
+ :param _headers: set to override the headers for a single
641
+ request; this effectively ignores the headers
642
+ in the spec for a single request.
643
+ :type _headers: dict, optional
644
+ :param _host_index: set to override the host_index for a single
645
+ request; this effectively ignores the host_index
646
+ in the spec for a single request.
647
+ :type _host_index: int, optional
648
+ :return: Returns the result object.
649
+ """ # noqa: E501
650
+
651
+ _param = self._retrieve_gpu_compliance_serialize(
652
+ gpu=gpu,
653
+ _request_auth=_request_auth,
654
+ _content_type=_content_type,
655
+ _headers=_headers,
656
+ _host_index=_host_index
657
+ )
658
+
659
+ _response_types_map: Dict[str, Optional[str]] = {
660
+ '200': "ComplianceResponse",
661
+ '400': "ErrorResponseModel",
662
+ '401': "ErrorResponseModel",
663
+ '404': "ErrorResponseModel",
664
+ '406': "ErrorResponseModel",
665
+ '500': None,
666
+ }
667
+ response_data = self.api_client.call_api(
668
+ *_param,
669
+ _request_timeout=_request_timeout
670
+ )
671
+ response_data.read()
672
+ return self.api_client.response_deserialize(
673
+ response_data=response_data,
674
+ response_types_map=_response_types_map,
675
+ ).data
676
+
677
+
678
+ @validate_call
679
+ def retrieve_gpu_compliance_with_http_info(
680
+ self,
681
+ gpu: Annotated[Optional[StrictStr], Field(description="This is for gpu model")] = None,
682
+ _request_timeout: Union[
683
+ None,
684
+ Annotated[StrictFloat, Field(gt=0)],
685
+ Tuple[
686
+ Annotated[StrictFloat, Field(gt=0)],
687
+ Annotated[StrictFloat, Field(gt=0)]
688
+ ]
689
+ ] = None,
690
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
691
+ _content_type: Optional[StrictStr] = None,
692
+ _headers: Optional[Dict[StrictStr, Any]] = None,
693
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
694
+ ) -> ApiResponse[ComplianceResponse]:
695
+ """Retrieve GPU compliance
696
+
697
+ Returns a list of compliance objects each corresponding to available GPU models. These compliance objects contain minimum and maximum values for RAM in GB, number of vCPUs, and system disk capacity in GB. Use the optional `gpu` model parameter in the query string to filter responses by GPU model. For additional details on GPU compliance, [**click here**](https://infrahub-doc.nexgencloud.com/docs/hardware/flavors#adhering-to-gpu-compliance).
698
+
699
+ :param gpu: This is for gpu model
700
+ :type gpu: str
701
+ :param _request_timeout: timeout setting for this request. If one
702
+ number provided, it will be total request
703
+ timeout. It can also be a pair (tuple) of
704
+ (connection, read) timeouts.
705
+ :type _request_timeout: int, tuple(int, int), optional
706
+ :param _request_auth: set to override the auth_settings for an a single
707
+ request; this effectively ignores the
708
+ authentication in the spec for a single request.
709
+ :type _request_auth: dict, optional
710
+ :param _content_type: force content-type for the request.
711
+ :type _content_type: str, Optional
712
+ :param _headers: set to override the headers for a single
713
+ request; this effectively ignores the headers
714
+ in the spec for a single request.
715
+ :type _headers: dict, optional
716
+ :param _host_index: set to override the host_index for a single
717
+ request; this effectively ignores the host_index
718
+ in the spec for a single request.
719
+ :type _host_index: int, optional
720
+ :return: Returns the result object.
721
+ """ # noqa: E501
722
+
723
+ _param = self._retrieve_gpu_compliance_serialize(
724
+ gpu=gpu,
725
+ _request_auth=_request_auth,
726
+ _content_type=_content_type,
727
+ _headers=_headers,
728
+ _host_index=_host_index
729
+ )
730
+
731
+ _response_types_map: Dict[str, Optional[str]] = {
732
+ '200': "ComplianceResponse",
733
+ '400': "ErrorResponseModel",
734
+ '401': "ErrorResponseModel",
735
+ '404': "ErrorResponseModel",
736
+ '406': "ErrorResponseModel",
737
+ '500': None,
738
+ }
739
+ response_data = self.api_client.call_api(
740
+ *_param,
741
+ _request_timeout=_request_timeout
742
+ )
743
+ response_data.read()
744
+ return self.api_client.response_deserialize(
745
+ response_data=response_data,
746
+ response_types_map=_response_types_map,
747
+ )
748
+
749
+
750
+ @validate_call
751
+ def retrieve_gpu_compliance_without_preload_content(
752
+ self,
753
+ gpu: Annotated[Optional[StrictStr], Field(description="This is for gpu model")] = None,
754
+ _request_timeout: Union[
755
+ None,
756
+ Annotated[StrictFloat, Field(gt=0)],
757
+ Tuple[
758
+ Annotated[StrictFloat, Field(gt=0)],
759
+ Annotated[StrictFloat, Field(gt=0)]
760
+ ]
761
+ ] = None,
762
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
763
+ _content_type: Optional[StrictStr] = None,
764
+ _headers: Optional[Dict[StrictStr, Any]] = None,
765
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
766
+ ) -> RESTResponseType:
767
+ """Retrieve GPU compliance
768
+
769
+ Returns a list of compliance objects each corresponding to available GPU models. These compliance objects contain minimum and maximum values for RAM in GB, number of vCPUs, and system disk capacity in GB. Use the optional `gpu` model parameter in the query string to filter responses by GPU model. For additional details on GPU compliance, [**click here**](https://infrahub-doc.nexgencloud.com/docs/hardware/flavors#adhering-to-gpu-compliance).
770
+
771
+ :param gpu: This is for gpu model
772
+ :type gpu: str
773
+ :param _request_timeout: timeout setting for this request. If one
774
+ number provided, it will be total request
775
+ timeout. It can also be a pair (tuple) of
776
+ (connection, read) timeouts.
777
+ :type _request_timeout: int, tuple(int, int), optional
778
+ :param _request_auth: set to override the auth_settings for an a single
779
+ request; this effectively ignores the
780
+ authentication in the spec for a single request.
781
+ :type _request_auth: dict, optional
782
+ :param _content_type: force content-type for the request.
783
+ :type _content_type: str, Optional
784
+ :param _headers: set to override the headers for a single
785
+ request; this effectively ignores the headers
786
+ in the spec for a single request.
787
+ :type _headers: dict, optional
788
+ :param _host_index: set to override the host_index for a single
789
+ request; this effectively ignores the host_index
790
+ in the spec for a single request.
791
+ :type _host_index: int, optional
792
+ :return: Returns the result object.
793
+ """ # noqa: E501
794
+
795
+ _param = self._retrieve_gpu_compliance_serialize(
796
+ gpu=gpu,
797
+ _request_auth=_request_auth,
798
+ _content_type=_content_type,
799
+ _headers=_headers,
800
+ _host_index=_host_index
801
+ )
802
+
803
+ _response_types_map: Dict[str, Optional[str]] = {
804
+ '200': "ComplianceResponse",
805
+ '400': "ErrorResponseModel",
806
+ '401': "ErrorResponseModel",
807
+ '404': "ErrorResponseModel",
808
+ '406': "ErrorResponseModel",
809
+ '500': None,
810
+ }
811
+ response_data = self.api_client.call_api(
812
+ *_param,
813
+ _request_timeout=_request_timeout
814
+ )
815
+ return response_data.response
816
+
817
+
818
+ def _retrieve_gpu_compliance_serialize(
819
+ self,
820
+ gpu,
821
+ _request_auth,
822
+ _content_type,
823
+ _headers,
824
+ _host_index,
825
+ ) -> RequestSerialized:
826
+
827
+ _host = None
828
+
829
+ _collection_formats: Dict[str, str] = {
830
+ }
831
+
832
+ _path_params: Dict[str, str] = {}
833
+ _query_params: List[Tuple[str, str]] = []
834
+ _header_params: Dict[str, Optional[str]] = _headers or {}
835
+ _form_params: List[Tuple[str, str]] = []
836
+ _files: Dict[
837
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
838
+ ] = {}
839
+ _body_params: Optional[bytes] = None
840
+
841
+ # process the path parameters
842
+ # process the query parameters
843
+ if gpu is not None:
844
+
845
+ _query_params.append(('gpu', gpu))
846
+
847
+ # process the header parameters
848
+ # process the form parameters
849
+ # process the body parameter
850
+
851
+
852
+ # set the HTTP header `Accept`
853
+ if 'Accept' not in _header_params:
854
+ _header_params['Accept'] = self.api_client.select_header_accept(
855
+ [
856
+ 'application/json'
857
+ ]
858
+ )
859
+
860
+
861
+ # authentication setting
862
+ _auth_settings: List[str] = [
863
+ 'apiKey',
864
+ 'accessToken'
865
+ ]
866
+
867
+ return self.api_client.param_serialize(
868
+ method='GET',
869
+ resource_path='/core/compliance',
870
+ path_params=_path_params,
871
+ query_params=_query_params,
872
+ header_params=_header_params,
873
+ body=_body_params,
874
+ post_params=_form_params,
875
+ files=_files,
876
+ auth_settings=_auth_settings,
877
+ collection_formats=_collection_formats,
878
+ _host=_host,
879
+ _request_auth=_request_auth
880
+ )
881
+
882
+
883
+
884
+
885
+ @validate_call
886
+ def update_a_compliance(
887
+ self,
888
+ payload: CompliancePayload,
889
+ _request_timeout: Union[
890
+ None,
891
+ Annotated[StrictFloat, Field(gt=0)],
892
+ Tuple[
893
+ Annotated[StrictFloat, Field(gt=0)],
894
+ Annotated[StrictFloat, Field(gt=0)]
895
+ ]
896
+ ] = None,
897
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
898
+ _content_type: Optional[StrictStr] = None,
899
+ _headers: Optional[Dict[StrictStr, Any]] = None,
900
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
901
+ ) -> CreateUpdateComplianceResponse:
902
+ """Update a compliance
903
+
904
+
905
+ :param payload: (required)
906
+ :type payload: CompliancePayload
907
+ :param _request_timeout: timeout setting for this request. If one
908
+ number provided, it will be total request
909
+ timeout. It can also be a pair (tuple) of
910
+ (connection, read) timeouts.
911
+ :type _request_timeout: int, tuple(int, int), optional
912
+ :param _request_auth: set to override the auth_settings for an a single
913
+ request; this effectively ignores the
914
+ authentication in the spec for a single request.
915
+ :type _request_auth: dict, optional
916
+ :param _content_type: force content-type for the request.
917
+ :type _content_type: str, Optional
918
+ :param _headers: set to override the headers for a single
919
+ request; this effectively ignores the headers
920
+ in the spec for a single request.
921
+ :type _headers: dict, optional
922
+ :param _host_index: set to override the host_index for a single
923
+ request; this effectively ignores the host_index
924
+ in the spec for a single request.
925
+ :type _host_index: int, optional
926
+ :return: Returns the result object.
927
+ """ # noqa: E501
928
+
929
+ _param = self._update_a_compliance_serialize(
930
+ payload=payload,
931
+ _request_auth=_request_auth,
932
+ _content_type=_content_type,
933
+ _headers=_headers,
934
+ _host_index=_host_index
935
+ )
936
+
937
+ _response_types_map: Dict[str, Optional[str]] = {
938
+ '200': "CreateUpdateComplianceResponse",
939
+ '400': "ErrorResponseModel",
940
+ '401': "ErrorResponseModel",
941
+ '404': "ErrorResponseModel",
942
+ '405': "ErrorResponseModel",
943
+ '500': None,
944
+ }
945
+ response_data = self.api_client.call_api(
946
+ *_param,
947
+ _request_timeout=_request_timeout
948
+ )
949
+ response_data.read()
950
+ return self.api_client.response_deserialize(
951
+ response_data=response_data,
952
+ response_types_map=_response_types_map,
953
+ ).data
954
+
955
+
956
+ @validate_call
957
+ def update_a_compliance_with_http_info(
958
+ self,
959
+ payload: CompliancePayload,
960
+ _request_timeout: Union[
961
+ None,
962
+ Annotated[StrictFloat, Field(gt=0)],
963
+ Tuple[
964
+ Annotated[StrictFloat, Field(gt=0)],
965
+ Annotated[StrictFloat, Field(gt=0)]
966
+ ]
967
+ ] = None,
968
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
969
+ _content_type: Optional[StrictStr] = None,
970
+ _headers: Optional[Dict[StrictStr, Any]] = None,
971
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
972
+ ) -> ApiResponse[CreateUpdateComplianceResponse]:
973
+ """Update a compliance
974
+
975
+
976
+ :param payload: (required)
977
+ :type payload: CompliancePayload
978
+ :param _request_timeout: timeout setting for this request. If one
979
+ number provided, it will be total request
980
+ timeout. It can also be a pair (tuple) of
981
+ (connection, read) timeouts.
982
+ :type _request_timeout: int, tuple(int, int), optional
983
+ :param _request_auth: set to override the auth_settings for an a single
984
+ request; this effectively ignores the
985
+ authentication in the spec for a single request.
986
+ :type _request_auth: dict, optional
987
+ :param _content_type: force content-type for the request.
988
+ :type _content_type: str, Optional
989
+ :param _headers: set to override the headers for a single
990
+ request; this effectively ignores the headers
991
+ in the spec for a single request.
992
+ :type _headers: dict, optional
993
+ :param _host_index: set to override the host_index for a single
994
+ request; this effectively ignores the host_index
995
+ in the spec for a single request.
996
+ :type _host_index: int, optional
997
+ :return: Returns the result object.
998
+ """ # noqa: E501
999
+
1000
+ _param = self._update_a_compliance_serialize(
1001
+ payload=payload,
1002
+ _request_auth=_request_auth,
1003
+ _content_type=_content_type,
1004
+ _headers=_headers,
1005
+ _host_index=_host_index
1006
+ )
1007
+
1008
+ _response_types_map: Dict[str, Optional[str]] = {
1009
+ '200': "CreateUpdateComplianceResponse",
1010
+ '400': "ErrorResponseModel",
1011
+ '401': "ErrorResponseModel",
1012
+ '404': "ErrorResponseModel",
1013
+ '405': "ErrorResponseModel",
1014
+ '500': None,
1015
+ }
1016
+ response_data = self.api_client.call_api(
1017
+ *_param,
1018
+ _request_timeout=_request_timeout
1019
+ )
1020
+ response_data.read()
1021
+ return self.api_client.response_deserialize(
1022
+ response_data=response_data,
1023
+ response_types_map=_response_types_map,
1024
+ )
1025
+
1026
+
1027
+ @validate_call
1028
+ def update_a_compliance_without_preload_content(
1029
+ self,
1030
+ payload: CompliancePayload,
1031
+ _request_timeout: Union[
1032
+ None,
1033
+ Annotated[StrictFloat, Field(gt=0)],
1034
+ Tuple[
1035
+ Annotated[StrictFloat, Field(gt=0)],
1036
+ Annotated[StrictFloat, Field(gt=0)]
1037
+ ]
1038
+ ] = None,
1039
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1040
+ _content_type: Optional[StrictStr] = None,
1041
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1042
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1043
+ ) -> RESTResponseType:
1044
+ """Update a compliance
1045
+
1046
+
1047
+ :param payload: (required)
1048
+ :type payload: CompliancePayload
1049
+ :param _request_timeout: timeout setting for this request. If one
1050
+ number provided, it will be total request
1051
+ timeout. It can also be a pair (tuple) of
1052
+ (connection, read) timeouts.
1053
+ :type _request_timeout: int, tuple(int, int), optional
1054
+ :param _request_auth: set to override the auth_settings for an a single
1055
+ request; this effectively ignores the
1056
+ authentication in the spec for a single request.
1057
+ :type _request_auth: dict, optional
1058
+ :param _content_type: force content-type for the request.
1059
+ :type _content_type: str, Optional
1060
+ :param _headers: set to override the headers for a single
1061
+ request; this effectively ignores the headers
1062
+ in the spec for a single request.
1063
+ :type _headers: dict, optional
1064
+ :param _host_index: set to override the host_index for a single
1065
+ request; this effectively ignores the host_index
1066
+ in the spec for a single request.
1067
+ :type _host_index: int, optional
1068
+ :return: Returns the result object.
1069
+ """ # noqa: E501
1070
+
1071
+ _param = self._update_a_compliance_serialize(
1072
+ payload=payload,
1073
+ _request_auth=_request_auth,
1074
+ _content_type=_content_type,
1075
+ _headers=_headers,
1076
+ _host_index=_host_index
1077
+ )
1078
+
1079
+ _response_types_map: Dict[str, Optional[str]] = {
1080
+ '200': "CreateUpdateComplianceResponse",
1081
+ '400': "ErrorResponseModel",
1082
+ '401': "ErrorResponseModel",
1083
+ '404': "ErrorResponseModel",
1084
+ '405': "ErrorResponseModel",
1085
+ '500': None,
1086
+ }
1087
+ response_data = self.api_client.call_api(
1088
+ *_param,
1089
+ _request_timeout=_request_timeout
1090
+ )
1091
+ return response_data.response
1092
+
1093
+
1094
+ def _update_a_compliance_serialize(
1095
+ self,
1096
+ payload,
1097
+ _request_auth,
1098
+ _content_type,
1099
+ _headers,
1100
+ _host_index,
1101
+ ) -> RequestSerialized:
1102
+
1103
+ _host = None
1104
+
1105
+ _collection_formats: Dict[str, str] = {
1106
+ }
1107
+
1108
+ _path_params: Dict[str, str] = {}
1109
+ _query_params: List[Tuple[str, str]] = []
1110
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1111
+ _form_params: List[Tuple[str, str]] = []
1112
+ _files: Dict[
1113
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1114
+ ] = {}
1115
+ _body_params: Optional[bytes] = None
1116
+
1117
+ # process the path parameters
1118
+ # process the query parameters
1119
+ # process the header parameters
1120
+ # process the form parameters
1121
+ # process the body parameter
1122
+ if payload is not None:
1123
+ _body_params = payload
1124
+
1125
+
1126
+ # set the HTTP header `Accept`
1127
+ if 'Accept' not in _header_params:
1128
+ _header_params['Accept'] = self.api_client.select_header_accept(
1129
+ [
1130
+ 'application/json'
1131
+ ]
1132
+ )
1133
+
1134
+ # set the HTTP header `Content-Type`
1135
+ if _content_type:
1136
+ _header_params['Content-Type'] = _content_type
1137
+ else:
1138
+ _default_content_type = (
1139
+ self.api_client.select_header_content_type(
1140
+ [
1141
+ 'application/json'
1142
+ ]
1143
+ )
1144
+ )
1145
+ if _default_content_type is not None:
1146
+ _header_params['Content-Type'] = _default_content_type
1147
+
1148
+ # authentication setting
1149
+ _auth_settings: List[str] = [
1150
+ 'apiKey',
1151
+ 'accessToken'
1152
+ ]
1153
+
1154
+ return self.api_client.param_serialize(
1155
+ method='PUT',
1156
+ resource_path='/core/compliance',
1157
+ path_params=_path_params,
1158
+ query_params=_query_params,
1159
+ header_params=_header_params,
1160
+ body=_body_params,
1161
+ post_params=_form_params,
1162
+ files=_files,
1163
+ auth_settings=_auth_settings,
1164
+ collection_formats=_collection_formats,
1165
+ _host=_host,
1166
+ _request_auth=_request_auth
1167
+ )
1168
+
1169
+