hyperstack-async 1.55.1a0__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 (415) hide show
  1. hyperstack_async/__init__.py +434 -0
  2. hyperstack_async/api/__init__.py +60 -0
  3. hyperstack_async/api/access_keys_api.py +885 -0
  4. hyperstack_async/api/alive_api.py +510 -0
  5. hyperstack_async/api/api_key_api.py +1158 -0
  6. hyperstack_async/api/assigning_member_role_api.py +613 -0
  7. hyperstack_async/api/auth_api.py +1340 -0
  8. hyperstack_async/api/auto_topup_api.py +1376 -0
  9. hyperstack_async/api/beta_access_api.py +856 -0
  10. hyperstack_async/api/billing_api.py +12701 -0
  11. hyperstack_async/api/buckets_api.py +865 -0
  12. hyperstack_async/api/calculate_api.py +325 -0
  13. hyperstack_async/api/callbacks_api.py +1789 -0
  14. hyperstack_async/api/cluster_events_api.py +307 -0
  15. hyperstack_async/api/clusters_api.py +4884 -0
  16. hyperstack_async/api/compliance_api.py +1165 -0
  17. hyperstack_async/api/credit_api.py +297 -0
  18. hyperstack_async/api/customer_contract_api.py +919 -0
  19. hyperstack_async/api/dashboard_api.py +291 -0
  20. hyperstack_async/api/deployment_api.py +1118 -0
  21. hyperstack_async/api/email_opt_in_out_api.py +875 -0
  22. hyperstack_async/api/environment_api.py +2033 -0
  23. hyperstack_async/api/fip_exclusions_api.py +313 -0
  24. hyperstack_async/api/firewall_attachment_api.py +345 -0
  25. hyperstack_async/api/firewalls_api.py +1813 -0
  26. hyperstack_async/api/flavor_api.py +314 -0
  27. hyperstack_async/api/floating_ip_api.py +586 -0
  28. hyperstack_async/api/gpu_api.py +291 -0
  29. hyperstack_async/api/health_api.py +282 -0
  30. hyperstack_async/api/image_api.py +1224 -0
  31. hyperstack_async/api/invite_api.py +1127 -0
  32. hyperstack_async/api/keypair_api.py +1463 -0
  33. hyperstack_async/api/organization_api.py +861 -0
  34. hyperstack_async/api/partner_config_api.py +566 -0
  35. hyperstack_async/api/payment_api.py +865 -0
  36. hyperstack_async/api/permission_api.py +291 -0
  37. hyperstack_async/api/policy_api.py +291 -0
  38. hyperstack_async/api/pricebook_api.py +295 -0
  39. hyperstack_async/api/profile_api.py +1127 -0
  40. hyperstack_async/api/rbac_role_api.py +1429 -0
  41. hyperstack_async/api/region_api.py +291 -0
  42. hyperstack_async/api/regions_api.py +282 -0
  43. hyperstack_async/api/security_rules_api.py +291 -0
  44. hyperstack_async/api/snapshot_events_api.py +290 -0
  45. hyperstack_async/api/snapshots_api.py +1773 -0
  46. hyperstack_async/api/stock_api.py +291 -0
  47. hyperstack_async/api/template_api.py +1492 -0
  48. hyperstack_async/api/user_api.py +1130 -0
  49. hyperstack_async/api/user_consent_api.py +1416 -0
  50. hyperstack_async/api/user_consent_events_api.py +307 -0
  51. hyperstack_async/api/user_detail_choice_api.py +294 -0
  52. hyperstack_async/api/user_permission_api.py +565 -0
  53. hyperstack_async/api/virtual_machine_api.py +6246 -0
  54. hyperstack_async/api/virtual_machine_events_api.py +310 -0
  55. hyperstack_async/api/vnc_url_api.py +599 -0
  56. hyperstack_async/api/volume_api.py +2042 -0
  57. hyperstack_async/api/volume_attachment_api.py +950 -0
  58. hyperstack_async/api/vouchers_api.py +326 -0
  59. hyperstack_async/api_client.py +800 -0
  60. hyperstack_async/api_response.py +21 -0
  61. hyperstack_async/configuration.py +591 -0
  62. hyperstack_async/exceptions.py +199 -0
  63. hyperstack_async/models/__init__.py +362 -0
  64. hyperstack_async/models/access_token_field.py +100 -0
  65. hyperstack_async/models/add_user_info_success_response_model.py +108 -0
  66. hyperstack_async/models/allocated_gpu_count_graph.py +102 -0
  67. hyperstack_async/models/allowed_countries_response.py +102 -0
  68. hyperstack_async/models/api_key_fields.py +109 -0
  69. hyperstack_async/models/assign_rbac_role_payload.py +100 -0
  70. hyperstack_async/models/attach_callback_payload.py +100 -0
  71. hyperstack_async/models/attach_callback_response.py +104 -0
  72. hyperstack_async/models/attach_firewall_with_vm.py +100 -0
  73. hyperstack_async/models/attach_firewalls_to_vm_payload.py +100 -0
  74. hyperstack_async/models/attach_volume_fields.py +113 -0
  75. hyperstack_async/models/attach_volumes.py +112 -0
  76. hyperstack_async/models/attach_volumes_payload.py +102 -0
  77. hyperstack_async/models/attachments_fields_for_volume.py +108 -0
  78. hyperstack_async/models/attributes.py +110 -0
  79. hyperstack_async/models/auth_get_token_response_model.py +108 -0
  80. hyperstack_async/models/auth_user_fields.py +107 -0
  81. hyperstack_async/models/auth_user_info_response_model.py +108 -0
  82. hyperstack_async/models/auto_topup.py +108 -0
  83. hyperstack_async/models/auto_topup_error_response.py +104 -0
  84. hyperstack_async/models/auto_topup_status_schema.py +104 -0
  85. hyperstack_async/models/beta_access_request_fields.py +121 -0
  86. hyperstack_async/models/beta_access_request_payload.py +102 -0
  87. hyperstack_async/models/beta_access_request_response_model.py +108 -0
  88. hyperstack_async/models/beta_access_status_item.py +115 -0
  89. hyperstack_async/models/beta_access_status_response_model.py +112 -0
  90. hyperstack_async/models/billing_history.py +110 -0
  91. hyperstack_async/models/billing_history_data_synthesis_details.py +118 -0
  92. hyperstack_async/models/billing_history_fine_tuning.py +118 -0
  93. hyperstack_async/models/billing_history_image_generation_details.py +118 -0
  94. hyperstack_async/models/billing_history_model_evalutation_details.py +118 -0
  95. hyperstack_async/models/billing_history_serverless_inference.py +118 -0
  96. hyperstack_async/models/billing_history_serverless_inference_details.py +118 -0
  97. hyperstack_async/models/billing_metrices_fields.py +121 -0
  98. hyperstack_async/models/billing_metrices_response.py +112 -0
  99. hyperstack_async/models/cluster_events.py +112 -0
  100. hyperstack_async/models/cluster_events_fields.py +117 -0
  101. hyperstack_async/models/cluster_fields.py +147 -0
  102. hyperstack_async/models/cluster_flavor_fields.py +126 -0
  103. hyperstack_async/models/cluster_list_response.py +112 -0
  104. hyperstack_async/models/cluster_node_fields.py +125 -0
  105. hyperstack_async/models/cluster_node_group_fields.py +133 -0
  106. hyperstack_async/models/cluster_node_group_firewall_fields.py +104 -0
  107. hyperstack_async/models/cluster_node_groups_create_response.py +118 -0
  108. hyperstack_async/models/cluster_node_groups_get_response.py +108 -0
  109. hyperstack_async/models/cluster_node_groups_list_response.py +112 -0
  110. hyperstack_async/models/cluster_node_instance_fields.py +114 -0
  111. hyperstack_async/models/cluster_nodes_list_response.py +112 -0
  112. hyperstack_async/models/cluster_response.py +108 -0
  113. hyperstack_async/models/cluster_version.py +111 -0
  114. hyperstack_async/models/cluster_versions.py +112 -0
  115. hyperstack_async/models/colors.py +110 -0
  116. hyperstack_async/models/common_response_model.py +102 -0
  117. hyperstack_async/models/compatible_flavor.py +108 -0
  118. hyperstack_async/models/compliance_fields.py +106 -0
  119. hyperstack_async/models/compliance_model_fields.py +112 -0
  120. hyperstack_async/models/compliance_payload.py +110 -0
  121. hyperstack_async/models/compliance_response.py +108 -0
  122. hyperstack_async/models/consent_action_response.py +106 -0
  123. hyperstack_async/models/consent_block.py +112 -0
  124. hyperstack_async/models/consent_events_response.py +114 -0
  125. hyperstack_async/models/consent_template.py +110 -0
  126. hyperstack_async/models/consent_templates_response.py +100 -0
  127. hyperstack_async/models/container_overview_fields.py +108 -0
  128. hyperstack_async/models/contract.py +118 -0
  129. hyperstack_async/models/contract_discount_plan_fields.py +118 -0
  130. hyperstack_async/models/contract_gpu_allocation_graph_response.py +108 -0
  131. hyperstack_async/models/contract_instance_fields.py +121 -0
  132. hyperstack_async/models/contract_instances_response.py +112 -0
  133. hyperstack_async/models/create_auto_topup_payload.py +102 -0
  134. hyperstack_async/models/create_auto_topup_response.py +108 -0
  135. hyperstack_async/models/create_cluster_node_fields.py +115 -0
  136. hyperstack_async/models/create_cluster_node_group_payload.py +120 -0
  137. hyperstack_async/models/create_cluster_payload.py +137 -0
  138. hyperstack_async/models/create_environment.py +103 -0
  139. hyperstack_async/models/create_firewall_payload.py +104 -0
  140. hyperstack_async/models/create_firewall_rule_payload.py +117 -0
  141. hyperstack_async/models/create_image.py +104 -0
  142. hyperstack_async/models/create_image_payload.py +102 -0
  143. hyperstack_async/models/create_instances_payload.py +149 -0
  144. hyperstack_async/models/create_instances_response.py +112 -0
  145. hyperstack_async/models/create_profile_payload.py +105 -0
  146. hyperstack_async/models/create_profile_response.py +108 -0
  147. hyperstack_async/models/create_security_rule_payload.py +117 -0
  148. hyperstack_async/models/create_snapshot_payload.py +104 -0
  149. hyperstack_async/models/create_snapshot_response.py +108 -0
  150. hyperstack_async/models/create_update_compliance_response.py +108 -0
  151. hyperstack_async/models/create_update_rbac_role_payload.py +107 -0
  152. hyperstack_async/models/create_volume_payload.py +113 -0
  153. hyperstack_async/models/customer_contract_detail_response_model.py +108 -0
  154. hyperstack_async/models/customer_contract_fields.py +125 -0
  155. hyperstack_async/models/dashboard_info_response.py +108 -0
  156. hyperstack_async/models/data_synthesis_billing_history_details_response_schema.py +108 -0
  157. hyperstack_async/models/delete_cluster_nodes_fields.py +100 -0
  158. hyperstack_async/models/deployment_fields.py +111 -0
  159. hyperstack_async/models/deployment_fields_for_start_deployments.py +113 -0
  160. hyperstack_async/models/deployments.py +112 -0
  161. hyperstack_async/models/detach_volumes.py +112 -0
  162. hyperstack_async/models/detach_volumes_payload.py +100 -0
  163. hyperstack_async/models/disable_auto_topup_response.py +108 -0
  164. hyperstack_async/models/edit_label_of_an_existing_vm_payload.py +100 -0
  165. hyperstack_async/models/email_category.py +122 -0
  166. hyperstack_async/models/email_category_child.py +114 -0
  167. hyperstack_async/models/email_preferences_response.py +108 -0
  168. hyperstack_async/models/environment.py +108 -0
  169. hyperstack_async/models/environment_features.py +112 -0
  170. hyperstack_async/models/environment_fields.py +113 -0
  171. hyperstack_async/models/environment_fields_for_volume.py +104 -0
  172. hyperstack_async/models/environments.py +118 -0
  173. hyperstack_async/models/error_response_model.py +104 -0
  174. hyperstack_async/models/firewall_attachment_model.py +111 -0
  175. hyperstack_async/models/firewall_attachment_vm_model.py +111 -0
  176. hyperstack_async/models/firewall_detail_fields.py +135 -0
  177. hyperstack_async/models/firewall_detail_response.py +108 -0
  178. hyperstack_async/models/firewall_environment_fields.py +104 -0
  179. hyperstack_async/models/firewall_fields.py +115 -0
  180. hyperstack_async/models/firewall_response.py +108 -0
  181. hyperstack_async/models/firewall_rule.py +108 -0
  182. hyperstack_async/models/firewalls_list_response.py +118 -0
  183. hyperstack_async/models/flavor_fields.py +135 -0
  184. hyperstack_async/models/flavor_item_get_response.py +112 -0
  185. hyperstack_async/models/flavor_label_fields.py +102 -0
  186. hyperstack_async/models/flavor_list_response.py +112 -0
  187. hyperstack_async/models/flavor_object_fields.py +108 -0
  188. hyperstack_async/models/flavor_restrictions.py +112 -0
  189. hyperstack_async/models/generate_update_api_key_payload.py +103 -0
  190. hyperstack_async/models/generate_update_api_key_response_model.py +108 -0
  191. hyperstack_async/models/get_api_keys_response_model.py +112 -0
  192. hyperstack_async/models/get_auto_topup_response.py +108 -0
  193. hyperstack_async/models/get_credit_and_threshold_info.py +104 -0
  194. hyperstack_async/models/get_credit_and_threshold_info_in_response.py +108 -0
  195. hyperstack_async/models/get_customer_contracts_list_response_model.py +114 -0
  196. hyperstack_async/models/get_instance_logs_response.py +100 -0
  197. hyperstack_async/models/get_invites_response_model.py +112 -0
  198. hyperstack_async/models/get_organization_response_model.py +108 -0
  199. hyperstack_async/models/get_permissions_response_model.py +112 -0
  200. hyperstack_async/models/get_policies_response_model.py +112 -0
  201. hyperstack_async/models/get_rbac_roles_response_model.py +112 -0
  202. hyperstack_async/models/get_user_permissions_response_model.py +112 -0
  203. hyperstack_async/models/gpu_fields.py +119 -0
  204. hyperstack_async/models/gpu_list.py +112 -0
  205. hyperstack_async/models/gpu_region_fields.py +102 -0
  206. hyperstack_async/models/graph_datetime_value_model.py +102 -0
  207. hyperstack_async/models/image.py +104 -0
  208. hyperstack_async/models/image_fields.py +132 -0
  209. hyperstack_async/models/image_generation_billing_history_details_response_schema.py +108 -0
  210. hyperstack_async/models/image_get_response.py +114 -0
  211. hyperstack_async/models/images.py +112 -0
  212. hyperstack_async/models/import_keypair_payload.py +105 -0
  213. hyperstack_async/models/import_keypair_response.py +108 -0
  214. hyperstack_async/models/infrahub_resource_object_response_for_customer.py +122 -0
  215. hyperstack_async/models/instance.py +108 -0
  216. hyperstack_async/models/instance_enhanced_metrics_fields.py +100 -0
  217. hyperstack_async/models/instance_environment_fields.py +112 -0
  218. hyperstack_async/models/instance_events.py +112 -0
  219. hyperstack_async/models/instance_events_fields.py +115 -0
  220. hyperstack_async/models/instance_fields.py +185 -0
  221. hyperstack_async/models/instance_flavor_fields.py +126 -0
  222. hyperstack_async/models/instance_image_fields.py +100 -0
  223. hyperstack_async/models/instance_keypair_fields.py +100 -0
  224. hyperstack_async/models/instance_overview_fields.py +108 -0
  225. hyperstack_async/models/instance_resize_payload.py +106 -0
  226. hyperstack_async/models/instances.py +118 -0
  227. hyperstack_async/models/invite_fields.py +107 -0
  228. hyperstack_async/models/invite_user_payload.py +108 -0
  229. hyperstack_async/models/invite_user_response_model.py +108 -0
  230. hyperstack_async/models/keypair_environment_features.py +112 -0
  231. hyperstack_async/models/keypair_environment_fields.py +113 -0
  232. hyperstack_async/models/keypair_fields.py +115 -0
  233. hyperstack_async/models/keypairs.py +118 -0
  234. hyperstack_async/models/lable_resonse.py +102 -0
  235. hyperstack_async/models/last_day_cost_fields.py +106 -0
  236. hyperstack_async/models/last_day_cost_response.py +108 -0
  237. hyperstack_async/models/logos.py +106 -0
  238. hyperstack_async/models/manual_reconciliation_model.py +108 -0
  239. hyperstack_async/models/master_flavors_response.py +112 -0
  240. hyperstack_async/models/metric_item_fields.py +104 -0
  241. hyperstack_async/models/metrics.py +114 -0
  242. hyperstack_async/models/metrics_fields.py +129 -0
  243. hyperstack_async/models/mfa_status_fields.py +100 -0
  244. hyperstack_async/models/mfa_status_response.py +108 -0
  245. hyperstack_async/models/model_evaluation_billing_history_details_response_schema.py +108 -0
  246. hyperstack_async/models/name_available_model.py +104 -0
  247. hyperstack_async/models/new_configurations_response.py +108 -0
  248. hyperstack_async/models/new_model_response.py +114 -0
  249. hyperstack_async/models/new_stock_response.py +112 -0
  250. hyperstack_async/models/new_stock_retrive_response.py +108 -0
  251. hyperstack_async/models/object_storage_access_key_create_request.py +103 -0
  252. hyperstack_async/models/object_storage_access_key_create_response.py +114 -0
  253. hyperstack_async/models/object_storage_access_key_list_response.py +114 -0
  254. hyperstack_async/models/object_storage_access_key_response.py +112 -0
  255. hyperstack_async/models/object_storage_bucket_list_response.py +110 -0
  256. hyperstack_async/models/object_storage_bucket_response.py +114 -0
  257. hyperstack_async/models/object_storage_delete_response.py +100 -0
  258. hyperstack_async/models/object_storage_error_response.py +104 -0
  259. hyperstack_async/models/object_storage_health_response.py +100 -0
  260. hyperstack_async/models/object_storage_pagination_meta.py +104 -0
  261. hyperstack_async/models/object_storage_region_list_response.py +108 -0
  262. hyperstack_async/models/object_storage_region_response.py +100 -0
  263. hyperstack_async/models/object_storage_regions_enum.py +36 -0
  264. hyperstack_async/models/organization_fields.py +127 -0
  265. hyperstack_async/models/organization_level_billing_history.py +112 -0
  266. hyperstack_async/models/organization_level_billing_history_resources.py +110 -0
  267. hyperstack_async/models/organization_level_billing_history_response_attributes.py +100 -0
  268. hyperstack_async/models/organization_level_billing_history_response_metrics.py +110 -0
  269. hyperstack_async/models/organization_level_billing_history_response_model.py +108 -0
  270. hyperstack_async/models/organization_threshold_fields.py +108 -0
  271. hyperstack_async/models/organization_threshold_update_response.py +108 -0
  272. hyperstack_async/models/organization_thresholds_response.py +112 -0
  273. hyperstack_async/models/organization_user_response_model.py +125 -0
  274. hyperstack_async/models/overview_info.py +116 -0
  275. hyperstack_async/models/pagination.py +104 -0
  276. hyperstack_async/models/pagination_data.py +104 -0
  277. hyperstack_async/models/partner_config.py +124 -0
  278. hyperstack_async/models/payment_details_fields.py +131 -0
  279. hyperstack_async/models/payment_details_response.py +112 -0
  280. hyperstack_async/models/payment_initiate_fields.py +100 -0
  281. hyperstack_async/models/payment_initiate_payload.py +100 -0
  282. hyperstack_async/models/payment_initiate_response.py +108 -0
  283. hyperstack_async/models/permission_fields.py +111 -0
  284. hyperstack_async/models/policy_fields.py +117 -0
  285. hyperstack_async/models/policy_permission_fields.py +104 -0
  286. hyperstack_async/models/pricebook_model.py +113 -0
  287. hyperstack_async/models/pricebook_resource_object_response_for_customer.py +112 -0
  288. hyperstack_async/models/primary_color.py +102 -0
  289. hyperstack_async/models/profile_fields.py +109 -0
  290. hyperstack_async/models/profile_list_response.py +112 -0
  291. hyperstack_async/models/profile_object_fields.py +102 -0
  292. hyperstack_async/models/rbac_role_detail_response_model.py +108 -0
  293. hyperstack_async/models/rbac_role_detail_response_model_fixed.py +108 -0
  294. hyperstack_async/models/rbac_role_field.py +100 -0
  295. hyperstack_async/models/rbac_role_fields.py +127 -0
  296. hyperstack_async/models/record_consent_request.py +132 -0
  297. hyperstack_async/models/redeem_voucher_payload.py +100 -0
  298. hyperstack_async/models/region_fields.py +120 -0
  299. hyperstack_async/models/regions.py +112 -0
  300. hyperstack_async/models/remove_member_from_organization_response_model.py +102 -0
  301. hyperstack_async/models/remove_member_payload.py +101 -0
  302. hyperstack_async/models/request_console.py +104 -0
  303. hyperstack_async/models/request_instance_logs_payload.py +100 -0
  304. hyperstack_async/models/request_instance_logs_response.py +100 -0
  305. hyperstack_async/models/resource_billing_events_history_metrics.py +108 -0
  306. hyperstack_async/models/resource_billing_events_history_response.py +112 -0
  307. hyperstack_async/models/resource_billing_response_for_customer.py +108 -0
  308. hyperstack_async/models/resource_level_billing_bucket_details_resources.py +110 -0
  309. hyperstack_async/models/resource_level_billing_details_attributes.py +104 -0
  310. hyperstack_async/models/resource_level_billing_details_metrics.py +114 -0
  311. hyperstack_async/models/resource_level_billing_details_vm.py +112 -0
  312. hyperstack_async/models/resource_level_billing_details_volume.py +112 -0
  313. hyperstack_async/models/resource_level_billing_details_volume_attributes.py +108 -0
  314. hyperstack_async/models/resource_level_billing_details_volume_metrics.py +108 -0
  315. hyperstack_async/models/resource_level_billing_history.py +118 -0
  316. hyperstack_async/models/resource_level_billing_history_resources.py +110 -0
  317. hyperstack_async/models/resource_level_billing_history_resources_cluster.py +120 -0
  318. hyperstack_async/models/resource_level_billing_history_response_attributes.py +108 -0
  319. hyperstack_async/models/resource_level_billing_history_response_metrics.py +104 -0
  320. hyperstack_async/models/resource_level_billing_vm_details_resources.py +110 -0
  321. hyperstack_async/models/resource_level_billing_volume_details_resources.py +110 -0
  322. hyperstack_async/models/resource_level_bucket_billing_details_response_model.py +108 -0
  323. hyperstack_async/models/resource_level_bucket_billing_history_response_model.py +108 -0
  324. hyperstack_async/models/resource_level_cluster_billing_details_response_model.py +108 -0
  325. hyperstack_async/models/resource_level_cluster_billing_history_response_model.py +108 -0
  326. hyperstack_async/models/resource_level_cluster_graph_billing_details_response_model.py +108 -0
  327. hyperstack_async/models/resource_level_graph_billing_detail_volume.py +114 -0
  328. hyperstack_async/models/resource_level_graph_billing_details_attributes.py +104 -0
  329. hyperstack_async/models/resource_level_graph_billing_details_bucket.py +114 -0
  330. hyperstack_async/models/resource_level_graph_billing_details_metrics.py +110 -0
  331. hyperstack_async/models/resource_level_graph_billing_details_vm.py +114 -0
  332. hyperstack_async/models/resource_level_graph_billing_vm_details_resources.py +110 -0
  333. hyperstack_async/models/resource_level_graph_billing_volume_details_resources.py +110 -0
  334. hyperstack_async/models/resource_level_vm_billing_details_response_model.py +108 -0
  335. hyperstack_async/models/resource_level_vm_billing_history_response_model.py +108 -0
  336. hyperstack_async/models/resource_level_vm_graph_billing_details_response_model.py +108 -0
  337. hyperstack_async/models/resource_level_volume_billing_details_response_model.py +108 -0
  338. hyperstack_async/models/resource_level_volume_billing_history_response_model.py +108 -0
  339. hyperstack_async/models/resource_level_volume_graph_billing_details_response_model.py +108 -0
  340. hyperstack_async/models/resource_object_response_for_customer.py +106 -0
  341. hyperstack_async/models/response_model.py +102 -0
  342. hyperstack_async/models/role_permission_fields.py +104 -0
  343. hyperstack_async/models/role_policy_fields.py +104 -0
  344. hyperstack_async/models/secondary_color.py +102 -0
  345. hyperstack_async/models/security_group_rule.py +108 -0
  346. hyperstack_async/models/security_group_rule_fields.py +117 -0
  347. hyperstack_async/models/security_rules_fields_for_instance.py +117 -0
  348. hyperstack_async/models/security_rules_protocol_fields.py +104 -0
  349. hyperstack_async/models/serverless_inferenced_billing_history_details_response_schema.py +108 -0
  350. hyperstack_async/models/snapshot_fields.py +123 -0
  351. hyperstack_async/models/snapshot_restore_request.py +102 -0
  352. hyperstack_async/models/snapshot_retrieve.py +108 -0
  353. hyperstack_async/models/snapshot_retrieve_fields.py +143 -0
  354. hyperstack_async/models/snapshots.py +118 -0
  355. hyperstack_async/models/start_deployment.py +108 -0
  356. hyperstack_async/models/start_deployment_payload.py +106 -0
  357. hyperstack_async/models/sub_resource_graph_billing_details_metrics.py +165 -0
  358. hyperstack_async/models/sub_resources_costs_response_model.py +114 -0
  359. hyperstack_async/models/sub_resources_graph_billing_history_fields.py +110 -0
  360. hyperstack_async/models/sub_resources_graph_response_model.py +108 -0
  361. hyperstack_async/models/subscribe_or_unsubscribe_update_payload.py +100 -0
  362. hyperstack_async/models/supported_keypair_public_key_types_response.py +104 -0
  363. hyperstack_async/models/template.py +108 -0
  364. hyperstack_async/models/template_fields.py +111 -0
  365. hyperstack_async/models/templates.py +112 -0
  366. hyperstack_async/models/token_based_billing_history_response.py +108 -0
  367. hyperstack_async/models/update_auto_topup_payload.py +102 -0
  368. hyperstack_async/models/update_auto_topup_response.py +108 -0
  369. hyperstack_async/models/update_cluster_node_group_payload.py +105 -0
  370. hyperstack_async/models/update_consent_request.py +123 -0
  371. hyperstack_async/models/update_email_preference_input.py +100 -0
  372. hyperstack_async/models/update_email_preference_response.py +100 -0
  373. hyperstack_async/models/update_environment.py +101 -0
  374. hyperstack_async/models/update_keypair_name.py +101 -0
  375. hyperstack_async/models/update_keypair_name_response.py +108 -0
  376. hyperstack_async/models/update_organization_payload.py +101 -0
  377. hyperstack_async/models/update_organization_response_model.py +102 -0
  378. hyperstack_async/models/update_template.py +104 -0
  379. hyperstack_async/models/update_volume_attachment_payload.py +100 -0
  380. hyperstack_async/models/update_volume_payload.py +100 -0
  381. hyperstack_async/models/update_volume_response.py +110 -0
  382. hyperstack_async/models/uris.py +112 -0
  383. hyperstack_async/models/user_consent.py +116 -0
  384. hyperstack_async/models/user_consent_event.py +112 -0
  385. hyperstack_async/models/user_consents_response.py +108 -0
  386. hyperstack_async/models/user_default_choice_for_user_fields.py +104 -0
  387. hyperstack_async/models/user_default_choices_for_user_response.py +112 -0
  388. hyperstack_async/models/user_enhanced_metrics_payload.py +100 -0
  389. hyperstack_async/models/user_enhanced_metrics_response.py +110 -0
  390. hyperstack_async/models/user_enhanced_metrics_response_fields.py +100 -0
  391. hyperstack_async/models/user_info_post_payload.py +120 -0
  392. hyperstack_async/models/user_organizations_response.py +108 -0
  393. hyperstack_async/models/user_permission_fields.py +104 -0
  394. hyperstack_async/models/users_info_fields.py +129 -0
  395. hyperstack_async/models/users_info_list_response.py +108 -0
  396. hyperstack_async/models/vm_quota.py +112 -0
  397. hyperstack_async/models/vncurl.py +108 -0
  398. hyperstack_async/models/vncurl_fields.py +102 -0
  399. hyperstack_async/models/volume.py +108 -0
  400. hyperstack_async/models/volume_attachment_fields.py +115 -0
  401. hyperstack_async/models/volume_fields.py +139 -0
  402. hyperstack_async/models/volume_fields_for_instance.py +110 -0
  403. hyperstack_async/models/volume_overview_fields.py +104 -0
  404. hyperstack_async/models/volume_types.py +104 -0
  405. hyperstack_async/models/volumes.py +118 -0
  406. hyperstack_async/models/volumes_fields.py +137 -0
  407. hyperstack_async/models/voucher.py +110 -0
  408. hyperstack_async/models/voucher_redeem_response_schema.py +108 -0
  409. hyperstack_async/models/workload_billing_history_response.py +108 -0
  410. hyperstack_async/py.typed +0 -0
  411. hyperstack_async/rest.py +215 -0
  412. hyperstack_async-1.55.1a0.dist-info/METADATA +25 -0
  413. hyperstack_async-1.55.1a0.dist-info/RECORD +415 -0
  414. hyperstack_async-1.55.1a0.dist-info/WHEEL +5 -0
  415. hyperstack_async-1.55.1a0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1429 @@
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 StrictInt
20
+ from ..models.common_response_model import CommonResponseModel
21
+ from ..models.create_update_rbac_role_payload import CreateUpdateRbacRolePayload
22
+ from ..models.get_rbac_roles_response_model import GetRbacRolesResponseModel
23
+ from ..models.rbac_role_detail_response_model import RbacRoleDetailResponseModel
24
+ from ..models.rbac_role_detail_response_model_fixed import RbacRoleDetailResponseModelFixed
25
+
26
+ from ..api_client import ApiClient, RequestSerialized
27
+ from ..api_response import ApiResponse
28
+ from ..rest import RESTResponseType
29
+
30
+
31
+ class RbacRoleApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
45
+ async def create_rbac_role(
46
+ self,
47
+ payload: CreateUpdateRbacRolePayload,
48
+ _request_timeout: Union[
49
+ None,
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Tuple[
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Annotated[StrictFloat, Field(gt=0)]
54
+ ]
55
+ ] = None,
56
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
57
+ _content_type: Optional[StrictStr] = None,
58
+ _headers: Optional[Dict[StrictStr, Any]] = None,
59
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
60
+ ) -> RbacRoleDetailResponseModel:
61
+ """Create RBAC Role
62
+
63
+ Creates an RBAC role that can be assigned to users, granting them access to specific resource actions. Provide the configuration of the RBAC role, including its name, description, and list of permissions and policy IDs in the request body. For additional information on creating RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/create-rbac-role).
64
+
65
+ :param payload: (required)
66
+ :type payload: CreateUpdateRbacRolePayload
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_rbac_role_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': "RbacRoleDetailResponseModel",
99
+ '400': "ErrorResponseModel",
100
+ '401': "ErrorResponseModel",
101
+ '409': "ErrorResponseModel",
102
+ '500': None,
103
+ }
104
+ response_data = await self.api_client.call_api(
105
+ *_param,
106
+ _request_timeout=_request_timeout
107
+ )
108
+ await response_data.read()
109
+ return self.api_client.response_deserialize(
110
+ response_data=response_data,
111
+ response_types_map=_response_types_map,
112
+ ).data
113
+
114
+
115
+ @validate_call
116
+ async def create_rbac_role_with_http_info(
117
+ self,
118
+ payload: CreateUpdateRbacRolePayload,
119
+ _request_timeout: Union[
120
+ None,
121
+ Annotated[StrictFloat, Field(gt=0)],
122
+ Tuple[
123
+ Annotated[StrictFloat, Field(gt=0)],
124
+ Annotated[StrictFloat, Field(gt=0)]
125
+ ]
126
+ ] = None,
127
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
128
+ _content_type: Optional[StrictStr] = None,
129
+ _headers: Optional[Dict[StrictStr, Any]] = None,
130
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
131
+ ) -> ApiResponse[RbacRoleDetailResponseModel]:
132
+ """Create RBAC Role
133
+
134
+ Creates an RBAC role that can be assigned to users, granting them access to specific resource actions. Provide the configuration of the RBAC role, including its name, description, and list of permissions and policy IDs in the request body. For additional information on creating RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/create-rbac-role).
135
+
136
+ :param payload: (required)
137
+ :type payload: CreateUpdateRbacRolePayload
138
+ :param _request_timeout: timeout setting for this request. If one
139
+ number provided, it will be total request
140
+ timeout. It can also be a pair (tuple) of
141
+ (connection, read) timeouts.
142
+ :type _request_timeout: int, tuple(int, int), optional
143
+ :param _request_auth: set to override the auth_settings for an a single
144
+ request; this effectively ignores the
145
+ authentication in the spec for a single request.
146
+ :type _request_auth: dict, optional
147
+ :param _content_type: force content-type for the request.
148
+ :type _content_type: str, Optional
149
+ :param _headers: set to override the headers for a single
150
+ request; this effectively ignores the headers
151
+ in the spec for a single request.
152
+ :type _headers: dict, optional
153
+ :param _host_index: set to override the host_index for a single
154
+ request; this effectively ignores the host_index
155
+ in the spec for a single request.
156
+ :type _host_index: int, optional
157
+ :return: Returns the result object.
158
+ """ # noqa: E501
159
+
160
+ _param = self._create_rbac_role_serialize(
161
+ payload=payload,
162
+ _request_auth=_request_auth,
163
+ _content_type=_content_type,
164
+ _headers=_headers,
165
+ _host_index=_host_index
166
+ )
167
+
168
+ _response_types_map: Dict[str, Optional[str]] = {
169
+ '201': "RbacRoleDetailResponseModel",
170
+ '400': "ErrorResponseModel",
171
+ '401': "ErrorResponseModel",
172
+ '409': "ErrorResponseModel",
173
+ '500': None,
174
+ }
175
+ response_data = await self.api_client.call_api(
176
+ *_param,
177
+ _request_timeout=_request_timeout
178
+ )
179
+ await response_data.read()
180
+ return self.api_client.response_deserialize(
181
+ response_data=response_data,
182
+ response_types_map=_response_types_map,
183
+ )
184
+
185
+
186
+ @validate_call
187
+ async def create_rbac_role_without_preload_content(
188
+ self,
189
+ payload: CreateUpdateRbacRolePayload,
190
+ _request_timeout: Union[
191
+ None,
192
+ Annotated[StrictFloat, Field(gt=0)],
193
+ Tuple[
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Annotated[StrictFloat, Field(gt=0)]
196
+ ]
197
+ ] = None,
198
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
199
+ _content_type: Optional[StrictStr] = None,
200
+ _headers: Optional[Dict[StrictStr, Any]] = None,
201
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
202
+ ) -> RESTResponseType:
203
+ """Create RBAC Role
204
+
205
+ Creates an RBAC role that can be assigned to users, granting them access to specific resource actions. Provide the configuration of the RBAC role, including its name, description, and list of permissions and policy IDs in the request body. For additional information on creating RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/create-rbac-role).
206
+
207
+ :param payload: (required)
208
+ :type payload: CreateUpdateRbacRolePayload
209
+ :param _request_timeout: timeout setting for this request. If one
210
+ number provided, it will be total request
211
+ timeout. It can also be a pair (tuple) of
212
+ (connection, read) timeouts.
213
+ :type _request_timeout: int, tuple(int, int), optional
214
+ :param _request_auth: set to override the auth_settings for an a single
215
+ request; this effectively ignores the
216
+ authentication in the spec for a single request.
217
+ :type _request_auth: dict, optional
218
+ :param _content_type: force content-type for the request.
219
+ :type _content_type: str, Optional
220
+ :param _headers: set to override the headers for a single
221
+ request; this effectively ignores the headers
222
+ in the spec for a single request.
223
+ :type _headers: dict, optional
224
+ :param _host_index: set to override the host_index for a single
225
+ request; this effectively ignores the host_index
226
+ in the spec for a single request.
227
+ :type _host_index: int, optional
228
+ :return: Returns the result object.
229
+ """ # noqa: E501
230
+
231
+ _param = self._create_rbac_role_serialize(
232
+ payload=payload,
233
+ _request_auth=_request_auth,
234
+ _content_type=_content_type,
235
+ _headers=_headers,
236
+ _host_index=_host_index
237
+ )
238
+
239
+ _response_types_map: Dict[str, Optional[str]] = {
240
+ '201': "RbacRoleDetailResponseModel",
241
+ '400': "ErrorResponseModel",
242
+ '401': "ErrorResponseModel",
243
+ '409': "ErrorResponseModel",
244
+ '500': None,
245
+ }
246
+ response_data = await self.api_client.call_api(
247
+ *_param,
248
+ _request_timeout=_request_timeout
249
+ )
250
+ return response_data.response
251
+
252
+
253
+ def _create_rbac_role_serialize(
254
+ self,
255
+ payload,
256
+ _request_auth,
257
+ _content_type,
258
+ _headers,
259
+ _host_index,
260
+ ) -> RequestSerialized:
261
+
262
+ _host = None
263
+
264
+ _collection_formats: Dict[str, str] = {
265
+ }
266
+
267
+ _path_params: Dict[str, str] = {}
268
+ _query_params: List[Tuple[str, str]] = []
269
+ _header_params: Dict[str, Optional[str]] = _headers or {}
270
+ _form_params: List[Tuple[str, str]] = []
271
+ _files: Dict[
272
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
273
+ ] = {}
274
+ _body_params: Optional[bytes] = None
275
+
276
+ # process the path parameters
277
+ # process the query parameters
278
+ # process the header parameters
279
+ # process the form parameters
280
+ # process the body parameter
281
+ if payload is not None:
282
+ _body_params = payload
283
+
284
+
285
+ # set the HTTP header `Accept`
286
+ if 'Accept' not in _header_params:
287
+ _header_params['Accept'] = self.api_client.select_header_accept(
288
+ [
289
+ 'application/json'
290
+ ]
291
+ )
292
+
293
+ # set the HTTP header `Content-Type`
294
+ if _content_type:
295
+ _header_params['Content-Type'] = _content_type
296
+ else:
297
+ _default_content_type = (
298
+ self.api_client.select_header_content_type(
299
+ [
300
+ 'application/json'
301
+ ]
302
+ )
303
+ )
304
+ if _default_content_type is not None:
305
+ _header_params['Content-Type'] = _default_content_type
306
+
307
+ # authentication setting
308
+ _auth_settings: List[str] = [
309
+ 'apiKey'
310
+ ]
311
+
312
+ return self.api_client.param_serialize(
313
+ method='POST',
314
+ resource_path='/auth/roles',
315
+ path_params=_path_params,
316
+ query_params=_query_params,
317
+ header_params=_header_params,
318
+ body=_body_params,
319
+ post_params=_form_params,
320
+ files=_files,
321
+ auth_settings=_auth_settings,
322
+ collection_formats=_collection_formats,
323
+ _host=_host,
324
+ _request_auth=_request_auth
325
+ )
326
+
327
+
328
+
329
+
330
+ @validate_call
331
+ async def delete_rbac_role(
332
+ self,
333
+ id: StrictInt,
334
+ _request_timeout: Union[
335
+ None,
336
+ Annotated[StrictFloat, Field(gt=0)],
337
+ Tuple[
338
+ Annotated[StrictFloat, Field(gt=0)],
339
+ Annotated[StrictFloat, Field(gt=0)]
340
+ ]
341
+ ] = None,
342
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
343
+ _content_type: Optional[StrictStr] = None,
344
+ _headers: Optional[Dict[StrictStr, Any]] = None,
345
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
346
+ ) -> CommonResponseModel:
347
+ """Delete RBAC Role
348
+
349
+ Deletes an RBAC role by providing its ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/delete-rbac-role).
350
+
351
+ :param id: (required)
352
+ :type id: int
353
+ :param _request_timeout: timeout setting for this request. If one
354
+ number provided, it will be total request
355
+ timeout. It can also be a pair (tuple) of
356
+ (connection, read) timeouts.
357
+ :type _request_timeout: int, tuple(int, int), optional
358
+ :param _request_auth: set to override the auth_settings for an a single
359
+ request; this effectively ignores the
360
+ authentication in the spec for a single request.
361
+ :type _request_auth: dict, optional
362
+ :param _content_type: force content-type for the request.
363
+ :type _content_type: str, Optional
364
+ :param _headers: set to override the headers for a single
365
+ request; this effectively ignores the headers
366
+ in the spec for a single request.
367
+ :type _headers: dict, optional
368
+ :param _host_index: set to override the host_index for a single
369
+ request; this effectively ignores the host_index
370
+ in the spec for a single request.
371
+ :type _host_index: int, optional
372
+ :return: Returns the result object.
373
+ """ # noqa: E501
374
+
375
+ _param = self._delete_rbac_role_serialize(
376
+ id=id,
377
+ _request_auth=_request_auth,
378
+ _content_type=_content_type,
379
+ _headers=_headers,
380
+ _host_index=_host_index
381
+ )
382
+
383
+ _response_types_map: Dict[str, Optional[str]] = {
384
+ '200': "CommonResponseModel",
385
+ '400': "ErrorResponseModel",
386
+ '401': "ErrorResponseModel",
387
+ '404': "ErrorResponseModel",
388
+ '500': None,
389
+ }
390
+ response_data = await self.api_client.call_api(
391
+ *_param,
392
+ _request_timeout=_request_timeout
393
+ )
394
+ await response_data.read()
395
+ return self.api_client.response_deserialize(
396
+ response_data=response_data,
397
+ response_types_map=_response_types_map,
398
+ ).data
399
+
400
+
401
+ @validate_call
402
+ async def delete_rbac_role_with_http_info(
403
+ self,
404
+ id: StrictInt,
405
+ _request_timeout: Union[
406
+ None,
407
+ Annotated[StrictFloat, Field(gt=0)],
408
+ Tuple[
409
+ Annotated[StrictFloat, Field(gt=0)],
410
+ Annotated[StrictFloat, Field(gt=0)]
411
+ ]
412
+ ] = None,
413
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
414
+ _content_type: Optional[StrictStr] = None,
415
+ _headers: Optional[Dict[StrictStr, Any]] = None,
416
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
417
+ ) -> ApiResponse[CommonResponseModel]:
418
+ """Delete RBAC Role
419
+
420
+ Deletes an RBAC role by providing its ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/delete-rbac-role).
421
+
422
+ :param id: (required)
423
+ :type id: int
424
+ :param _request_timeout: timeout setting for this request. If one
425
+ number provided, it will be total request
426
+ timeout. It can also be a pair (tuple) of
427
+ (connection, read) timeouts.
428
+ :type _request_timeout: int, tuple(int, int), optional
429
+ :param _request_auth: set to override the auth_settings for an a single
430
+ request; this effectively ignores the
431
+ authentication in the spec for a single request.
432
+ :type _request_auth: dict, optional
433
+ :param _content_type: force content-type for the request.
434
+ :type _content_type: str, Optional
435
+ :param _headers: set to override the headers for a single
436
+ request; this effectively ignores the headers
437
+ in the spec for a single request.
438
+ :type _headers: dict, optional
439
+ :param _host_index: set to override the host_index for a single
440
+ request; this effectively ignores the host_index
441
+ in the spec for a single request.
442
+ :type _host_index: int, optional
443
+ :return: Returns the result object.
444
+ """ # noqa: E501
445
+
446
+ _param = self._delete_rbac_role_serialize(
447
+ id=id,
448
+ _request_auth=_request_auth,
449
+ _content_type=_content_type,
450
+ _headers=_headers,
451
+ _host_index=_host_index
452
+ )
453
+
454
+ _response_types_map: Dict[str, Optional[str]] = {
455
+ '200': "CommonResponseModel",
456
+ '400': "ErrorResponseModel",
457
+ '401': "ErrorResponseModel",
458
+ '404': "ErrorResponseModel",
459
+ '500': None,
460
+ }
461
+ response_data = await self.api_client.call_api(
462
+ *_param,
463
+ _request_timeout=_request_timeout
464
+ )
465
+ await response_data.read()
466
+ return self.api_client.response_deserialize(
467
+ response_data=response_data,
468
+ response_types_map=_response_types_map,
469
+ )
470
+
471
+
472
+ @validate_call
473
+ async def delete_rbac_role_without_preload_content(
474
+ self,
475
+ id: StrictInt,
476
+ _request_timeout: Union[
477
+ None,
478
+ Annotated[StrictFloat, Field(gt=0)],
479
+ Tuple[
480
+ Annotated[StrictFloat, Field(gt=0)],
481
+ Annotated[StrictFloat, Field(gt=0)]
482
+ ]
483
+ ] = None,
484
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
485
+ _content_type: Optional[StrictStr] = None,
486
+ _headers: Optional[Dict[StrictStr, Any]] = None,
487
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
488
+ ) -> RESTResponseType:
489
+ """Delete RBAC Role
490
+
491
+ Deletes an RBAC role by providing its ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/delete-rbac-role).
492
+
493
+ :param id: (required)
494
+ :type id: int
495
+ :param _request_timeout: timeout setting for this request. If one
496
+ number provided, it will be total request
497
+ timeout. It can also be a pair (tuple) of
498
+ (connection, read) timeouts.
499
+ :type _request_timeout: int, tuple(int, int), optional
500
+ :param _request_auth: set to override the auth_settings for an a single
501
+ request; this effectively ignores the
502
+ authentication in the spec for a single request.
503
+ :type _request_auth: dict, optional
504
+ :param _content_type: force content-type for the request.
505
+ :type _content_type: str, Optional
506
+ :param _headers: set to override the headers for a single
507
+ request; this effectively ignores the headers
508
+ in the spec for a single request.
509
+ :type _headers: dict, optional
510
+ :param _host_index: set to override the host_index for a single
511
+ request; this effectively ignores the host_index
512
+ in the spec for a single request.
513
+ :type _host_index: int, optional
514
+ :return: Returns the result object.
515
+ """ # noqa: E501
516
+
517
+ _param = self._delete_rbac_role_serialize(
518
+ id=id,
519
+ _request_auth=_request_auth,
520
+ _content_type=_content_type,
521
+ _headers=_headers,
522
+ _host_index=_host_index
523
+ )
524
+
525
+ _response_types_map: Dict[str, Optional[str]] = {
526
+ '200': "CommonResponseModel",
527
+ '400': "ErrorResponseModel",
528
+ '401': "ErrorResponseModel",
529
+ '404': "ErrorResponseModel",
530
+ '500': None,
531
+ }
532
+ response_data = await self.api_client.call_api(
533
+ *_param,
534
+ _request_timeout=_request_timeout
535
+ )
536
+ return response_data.response
537
+
538
+
539
+ def _delete_rbac_role_serialize(
540
+ self,
541
+ id,
542
+ _request_auth,
543
+ _content_type,
544
+ _headers,
545
+ _host_index,
546
+ ) -> RequestSerialized:
547
+
548
+ _host = None
549
+
550
+ _collection_formats: Dict[str, str] = {
551
+ }
552
+
553
+ _path_params: Dict[str, str] = {}
554
+ _query_params: List[Tuple[str, str]] = []
555
+ _header_params: Dict[str, Optional[str]] = _headers or {}
556
+ _form_params: List[Tuple[str, str]] = []
557
+ _files: Dict[
558
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
559
+ ] = {}
560
+ _body_params: Optional[bytes] = None
561
+
562
+ # process the path parameters
563
+ if id is not None:
564
+ _path_params['id'] = id
565
+ # process the query parameters
566
+ # process the header parameters
567
+ # process the form parameters
568
+ # process the body parameter
569
+
570
+
571
+ # set the HTTP header `Accept`
572
+ if 'Accept' not in _header_params:
573
+ _header_params['Accept'] = self.api_client.select_header_accept(
574
+ [
575
+ 'application/json'
576
+ ]
577
+ )
578
+
579
+
580
+ # authentication setting
581
+ _auth_settings: List[str] = [
582
+ 'apiKey'
583
+ ]
584
+
585
+ return self.api_client.param_serialize(
586
+ method='DELETE',
587
+ resource_path='/auth/roles/{id}',
588
+ path_params=_path_params,
589
+ query_params=_query_params,
590
+ header_params=_header_params,
591
+ body=_body_params,
592
+ post_params=_form_params,
593
+ files=_files,
594
+ auth_settings=_auth_settings,
595
+ collection_formats=_collection_formats,
596
+ _host=_host,
597
+ _request_auth=_request_auth
598
+ )
599
+
600
+
601
+
602
+
603
+ @validate_call
604
+ async def list_rbac_roles(
605
+ self,
606
+ _request_timeout: Union[
607
+ None,
608
+ Annotated[StrictFloat, Field(gt=0)],
609
+ Tuple[
610
+ Annotated[StrictFloat, Field(gt=0)],
611
+ Annotated[StrictFloat, Field(gt=0)]
612
+ ]
613
+ ] = None,
614
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
615
+ _content_type: Optional[StrictStr] = None,
616
+ _headers: Optional[Dict[StrictStr, Any]] = None,
617
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
618
+ ) -> GetRbacRolesResponseModel:
619
+ """List RBAC Roles
620
+
621
+ Retrieves a list of RBAC roles that can be assigned to the users within an organization. For additional information on RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/list-rbac-roles).
622
+
623
+ :param _request_timeout: timeout setting for this request. If one
624
+ number provided, it will be total request
625
+ timeout. It can also be a pair (tuple) of
626
+ (connection, read) timeouts.
627
+ :type _request_timeout: int, tuple(int, int), optional
628
+ :param _request_auth: set to override the auth_settings for an a single
629
+ request; this effectively ignores the
630
+ authentication in the spec for a single request.
631
+ :type _request_auth: dict, optional
632
+ :param _content_type: force content-type for the request.
633
+ :type _content_type: str, Optional
634
+ :param _headers: set to override the headers for a single
635
+ request; this effectively ignores the headers
636
+ in the spec for a single request.
637
+ :type _headers: dict, optional
638
+ :param _host_index: set to override the host_index for a single
639
+ request; this effectively ignores the host_index
640
+ in the spec for a single request.
641
+ :type _host_index: int, optional
642
+ :return: Returns the result object.
643
+ """ # noqa: E501
644
+
645
+ _param = self._list_rbac_roles_serialize(
646
+ _request_auth=_request_auth,
647
+ _content_type=_content_type,
648
+ _headers=_headers,
649
+ _host_index=_host_index
650
+ )
651
+
652
+ _response_types_map: Dict[str, Optional[str]] = {
653
+ '200': "GetRbacRolesResponseModel",
654
+ '400': "ErrorResponseModel",
655
+ '401': "ErrorResponseModel",
656
+ '500': None,
657
+ }
658
+ response_data = await self.api_client.call_api(
659
+ *_param,
660
+ _request_timeout=_request_timeout
661
+ )
662
+ await response_data.read()
663
+ return self.api_client.response_deserialize(
664
+ response_data=response_data,
665
+ response_types_map=_response_types_map,
666
+ ).data
667
+
668
+
669
+ @validate_call
670
+ async def list_rbac_roles_with_http_info(
671
+ self,
672
+ _request_timeout: Union[
673
+ None,
674
+ Annotated[StrictFloat, Field(gt=0)],
675
+ Tuple[
676
+ Annotated[StrictFloat, Field(gt=0)],
677
+ Annotated[StrictFloat, Field(gt=0)]
678
+ ]
679
+ ] = None,
680
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
681
+ _content_type: Optional[StrictStr] = None,
682
+ _headers: Optional[Dict[StrictStr, Any]] = None,
683
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
684
+ ) -> ApiResponse[GetRbacRolesResponseModel]:
685
+ """List RBAC Roles
686
+
687
+ Retrieves a list of RBAC roles that can be assigned to the users within an organization. For additional information on RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/list-rbac-roles).
688
+
689
+ :param _request_timeout: timeout setting for this request. If one
690
+ number provided, it will be total request
691
+ timeout. It can also be a pair (tuple) of
692
+ (connection, read) timeouts.
693
+ :type _request_timeout: int, tuple(int, int), optional
694
+ :param _request_auth: set to override the auth_settings for an a single
695
+ request; this effectively ignores the
696
+ authentication in the spec for a single request.
697
+ :type _request_auth: dict, optional
698
+ :param _content_type: force content-type for the request.
699
+ :type _content_type: str, Optional
700
+ :param _headers: set to override the headers for a single
701
+ request; this effectively ignores the headers
702
+ in the spec for a single request.
703
+ :type _headers: dict, optional
704
+ :param _host_index: set to override the host_index for a single
705
+ request; this effectively ignores the host_index
706
+ in the spec for a single request.
707
+ :type _host_index: int, optional
708
+ :return: Returns the result object.
709
+ """ # noqa: E501
710
+
711
+ _param = self._list_rbac_roles_serialize(
712
+ _request_auth=_request_auth,
713
+ _content_type=_content_type,
714
+ _headers=_headers,
715
+ _host_index=_host_index
716
+ )
717
+
718
+ _response_types_map: Dict[str, Optional[str]] = {
719
+ '200': "GetRbacRolesResponseModel",
720
+ '400': "ErrorResponseModel",
721
+ '401': "ErrorResponseModel",
722
+ '500': None,
723
+ }
724
+ response_data = await self.api_client.call_api(
725
+ *_param,
726
+ _request_timeout=_request_timeout
727
+ )
728
+ await response_data.read()
729
+ return self.api_client.response_deserialize(
730
+ response_data=response_data,
731
+ response_types_map=_response_types_map,
732
+ )
733
+
734
+
735
+ @validate_call
736
+ async def list_rbac_roles_without_preload_content(
737
+ self,
738
+ _request_timeout: Union[
739
+ None,
740
+ Annotated[StrictFloat, Field(gt=0)],
741
+ Tuple[
742
+ Annotated[StrictFloat, Field(gt=0)],
743
+ Annotated[StrictFloat, Field(gt=0)]
744
+ ]
745
+ ] = None,
746
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
747
+ _content_type: Optional[StrictStr] = None,
748
+ _headers: Optional[Dict[StrictStr, Any]] = None,
749
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
750
+ ) -> RESTResponseType:
751
+ """List RBAC Roles
752
+
753
+ Retrieves a list of RBAC roles that can be assigned to the users within an organization. For additional information on RBAC roles, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/list-rbac-roles).
754
+
755
+ :param _request_timeout: timeout setting for this request. If one
756
+ number provided, it will be total request
757
+ timeout. It can also be a pair (tuple) of
758
+ (connection, read) timeouts.
759
+ :type _request_timeout: int, tuple(int, int), optional
760
+ :param _request_auth: set to override the auth_settings for an a single
761
+ request; this effectively ignores the
762
+ authentication in the spec for a single request.
763
+ :type _request_auth: dict, optional
764
+ :param _content_type: force content-type for the request.
765
+ :type _content_type: str, Optional
766
+ :param _headers: set to override the headers for a single
767
+ request; this effectively ignores the headers
768
+ in the spec for a single request.
769
+ :type _headers: dict, optional
770
+ :param _host_index: set to override the host_index for a single
771
+ request; this effectively ignores the host_index
772
+ in the spec for a single request.
773
+ :type _host_index: int, optional
774
+ :return: Returns the result object.
775
+ """ # noqa: E501
776
+
777
+ _param = self._list_rbac_roles_serialize(
778
+ _request_auth=_request_auth,
779
+ _content_type=_content_type,
780
+ _headers=_headers,
781
+ _host_index=_host_index
782
+ )
783
+
784
+ _response_types_map: Dict[str, Optional[str]] = {
785
+ '200': "GetRbacRolesResponseModel",
786
+ '400': "ErrorResponseModel",
787
+ '401': "ErrorResponseModel",
788
+ '500': None,
789
+ }
790
+ response_data = await self.api_client.call_api(
791
+ *_param,
792
+ _request_timeout=_request_timeout
793
+ )
794
+ return response_data.response
795
+
796
+
797
+ def _list_rbac_roles_serialize(
798
+ self,
799
+ _request_auth,
800
+ _content_type,
801
+ _headers,
802
+ _host_index,
803
+ ) -> RequestSerialized:
804
+
805
+ _host = None
806
+
807
+ _collection_formats: Dict[str, str] = {
808
+ }
809
+
810
+ _path_params: Dict[str, str] = {}
811
+ _query_params: List[Tuple[str, str]] = []
812
+ _header_params: Dict[str, Optional[str]] = _headers or {}
813
+ _form_params: List[Tuple[str, str]] = []
814
+ _files: Dict[
815
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
816
+ ] = {}
817
+ _body_params: Optional[bytes] = None
818
+
819
+ # process the path parameters
820
+ # process the query parameters
821
+ # process the header parameters
822
+ # process the form parameters
823
+ # process the body parameter
824
+
825
+
826
+ # set the HTTP header `Accept`
827
+ if 'Accept' not in _header_params:
828
+ _header_params['Accept'] = self.api_client.select_header_accept(
829
+ [
830
+ 'application/json'
831
+ ]
832
+ )
833
+
834
+
835
+ # authentication setting
836
+ _auth_settings: List[str] = [
837
+ 'apiKey'
838
+ ]
839
+
840
+ return self.api_client.param_serialize(
841
+ method='GET',
842
+ resource_path='/auth/roles',
843
+ path_params=_path_params,
844
+ query_params=_query_params,
845
+ header_params=_header_params,
846
+ body=_body_params,
847
+ post_params=_form_params,
848
+ files=_files,
849
+ auth_settings=_auth_settings,
850
+ collection_formats=_collection_formats,
851
+ _host=_host,
852
+ _request_auth=_request_auth
853
+ )
854
+
855
+
856
+
857
+
858
+ @validate_call
859
+ async def retrieve_rbac_role_details(
860
+ self,
861
+ id: StrictInt,
862
+ _request_timeout: Union[
863
+ None,
864
+ Annotated[StrictFloat, Field(gt=0)],
865
+ Tuple[
866
+ Annotated[StrictFloat, Field(gt=0)],
867
+ Annotated[StrictFloat, Field(gt=0)]
868
+ ]
869
+ ] = None,
870
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
871
+ _content_type: Optional[StrictStr] = None,
872
+ _headers: Optional[Dict[StrictStr, Any]] = None,
873
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
874
+ ) -> RbacRoleDetailResponseModelFixed:
875
+ """Retrieve RBAC Role Details
876
+
877
+ Retrieves the details of a specified RBAC role by providing the RBAC role ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/retrieve-rbac-details).
878
+
879
+ :param id: (required)
880
+ :type id: int
881
+ :param _request_timeout: timeout setting for this request. If one
882
+ number provided, it will be total request
883
+ timeout. It can also be a pair (tuple) of
884
+ (connection, read) timeouts.
885
+ :type _request_timeout: int, tuple(int, int), optional
886
+ :param _request_auth: set to override the auth_settings for an a single
887
+ request; this effectively ignores the
888
+ authentication in the spec for a single request.
889
+ :type _request_auth: dict, optional
890
+ :param _content_type: force content-type for the request.
891
+ :type _content_type: str, Optional
892
+ :param _headers: set to override the headers for a single
893
+ request; this effectively ignores the headers
894
+ in the spec for a single request.
895
+ :type _headers: dict, optional
896
+ :param _host_index: set to override the host_index for a single
897
+ request; this effectively ignores the host_index
898
+ in the spec for a single request.
899
+ :type _host_index: int, optional
900
+ :return: Returns the result object.
901
+ """ # noqa: E501
902
+
903
+ _param = self._retrieve_rbac_role_details_serialize(
904
+ id=id,
905
+ _request_auth=_request_auth,
906
+ _content_type=_content_type,
907
+ _headers=_headers,
908
+ _host_index=_host_index
909
+ )
910
+
911
+ _response_types_map: Dict[str, Optional[str]] = {
912
+ '200': "RbacRoleDetailResponseModelFixed",
913
+ '400': "ErrorResponseModel",
914
+ '401': "ErrorResponseModel",
915
+ '404': "ErrorResponseModel",
916
+ '500': None,
917
+ }
918
+ response_data = await self.api_client.call_api(
919
+ *_param,
920
+ _request_timeout=_request_timeout
921
+ )
922
+ await response_data.read()
923
+ return self.api_client.response_deserialize(
924
+ response_data=response_data,
925
+ response_types_map=_response_types_map,
926
+ ).data
927
+
928
+
929
+ @validate_call
930
+ async def retrieve_rbac_role_details_with_http_info(
931
+ self,
932
+ id: StrictInt,
933
+ _request_timeout: Union[
934
+ None,
935
+ Annotated[StrictFloat, Field(gt=0)],
936
+ Tuple[
937
+ Annotated[StrictFloat, Field(gt=0)],
938
+ Annotated[StrictFloat, Field(gt=0)]
939
+ ]
940
+ ] = None,
941
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
942
+ _content_type: Optional[StrictStr] = None,
943
+ _headers: Optional[Dict[StrictStr, Any]] = None,
944
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
945
+ ) -> ApiResponse[RbacRoleDetailResponseModelFixed]:
946
+ """Retrieve RBAC Role Details
947
+
948
+ Retrieves the details of a specified RBAC role by providing the RBAC role ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/retrieve-rbac-details).
949
+
950
+ :param id: (required)
951
+ :type id: int
952
+ :param _request_timeout: timeout setting for this request. If one
953
+ number provided, it will be total request
954
+ timeout. It can also be a pair (tuple) of
955
+ (connection, read) timeouts.
956
+ :type _request_timeout: int, tuple(int, int), optional
957
+ :param _request_auth: set to override the auth_settings for an a single
958
+ request; this effectively ignores the
959
+ authentication in the spec for a single request.
960
+ :type _request_auth: dict, optional
961
+ :param _content_type: force content-type for the request.
962
+ :type _content_type: str, Optional
963
+ :param _headers: set to override the headers for a single
964
+ request; this effectively ignores the headers
965
+ in the spec for a single request.
966
+ :type _headers: dict, optional
967
+ :param _host_index: set to override the host_index for a single
968
+ request; this effectively ignores the host_index
969
+ in the spec for a single request.
970
+ :type _host_index: int, optional
971
+ :return: Returns the result object.
972
+ """ # noqa: E501
973
+
974
+ _param = self._retrieve_rbac_role_details_serialize(
975
+ id=id,
976
+ _request_auth=_request_auth,
977
+ _content_type=_content_type,
978
+ _headers=_headers,
979
+ _host_index=_host_index
980
+ )
981
+
982
+ _response_types_map: Dict[str, Optional[str]] = {
983
+ '200': "RbacRoleDetailResponseModelFixed",
984
+ '400': "ErrorResponseModel",
985
+ '401': "ErrorResponseModel",
986
+ '404': "ErrorResponseModel",
987
+ '500': None,
988
+ }
989
+ response_data = await self.api_client.call_api(
990
+ *_param,
991
+ _request_timeout=_request_timeout
992
+ )
993
+ await response_data.read()
994
+ return self.api_client.response_deserialize(
995
+ response_data=response_data,
996
+ response_types_map=_response_types_map,
997
+ )
998
+
999
+
1000
+ @validate_call
1001
+ async def retrieve_rbac_role_details_without_preload_content(
1002
+ self,
1003
+ id: StrictInt,
1004
+ _request_timeout: Union[
1005
+ None,
1006
+ Annotated[StrictFloat, Field(gt=0)],
1007
+ Tuple[
1008
+ Annotated[StrictFloat, Field(gt=0)],
1009
+ Annotated[StrictFloat, Field(gt=0)]
1010
+ ]
1011
+ ] = None,
1012
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1013
+ _content_type: Optional[StrictStr] = None,
1014
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1015
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1016
+ ) -> RESTResponseType:
1017
+ """Retrieve RBAC Role Details
1018
+
1019
+ Retrieves the details of a specified RBAC role by providing the RBAC role ID in the path. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/retrieve-rbac-details).
1020
+
1021
+ :param id: (required)
1022
+ :type id: int
1023
+ :param _request_timeout: timeout setting for this request. If one
1024
+ number provided, it will be total request
1025
+ timeout. It can also be a pair (tuple) of
1026
+ (connection, read) timeouts.
1027
+ :type _request_timeout: int, tuple(int, int), optional
1028
+ :param _request_auth: set to override the auth_settings for an a single
1029
+ request; this effectively ignores the
1030
+ authentication in the spec for a single request.
1031
+ :type _request_auth: dict, optional
1032
+ :param _content_type: force content-type for the request.
1033
+ :type _content_type: str, Optional
1034
+ :param _headers: set to override the headers for a single
1035
+ request; this effectively ignores the headers
1036
+ in the spec for a single request.
1037
+ :type _headers: dict, optional
1038
+ :param _host_index: set to override the host_index for a single
1039
+ request; this effectively ignores the host_index
1040
+ in the spec for a single request.
1041
+ :type _host_index: int, optional
1042
+ :return: Returns the result object.
1043
+ """ # noqa: E501
1044
+
1045
+ _param = self._retrieve_rbac_role_details_serialize(
1046
+ id=id,
1047
+ _request_auth=_request_auth,
1048
+ _content_type=_content_type,
1049
+ _headers=_headers,
1050
+ _host_index=_host_index
1051
+ )
1052
+
1053
+ _response_types_map: Dict[str, Optional[str]] = {
1054
+ '200': "RbacRoleDetailResponseModelFixed",
1055
+ '400': "ErrorResponseModel",
1056
+ '401': "ErrorResponseModel",
1057
+ '404': "ErrorResponseModel",
1058
+ '500': None,
1059
+ }
1060
+ response_data = await self.api_client.call_api(
1061
+ *_param,
1062
+ _request_timeout=_request_timeout
1063
+ )
1064
+ return response_data.response
1065
+
1066
+
1067
+ def _retrieve_rbac_role_details_serialize(
1068
+ self,
1069
+ id,
1070
+ _request_auth,
1071
+ _content_type,
1072
+ _headers,
1073
+ _host_index,
1074
+ ) -> RequestSerialized:
1075
+
1076
+ _host = None
1077
+
1078
+ _collection_formats: Dict[str, str] = {
1079
+ }
1080
+
1081
+ _path_params: Dict[str, str] = {}
1082
+ _query_params: List[Tuple[str, str]] = []
1083
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1084
+ _form_params: List[Tuple[str, str]] = []
1085
+ _files: Dict[
1086
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1087
+ ] = {}
1088
+ _body_params: Optional[bytes] = None
1089
+
1090
+ # process the path parameters
1091
+ if id is not None:
1092
+ _path_params['id'] = id
1093
+ # process the query parameters
1094
+ # process the header parameters
1095
+ # process the form parameters
1096
+ # process the body parameter
1097
+
1098
+
1099
+ # set the HTTP header `Accept`
1100
+ if 'Accept' not in _header_params:
1101
+ _header_params['Accept'] = self.api_client.select_header_accept(
1102
+ [
1103
+ 'application/json'
1104
+ ]
1105
+ )
1106
+
1107
+
1108
+ # authentication setting
1109
+ _auth_settings: List[str] = [
1110
+ 'apiKey'
1111
+ ]
1112
+
1113
+ return self.api_client.param_serialize(
1114
+ method='GET',
1115
+ resource_path='/auth/roles/{id}',
1116
+ path_params=_path_params,
1117
+ query_params=_query_params,
1118
+ header_params=_header_params,
1119
+ body=_body_params,
1120
+ post_params=_form_params,
1121
+ files=_files,
1122
+ auth_settings=_auth_settings,
1123
+ collection_formats=_collection_formats,
1124
+ _host=_host,
1125
+ _request_auth=_request_auth
1126
+ )
1127
+
1128
+
1129
+
1130
+
1131
+ @validate_call
1132
+ async def update_rbac_role(
1133
+ self,
1134
+ id: StrictInt,
1135
+ payload: CreateUpdateRbacRolePayload,
1136
+ _request_timeout: Union[
1137
+ None,
1138
+ Annotated[StrictFloat, Field(gt=0)],
1139
+ Tuple[
1140
+ Annotated[StrictFloat, Field(gt=0)],
1141
+ Annotated[StrictFloat, Field(gt=0)]
1142
+ ]
1143
+ ] = None,
1144
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1145
+ _content_type: Optional[StrictStr] = None,
1146
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1147
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1148
+ ) -> RbacRoleDetailResponseModel:
1149
+ """Update RBAC Role
1150
+
1151
+ Updates an RBAC role by providing the role ID in the path and the modified role configuration in the request body, including its name, description, and list of permissions and policy IDs. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/update-rbac-role).
1152
+
1153
+ :param id: (required)
1154
+ :type id: int
1155
+ :param payload: (required)
1156
+ :type payload: CreateUpdateRbacRolePayload
1157
+ :param _request_timeout: timeout setting for this request. If one
1158
+ number provided, it will be total request
1159
+ timeout. It can also be a pair (tuple) of
1160
+ (connection, read) timeouts.
1161
+ :type _request_timeout: int, tuple(int, int), optional
1162
+ :param _request_auth: set to override the auth_settings for an a single
1163
+ request; this effectively ignores the
1164
+ authentication in the spec for a single request.
1165
+ :type _request_auth: dict, optional
1166
+ :param _content_type: force content-type for the request.
1167
+ :type _content_type: str, Optional
1168
+ :param _headers: set to override the headers for a single
1169
+ request; this effectively ignores the headers
1170
+ in the spec for a single request.
1171
+ :type _headers: dict, optional
1172
+ :param _host_index: set to override the host_index for a single
1173
+ request; this effectively ignores the host_index
1174
+ in the spec for a single request.
1175
+ :type _host_index: int, optional
1176
+ :return: Returns the result object.
1177
+ """ # noqa: E501
1178
+
1179
+ _param = self._update_rbac_role_serialize(
1180
+ id=id,
1181
+ payload=payload,
1182
+ _request_auth=_request_auth,
1183
+ _content_type=_content_type,
1184
+ _headers=_headers,
1185
+ _host_index=_host_index
1186
+ )
1187
+
1188
+ _response_types_map: Dict[str, Optional[str]] = {
1189
+ '200': "RbacRoleDetailResponseModel",
1190
+ '400': "ErrorResponseModel",
1191
+ '401': "ErrorResponseModel",
1192
+ '404': "ErrorResponseModel",
1193
+ '500': None,
1194
+ }
1195
+ response_data = await self.api_client.call_api(
1196
+ *_param,
1197
+ _request_timeout=_request_timeout
1198
+ )
1199
+ await response_data.read()
1200
+ return self.api_client.response_deserialize(
1201
+ response_data=response_data,
1202
+ response_types_map=_response_types_map,
1203
+ ).data
1204
+
1205
+
1206
+ @validate_call
1207
+ async def update_rbac_role_with_http_info(
1208
+ self,
1209
+ id: StrictInt,
1210
+ payload: CreateUpdateRbacRolePayload,
1211
+ _request_timeout: Union[
1212
+ None,
1213
+ Annotated[StrictFloat, Field(gt=0)],
1214
+ Tuple[
1215
+ Annotated[StrictFloat, Field(gt=0)],
1216
+ Annotated[StrictFloat, Field(gt=0)]
1217
+ ]
1218
+ ] = None,
1219
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1220
+ _content_type: Optional[StrictStr] = None,
1221
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1222
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1223
+ ) -> ApiResponse[RbacRoleDetailResponseModel]:
1224
+ """Update RBAC Role
1225
+
1226
+ Updates an RBAC role by providing the role ID in the path and the modified role configuration in the request body, including its name, description, and list of permissions and policy IDs. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/update-rbac-role).
1227
+
1228
+ :param id: (required)
1229
+ :type id: int
1230
+ :param payload: (required)
1231
+ :type payload: CreateUpdateRbacRolePayload
1232
+ :param _request_timeout: timeout setting for this request. If one
1233
+ number provided, it will be total request
1234
+ timeout. It can also be a pair (tuple) of
1235
+ (connection, read) timeouts.
1236
+ :type _request_timeout: int, tuple(int, int), optional
1237
+ :param _request_auth: set to override the auth_settings for an a single
1238
+ request; this effectively ignores the
1239
+ authentication in the spec for a single request.
1240
+ :type _request_auth: dict, optional
1241
+ :param _content_type: force content-type for the request.
1242
+ :type _content_type: str, Optional
1243
+ :param _headers: set to override the headers for a single
1244
+ request; this effectively ignores the headers
1245
+ in the spec for a single request.
1246
+ :type _headers: dict, optional
1247
+ :param _host_index: set to override the host_index for a single
1248
+ request; this effectively ignores the host_index
1249
+ in the spec for a single request.
1250
+ :type _host_index: int, optional
1251
+ :return: Returns the result object.
1252
+ """ # noqa: E501
1253
+
1254
+ _param = self._update_rbac_role_serialize(
1255
+ id=id,
1256
+ payload=payload,
1257
+ _request_auth=_request_auth,
1258
+ _content_type=_content_type,
1259
+ _headers=_headers,
1260
+ _host_index=_host_index
1261
+ )
1262
+
1263
+ _response_types_map: Dict[str, Optional[str]] = {
1264
+ '200': "RbacRoleDetailResponseModel",
1265
+ '400': "ErrorResponseModel",
1266
+ '401': "ErrorResponseModel",
1267
+ '404': "ErrorResponseModel",
1268
+ '500': None,
1269
+ }
1270
+ response_data = await self.api_client.call_api(
1271
+ *_param,
1272
+ _request_timeout=_request_timeout
1273
+ )
1274
+ await response_data.read()
1275
+ return self.api_client.response_deserialize(
1276
+ response_data=response_data,
1277
+ response_types_map=_response_types_map,
1278
+ )
1279
+
1280
+
1281
+ @validate_call
1282
+ async def update_rbac_role_without_preload_content(
1283
+ self,
1284
+ id: StrictInt,
1285
+ payload: CreateUpdateRbacRolePayload,
1286
+ _request_timeout: Union[
1287
+ None,
1288
+ Annotated[StrictFloat, Field(gt=0)],
1289
+ Tuple[
1290
+ Annotated[StrictFloat, Field(gt=0)],
1291
+ Annotated[StrictFloat, Field(gt=0)]
1292
+ ]
1293
+ ] = None,
1294
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1295
+ _content_type: Optional[StrictStr] = None,
1296
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1297
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1298
+ ) -> RESTResponseType:
1299
+ """Update RBAC Role
1300
+
1301
+ Updates an RBAC role by providing the role ID in the path and the modified role configuration in the request body, including its name, description, and list of permissions and policy IDs. For additional information, [click here](https://docs.hyperstack.cloud/docs/api-reference/auth-resources/rbac/update-rbac-role).
1302
+
1303
+ :param id: (required)
1304
+ :type id: int
1305
+ :param payload: (required)
1306
+ :type payload: CreateUpdateRbacRolePayload
1307
+ :param _request_timeout: timeout setting for this request. If one
1308
+ number provided, it will be total request
1309
+ timeout. It can also be a pair (tuple) of
1310
+ (connection, read) timeouts.
1311
+ :type _request_timeout: int, tuple(int, int), optional
1312
+ :param _request_auth: set to override the auth_settings for an a single
1313
+ request; this effectively ignores the
1314
+ authentication in the spec for a single request.
1315
+ :type _request_auth: dict, optional
1316
+ :param _content_type: force content-type for the request.
1317
+ :type _content_type: str, Optional
1318
+ :param _headers: set to override the headers for a single
1319
+ request; this effectively ignores the headers
1320
+ in the spec for a single request.
1321
+ :type _headers: dict, optional
1322
+ :param _host_index: set to override the host_index for a single
1323
+ request; this effectively ignores the host_index
1324
+ in the spec for a single request.
1325
+ :type _host_index: int, optional
1326
+ :return: Returns the result object.
1327
+ """ # noqa: E501
1328
+
1329
+ _param = self._update_rbac_role_serialize(
1330
+ id=id,
1331
+ payload=payload,
1332
+ _request_auth=_request_auth,
1333
+ _content_type=_content_type,
1334
+ _headers=_headers,
1335
+ _host_index=_host_index
1336
+ )
1337
+
1338
+ _response_types_map: Dict[str, Optional[str]] = {
1339
+ '200': "RbacRoleDetailResponseModel",
1340
+ '400': "ErrorResponseModel",
1341
+ '401': "ErrorResponseModel",
1342
+ '404': "ErrorResponseModel",
1343
+ '500': None,
1344
+ }
1345
+ response_data = await self.api_client.call_api(
1346
+ *_param,
1347
+ _request_timeout=_request_timeout
1348
+ )
1349
+ return response_data.response
1350
+
1351
+
1352
+ def _update_rbac_role_serialize(
1353
+ self,
1354
+ id,
1355
+ payload,
1356
+ _request_auth,
1357
+ _content_type,
1358
+ _headers,
1359
+ _host_index,
1360
+ ) -> RequestSerialized:
1361
+
1362
+ _host = None
1363
+
1364
+ _collection_formats: Dict[str, str] = {
1365
+ }
1366
+
1367
+ _path_params: Dict[str, str] = {}
1368
+ _query_params: List[Tuple[str, str]] = []
1369
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1370
+ _form_params: List[Tuple[str, str]] = []
1371
+ _files: Dict[
1372
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1373
+ ] = {}
1374
+ _body_params: Optional[bytes] = None
1375
+
1376
+ # process the path parameters
1377
+ if id is not None:
1378
+ _path_params['id'] = id
1379
+ # process the query parameters
1380
+ # process the header parameters
1381
+ # process the form parameters
1382
+ # process the body parameter
1383
+ if payload is not None:
1384
+ _body_params = payload
1385
+
1386
+
1387
+ # set the HTTP header `Accept`
1388
+ if 'Accept' not in _header_params:
1389
+ _header_params['Accept'] = self.api_client.select_header_accept(
1390
+ [
1391
+ 'application/json'
1392
+ ]
1393
+ )
1394
+
1395
+ # set the HTTP header `Content-Type`
1396
+ if _content_type:
1397
+ _header_params['Content-Type'] = _content_type
1398
+ else:
1399
+ _default_content_type = (
1400
+ self.api_client.select_header_content_type(
1401
+ [
1402
+ 'application/json'
1403
+ ]
1404
+ )
1405
+ )
1406
+ if _default_content_type is not None:
1407
+ _header_params['Content-Type'] = _default_content_type
1408
+
1409
+ # authentication setting
1410
+ _auth_settings: List[str] = [
1411
+ 'apiKey'
1412
+ ]
1413
+
1414
+ return self.api_client.param_serialize(
1415
+ method='PUT',
1416
+ resource_path='/auth/roles/{id}',
1417
+ path_params=_path_params,
1418
+ query_params=_query_params,
1419
+ header_params=_header_params,
1420
+ body=_body_params,
1421
+ post_params=_form_params,
1422
+ files=_files,
1423
+ auth_settings=_auth_settings,
1424
+ collection_formats=_collection_formats,
1425
+ _host=_host,
1426
+ _request_auth=_request_auth
1427
+ )
1428
+
1429
+