hyperfluid 0.1.0__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 (1300) hide show
  1. hyperfluid/__init__.py +56 -0
  2. hyperfluid/_exceptions.py +93 -0
  3. hyperfluid/_version.py +6 -0
  4. hyperfluid/api/__init__.py +1441 -0
  5. hyperfluid/api/_auth.py +231 -0
  6. hyperfluid/api/_errors.py +125 -0
  7. hyperfluid/api/_pages.py +307 -0
  8. hyperfluid/api/_pagination.py +298 -0
  9. hyperfluid/api/_response.py +132 -0
  10. hyperfluid/api/_streaming.py +353 -0
  11. hyperfluid/api/accept_invitation.py +115 -0
  12. hyperfluid/api/ai_agents.py +961 -0
  13. hyperfluid/api/ai_agents_sessions.py +277 -0
  14. hyperfluid/api/airflow_connections.py +683 -0
  15. hyperfluid/api/airflows.py +839 -0
  16. hyperfluid/api/airflows_pods.py +240 -0
  17. hyperfluid/api/alert_rules.py +153 -0
  18. hyperfluid/api/alert_rules_rules.py +436 -0
  19. hyperfluid/api/alerting_settings.py +216 -0
  20. hyperfluid/api/alerting_settings_bindings.py +206 -0
  21. hyperfluid/api/alerting_settings_channels.py +474 -0
  22. hyperfluid/api/alerting_settings_thresholds.py +278 -0
  23. hyperfluid/api/api_keys.py +380 -0
  24. hyperfluid/api/app_instances.py +495 -0
  25. hyperfluid/api/app_templates.py +235 -0
  26. hyperfluid/api/atlas.py +600 -0
  27. hyperfluid/api/atlas_entries.py +351 -0
  28. hyperfluid/api/audit_logs.py +589 -0
  29. hyperfluid/api/audit_logs_security_decisions.py +299 -0
  30. hyperfluid/api/authorization.py +2794 -0
  31. hyperfluid/api/backup_targets.py +585 -0
  32. hyperfluid/api/bifrost.py +163 -0
  33. hyperfluid/api/buckets.py +1160 -0
  34. hyperfluid/api/buckets_archive_operations.py +313 -0
  35. hyperfluid/api/buckets_objects.py +479 -0
  36. hyperfluid/api/changelogs.py +112 -0
  37. hyperfluid/api/check_name_availability.py +126 -0
  38. hyperfluid/api/ci_runners.py +106 -0
  39. hyperfluid/api/cli.py +106 -0
  40. hyperfluid/api/client.py +5360 -0
  41. hyperfluid/api/common.py +845 -0
  42. hyperfluid/api/compute_docks.py +753 -0
  43. hyperfluid/api/console_config.py +106 -0
  44. hyperfluid/api/container_apps.py +877 -0
  45. hyperfluid/api/container_apps_crd.py +763 -0
  46. hyperfluid/api/container_apps_git_source.py +99 -0
  47. hyperfluid/api/container_apps_git_source_container_apps.py +83 -0
  48. hyperfluid/api/container_apps_git_source_container_apps_image_source.py +455 -0
  49. hyperfluid/api/container_apps_git_source_harbors.py +79 -0
  50. hyperfluid/api/container_apps_git_source_harbors_container_apps.py +366 -0
  51. hyperfluid/api/container_apps_pods.py +232 -0
  52. hyperfluid/api/converters.py +264 -0
  53. hyperfluid/api/crate_hf_console_inbound_http_handlers_data_containers_iceberg_clone_table.py +162 -0
  54. hyperfluid/api/crate_hf_console_inbound_http_handlers_data_docks_data_containers_handlers.py +156 -0
  55. hyperfluid/api/create_invitation.py +141 -0
  56. hyperfluid/api/create_signup_request.py +159 -0
  57. hyperfluid/api/dashboards.py +1069 -0
  58. hyperfluid/api/dashboards_versions.py +210 -0
  59. hyperfluid/api/data_docks.py +445 -0
  60. hyperfluid/api/data_docks_catalog.py +182 -0
  61. hyperfluid/api/decline_invitation.py +110 -0
  62. hyperfluid/api/dev_workstations.py +889 -0
  63. hyperfluid/api/dev_workstations_agent_chat.py +534 -0
  64. hyperfluid/api/dev_workstations_agent_chat_permission_policy.py +266 -0
  65. hyperfluid/api/dev_workstations_agent_chat_questions.py +264 -0
  66. hyperfluid/api/dev_workstations_agent_chat_sessions.py +522 -0
  67. hyperfluid/api/dev_workstations_agent_chat_sessions_messages.py +303 -0
  68. hyperfluid/api/dev_workstations_agent_chat_workspaces.py +229 -0
  69. hyperfluid/api/dev_workstations_ai.py +167 -0
  70. hyperfluid/api/dev_workstations_audit.py +219 -0
  71. hyperfluid/api/dev_workstations_egress_allowlists.py +471 -0
  72. hyperfluid/api/dev_workstations_egress_flows.py +141 -0
  73. hyperfluid/api/dev_workstations_files.py +241 -0
  74. hyperfluid/api/dev_workstations_forgejo.py +217 -0
  75. hyperfluid/api/dev_workstations_git_ops.py +770 -0
  76. hyperfluid/api/dev_workstations_metrics.py +118 -0
  77. hyperfluid/api/dev_workstations_preview_ports.py +118 -0
  78. hyperfluid/api/dev_workstations_preview_proxy.py +120 -0
  79. hyperfluid/api/dev_workstations_repositories.py +284 -0
  80. hyperfluid/api/dev_workstations_scm.py +396 -0
  81. hyperfluid/api/dev_workstations_skill_registries.py +657 -0
  82. hyperfluid/api/dev_workstations_skill_registries_skills.py +350 -0
  83. hyperfluid/api/dev_workstations_terminals.py +249 -0
  84. hyperfluid/api/domain_verifications.py +505 -0
  85. hyperfluid/api/faker_create_schema.py +141 -0
  86. hyperfluid/api/faker_create_table.py +149 -0
  87. hyperfluid/api/faker_create_table_structured.py +150 -0
  88. hyperfluid/api/faker_delete_schema.py +124 -0
  89. hyperfluid/api/faker_delete_schema_preview.py +130 -0
  90. hyperfluid/api/faker_delete_table.py +124 -0
  91. hyperfluid/api/faker_delete_table_preview.py +130 -0
  92. hyperfluid/api/faker_get_field_types.py +108 -0
  93. hyperfluid/api/faker_get_schemas.py +122 -0
  94. hyperfluid/api/faker_get_table.py +130 -0
  95. hyperfluid/api/faker_get_tables.py +122 -0
  96. hyperfluid/api/faker_update_table.py +146 -0
  97. hyperfluid/api/forgejo_runners.py +624 -0
  98. hyperfluid/api/get_data_container.py +122 -0
  99. hyperfluid/api/get_invitation_preview.py +116 -0
  100. hyperfluid/api/get_signup_page_copy.py +132 -0
  101. hyperfluid/api/git_hub_runners.py +1216 -0
  102. hyperfluid/api/handlers.py +362 -0
  103. hyperfluid/api/harbors.py +461 -0
  104. hyperfluid/api/harbors_crd.py +205 -0
  105. hyperfluid/api/hf_key_value_caches.py +595 -0
  106. hyperfluid/api/iceberg_create_iceberg_data_container.py +138 -0
  107. hyperfluid/api/iceberg_create_schema.py +149 -0
  108. hyperfluid/api/iceberg_create_table.py +184 -0
  109. hyperfluid/api/iceberg_delete_schema.py +120 -0
  110. hyperfluid/api/iceberg_delete_table.py +166 -0
  111. hyperfluid/api/iceberg_get_iceberg_data_container.py +122 -0
  112. hyperfluid/api/iceberg_get_schemas.py +122 -0
  113. hyperfluid/api/iceberg_get_table_columns.py +138 -0
  114. hyperfluid/api/iceberg_get_tables.py +122 -0
  115. hyperfluid/api/iceberg_health.py +241 -0
  116. hyperfluid/api/iceberg_health_scan_api.py +214 -0
  117. hyperfluid/api/iceberg_optimize.py +636 -0
  118. hyperfluid/api/iceberg_optimize_runs.py +284 -0
  119. hyperfluid/api/identity_providers.py +475 -0
  120. hyperfluid/api/kafka_services.py +751 -0
  121. hyperfluid/api/kafka_topics.py +501 -0
  122. hyperfluid/api/list_identity_providers.py +118 -0
  123. hyperfluid/api/list_invitations.py +122 -0
  124. hyperfluid/api/llm_credits.py +353 -0
  125. hyperfluid/api/llm_credits_budgets.py +300 -0
  126. hyperfluid/api/managed_postgre_sq_ls.py +103 -0
  127. hyperfluid/api/managed_postgre_sq_ls_harbors.py +81 -0
  128. hyperfluid/api/managed_postgre_sq_ls_harbors_managed_postgresqls.py +306 -0
  129. hyperfluid/api/managed_postgre_sq_ls_managed_postgresqls.py +530 -0
  130. hyperfluid/api/managed_postgre_sql_users.py +619 -0
  131. hyperfluid/api/managed_postgresql_backups.py +513 -0
  132. hyperfluid/api/managed_postgresql_imports.py +986 -0
  133. hyperfluid/api/middleware.py +40 -0
  134. hyperfluid/api/model_catalog.py +170 -0
  135. hyperfluid/api/model_serving.py +556 -0
  136. hyperfluid/api/monitoring.py +1080 -0
  137. hyperfluid/api/monitoring_bifrost.py +456 -0
  138. hyperfluid/api/monitoring_compute_docks.py +302 -0
  139. hyperfluid/api/monitoring_container_apps.py +404 -0
  140. hyperfluid/api/monitoring_container_apps_custom_metrics.py +251 -0
  141. hyperfluid/api/monitoring_data_docks.py +286 -0
  142. hyperfluid/api/monitoring_dev_workstations.py +373 -0
  143. hyperfluid/api/monitoring_harbors.py +177 -0
  144. hyperfluid/api/monitoring_harbors_github_runners.py +449 -0
  145. hyperfluid/api/monitoring_hf_key_value_caches.py +286 -0
  146. hyperfluid/api/monitoring_kafka_services.py +286 -0
  147. hyperfluid/api/monitoring_managed_postgresqls.py +292 -0
  148. hyperfluid/api/monitoring_model_servings.py +278 -0
  149. hyperfluid/api/nextflow.py +735 -0
  150. hyperfluid/api/nextflow_runs.py +623 -0
  151. hyperfluid/api/nextflow_runs_tasks.py +236 -0
  152. hyperfluid/api/ontology.py +480 -0
  153. hyperfluid/api/ontology_action_types.py +578 -0
  154. hyperfluid/api/ontology_link_types.py +479 -0
  155. hyperfluid/api/ontology_object_types.py +657 -0
  156. hyperfluid/api/ontology_object_types_instances.py +394 -0
  157. hyperfluid/api/ontology_properties.py +233 -0
  158. hyperfluid/api/open_data.py +279 -0
  159. hyperfluid/api/org_storage.py +284 -0
  160. hyperfluid/api/org_storage_harbors.py +237 -0
  161. hyperfluid/api/org_storage_harbors_zones.py +198 -0
  162. hyperfluid/api/org_storage_zones.py +190 -0
  163. hyperfluid/api/organization_features.py +120 -0
  164. hyperfluid/api/organizations.py +580 -0
  165. hyperfluid/api/orgs.py +69 -0
  166. hyperfluid/api/orgs_data_docks.py +203 -0
  167. hyperfluid/api/petite_requete.py +1945 -0
  168. hyperfluid/api/pipelines.py +1515 -0
  169. hyperfluid/api/pipelines_runs.py +371 -0
  170. hyperfluid/api/pipelines_stats_api.py +214 -0
  171. hyperfluid/api/postgresql_create_postgresql_data_container.py +142 -0
  172. hyperfluid/api/postgresql_get_postgresql_data_container.py +124 -0
  173. hyperfluid/api/quotas.py +175 -0
  174. hyperfluid/api/redeem_invitation.py +108 -0
  175. hyperfluid/api/register_invitation.py +135 -0
  176. hyperfluid/api/registries.py +393 -0
  177. hyperfluid/api/registry_projects.py +407 -0
  178. hyperfluid/api/registry_views.py +427 -0
  179. hyperfluid/api/registry_views_projects.py +69 -0
  180. hyperfluid/api/registry_views_projects_images.py +540 -0
  181. hyperfluid/api/resend_invitation.py +124 -0
  182. hyperfluid/api/revoke_invitation.py +122 -0
  183. hyperfluid/api/s3_long_lived_keys.py +221 -0
  184. hyperfluid/api/s3_long_lived_keys_s3_keys.py +313 -0
  185. hyperfluid/api/s3_sessions.py +131 -0
  186. hyperfluid/api/sapience_resources.py +122 -0
  187. hyperfluid/api/secrets.py +788 -0
  188. hyperfluid/api/security.py +1167 -0
  189. hyperfluid/api/security_policies.py +118 -0
  190. hyperfluid/api/security_settings.py +431 -0
  191. hyperfluid/api/service_accounts.py +261 -0
  192. hyperfluid/api/service_accounts_attributes.py +385 -0
  193. hyperfluid/api/service_accounts_crd.py +501 -0
  194. hyperfluid/api/service_links.py +387 -0
  195. hyperfluid/api/shared_models.py +167 -0
  196. hyperfluid/api/super_catalog_exposure_handlers.py +224 -0
  197. hyperfluid/api/super_catalog_handlers.py +308 -0
  198. hyperfluid/api/super_data_access_handlers.py +161 -0
  199. hyperfluid/api/super_internet_exposure_handlers.py +209 -0
  200. hyperfluid/api/super_organizations_list_users.py +122 -0
  201. hyperfluid/api/super_resource_groups_handlers.py +206 -0
  202. hyperfluid/api/super_search_handlers.py +173 -0
  203. hyperfluid/api/support.py +69 -0
  204. hyperfluid/api/support_tickets.py +522 -0
  205. hyperfluid/api/support_tickets_messages.py +216 -0
  206. hyperfluid/api/table_classifications.py +551 -0
  207. hyperfluid/api/terraform_registry.py +122 -0
  208. hyperfluid/api/token_usage.py +414 -0
  209. hyperfluid/api/token_usage_timeseries.py +226 -0
  210. hyperfluid/api/trino_connectors.py +122 -0
  211. hyperfluid/api/unified_catalog.py +122 -0
  212. hyperfluid/api/user_attributes.py +492 -0
  213. hyperfluid/api/verify_signup_request.py +137 -0
  214. hyperfluid/api/virtual_machine_users.py +452 -0
  215. hyperfluid/api/virtual_machines.py +664 -0
  216. hyperfluid/api/workload_security.py +592 -0
  217. hyperfluid/api/workload_security_settings.py +199 -0
  218. hyperfluid/api/workload_security_workloads.py +215 -0
  219. hyperfluid/api/workstation_templates.py +544 -0
  220. hyperfluid/errors.py +46 -0
  221. hyperfluid/models/__init__.py +3844 -0
  222. hyperfluid/models/abort_managed_postgresql_import_upload_request_body.py +18 -0
  223. hyperfluid/models/abort_multipart_upload_request.py +17 -0
  224. hyperfluid/models/accept_invitation_body.py +11 -0
  225. hyperfluid/models/access_binding.py +56 -0
  226. hyperfluid/models/access_check_item.py +20 -0
  227. hyperfluid/models/access_check_request_body.py +17 -0
  228. hyperfluid/models/access_check_result.py +21 -0
  229. hyperfluid/models/action_parameter.py +31 -0
  230. hyperfluid/models/action_result.py +21 -0
  231. hyperfluid/models/action_type.py +47 -0
  232. hyperfluid/models/add_group_member_request_body.py +17 -0
  233. hyperfluid/models/add_service_account_attribute_request.py +14 -0
  234. hyperfluid/models/add_user.py +13 -0
  235. hyperfluid/models/add_user_attribute_request.py +15 -0
  236. hyperfluid/models/add_workstation_repository_response.py +26 -0
  237. hyperfluid/models/agent_mode.py +21 -0
  238. hyperfluid/models/agent_request_kind.py +24 -0
  239. hyperfluid/models/agent_workspaces.py +21 -0
  240. hyperfluid/models/agent_worktree.py +17 -0
  241. hyperfluid/models/ai_agent_budgets_dto.py +18 -0
  242. hyperfluid/models/ai_agent_capabilities_response.py +17 -0
  243. hyperfluid/models/ai_agent_capability_response.py +45 -0
  244. hyperfluid/models/ai_agent_data_source_dto.py +21 -0
  245. hyperfluid/models/ai_agent_desired_state_dto.py +17 -0
  246. hyperfluid/models/ai_agent_inference_dto.py +27 -0
  247. hyperfluid/models/ai_agent_mail_dto.py +64 -0
  248. hyperfluid/models/ai_agent_mail_mode_dto.py +17 -0
  249. hyperfluid/models/ai_agent_mail_stats_response.py +40 -0
  250. hyperfluid/models/ai_agent_mail_status_dto.py +29 -0
  251. hyperfluid/models/ai_agent_mailbox_phase_dto.py +17 -0
  252. hyperfluid/models/ai_agent_memory_response.py +35 -0
  253. hyperfluid/models/ai_agent_response.py +81 -0
  254. hyperfluid/models/ai_agent_session_summary.py +30 -0
  255. hyperfluid/models/ai_agent_session_turn.py +19 -0
  256. hyperfluid/models/ai_agent_session_turns_response.py +17 -0
  257. hyperfluid/models/ai_agent_sessions_response.py +17 -0
  258. hyperfluid/models/ai_agent_status_response.py +24 -0
  259. hyperfluid/models/ai_classification_result_response.py +25 -0
  260. hyperfluid/models/ai_classify_request_body.py +20 -0
  261. hyperfluid/models/ai_classify_response_body.py +21 -0
  262. hyperfluid/models/ai_edit_request.py +35 -0
  263. hyperfluid/models/ai_edit_response.py +17 -0
  264. hyperfluid/models/airflow_connection_condition_response.py +24 -0
  265. hyperfluid/models/airflow_connection_response.py +145 -0
  266. hyperfluid/models/airflow_connection_s3_session.py +30 -0
  267. hyperfluid/models/airflow_crd_spec_response.py +49 -0
  268. hyperfluid/models/airflow_crd_status_response.py +47 -0
  269. hyperfluid/models/airflow_egress_request.py +30 -0
  270. hyperfluid/models/airflow_in_cluster_link_request.py +21 -0
  271. hyperfluid/models/airflow_link_kind.py +31 -0
  272. hyperfluid/models/airflow_node_tier.py +38 -0
  273. hyperfluid/models/airflow_pod_response.py +37 -0
  274. hyperfluid/models/airflow_response.py +53 -0
  275. hyperfluid/models/alert_event_dto.py +33 -0
  276. hyperfluid/models/alert_rule_body.py +40 -0
  277. hyperfluid/models/alert_rule_dto.py +53 -0
  278. hyperfluid/models/alertable_panel_dto.py +25 -0
  279. hyperfluid/models/analytics_summary.py +27 -0
  280. hyperfluid/models/analytics_trend_point.py +20 -0
  281. hyperfluid/models/analytics_trends.py +19 -0
  282. hyperfluid/models/antivirus_config.py +21 -0
  283. hyperfluid/models/api_error_body.py +23 -0
  284. hyperfluid/models/api_key_response.py +44 -0
  285. hyperfluid/models/app_instance_response.py +42 -0
  286. hyperfluid/models/app_protocol.py +19 -0
  287. hyperfluid/models/app_template_response.py +43 -0
  288. hyperfluid/models/app_usage_ref.py +29 -0
  289. hyperfluid/models/applied_proposal.py +29 -0
  290. hyperfluid/models/apply_ontology_proposal_request.py +26 -0
  291. hyperfluid/models/archive_download_response.py +15 -0
  292. hyperfluid/models/archive_export_request.py +24 -0
  293. hyperfluid/models/archive_file_type.py +14 -0
  294. hyperfluid/models/archive_import_request.py +26 -0
  295. hyperfluid/models/archive_operation_status.py +19 -0
  296. hyperfluid/models/archive_operation_type.py +15 -0
  297. hyperfluid/models/ask_ai_agent_request.py +28 -0
  298. hyperfluid/models/ask_ai_agent_response.py +21 -0
  299. hyperfluid/models/assistant_answer.py +21 -0
  300. hyperfluid/models/assistant_request.py +23 -0
  301. hyperfluid/models/atlas_article.py +21 -0
  302. hyperfluid/models/atlas_article_summary.py +45 -0
  303. hyperfluid/models/atlas_assistant_request.py +17 -0
  304. hyperfluid/models/atlas_assistant_response.py +24 -0
  305. hyperfluid/models/atlas_assistant_source.py +19 -0
  306. hyperfluid/models/atlas_assistant_status.py +18 -0
  307. hyperfluid/models/atlas_entry.py +29 -0
  308. hyperfluid/models/atlas_entry_kind.py +20 -0
  309. hyperfluid/models/atlas_localized_text.py +15 -0
  310. hyperfluid/models/atlas_manifest.py +24 -0
  311. hyperfluid/models/atlas_persona.py +21 -0
  312. hyperfluid/models/atlas_procedure_revision.py +25 -0
  313. hyperfluid/models/atlas_save_entry.py +35 -0
  314. hyperfluid/models/atlas_search_request.py +24 -0
  315. hyperfluid/models/atlas_search_response.py +24 -0
  316. hyperfluid/models/atlas_search_result.py +27 -0
  317. hyperfluid/models/atlas_status.py +19 -0
  318. hyperfluid/models/atlas_verification.py +17 -0
  319. hyperfluid/models/atlas_visibility.py +15 -0
  320. hyperfluid/models/atlas_workspace.py +23 -0
  321. hyperfluid/models/audit_actor.py +20 -0
  322. hyperfluid/models/audit_actor_kind.py +23 -0
  323. hyperfluid/models/audit_entry_kind.py +15 -0
  324. hyperfluid/models/audit_log_event.py +111 -0
  325. hyperfluid/models/audit_log_event_authz_break_glass_used_variant.py +20 -0
  326. hyperfluid/models/audit_log_event_authz_organization_policy_revoked_variant.py +23 -0
  327. hyperfluid/models/audit_log_event_console_authz_decision_variant.py +19 -0
  328. hyperfluid/models/audit_log_event_container_app_image_synced_variant.py +21 -0
  329. hyperfluid/models/audit_log_event_data_dock_opa_evaluation_variant.py +19 -0
  330. hyperfluid/models/audit_log_event_managed_postgresql_import_created_variant.py +24 -0
  331. hyperfluid/models/audit_log_event_object_storage_owner_key_revealed_variant.py +27 -0
  332. hyperfluid/models/audit_log_event_object_storage_usage_collected_variant.py +23 -0
  333. hyperfluid/models/audit_log_event_platform_admin_action_variant.py +21 -0
  334. hyperfluid/models/audit_log_event_runtime_security_alert_variant.py +25 -0
  335. hyperfluid/models/audit_log_event_s3_gateway_decision_variant.py +19 -0
  336. hyperfluid/models/audit_log_event_s3_gateway_gate_denied_variant.py +21 -0
  337. hyperfluid/models/audit_log_event_s3_gateway_session_issued_variant.py +19 -0
  338. hyperfluid/models/audit_log_event_security_decision_variant.py +19 -0
  339. hyperfluid/models/audit_log_event_trino_query_completed_variant.py +21 -0
  340. hyperfluid/models/audit_log_event_type.py +52 -0
  341. hyperfluid/models/audit_log_event_virtual_machine_console_session_variant.py +23 -0
  342. hyperfluid/models/audit_log_event_workstation_agent_request_variant.py +25 -0
  343. hyperfluid/models/audit_log_event_workstation_preview_session_variant.py +22 -0
  344. hyperfluid/models/audit_log_event_workstation_terminal_command_variant.py +20 -0
  345. hyperfluid/models/audit_log_freshness.py +17 -0
  346. hyperfluid/models/audit_log_page_audit_entry.py +28 -0
  347. hyperfluid/models/audit_log_page_audit_entry_data_item.py +124 -0
  348. hyperfluid/models/audit_log_page_list_audit_log_item.py +30 -0
  349. hyperfluid/models/audit_log_page_list_audit_log_item_data_item.py +43 -0
  350. hyperfluid/models/authorize_preview_response.py +27 -0
  351. hyperfluid/models/authz_break_glass_used_log.py +21 -0
  352. hyperfluid/models/authz_organization_policy_revoked_log.py +28 -0
  353. hyperfluid/models/auto_suspend_input.py +15 -0
  354. hyperfluid/models/autoscaling_spec.py +52 -0
  355. hyperfluid/models/available_image.py +42 -0
  356. hyperfluid/models/backend_driver.py +15 -0
  357. hyperfluid/models/backup_origin.py +19 -0
  358. hyperfluid/models/backup_policy.py +15 -0
  359. hyperfluid/models/backup_target_crd_spec_response.py +23 -0
  360. hyperfluid/models/backup_target_instance.py +15 -0
  361. hyperfluid/models/backup_target_response.py +49 -0
  362. hyperfluid/models/backup_target_source_request.py +28 -0
  363. hyperfluid/models/backup_target_source_request_external_variant.py +27 -0
  364. hyperfluid/models/backup_target_source_request_internal_variant.py +23 -0
  365. hyperfluid/models/bifrost_event_dto.py +41 -0
  366. hyperfluid/models/bifrost_event_status.py +15 -0
  367. hyperfluid/models/bifrost_events_response.py +27 -0
  368. hyperfluid/models/bifrost_feature_status_response.py +23 -0
  369. hyperfluid/models/bifrost_info_response.py +21 -0
  370. hyperfluid/models/bifrost_overview_response.py +44 -0
  371. hyperfluid/models/bifrost_protocol.py +21 -0
  372. hyperfluid/models/bifrost_timeseries_point_dto.py +17 -0
  373. hyperfluid/models/bifrost_timeseries_response.py +27 -0
  374. hyperfluid/models/bifrost_top_response.py +27 -0
  375. hyperfluid/models/bifrost_top_row_dto.py +20 -0
  376. hyperfluid/models/branch_list.py +17 -0
  377. hyperfluid/models/bucket_archive_operation.py +63 -0
  378. hyperfluid/models/bucket_credentials.py +17 -0
  379. hyperfluid/models/bucket_field.py +28 -0
  380. hyperfluid/models/bucket_object.py +21 -0
  381. hyperfluid/models/bucket_object_listing.py +26 -0
  382. hyperfluid/models/bucket_ref_spec_response.py +25 -0
  383. hyperfluid/models/budget_author.py +15 -0
  384. hyperfluid/models/capacity_usage_item_response.py +33 -0
  385. hyperfluid/models/catalog_exposure_response.py +25 -0
  386. hyperfluid/models/catalog_exposure_table_entry.py +20 -0
  387. hyperfluid/models/catalog_failure_kind.py +23 -0
  388. hyperfluid/models/catalog_introspection_failure.py +25 -0
  389. hyperfluid/models/catalog_item.py +31 -0
  390. hyperfluid/models/catalog_model.py +67 -0
  391. hyperfluid/models/catalog_repository_response.py +25 -0
  392. hyperfluid/models/catalog_response.py +17 -0
  393. hyperfluid/models/ceph_zone_response.py +20 -0
  394. hyperfluid/models/changelog_entry_response.py +32 -0
  395. hyperfluid/models/channel_body.py +28 -0
  396. hyperfluid/models/channel_kind.py +18 -0
  397. hyperfluid/models/chart_encodings.py +25 -0
  398. hyperfluid/models/chart_options.py +39 -0
  399. hyperfluid/models/chart_type.py +25 -0
  400. hyperfluid/models/check_image_source_response.py +15 -0
  401. hyperfluid/models/check_name_availability_response_data.py +13 -0
  402. hyperfluid/models/check_organization_name_availability_response_data.py +13 -0
  403. hyperfluid/models/checkout_request.py +18 -0
  404. hyperfluid/models/classification_config.py +49 -0
  405. hyperfluid/models/classification_stats_response.py +37 -0
  406. hyperfluid/models/cli_version_response.py +13 -0
  407. hyperfluid/models/clone_iceberg_table_request_body.py +19 -0
  408. hyperfluid/models/commit_request.py +13 -0
  409. hyperfluid/models/commit_response.py +13 -0
  410. hyperfluid/models/comparator.py +15 -0
  411. hyperfluid/models/complete_managed_postgresql_import_upload_request_body.py +24 -0
  412. hyperfluid/models/complete_multipart_upload_request.py +24 -0
  413. hyperfluid/models/completed_part_info.py +17 -0
  414. hyperfluid/models/compute_dock_crd_partition.py +27 -0
  415. hyperfluid/models/compute_dock_crd_spec_response.py +41 -0
  416. hyperfluid/models/compute_dock_partition_status.py +27 -0
  417. hyperfluid/models/compute_dock_response.py +47 -0
  418. hyperfluid/models/compute_engine_input.py +15 -0
  419. hyperfluid/models/condition.py +36 -0
  420. hyperfluid/models/condition_principal_attribute_equals_variant.py +21 -0
  421. hyperfluid/models/condition_request_attribute_equals_variant.py +20 -0
  422. hyperfluid/models/condition_view.py +29 -0
  423. hyperfluid/models/configuration_model.py +15 -0
  424. hyperfluid/models/connector_descriptor_response.py +30 -0
  425. hyperfluid/models/console_authz_decision_log.py +52 -0
  426. hyperfluid/models/console_config_feature_flag.py +48 -0
  427. hyperfluid/models/console_session_phase.py +15 -0
  428. hyperfluid/models/container_app_crd_spec_response.py +168 -0
  429. hyperfluid/models/container_app_image_synced_log.py +35 -0
  430. hyperfluid/models/container_app_metrics.py +22 -0
  431. hyperfluid/models/container_app_platform_url_response.py +24 -0
  432. hyperfluid/models/container_app_pod_info.py +60 -0
  433. hyperfluid/models/container_app_port_input.py +31 -0
  434. hyperfluid/models/container_app_port_response.py +29 -0
  435. hyperfluid/models/container_app_response.py +72 -0
  436. hyperfluid/models/container_app_usage_dto.py +44 -0
  437. hyperfluid/models/container_app_volume_usage_dto.py +38 -0
  438. hyperfluid/models/container_app_volumes_response.py +21 -0
  439. hyperfluid/models/container_apps_usage_response.py +26 -0
  440. hyperfluid/models/container_row.py +44 -0
  441. hyperfluid/models/context_provider_response.py +37 -0
  442. hyperfluid/models/contextual_restriction_response.py +36 -0
  443. hyperfluid/models/copilot_generate_request.py +39 -0
  444. hyperfluid/models/copilot_generate_response.py +23 -0
  445. hyperfluid/models/copilot_repair_context.py +20 -0
  446. hyperfluid/models/copilot_turn.py +18 -0
  447. hyperfluid/models/copilot_widget_proposal.py +25 -0
  448. hyperfluid/models/copy_destination_config.py +40 -0
  449. hyperfluid/models/copy_destination_config_data_container_variant.py +21 -0
  450. hyperfluid/models/copy_destination_config_harbor_bucket_variant.py +24 -0
  451. hyperfluid/models/copy_s3_source_config.py +36 -0
  452. hyperfluid/models/copy_s3_source_config_data_container_variant.py +21 -0
  453. hyperfluid/models/copy_s3_source_config_harbor_bucket_variant.py +24 -0
  454. hyperfluid/models/copy_source_config.py +23 -0
  455. hyperfluid/models/count_ref_request.py +29 -0
  456. hyperfluid/models/count_secrets_response.py +13 -0
  457. hyperfluid/models/crd_owner.py +32 -0
  458. hyperfluid/models/crd_owner_gitops_variant.py +23 -0
  459. hyperfluid/models/crd_owner_pipeline_variant.py +18 -0
  460. hyperfluid/models/crd_owner_ui_variant.py +14 -0
  461. hyperfluid/models/crd_owner_unknown_variant.py +15 -0
  462. hyperfluid/models/crd_status_snapshot.py +39 -0
  463. hyperfluid/models/create_action_type_request.py +29 -0
  464. hyperfluid/models/create_ai_agent_request.py +89 -0
  465. hyperfluid/models/create_airflow_connection_request.py +56 -0
  466. hyperfluid/models/create_airflow_crd_request_body.py +60 -0
  467. hyperfluid/models/create_api_key_request.py +24 -0
  468. hyperfluid/models/create_api_key_response.py +27 -0
  469. hyperfluid/models/create_app_instance_crd_request_body.py +26 -0
  470. hyperfluid/models/create_backup_target_crd_request_body.py +36 -0
  471. hyperfluid/models/create_compute_dock_crd_request_body.py +68 -0
  472. hyperfluid/models/create_connector_ingest_request.py +38 -0
  473. hyperfluid/models/create_container_app_crd_request_body.py +128 -0
  474. hyperfluid/models/create_context_enricher_pipeline_request.py +27 -0
  475. hyperfluid/models/create_context_provider_body.py +24 -0
  476. hyperfluid/models/create_contextual_restriction_body.py +24 -0
  477. hyperfluid/models/create_copy_pipeline_request.py +23 -0
  478. hyperfluid/models/create_dashboard_request.py +31 -0
  479. hyperfluid/models/create_data_dock_catalog_request.py +63 -0
  480. hyperfluid/models/create_data_dock_catalog_response.py +19 -0
  481. hyperfluid/models/create_data_dock_request_body.py +24 -0
  482. hyperfluid/models/create_dev_workstation_request.py +116 -0
  483. hyperfluid/models/create_domain_verification_request_body.py +15 -0
  484. hyperfluid/models/create_faker_schema_request.py +15 -0
  485. hyperfluid/models/create_faker_table_request.py +15 -0
  486. hyperfluid/models/create_faker_table_structured_request.py +19 -0
  487. hyperfluid/models/create_file_router_pipeline_request.py +26 -0
  488. hyperfluid/models/create_file_sorter_request.py +32 -0
  489. hyperfluid/models/create_forgejo_runner_request.py +48 -0
  490. hyperfluid/models/create_g_drive_pipeline_request.py +33 -0
  491. hyperfluid/models/create_github_connection_request.py +27 -0
  492. hyperfluid/models/create_github_runner_request.py +63 -0
  493. hyperfluid/models/create_grant_request_body.py +34 -0
  494. hyperfluid/models/create_group_request_body.py +16 -0
  495. hyperfluid/models/create_harbor_crd_request_body.py +15 -0
  496. hyperfluid/models/create_hf_bucket_request.py +30 -0
  497. hyperfluid/models/create_hf_key_value_cache_crd_request_body.py +38 -0
  498. hyperfluid/models/create_iceberg_data_container_request_body.py +21 -0
  499. hyperfluid/models/create_iceberg_table_metadata_request.py +42 -0
  500. hyperfluid/models/create_identity_provider_request.py +31 -0
  501. hyperfluid/models/create_inbound_email_pipeline_request.py +36 -0
  502. hyperfluid/models/create_invitation_request.py +16 -0
  503. hyperfluid/models/create_kafka_hf_service_request.py +33 -0
  504. hyperfluid/models/create_kafka_hf_topic_request.py +20 -0
  505. hyperfluid/models/create_link_type_request.py +28 -0
  506. hyperfluid/models/create_managed_postgresql_backup_crd_request_body.py +17 -0
  507. hyperfluid/models/create_managed_postgresql_crd_request_body.py +62 -0
  508. hyperfluid/models/create_managed_postgresql_import_crd_request_body.py +33 -0
  509. hyperfluid/models/create_managed_postgresql_user_crd_request_body.py +29 -0
  510. hyperfluid/models/create_medallion_schema_request.py +19 -0
  511. hyperfluid/models/create_model_serving_request.py +35 -0
  512. hyperfluid/models/create_nextflow_crd_request_body.py +53 -0
  513. hyperfluid/models/create_object_type_request.py +34 -0
  514. hyperfluid/models/create_open_data_pipeline_request.py +23 -0
  515. hyperfluid/models/create_or_update_egress_allowlist_request.py +24 -0
  516. hyperfluid/models/create_organization_policy_request_body.py +29 -0
  517. hyperfluid/models/create_organization_request_body.py +17 -0
  518. hyperfluid/models/create_page_splitter_pipeline_request.py +22 -0
  519. hyperfluid/models/create_pipeline_request_v2.py +71 -0
  520. hyperfluid/models/create_pipeline_request_v2_context_enricher_variant.py +25 -0
  521. hyperfluid/models/create_pipeline_request_v2_copy_variant.py +21 -0
  522. hyperfluid/models/create_pipeline_request_v2_file_router_variant.py +21 -0
  523. hyperfluid/models/create_pipeline_request_v2_file_sorter_variant.py +21 -0
  524. hyperfluid/models/create_pipeline_request_v2_inbound_email_variant.py +21 -0
  525. hyperfluid/models/create_pipeline_request_v2_open_data_variant.py +21 -0
  526. hyperfluid/models/create_pipeline_request_v2_page_splitter_variant.py +21 -0
  527. hyperfluid/models/create_pipeline_request_v2_share_point_variant.py +21 -0
  528. hyperfluid/models/create_pipeline_request_v2_trino_variant.py +21 -0
  529. hyperfluid/models/create_pipeline_request_v2g_drive_variant.py +21 -0
  530. hyperfluid/models/create_pipeline_request_v2s3_copy_variant.py +21 -0
  531. hyperfluid/models/create_postgresql_data_container_request_body.py +23 -0
  532. hyperfluid/models/create_property_definition_request.py +25 -0
  533. hyperfluid/models/create_ref_request.py +24 -0
  534. hyperfluid/models/create_registry_project_request_body.py +16 -0
  535. hyperfluid/models/create_s3_copy_pipeline_request.py +23 -0
  536. hyperfluid/models/create_saved_query_request.py +36 -0
  537. hyperfluid/models/create_secret_request_body.py +35 -0
  538. hyperfluid/models/create_service_account_crd_request_body.py +38 -0
  539. hyperfluid/models/create_service_link_request_body.py +24 -0
  540. hyperfluid/models/create_session_request.py +20 -0
  541. hyperfluid/models/create_session_response.py +24 -0
  542. hyperfluid/models/create_share_point_pipeline_request.py +41 -0
  543. hyperfluid/models/create_signup_request_body.py +31 -0
  544. hyperfluid/models/create_signup_request_response.py +14 -0
  545. hyperfluid/models/create_skill_registry_request.py +34 -0
  546. hyperfluid/models/create_skill_request.py +21 -0
  547. hyperfluid/models/create_support_message_request.py +14 -0
  548. hyperfluid/models/create_support_ticket_request.py +37 -0
  549. hyperfluid/models/create_table_classification_body.py +25 -0
  550. hyperfluid/models/create_trino_pipeline_request.py +36 -0
  551. hyperfluid/models/create_user.py +22 -0
  552. hyperfluid/models/create_virtual_machine_crd_request_body.py +42 -0
  553. hyperfluid/models/create_virtual_machine_user_crd_request_body.py +24 -0
  554. hyperfluid/models/create_workstation_template_request.py +60 -0
  555. hyperfluid/models/credential_location.py +17 -0
  556. hyperfluid/models/credit_balance.py +24 -0
  557. hyperfluid/models/credit_budgets_response.py +17 -0
  558. hyperfluid/models/credit_ledger_line.py +39 -0
  559. hyperfluid/models/credit_ledger_response.py +19 -0
  560. hyperfluid/models/credit_spend_by_model.py +17 -0
  561. hyperfluid/models/credit_spend_by_model_response.py +17 -0
  562. hyperfluid/models/custom_domain_availability_response.py +39 -0
  563. hyperfluid/models/custom_domain_dns_record.py +20 -0
  564. hyperfluid/models/custom_domain_holder.py +25 -0
  565. hyperfluid/models/custom_domain_input.py +23 -0
  566. hyperfluid/models/custom_domain_response.py +37 -0
  567. hyperfluid/models/custom_domain_target_response.py +17 -0
  568. hyperfluid/models/custom_domain_tls_mode_input.py +15 -0
  569. hyperfluid/models/custom_flavor_bounds_dto.py +23 -0
  570. hyperfluid/models/custom_metric_names_response.py +18 -0
  571. hyperfluid/models/custom_metric_series_dto.py +24 -0
  572. hyperfluid/models/custom_metrics_query_request.py +21 -0
  573. hyperfluid/models/custom_metrics_query_response.py +31 -0
  574. hyperfluid/models/custom_resource_input.py +27 -0
  575. hyperfluid/models/dashboard.py +51 -0
  576. hyperfluid/models/dashboard_status.py +16 -0
  577. hyperfluid/models/dashboard_summary.py +42 -0
  578. hyperfluid/models/dashboard_variable.py +29 -0
  579. hyperfluid/models/dashboard_version_summary.py +23 -0
  580. hyperfluid/models/dashboard_widget.py +52 -0
  581. hyperfluid/models/data_access_baseline.py +17 -0
  582. hyperfluid/models/data_container_overview.py +20 -0
  583. hyperfluid/models/data_dock.py +72 -0
  584. hyperfluid/models/data_dock_catalog_info.py +30 -0
  585. hyperfluid/models/data_dock_catalog_kind.py +36 -0
  586. hyperfluid/models/data_dock_external_response_data.py +40 -0
  587. hyperfluid/models/data_dock_internet_exposure_response.py +33 -0
  588. hyperfluid/models/data_dock_kind.py +18 -0
  589. hyperfluid/models/data_dock_kind_external_response.py +20 -0
  590. hyperfluid/models/data_dock_kind_external_response_trino_internal_variant.py +19 -0
  591. hyperfluid/models/data_dock_kind_request.py +20 -0
  592. hyperfluid/models/data_dock_kind_request_trino_internal_variant.py +19 -0
  593. hyperfluid/models/data_dock_kind_trino_internal_variant.py +19 -0
  594. hyperfluid/models/data_dock_resource_groups_response.py +26 -0
  595. hyperfluid/models/data_dock_search_request.py +43 -0
  596. hyperfluid/models/data_dock_search_response.py +21 -0
  597. hyperfluid/models/data_dock_search_result_item.py +21 -0
  598. hyperfluid/models/data_dock_security_settings_response.py +45 -0
  599. hyperfluid/models/data_dock_status.py +21 -0
  600. hyperfluid/models/data_dock_type.py +16 -0
  601. hyperfluid/models/data_verb.py +32 -0
  602. hyperfluid/models/data_verb_decision.py +22 -0
  603. hyperfluid/models/declared_link.py +26 -0
  604. hyperfluid/models/declared_network.py +29 -0
  605. hyperfluid/models/deduping_strategy.py +21 -0
  606. hyperfluid/models/delete_directory_response.py +14 -0
  607. hyperfluid/models/delete_prefix_result.py +28 -0
  608. hyperfluid/models/delete_preview_downstream.py +23 -0
  609. hyperfluid/models/delete_preview_response.py +42 -0
  610. hyperfluid/models/delete_warning.py +19 -0
  611. hyperfluid/models/destination_config.py +22 -0
  612. hyperfluid/models/detach_image_source_request.py +25 -0
  613. hyperfluid/models/dev_workstation_audit_status.py +30 -0
  614. hyperfluid/models/dev_workstation_egress_flows_response.py +21 -0
  615. hyperfluid/models/dev_workstation_egress_response.py +26 -0
  616. hyperfluid/models/dev_workstation_metrics.py +33 -0
  617. hyperfluid/models/dev_workstation_network_response.py +19 -0
  618. hyperfluid/models/dev_workstation_response.py +58 -0
  619. hyperfluid/models/dev_workstation_setup_report_response.py +36 -0
  620. hyperfluid/models/dev_workstation_status_response.py +23 -0
  621. hyperfluid/models/dev_workstation_transcript_entry.py +25 -0
  622. hyperfluid/models/discard_request.py +14 -0
  623. hyperfluid/models/domain_verification_response.py +61 -0
  624. hyperfluid/models/domain_verification_state_dto.py +15 -0
  625. hyperfluid/models/downgrade_offer.py +17 -0
  626. hyperfluid/models/download_service_account_response.py +50 -0
  627. hyperfluid/models/duplicate_dashboard_request.py +14 -0
  628. hyperfluid/models/dynamic_label.py +23 -0
  629. hyperfluid/models/dynamic_label_placeholder.py +24 -0
  630. hyperfluid/models/effect.py +16 -0
  631. hyperfluid/models/effective_data_access_response.py +28 -0
  632. hyperfluid/models/effective_security_settings_response.py +43 -0
  633. hyperfluid/models/egress_allowlist_response.py +26 -0
  634. hyperfluid/models/egress_destination_kind_dto.py +16 -0
  635. hyperfluid/models/egress_flow_summary_dto.py +32 -0
  636. hyperfluid/models/egress_verdict_dto.py +15 -0
  637. hyperfluid/models/email_auth_policy.py +19 -0
  638. hyperfluid/models/enable_sql_engine_request.py +53 -0
  639. hyperfluid/models/enable_sql_engine_response.py +29 -0
  640. hyperfluid/models/engine.py +16 -0
  641. hyperfluid/models/env_var_input.py +15 -0
  642. hyperfluid/models/env_var_spec_response.py +15 -0
  643. hyperfluid/models/environment_map_node.py +29 -0
  644. hyperfluid/models/environment_map_response.py +21 -0
  645. hyperfluid/models/execute_action_request.py +21 -0
  646. hyperfluid/models/execute_request.py +27 -0
  647. hyperfluid/models/exposed_table_ref.py +15 -0
  648. hyperfluid/models/exposure_mode.py +19 -0
  649. hyperfluid/models/faker_field_type.py +21 -0
  650. hyperfluid/models/faker_schema_overview.py +23 -0
  651. hyperfluid/models/faker_table_field_options.py +13 -0
  652. hyperfluid/models/faker_table_fields.py +23 -0
  653. hyperfluid/models/faker_table_overview.py +31 -0
  654. hyperfluid/models/faker_table_template.py +19 -0
  655. hyperfluid/models/file_content.py +31 -0
  656. hyperfluid/models/file_import_result.py +33 -0
  657. hyperfluid/models/file_mount_input.py +26 -0
  658. hyperfluid/models/file_mount_response.py +24 -0
  659. hyperfluid/models/file_mount_source_input.py +29 -0
  660. hyperfluid/models/file_mount_source_input_inline_variant.py +17 -0
  661. hyperfluid/models/file_mount_source_input_secret_manager_variant.py +17 -0
  662. hyperfluid/models/file_mount_source_response.py +32 -0
  663. hyperfluid/models/file_mount_source_response_inline_variant.py +18 -0
  664. hyperfluid/models/file_mount_source_response_secret_manager_variant.py +17 -0
  665. hyperfluid/models/file_preview.py +25 -0
  666. hyperfluid/models/file_sorter_destination_config.py +18 -0
  667. hyperfluid/models/file_sorter_routing_config.py +17 -0
  668. hyperfluid/models/file_sorter_source_config.py +40 -0
  669. hyperfluid/models/file_sorter_source_config_data_container_variant.py +21 -0
  670. hyperfluid/models/file_sorter_source_config_harbor_bucket_variant.py +24 -0
  671. hyperfluid/models/finding.py +27 -0
  672. hyperfluid/models/fixable_counts.py +17 -0
  673. hyperfluid/models/flow_direction.py +15 -0
  674. hyperfluid/models/flow_verdict.py +15 -0
  675. hyperfluid/models/forgejo_repo_entry.py +24 -0
  676. hyperfluid/models/forgejo_runner_response.py +57 -0
  677. hyperfluid/models/forgejo_runner_status_response.py +39 -0
  678. hyperfluid/models/g_drive_extraction_config.py +30 -0
  679. hyperfluid/models/g_drive_extraction_type.py +15 -0
  680. hyperfluid/models/g_drive_source_config.py +33 -0
  681. hyperfluid/models/gc_status_response.py +26 -0
  682. hyperfluid/models/generate_ontology_request.py +36 -0
  683. hyperfluid/models/get_console_config_response.py +73 -0
  684. hyperfluid/models/get_faker_field_types_response.py +20 -0
  685. hyperfluid/models/get_faker_schema_response.py +17 -0
  686. hyperfluid/models/get_faker_table_response.py +17 -0
  687. hyperfluid/models/get_faker_tables_response.py +17 -0
  688. hyperfluid/models/get_run_response.py +17 -0
  689. hyperfluid/models/git_diff.py +23 -0
  690. hyperfluid/models/git_file_status.py +17 -0
  691. hyperfluid/models/git_image_source.py +54 -0
  692. hyperfluid/models/git_provider.py +16 -0
  693. hyperfluid/models/git_ref.py +27 -0
  694. hyperfluid/models/git_ref_branch_variant.py +16 -0
  695. hyperfluid/models/git_ref_tag_variant.py +16 -0
  696. hyperfluid/models/git_repo_status.py +35 -0
  697. hyperfluid/models/github_connection_credential_dto.py +36 -0
  698. hyperfluid/models/github_connection_credential_dto_github_app_variant.py +31 -0
  699. hyperfluid/models/github_connection_credential_dto_pat_variant.py +19 -0
  700. hyperfluid/models/github_connection_response.py +23 -0
  701. hyperfluid/models/github_connection_target.py +40 -0
  702. hyperfluid/models/github_connection_target_kind.py +15 -0
  703. hyperfluid/models/github_runner_egress_mode_dto.py +16 -0
  704. hyperfluid/models/github_runner_pool_egress_flows_response.py +36 -0
  705. hyperfluid/models/github_runner_response.py +69 -0
  706. hyperfluid/models/github_runner_scope.py +22 -0
  707. hyperfluid/models/github_runner_scope_org_variant.py +18 -0
  708. hyperfluid/models/github_runner_scope_repo_variant.py +21 -0
  709. hyperfluid/models/github_runner_status_response.py +43 -0
  710. hyperfluid/models/gpu_availability_response.py +39 -0
  711. hyperfluid/models/gpu_consumer_view.py +34 -0
  712. hyperfluid/models/gpu_fleet_summary.py +31 -0
  713. hyperfluid/models/gpu_node_view.py +55 -0
  714. hyperfluid/models/gpu_resources_response.py +21 -0
  715. hyperfluid/models/grant.py +47 -0
  716. hyperfluid/models/group.py +28 -0
  717. hyperfluid/models/group_member.py +23 -0
  718. hyperfluid/models/harbor.py +30 -0
  719. hyperfluid/models/harbor_network_isolation_response.py +17 -0
  720. hyperfluid/models/harbor_posture.py +34 -0
  721. hyperfluid/models/harbor_ref.py +19 -0
  722. hyperfluid/models/harbor_storage_binding_view.py +54 -0
  723. hyperfluid/models/health_thresholds.py +23 -0
  724. hyperfluid/models/hf_bucket_detail.py +110 -0
  725. hyperfluid/models/hf_bucket_view.py +70 -0
  726. hyperfluid/models/hf_collumn.py +19 -0
  727. hyperfluid/models/hf_data_type.py +23 -0
  728. hyperfluid/models/hf_key_value_cache_crd_spec_response.py +23 -0
  729. hyperfluid/models/hf_key_value_cache_response.py +47 -0
  730. hyperfluid/models/hf_table.py +26 -0
  731. hyperfluid/models/histogram_bucket_dto.py +20 -0
  732. hyperfluid/models/iceberg_column_definition.py +19 -0
  733. hyperfluid/models/iceberg_connector_data_container.py +20 -0
  734. hyperfluid/models/iceberg_health_report.py +24 -0
  735. hyperfluid/models/iceberg_health_scan.py +35 -0
  736. hyperfluid/models/iceberg_health_summary.py +47 -0
  737. hyperfluid/models/iceberg_optimize_config.py +62 -0
  738. hyperfluid/models/iceberg_optimize_run.py +63 -0
  739. hyperfluid/models/iceberg_optimize_runs_page.py +29 -0
  740. hyperfluid/models/iceberg_optimize_summary.py +51 -0
  741. hyperfluid/models/iceberg_schema_metadata.py +46 -0
  742. hyperfluid/models/iceberg_table_health.py +91 -0
  743. hyperfluid/models/iceberg_table_metadata.py +27 -0
  744. hyperfluid/models/iceberg_table_response_data.py +47 -0
  745. hyperfluid/models/identity_provider.py +30 -0
  746. hyperfluid/models/identity_provider_kind.py +16 -0
  747. hyperfluid/models/image_posture.py +37 -0
  748. hyperfluid/models/image_ref.py +16 -0
  749. hyperfluid/models/image_scan.py +52 -0
  750. hyperfluid/models/image_scan_detail.py +55 -0
  751. hyperfluid/models/image_source.py +18 -0
  752. hyperfluid/models/image_source_error.py +19 -0
  753. hyperfluid/models/image_source_status.py +72 -0
  754. hyperfluid/models/image_source_syncs_page.py +21 -0
  755. hyperfluid/models/imap_transport_config.py +46 -0
  756. hyperfluid/models/import_api_extra_filter.py +17 -0
  757. hyperfluid/models/import_column_type.py +21 -0
  758. hyperfluid/models/import_file_format.py +18 -0
  759. hyperfluid/models/imported_column.py +23 -0
  760. hyperfluid/models/inbound_email_destination_config.py +35 -0
  761. hyperfluid/models/inbound_email_destination_config_data_container_variant.py +21 -0
  762. hyperfluid/models/inbound_email_destination_config_harbor_bucket_variant.py +24 -0
  763. hyperfluid/models/inbound_email_extraction_config.py +23 -0
  764. hyperfluid/models/inbound_email_security_config.py +36 -0
  765. hyperfluid/models/inbound_email_source_config.py +23 -0
  766. hyperfluid/models/inbound_email_source_config_imap_variant.py +21 -0
  767. hyperfluid/models/init_container_input.py +38 -0
  768. hyperfluid/models/init_container_response.py +26 -0
  769. hyperfluid/models/install_media.py +15 -0
  770. hyperfluid/models/instance_page.py +28 -0
  771. hyperfluid/models/instance_usage_dto.py +20 -0
  772. hyperfluid/models/intended_use.py +15 -0
  773. hyperfluid/models/internet_exposure_state.py +29 -0
  774. hyperfluid/models/invitation_identity_provider.py +17 -0
  775. hyperfluid/models/invitation_preview.py +28 -0
  776. hyperfluid/models/issue_s3_key_request.py +22 -0
  777. hyperfluid/models/issue_scoped_s3_key_request.py +31 -0
  778. hyperfluid/models/issued_s3_key.py +28 -0
  779. hyperfluid/models/issued_scoped_s3_key.py +37 -0
  780. hyperfluid/models/kafka_consumer_group.py +19 -0
  781. hyperfluid/models/kafka_hf_service_response.py +63 -0
  782. hyperfluid/models/kafka_hf_topic_response.py +39 -0
  783. hyperfluid/models/kafka_metadata.py +22 -0
  784. hyperfluid/models/kafka_topic_info.py +21 -0
  785. hyperfluid/models/kpi_threshold.py +17 -0
  786. hyperfluid/models/label.py +58 -0
  787. hyperfluid/models/label_type_dynamic_variant.py +21 -0
  788. hyperfluid/models/label_type_static_variant.py +14 -0
  789. hyperfluid/models/launch_nextflow_run_request_body.py +40 -0
  790. hyperfluid/models/link_forgejo_credential_request.py +16 -0
  791. hyperfluid/models/link_forgejo_credential_response.py +20 -0
  792. hyperfluid/models/link_type.py +40 -0
  793. hyperfluid/models/list_audit_log_item.py +43 -0
  794. hyperfluid/models/list_changelogs_response.py +18 -0
  795. hyperfluid/models/list_connectors_response.py +17 -0
  796. hyperfluid/models/list_context_providers_response.py +17 -0
  797. hyperfluid/models/list_contextual_restrictions_response.py +17 -0
  798. hyperfluid/models/list_quota_profiles_response.py +17 -0
  799. hyperfluid/models/list_runs_response.py +17 -0
  800. hyperfluid/models/list_secrets_response.py +26 -0
  801. hyperfluid/models/list_security_decisions_response.py +17 -0
  802. hyperfluid/models/list_service_accounts_response_data.py +17 -0
  803. hyperfluid/models/list_table_classifications_response.py +17 -0
  804. hyperfluid/models/list_user_attributes_response.py +14 -0
  805. hyperfluid/models/live_audit_log.py +24 -0
  806. hyperfluid/models/log_entry_dto.py +25 -0
  807. hyperfluid/models/log_level.py +23 -0
  808. hyperfluid/models/log_source_dto.py +19 -0
  809. hyperfluid/models/log_stream.py +16 -0
  810. hyperfluid/models/managed_mail_config_response.py +22 -0
  811. hyperfluid/models/managed_postgresql_backup_crd_response.py +31 -0
  812. hyperfluid/models/managed_postgresql_backup_response.py +59 -0
  813. hyperfluid/models/managed_postgresql_backups_page.py +23 -0
  814. hyperfluid/models/managed_postgresql_crd_spec_response.py +41 -0
  815. hyperfluid/models/managed_postgresql_import_compression.py +15 -0
  816. hyperfluid/models/managed_postgresql_import_condition.py +19 -0
  817. hyperfluid/models/managed_postgresql_import_crd_response.py +50 -0
  818. hyperfluid/models/managed_postgresql_import_created_log.py +43 -0
  819. hyperfluid/models/managed_postgresql_import_format.py +17 -0
  820. hyperfluid/models/managed_postgresql_import_phase.py +22 -0
  821. hyperfluid/models/managed_postgresql_import_response.py +73 -0
  822. hyperfluid/models/managed_postgresql_import_upload.py +28 -0
  823. hyperfluid/models/managed_postgresql_import_upload_multipart_variant.py +24 -0
  824. hyperfluid/models/managed_postgresql_import_upload_simple_variant.py +16 -0
  825. hyperfluid/models/managed_postgresql_imports_page.py +23 -0
  826. hyperfluid/models/managed_postgresql_response.py +95 -0
  827. hyperfluid/models/managed_postgresql_user_crd_spec_response.py +17 -0
  828. hyperfluid/models/managed_postgresql_user_response.py +40 -0
  829. hyperfluid/models/map_badge.py +38 -0
  830. hyperfluid/models/matching_tag.py +15 -0
  831. hyperfluid/models/medallion_tier.py +16 -0
  832. hyperfluid/models/message_attachment.py +25 -0
  833. hyperfluid/models/message_author_kind.py +19 -0
  834. hyperfluid/models/message_part.py +36 -0
  835. hyperfluid/models/message_part_file_variant.py +35 -0
  836. hyperfluid/models/message_part_patch_variant.py +19 -0
  837. hyperfluid/models/message_part_reasoning_variant.py +19 -0
  838. hyperfluid/models/message_part_text_variant.py +20 -0
  839. hyperfluid/models/message_part_tool_variant.py +38 -0
  840. hyperfluid/models/message_role.py +17 -0
  841. hyperfluid/models/metadata_storage_config.py +21 -0
  842. hyperfluid/models/metric_panel_dto.py +27 -0
  843. hyperfluid/models/metric_point_dto.py +15 -0
  844. hyperfluid/models/metric_series_dto.py +19 -0
  845. hyperfluid/models/metrics_range.py +23 -0
  846. hyperfluid/models/model_catalog_response.py +21 -0
  847. hyperfluid/models/model_config.py +31 -0
  848. hyperfluid/models/model_option.py +50 -0
  849. hyperfluid/models/model_protocol.py +30 -0
  850. hyperfluid/models/model_resources.py +20 -0
  851. hyperfluid/models/model_runtime.py +16 -0
  852. hyperfluid/models/model_serving_phase.py +21 -0
  853. hyperfluid/models/model_serving_response.py +60 -0
  854. hyperfluid/models/model_type.py +16 -0
  855. hyperfluid/models/model_usage.py +19 -0
  856. hyperfluid/models/model_usage_time_point.py +24 -0
  857. hyperfluid/models/multipart_part_url.py +15 -0
  858. hyperfluid/models/network_isolation_view.py +17 -0
  859. hyperfluid/models/nextflow_crd_response.py +40 -0
  860. hyperfluid/models/nextflow_crd_status_response.py +33 -0
  861. hyperfluid/models/nextflow_defaults_response.py +50 -0
  862. hyperfluid/models/nextflow_egress_request.py +20 -0
  863. hyperfluid/models/nextflow_head_request.py +15 -0
  864. hyperfluid/models/nextflow_pod_role.py +20 -0
  865. hyperfluid/models/nextflow_response.py +54 -0
  866. hyperfluid/models/nextflow_run_counts_response.py +17 -0
  867. hyperfluid/models/nextflow_run_detail_response.py +67 -0
  868. hyperfluid/models/nextflow_run_response.py +49 -0
  869. hyperfluid/models/nextflow_run_task_response.py +43 -0
  870. hyperfluid/models/nextflow_scm_platform.py +20 -0
  871. hyperfluid/models/nextflow_scm_request.py +26 -0
  872. hyperfluid/models/nextflow_storage_request.py +20 -0
  873. hyperfluid/models/nextflow_task_quota_request.py +18 -0
  874. hyperfluid/models/node_tier.py +22 -0
  875. hyperfluid/models/normalized_message.py +55 -0
  876. hyperfluid/models/notification_channel_dto.py +36 -0
  877. hyperfluid/models/object_delete_failure.py +18 -0
  878. hyperfluid/models/object_instance.py +24 -0
  879. hyperfluid/models/object_storage_owner_key_revealed_log.py +28 -0
  880. hyperfluid/models/object_storage_usage_collected_log.py +34 -0
  881. hyperfluid/models/object_type.py +51 -0
  882. hyperfluid/models/object_type_with_properties.py +21 -0
  883. hyperfluid/models/observed_flow.py +30 -0
  884. hyperfluid/models/observed_flows.py +25 -0
  885. hyperfluid/models/oci_registry_auth.py +17 -0
  886. hyperfluid/models/oci_registry_config_value.py +17 -0
  887. hyperfluid/models/ocr_provider_config.py +22 -0
  888. hyperfluid/models/ocr_provider_config_local_variant.py +29 -0
  889. hyperfluid/models/ocr_provider_config_mistral_variant.py +14 -0
  890. hyperfluid/models/ontology_proposal.py +24 -0
  891. hyperfluid/models/opa_decision_log.py +50 -0
  892. hyperfluid/models/open_data_catalog_response.py +17 -0
  893. hyperfluid/models/open_data_column_response.py +17 -0
  894. hyperfluid/models/open_data_dataset_response.py +35 -0
  895. hyperfluid/models/open_data_source_config.py +14 -0
  896. hyperfluid/models/org.py +36 -0
  897. hyperfluid/models/org_feature.py +49 -0
  898. hyperfluid/models/org_feature_state.py +19 -0
  899. hyperfluid/models/org_features_response.py +17 -0
  900. hyperfluid/models/org_posture.py +40 -0
  901. hyperfluid/models/org_ref.py +16 -0
  902. hyperfluid/models/org_rescan_request_body.py +29 -0
  903. hyperfluid/models/org_security_policies_response.py +17 -0
  904. hyperfluid/models/org_security_policy_state.py +20 -0
  905. hyperfluid/models/org_security_settings_response.py +27 -0
  906. hyperfluid/models/org_storage_view.py +52 -0
  907. hyperfluid/models/org_user_attributes_response.py +18 -0
  908. hyperfluid/models/org_workload_scan_settings_response.py +17 -0
  909. hyperfluid/models/organization_invitation.py +37 -0
  910. hyperfluid/models/organization_overview_response.py +48 -0
  911. hyperfluid/models/organization_policy.py +42 -0
  912. hyperfluid/models/organization_quota_response.py +23 -0
  913. hyperfluid/models/organization_workload_view.py +40 -0
  914. hyperfluid/models/panel_kind.py +15 -0
  915. hyperfluid/models/partition_input.py +35 -0
  916. hyperfluid/models/patch_airflow_connection_request.py +36 -0
  917. hyperfluid/models/patch_airflow_crd_request_body.py +44 -0
  918. hyperfluid/models/patch_app_instance_request_body.py +18 -0
  919. hyperfluid/models/patch_backup_target_crd_request_body.py +26 -0
  920. hyperfluid/models/patch_compute_dock_crd_request_body.py +43 -0
  921. hyperfluid/models/patch_compute_dock_crd_response.py +21 -0
  922. hyperfluid/models/patch_container_app_crd_request_body.py +153 -0
  923. hyperfluid/models/patch_container_app_request_body.py +25 -0
  924. hyperfluid/models/patch_harbor_storage_binding_request.py +15 -0
  925. hyperfluid/models/patch_hf_bucket_request.py +23 -0
  926. hyperfluid/models/patch_hf_key_value_cache_crd_request_body.py +32 -0
  927. hyperfluid/models/patch_managed_postgresql_crd_request_body.py +44 -0
  928. hyperfluid/models/patch_managed_postgresql_user_crd_request_body.py +23 -0
  929. hyperfluid/models/patch_model_serving_request.py +22 -0
  930. hyperfluid/models/patch_nextflow_crd_request_body.py +73 -0
  931. hyperfluid/models/patch_org_storage_request.py +24 -0
  932. hyperfluid/models/patch_virtual_machine_crd_request_body.py +24 -0
  933. hyperfluid/models/pending_permission.py +32 -0
  934. hyperfluid/models/pending_question.py +36 -0
  935. hyperfluid/models/permission_action.py +18 -0
  936. hyperfluid/models/permission_catalog_entry.py +23 -0
  937. hyperfluid/models/permission_key.py +398 -0
  938. hyperfluid/models/permission_level.py +15 -0
  939. hyperfluid/models/permission_policy_view.py +27 -0
  940. hyperfluid/models/permission_reply.py +19 -0
  941. hyperfluid/models/permission_reply_request.py +20 -0
  942. hyperfluid/models/persistence_access.py +16 -0
  943. hyperfluid/models/persistence_input.py +36 -0
  944. hyperfluid/models/persistence_response.py +25 -0
  945. hyperfluid/models/pipeline_detail_field.py +26 -0
  946. hyperfluid/models/pipeline_detail_group.py +34 -0
  947. hyperfluid/models/pipeline_detail_response.py +42 -0
  948. hyperfluid/models/pipeline_field_reference.py +44 -0
  949. hyperfluid/models/pipeline_field_reference_bucket_variant.py +16 -0
  950. hyperfluid/models/pipeline_field_reference_credential_variant.py +28 -0
  951. hyperfluid/models/pipeline_field_reference_shared_model_variant.py +16 -0
  952. hyperfluid/models/pipeline_field_reference_table_variant.py +21 -0
  953. hyperfluid/models/pipeline_metadata.py +49 -0
  954. hyperfluid/models/pipeline_response_data.py +36 -0
  955. hyperfluid/models/pipeline_run.py +62 -0
  956. hyperfluid/models/pipeline_run_status.py +19 -0
  957. hyperfluid/models/pipeline_stats.py +21 -0
  958. hyperfluid/models/pipeline_status_filter.py +17 -0
  959. hyperfluid/models/pipeline_type.py +40 -0
  960. hyperfluid/models/pipeline_type_count.py +17 -0
  961. hyperfluid/models/pipelines_page.py +30 -0
  962. hyperfluid/models/pipelines_stats.py +36 -0
  963. hyperfluid/models/pitr_request.py +38 -0
  964. hyperfluid/models/platform.py +17 -0
  965. hyperfluid/models/platform_admin_action_log.py +23 -0
  966. hyperfluid/models/policy_preset.py +23 -0
  967. hyperfluid/models/port_protocol.py +16 -0
  968. hyperfluid/models/post_message_request.py +32 -0
  969. hyperfluid/models/postgresql_connector_detail.py +33 -0
  970. hyperfluid/models/pr_checks.py +17 -0
  971. hyperfluid/models/pr_request.py +15 -0
  972. hyperfluid/models/pr_response.py +27 -0
  973. hyperfluid/models/pr_summary.py +35 -0
  974. hyperfluid/models/prepare_archive_import_request.py +23 -0
  975. hyperfluid/models/prepare_archive_import_response.py +26 -0
  976. hyperfluid/models/prepare_archive_import_response_multipart_variant.py +29 -0
  977. hyperfluid/models/prepare_archive_import_response_simple_variant.py +18 -0
  978. hyperfluid/models/prepare_managed_postgresql_import_upload_request_body.py +22 -0
  979. hyperfluid/models/prepare_managed_postgresql_import_upload_response.py +29 -0
  980. hyperfluid/models/preview_image_source_request.py +21 -0
  981. hyperfluid/models/preview_image_source_response.py +36 -0
  982. hyperfluid/models/preview_port.py +23 -0
  983. hyperfluid/models/preview_ports_response.py +22 -0
  984. hyperfluid/models/preview_posture.py +21 -0
  985. hyperfluid/models/principal_usage.py +29 -0
  986. hyperfluid/models/principal_usage_time_point.py +30 -0
  987. hyperfluid/models/property_definition.py +39 -0
  988. hyperfluid/models/proposed_link_type.py +32 -0
  989. hyperfluid/models/proposed_object_type.py +30 -0
  990. hyperfluid/models/proposed_property.py +28 -0
  991. hyperfluid/models/public_signup_page_copy.py +23 -0
  992. hyperfluid/models/query_history_entry.py +91 -0
  993. hyperfluid/models/query_history_page.py +24 -0
  994. hyperfluid/models/query_result.py +30 -0
  995. hyperfluid/models/query_result_column.py +15 -0
  996. hyperfluid/models/query_run.py +30 -0
  997. hyperfluid/models/query_run_error.py +16 -0
  998. hyperfluid/models/query_run_status.py +16 -0
  999. hyperfluid/models/question_info.py +31 -0
  1000. hyperfluid/models/question_option.py +17 -0
  1001. hyperfluid/models/question_reply_request.py +16 -0
  1002. hyperfluid/models/quota_capacity_dimension.py +24 -0
  1003. hyperfluid/models/quota_profile_response.py +61 -0
  1004. hyperfluid/models/quota_resource_type.py +34 -0
  1005. hyperfluid/models/quota_status.py +16 -0
  1006. hyperfluid/models/quota_usage_item_response.py +27 -0
  1007. hyperfluid/models/ref.py +49 -0
  1008. hyperfluid/models/ref_status.py +17 -0
  1009. hyperfluid/models/refresh_credentials_summary.py +23 -0
  1010. hyperfluid/models/refresh_data_docks_response.py +17 -0
  1011. hyperfluid/models/refusal_reason.py +32 -0
  1012. hyperfluid/models/register_invitation_request.py +17 -0
  1013. hyperfluid/models/registry_project_response.py +25 -0
  1014. hyperfluid/models/registry_project_usage_response.py +25 -0
  1015. hyperfluid/models/registry_response.py +51 -0
  1016. hyperfluid/models/registry_usage_response.py +47 -0
  1017. hyperfluid/models/rename_terminal_request.py +15 -0
  1018. hyperfluid/models/requested_size.py +17 -0
  1019. hyperfluid/models/requester_kind.py +21 -0
  1020. hyperfluid/models/rescan_response.py +13 -0
  1021. hyperfluid/models/rescan_scope.py +17 -0
  1022. hyperfluid/models/resolve_failure_reason.py +34 -0
  1023. hyperfluid/models/resolved_grant.py +32 -0
  1024. hyperfluid/models/resolved_image.py +25 -0
  1025. hyperfluid/models/resource_denial_count.py +15 -0
  1026. hyperfluid/models/resource_family.py +18 -0
  1027. hyperfluid/models/resource_kind.py +42 -0
  1028. hyperfluid/models/resource_logs_response.py +49 -0
  1029. hyperfluid/models/resource_metrics_response.py +29 -0
  1030. hyperfluid/models/resource_mode.py +32 -0
  1031. hyperfluid/models/resource_origin.py +19 -0
  1032. hyperfluid/models/resource_overview_response.py +24 -0
  1033. hyperfluid/models/resource_requirements_spec.py +24 -0
  1034. hyperfluid/models/resource_source.py +19 -0
  1035. hyperfluid/models/resource_spec.py +17 -0
  1036. hyperfluid/models/resource_tier.py +46 -0
  1037. hyperfluid/models/resource_tier_catalog_entry.py +38 -0
  1038. hyperfluid/models/resource_tier_catalog_response.py +17 -0
  1039. hyperfluid/models/restart_row.py +40 -0
  1040. hyperfluid/models/restore_from_backup.py +43 -0
  1041. hyperfluid/models/restriction_evaluation_result.py +25 -0
  1042. hyperfluid/models/results_page.py +18 -0
  1043. hyperfluid/models/revoked_s3_key.py +24 -0
  1044. hyperfluid/models/rightsizing_direction.py +16 -0
  1045. hyperfluid/models/rightsizing_suggestion_response.py +51 -0
  1046. hyperfluid/models/role.py +29 -0
  1047. hyperfluid/models/runner_flavor_catalog_entry.py +20 -0
  1048. hyperfluid/models/runner_flavor_catalog_response.py +23 -0
  1049. hyperfluid/models/runner_flavor_dto.py +48 -0
  1050. hyperfluid/models/runner_flavor_dto_c2_variant.py +14 -0
  1051. hyperfluid/models/runner_flavor_dto_c3_variant.py +14 -0
  1052. hyperfluid/models/runner_flavor_dto_c4_variant.py +14 -0
  1053. hyperfluid/models/runner_flavor_dto_c8_variant.py +14 -0
  1054. hyperfluid/models/runner_flavor_dto_custom_variant.py +27 -0
  1055. hyperfluid/models/runner_flavor_dto_l_variant.py +14 -0
  1056. hyperfluid/models/runner_flavor_dto_m_variant.py +14 -0
  1057. hyperfluid/models/runner_flavor_dto_s_variant.py +14 -0
  1058. hyperfluid/models/runner_flavor_dto_xl_variant.py +14 -0
  1059. hyperfluid/models/runner_flavor_name.py +23 -0
  1060. hyperfluid/models/runner_resources_dto.py +23 -0
  1061. hyperfluid/models/runtime_alert_priority.py +31 -0
  1062. hyperfluid/models/runtime_security_alert_log.py +64 -0
  1063. hyperfluid/models/s3_gateway_decision_log.py +53 -0
  1064. hyperfluid/models/s3_gateway_gate_denied_log.py +40 -0
  1065. hyperfluid/models/s3_gateway_session_issued_log.py +32 -0
  1066. hyperfluid/models/s3_key_list_entry.py +61 -0
  1067. hyperfluid/models/s3_session_credentials.py +30 -0
  1068. hyperfluid/models/saved_queries_page.py +30 -0
  1069. hyperfluid/models/saved_query.py +41 -0
  1070. hyperfluid/models/saved_query_sort.py +22 -0
  1071. hyperfluid/models/scan_pipeline_health.py +41 -0
  1072. hyperfluid/models/scan_state.py +22 -0
  1073. hyperfluid/models/scan_status.py +18 -0
  1074. hyperfluid/models/scan_summary.py +28 -0
  1075. hyperfluid/models/scan_trigger.py +18 -0
  1076. hyperfluid/models/schedule_state.py +87 -0
  1077. hyperfluid/models/scheduled_run_status.py +20 -0
  1078. hyperfluid/models/scm_branch.py +15 -0
  1079. hyperfluid/models/scm_repository.py +39 -0
  1080. hyperfluid/models/scoped_bucket_request.py +17 -0
  1081. hyperfluid/models/search_mode.py +27 -0
  1082. hyperfluid/models/secret_manager_ref.py +20 -0
  1083. hyperfluid/models/secret_manager_type.py +14 -0
  1084. hyperfluid/models/secret_metadata_response.py +42 -0
  1085. hyperfluid/models/secret_ref.py +23 -0
  1086. hyperfluid/models/secret_ref_input.py +15 -0
  1087. hyperfluid/models/secret_ref_spec_response.py +15 -0
  1088. hyperfluid/models/secret_scope.py +15 -0
  1089. hyperfluid/models/secret_type.py +19 -0
  1090. hyperfluid/models/secret_value.py +27 -0
  1091. hyperfluid/models/secret_value_json_variant.py +16 -0
  1092. hyperfluid/models/secret_value_oci_registry_config_variant.py +19 -0
  1093. hyperfluid/models/secret_value_plaintext_variant.py +16 -0
  1094. hyperfluid/models/secret_value_response.py +19 -0
  1095. hyperfluid/models/security_decision.py +15 -0
  1096. hyperfluid/models/security_decision_log.py +60 -0
  1097. hyperfluid/models/security_decision_log_response.py +41 -0
  1098. hyperfluid/models/security_policy.py +20 -0
  1099. hyperfluid/models/security_policy_value.py +30 -0
  1100. hyperfluid/models/security_policy_value_bool_variant.py +16 -0
  1101. hyperfluid/models/security_policy_value_choice_variant.py +16 -0
  1102. hyperfluid/models/security_policy_value_string_list_variant.py +16 -0
  1103. hyperfluid/models/security_resource_type.py +19 -0
  1104. hyperfluid/models/security_summary_response.py +26 -0
  1105. hyperfluid/models/sender_pattern.py +14 -0
  1106. hyperfluid/models/sensitivity_level.py +19 -0
  1107. hyperfluid/models/service_account.py +58 -0
  1108. hyperfluid/models/service_account_attributes_response.py +13 -0
  1109. hyperfluid/models/service_account_crd_config.py +37 -0
  1110. hyperfluid/models/service_link_kind.py +35 -0
  1111. hyperfluid/models/service_link_port.py +16 -0
  1112. hyperfluid/models/service_link_response.py +34 -0
  1113. hyperfluid/models/service_ref.py +20 -0
  1114. hyperfluid/models/session_summary.py +36 -0
  1115. hyperfluid/models/session_workspace.py +19 -0
  1116. hyperfluid/models/session_workspace_request.py +25 -0
  1117. hyperfluid/models/set_api_key_rate_limits_request.py +18 -0
  1118. hyperfluid/models/set_bindings_body.py +15 -0
  1119. hyperfluid/models/set_key_budget_body.py +27 -0
  1120. hyperfluid/models/set_org_settings_body.py +13 -0
  1121. hyperfluid/models/set_organization_logs_retention_request_body.py +15 -0
  1122. hyperfluid/models/set_role_permissions_request_body.py +17 -0
  1123. hyperfluid/models/set_service_account_attributes_request.py +15 -0
  1124. hyperfluid/models/set_thresholds_body.py +15 -0
  1125. hyperfluid/models/set_user_attributes_request.py +20 -0
  1126. hyperfluid/models/setup_outcome.py +19 -0
  1127. hyperfluid/models/sha256_hash_deduping_strategy.py +17 -0
  1128. hyperfluid/models/share_point_source_config.py +58 -0
  1129. hyperfluid/models/shared_model_response.py +99 -0
  1130. hyperfluid/models/sheet_preview.py +39 -0
  1131. hyperfluid/models/sign_compute_dock_ssh_key_request.py +15 -0
  1132. hyperfluid/models/sign_compute_dock_ssh_key_response.py +22 -0
  1133. hyperfluid/models/signal_bindings_dto.py +16 -0
  1134. hyperfluid/models/signal_thresholds_dto.py +25 -0
  1135. hyperfluid/models/skill_registry_catalog_entry.py +42 -0
  1136. hyperfluid/models/skill_registry_ref_dto.py +23 -0
  1137. hyperfluid/models/skill_registry_response.py +54 -0
  1138. hyperfluid/models/skill_registry_scope_dto.py +17 -0
  1139. hyperfluid/models/skill_response.py +31 -0
  1140. hyperfluid/models/skipped_preview_port.py +19 -0
  1141. hyperfluid/models/sort_dir.py +15 -0
  1142. hyperfluid/models/source_sync_event.py +47 -0
  1143. hyperfluid/models/source_sync_kind.py +32 -0
  1144. hyperfluid/models/spend_budget.py +35 -0
  1145. hyperfluid/models/spend_window.py +24 -0
  1146. hyperfluid/models/sql_copilot_repair_context.py +20 -0
  1147. hyperfluid/models/sql_copilot_request.py +29 -0
  1148. hyperfluid/models/sql_copilot_response.py +29 -0
  1149. hyperfluid/models/start_health_scan_response.py +17 -0
  1150. hyperfluid/models/storage_zone_view.py +70 -0
  1151. hyperfluid/models/support_ticket_event_response.py +38 -0
  1152. hyperfluid/models/support_ticket_message_response.py +34 -0
  1153. hyperfluid/models/support_ticket_response.py +57 -0
  1154. hyperfluid/models/sync_image_source_request.py +15 -0
  1155. hyperfluid/models/sync_image_source_response.py +21 -0
  1156. hyperfluid/models/sync_policy.py +16 -0
  1157. hyperfluid/models/table_classification_response.py +43 -0
  1158. hyperfluid/models/table_column_response.py +15 -0
  1159. hyperfluid/models/table_data_product_response.py +42 -0
  1160. hyperfluid/models/table_health_finding.py +32 -0
  1161. hyperfluid/models/table_health_finding_kind.py +18 -0
  1162. hyperfluid/models/table_health_severity.py +24 -0
  1163. hyperfluid/models/tag_report.py +28 -0
  1164. hyperfluid/models/tag_response.py +52 -0
  1165. hyperfluid/models/tags_response.py +20 -0
  1166. hyperfluid/models/template_faker_field.py +19 -0
  1167. hyperfluid/models/test_git_credential_request.py +24 -0
  1168. hyperfluid/models/test_git_credential_response.py +25 -0
  1169. hyperfluid/models/test_image_pull_failure.py +32 -0
  1170. hyperfluid/models/test_image_pull_failure_reason.py +20 -0
  1171. hyperfluid/models/test_image_pull_request_body.py +20 -0
  1172. hyperfluid/models/test_image_pull_response.py +31 -0
  1173. hyperfluid/models/test_imap_connection_request.py +45 -0
  1174. hyperfluid/models/test_imap_connection_response.py +15 -0
  1175. hyperfluid/models/test_oci_login_failure.py +23 -0
  1176. hyperfluid/models/test_oci_login_failure_reason.py +16 -0
  1177. hyperfluid/models/test_oci_login_request_body.py +18 -0
  1178. hyperfluid/models/test_oci_login_response.py +24 -0
  1179. hyperfluid/models/test_oci_login_verdict.py +17 -0
  1180. hyperfluid/models/ticket_category.py +22 -0
  1181. hyperfluid/models/ticket_priority.py +18 -0
  1182. hyperfluid/models/ticket_status.py +25 -0
  1183. hyperfluid/models/timeseries_metric.py +16 -0
  1184. hyperfluid/models/tiny_query_limits_response.py +17 -0
  1185. hyperfluid/models/tool_permission.py +20 -0
  1186. hyperfluid/models/top_dimension.py +25 -0
  1187. hyperfluid/models/transfer_dashboard_request.py +15 -0
  1188. hyperfluid/models/trino_catalog.py +19 -0
  1189. hyperfluid/models/trino_connector_descriptor_response.py +47 -0
  1190. hyperfluid/models/trino_internal_config.py +37 -0
  1191. hyperfluid/models/trino_internal_config_response.py +37 -0
  1192. hyperfluid/models/trino_metadata.py +28 -0
  1193. hyperfluid/models/trino_query_completed_log.py +85 -0
  1194. hyperfluid/models/trino_resource_group.py +41 -0
  1195. hyperfluid/models/trino_resource_group_selector.py +38 -0
  1196. hyperfluid/models/trino_resource_groups.py +24 -0
  1197. hyperfluid/models/trino_schema.py +19 -0
  1198. hyperfluid/models/unified_catalog_response.py +35 -0
  1199. hyperfluid/models/unit.py +32 -0
  1200. hyperfluid/models/update_action_type_request.py +30 -0
  1201. hyperfluid/models/update_ai_agent_request.py +59 -0
  1202. hyperfluid/models/update_catalog_exposure_request_body.py +22 -0
  1203. hyperfluid/models/update_context_provider_body.py +20 -0
  1204. hyperfluid/models/update_contextual_restriction_body.py +24 -0
  1205. hyperfluid/models/update_dashboard_request.py +40 -0
  1206. hyperfluid/models/update_data_dock_internet_exposure_request_body.py +19 -0
  1207. hyperfluid/models/update_data_dock_request.py +21 -0
  1208. hyperfluid/models/update_data_dock_request_kind.py +20 -0
  1209. hyperfluid/models/update_data_dock_request_kind_trino_internal_variant.py +19 -0
  1210. hyperfluid/models/update_data_dock_resource_groups_request_body.py +17 -0
  1211. hyperfluid/models/update_data_dock_security_settings_body.py +38 -0
  1212. hyperfluid/models/update_dev_workstation_network_request.py +25 -0
  1213. hyperfluid/models/update_dev_workstation_request.py +27 -0
  1214. hyperfluid/models/update_faker_table_request.py +17 -0
  1215. hyperfluid/models/update_forgejo_runner_request.py +36 -0
  1216. hyperfluid/models/update_g_drive_pipeline_request.py +33 -0
  1217. hyperfluid/models/update_g_drive_source_config.py +32 -0
  1218. hyperfluid/models/update_github_connection_request.py +32 -0
  1219. hyperfluid/models/update_github_runner_request.py +76 -0
  1220. hyperfluid/models/update_group_request_body.py +15 -0
  1221. hyperfluid/models/update_identity_provider_request.py +23 -0
  1222. hyperfluid/models/update_kafka_hf_service_request.py +31 -0
  1223. hyperfluid/models/update_kafka_hf_topic_request.py +22 -0
  1224. hyperfluid/models/update_link_type_request.py +27 -0
  1225. hyperfluid/models/update_object_type_request.py +38 -0
  1226. hyperfluid/models/update_org_security_settings_body.py +19 -0
  1227. hyperfluid/models/update_permission_policy_request.py +23 -0
  1228. hyperfluid/models/update_pipeline_config_request.py +37 -0
  1229. hyperfluid/models/update_pipeline_config_request_g_drive_variant.py +22 -0
  1230. hyperfluid/models/update_pipeline_config_request_share_point_variant.py +22 -0
  1231. hyperfluid/models/update_pipeline_request.py +24 -0
  1232. hyperfluid/models/update_property_definition_request.py +26 -0
  1233. hyperfluid/models/update_ref_request.py +40 -0
  1234. hyperfluid/models/update_saved_query_request.py +47 -0
  1235. hyperfluid/models/update_secret_request_body.py +19 -0
  1236. hyperfluid/models/update_service_account_crd_request_body.py +24 -0
  1237. hyperfluid/models/update_share_point_pipeline_request.py +49 -0
  1238. hyperfluid/models/update_share_point_source_config.py +39 -0
  1239. hyperfluid/models/update_skill_registry_request.py +23 -0
  1240. hyperfluid/models/update_skill_request.py +20 -0
  1241. hyperfluid/models/update_table_classification_body.py +19 -0
  1242. hyperfluid/models/update_ticket_status_request.py +19 -0
  1243. hyperfluid/models/update_workstation_skill_registries_request.py +20 -0
  1244. hyperfluid/models/update_workstation_template_request.py +41 -0
  1245. hyperfluid/models/upload_managed_postgresql_import_response.py +25 -0
  1246. hyperfluid/models/upsert_optimize_config_request.py +40 -0
  1247. hyperfluid/models/usage_source.py +20 -0
  1248. hyperfluid/models/usage_summary.py +19 -0
  1249. hyperfluid/models/user.py +23 -0
  1250. hyperfluid/models/user_attributes_entry.py +18 -0
  1251. hyperfluid/models/user_context_response.py +19 -0
  1252. hyperfluid/models/user_denial_count.py +15 -0
  1253. hyperfluid/models/user_with_roles.py +22 -0
  1254. hyperfluid/models/value.py +6 -0
  1255. hyperfluid/models/value_format.py +17 -0
  1256. hyperfluid/models/verify_signup_request_body.py +13 -0
  1257. hyperfluid/models/version_entry.py +21 -0
  1258. hyperfluid/models/versions_response.py +17 -0
  1259. hyperfluid/models/vetted_base_response.py +14 -0
  1260. hyperfluid/models/virtual_machine_console_session_log.py +40 -0
  1261. hyperfluid/models/virtual_machine_image_catalog.py +18 -0
  1262. hyperfluid/models/virtual_machine_image_catalog_image.py +23 -0
  1263. hyperfluid/models/virtual_machine_image_catalog_source.py +23 -0
  1264. hyperfluid/models/virtual_machine_response.py +68 -0
  1265. hyperfluid/models/virtual_machine_user_response.py +40 -0
  1266. hyperfluid/models/virtual_machine_users_page.py +25 -0
  1267. hyperfluid/models/virtual_machines_page.py +25 -0
  1268. hyperfluid/models/vm_image_kind.py +15 -0
  1269. hyperfluid/models/vulnerability_counts.py +22 -0
  1270. hyperfluid/models/warning_severity.py +18 -0
  1271. hyperfluid/models/widget_chart.py +23 -0
  1272. hyperfluid/models/widget_health.py +21 -0
  1273. hyperfluid/models/widget_layout.py +19 -0
  1274. hyperfluid/models/worker_auto_scaling.py +21 -0
  1275. hyperfluid/models/worker_auto_scaling_response.py +21 -0
  1276. hyperfluid/models/workload_detail.py +29 -0
  1277. hyperfluid/models/workload_kind.py +57 -0
  1278. hyperfluid/models/workload_ref.py +29 -0
  1279. hyperfluid/models/workload_row.py +65 -0
  1280. hyperfluid/models/workload_scan_trigger.py +24 -0
  1281. hyperfluid/models/workspace_mode.py +19 -0
  1282. hyperfluid/models/workstation_agent_request_log.py +51 -0
  1283. hyperfluid/models/workstation_file.py +19 -0
  1284. hyperfluid/models/workstation_preview_session_log.py +33 -0
  1285. hyperfluid/models/workstation_repository_input.py +24 -0
  1286. hyperfluid/models/workstation_repository_response.py +28 -0
  1287. hyperfluid/models/workstation_skill_registries_response.py +17 -0
  1288. hyperfluid/models/workstation_template_response.py +56 -0
  1289. hyperfluid/models/workstation_template_scope_dto.py +16 -0
  1290. hyperfluid/models/workstation_terminal_command_log.py +55 -0
  1291. hyperfluid/models/workstation_tool_dto.py +17 -0
  1292. hyperfluid/models/write_file_request.py +23 -0
  1293. hyperfluid/models/write_file_response.py +15 -0
  1294. hyperfluid/py.typed +0 -0
  1295. hyperfluid/serialization.py +911 -0
  1296. hyperfluid/unions.py +102 -0
  1297. hyperfluid-0.1.0.dist-info/METADATA +165 -0
  1298. hyperfluid-0.1.0.dist-info/RECORD +1300 -0
  1299. hyperfluid-0.1.0.dist-info/WHEEL +4 -0
  1300. hyperfluid-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,1216 @@
1
+ # this file is @generated
2
+ """Git hub runners API."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import builtins
7
+ import typing as t
8
+ from uuid import UUID
9
+
10
+ from .. import models as _models
11
+ from ..models import (
12
+ CreateGithubConnectionRequest,
13
+ CreateGithubRunnerRequest,
14
+ GithubConnectionCredentialDto,
15
+ GithubConnectionResponse,
16
+ GithubConnectionTarget,
17
+ GithubRunnerEgressModeDto,
18
+ GithubRunnerEgressModeDtoLiteral,
19
+ GithubRunnerResponse,
20
+ GithubRunnerScope,
21
+ RunnerFlavorDto,
22
+ UpdateGithubConnectionRequest,
23
+ UpdateGithubRunnerRequest,
24
+ )
25
+ from ..serialization import UNSET, Unset, to_json_value
26
+ from ._response import async_to_raw_response_wrapper, to_raw_response_wrapper
27
+ from .common import (
28
+ ApiBaseAsync,
29
+ ApiBaseSync,
30
+ ApiRequest,
31
+ Timeout,
32
+ decode_response,
33
+ encode_path_param,
34
+ )
35
+
36
+
37
+ class AsyncGitHubRunners(ApiBaseAsync):
38
+ """Git hub runners API, for asyncio."""
39
+
40
+ @property
41
+ def with_raw_response(self) -> AsyncGitHubRunnersWithRawResponse:
42
+ """These methods, returning an :class:`APIResponse` with the status and headers."""
43
+ return AsyncGitHubRunnersWithRawResponse(self)
44
+
45
+ async def list_organization_github_connections(
46
+ self,
47
+ organization_id: UUID,
48
+ *,
49
+ extra_headers: t.Mapping[str, str] | None = None,
50
+ extra_query: t.Mapping[str, object] | None = None,
51
+ extra_body: t.Mapping[str, object] | None = None,
52
+ timeout: Timeout | Unset = UNSET,
53
+ max_retries: int | None = None,
54
+ ) -> builtins.list[GithubConnectionResponse]:
55
+ """List the org's `GithubConnection`s (metadata only, never credentials)."""
56
+ response = await self._request(
57
+ ApiRequest(
58
+ method="get",
59
+ path="/api/v1/organizations/{organization_id}/github-connections",
60
+ path_params={
61
+ "organization_id": encode_path_param(
62
+ "organization_id", organization_id, "simple", False
63
+ ),
64
+ },
65
+ error_types={
66
+ "default": _models.ApiErrorBody,
67
+ },
68
+ extra_headers=extra_headers,
69
+ extra_query=extra_query,
70
+ extra_body=extra_body,
71
+ timeout=timeout,
72
+ max_retries=max_retries,
73
+ )
74
+ )
75
+ return decode_response(response, list[GithubConnectionResponse])
76
+
77
+ async def create_organization_github_connection(
78
+ self,
79
+ organization_id: UUID,
80
+ *,
81
+ credential: GithubConnectionCredentialDto,
82
+ name: str,
83
+ base_url: str | None | Unset = UNSET,
84
+ extra_headers: t.Mapping[str, str] | None = None,
85
+ extra_query: t.Mapping[str, object] | None = None,
86
+ extra_body: t.Mapping[str, object] | None = None,
87
+ timeout: Timeout | Unset = UNSET,
88
+ max_retries: int | None = None,
89
+ ) -> GithubConnectionResponse:
90
+ """Create a `GithubConnection`: an org-scoped user-secret holding the GitHub
91
+ credential (PAT or App key). Write-only — no read endpoint ever returns it.
92
+
93
+ ## The credential is proved against GitHub before it is stored
94
+ A credential is only worth storing if GitHub accepts it, and the cost of
95
+ finding out later is high: an unusable credential is accepted silently
96
+ today, and the first symptom is a pool that never comes online, with the
97
+ real reason buried in an ARC listener log the user cannot see. So the
98
+ connection is used, once, before anything is written — and if GitHub
99
+ refuses it, the 400 carries GitHub's own sentence ("Bad credentials",
100
+ "Integration not found", …).
101
+
102
+ The same round trip is what makes `installation_id` optional for the App
103
+ case: `GET /app/installations` answers it. See [`resolve_app_installation`].
104
+
105
+ :param base_url: GitHub base URL. Defaults to `https://github.com`; set for GHES.
106
+ :param name: Connection name — a DNS-1123-style label (lowercase alphanumerics and hyphens), unique per organization."""
107
+ response = await self._request(
108
+ ApiRequest(
109
+ method="post",
110
+ path="/api/v1/organizations/{organization_id}/github-connections",
111
+ path_params={
112
+ "organization_id": encode_path_param(
113
+ "organization_id", organization_id, "simple", False
114
+ ),
115
+ },
116
+ json_body=to_json_value(
117
+ CreateGithubConnectionRequest(
118
+ base_url=base_url,
119
+ credential=credential,
120
+ name=name,
121
+ ),
122
+ CreateGithubConnectionRequest,
123
+ ),
124
+ error_types={
125
+ "default": _models.ApiErrorBody,
126
+ },
127
+ extra_headers=extra_headers,
128
+ extra_query=extra_query,
129
+ extra_body=extra_body,
130
+ timeout=timeout,
131
+ max_retries=max_retries,
132
+ )
133
+ )
134
+ return decode_response(response, GithubConnectionResponse)
135
+
136
+ async def update_organization_github_connection(
137
+ self,
138
+ organization_id: UUID,
139
+ name: str,
140
+ *,
141
+ credential: GithubConnectionCredentialDto,
142
+ base_url: str | None | Unset = UNSET,
143
+ extra_headers: t.Mapping[str, str] | None = None,
144
+ extra_query: t.Mapping[str, object] | None = None,
145
+ extra_body: t.Mapping[str, object] | None = None,
146
+ timeout: Timeout | Unset = UNSET,
147
+ max_retries: int | None = None,
148
+ ) -> GithubConnectionResponse:
149
+ """Update a `GithubConnection` in place: rotate the stored credential, and
150
+ optionally move the connection to a different GitHub host.
151
+
152
+ ## Why the credential is always required
153
+ The stored credential is write-only — no endpoint hands one back — so there
154
+ is nothing here to partially edit. Requiring it also means every update
155
+ re-proves a working credential against the *effective* host before anything
156
+ is overwritten, which is what makes the failure mode "GitHub refused this,
157
+ nothing changed" instead of "your pools stop renewing their registration
158
+ token an hour from now".
159
+
160
+ The name is not editable: it is what every pool's `connection_secret_name`
161
+ resolves through, and renaming it would orphan them. Rename = create the new
162
+ one, move the pools, delete the old one.
163
+
164
+ ## Propagation
165
+ The operator re-projects each pool's `githubConfigSecret` from this secret
166
+ on every reconcile, so a rotation reaches running pools on their next tick
167
+ (~2 minutes for a healthy pool) with no pool edit and no restart.
168
+
169
+ :param base_url: GitHub base URL. Absent keeps the stored host; changing it is refused while any runner pool still registers against the old one."""
170
+ response = await self._request(
171
+ ApiRequest(
172
+ method="put",
173
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}",
174
+ path_params={
175
+ "organization_id": encode_path_param(
176
+ "organization_id", organization_id, "simple", False
177
+ ),
178
+ "name": name,
179
+ },
180
+ json_body=to_json_value(
181
+ UpdateGithubConnectionRequest(
182
+ base_url=base_url,
183
+ credential=credential,
184
+ ),
185
+ UpdateGithubConnectionRequest,
186
+ ),
187
+ error_types={
188
+ "default": _models.ApiErrorBody,
189
+ },
190
+ extra_headers=extra_headers,
191
+ extra_query=extra_query,
192
+ extra_body=extra_body,
193
+ timeout=timeout,
194
+ max_retries=max_retries,
195
+ )
196
+ )
197
+ return decode_response(response, GithubConnectionResponse)
198
+
199
+ async def delete_organization_github_connection(
200
+ self,
201
+ organization_id: UUID,
202
+ name: str,
203
+ *,
204
+ extra_headers: t.Mapping[str, str] | None = None,
205
+ extra_query: t.Mapping[str, object] | None = None,
206
+ extra_body: t.Mapping[str, object] | None = None,
207
+ timeout: Timeout | Unset = UNSET,
208
+ max_retries: int | None = None,
209
+ ) -> None:
210
+ """Delete a `GithubConnection` by name.
211
+
212
+ Refuses while any pool still references it (409): a pool whose connection
213
+ disappeared keeps its already-projected `githubConfigSecret` and then starts
214
+ failing token refreshes with no local signal — delete the pools first."""
215
+ await self._request(
216
+ ApiRequest(
217
+ method="delete",
218
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}",
219
+ path_params={
220
+ "organization_id": encode_path_param(
221
+ "organization_id", organization_id, "simple", False
222
+ ),
223
+ "name": name,
224
+ },
225
+ error_types={
226
+ "default": _models.ApiErrorBody,
227
+ },
228
+ extra_headers=extra_headers,
229
+ extra_query=extra_query,
230
+ extra_body=extra_body,
231
+ timeout=timeout,
232
+ max_retries=max_retries,
233
+ )
234
+ )
235
+
236
+ async def list_organization_github_connection_targets(
237
+ self,
238
+ organization_id: UUID,
239
+ name: str,
240
+ *,
241
+ extra_headers: t.Mapping[str, str] | None = None,
242
+ extra_query: t.Mapping[str, object] | None = None,
243
+ extra_body: t.Mapping[str, object] | None = None,
244
+ timeout: Timeout | Unset = UNSET,
245
+ max_retries: int | None = None,
246
+ ) -> builtins.list[GithubConnectionTarget]:
247
+ """List every org/user a stored connection can register a runner pool on.
248
+
249
+ This is what makes the pool-create form fill itself in: the response carries
250
+ the organization login (the value `scope` needs) and, for a GitHub App, the
251
+ installation id — the number users were previously copying out of the tail
252
+ of a GitHub settings URL.
253
+
254
+ For an App connection the result is filtered to the installation the
255
+ connection is pinned to. Offering the App's other installations would be
256
+ offering pools that cannot work: ARC authenticates with one installation id,
257
+ and a pool registered on a different org than that installation covers fails
258
+ at listener startup. An empty result for an App connection therefore means
259
+ the installation was removed on GitHub's side — which is itself the signal
260
+ the user needs.
261
+
262
+ Requires `secret:read` on the backing secret in addition to
263
+ `forgejo_runner:read`: nothing is returned *from* the credential, but the
264
+ credential is used to act as the organization on GitHub, and an org that
265
+ denies `secret:read` to a role must not have that role drive it."""
266
+ response = await self._request(
267
+ ApiRequest(
268
+ method="get",
269
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}/targets",
270
+ path_params={
271
+ "organization_id": encode_path_param(
272
+ "organization_id", organization_id, "simple", False
273
+ ),
274
+ "name": name,
275
+ },
276
+ error_types={
277
+ "default": _models.ApiErrorBody,
278
+ },
279
+ extra_headers=extra_headers,
280
+ extra_query=extra_query,
281
+ extra_body=extra_body,
282
+ timeout=timeout,
283
+ max_retries=max_retries,
284
+ )
285
+ )
286
+ return decode_response(response, list[GithubConnectionTarget])
287
+
288
+ async def list(
289
+ self,
290
+ organization_id: UUID,
291
+ harbor_id: UUID,
292
+ *,
293
+ extra_headers: t.Mapping[str, str] | None = None,
294
+ extra_query: t.Mapping[str, object] | None = None,
295
+ extra_body: t.Mapping[str, object] | None = None,
296
+ timeout: Timeout | Unset = UNSET,
297
+ max_retries: int | None = None,
298
+ ) -> builtins.list[GithubRunnerResponse]:
299
+ """List all `GithubRunner` pool CRs for the harbor."""
300
+ response = await self._request(
301
+ ApiRequest(
302
+ method="get",
303
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners",
304
+ path_params={
305
+ "organization_id": encode_path_param(
306
+ "organization_id", organization_id, "simple", False
307
+ ),
308
+ "harbor_id": encode_path_param(
309
+ "harbor_id", harbor_id, "simple", False
310
+ ),
311
+ },
312
+ error_types={
313
+ "default": _models.ApiErrorBody,
314
+ },
315
+ extra_headers=extra_headers,
316
+ extra_query=extra_query,
317
+ extra_body=extra_body,
318
+ timeout=timeout,
319
+ max_retries=max_retries,
320
+ )
321
+ )
322
+ return decode_response(response, list[GithubRunnerResponse])
323
+
324
+ async def create(
325
+ self,
326
+ organization_id: UUID,
327
+ harbor_id: UUID,
328
+ *,
329
+ connection: str,
330
+ name: str,
331
+ scope: GithubRunnerScope,
332
+ egress_mode: GithubRunnerEgressModeDto
333
+ | GithubRunnerEgressModeDtoLiteral
334
+ | None
335
+ | Unset = UNSET,
336
+ extra_egress_fqdns: builtins.list[str] | None | Unset = UNSET,
337
+ flavor: RunnerFlavorDto | None | Unset = UNSET,
338
+ max_runners: int | None | Unset = UNSET,
339
+ min_runners: int | None | Unset = UNSET,
340
+ runner_group: str | None | Unset = UNSET,
341
+ runner_image: str | None | Unset = UNSET,
342
+ runs_on: str | None | Unset = UNSET,
343
+ extra_headers: t.Mapping[str, str] | None = None,
344
+ extra_query: t.Mapping[str, object] | None = None,
345
+ extra_body: t.Mapping[str, object] | None = None,
346
+ timeout: Timeout | Unset = UNSET,
347
+ max_retries: int | None = None,
348
+ ) -> GithubRunnerResponse:
349
+ """Create a `GithubRunner` pool CR for this harbor.
350
+
351
+ Validates that the referenced `GithubConnection` exists before creating the
352
+ CR (fail fast in the UI rather than at reconcile time). Returns 201; 409 if
353
+ a pool with that name already exists.
354
+
355
+ :param connection: Name of the `GithubConnection` holding the credential (as returned by the connections API — the leaf name, not the full secret path).
356
+ :param extra_egress_fqdns: Extra destinations the pool's network policy allows egress to, beyond the built-in GitHub Actions preset. `host` opens 443/TCP; `host:port` opens that port instead (`deb.debian.org:80`, `registry.corp.example:5000`).
357
+ :param max_runners: Ceiling on concurrent runners. Defaults to 3.
358
+ :param min_runners: Warm runners kept idle. Defaults to 0 (scale-to-zero).
359
+ :param name: Pool name — must be a valid DNS-1123 label, at most 45 characters (GitHub's runner scale-set name limit). The value workflows put in `runs-on:` is the registered scale-set name the operator derives from it and reports back as `status.runner_scale_set_name`.
360
+ :param runner_group: GitHub runner group (org scope only). Defaults to GitHub's default group.
361
+ :param runner_image: Runner container image override. Defaults to the platform-pinned `ghcr.io/actions/actions-runner` release.
362
+ :param runs_on: The name this pool registers under with GitHub — **the value workflows put in `runs-on:`**, and the only thing GitHub schedules a job on for a runner scale set. Absent (or empty) keeps the name Hyperfluid derives, `<name>-<digest>`, which is unique across the GitHub org by construction. Setting it trades that for a name you choose (`ubuntu-latest`, `hyperfluid-linux-l`, …); the request is rejected with a 409 if another pool on the same GitHub target and runner group already claims it."""
363
+ response = await self._request(
364
+ ApiRequest(
365
+ method="post",
366
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners",
367
+ path_params={
368
+ "organization_id": encode_path_param(
369
+ "organization_id", organization_id, "simple", False
370
+ ),
371
+ "harbor_id": encode_path_param(
372
+ "harbor_id", harbor_id, "simple", False
373
+ ),
374
+ },
375
+ json_body=to_json_value(
376
+ CreateGithubRunnerRequest(
377
+ connection=connection,
378
+ egress_mode=t.cast(
379
+ "GithubRunnerEgressModeDto | None | Unset", egress_mode
380
+ ),
381
+ extra_egress_fqdns=extra_egress_fqdns,
382
+ flavor=flavor,
383
+ max_runners=max_runners,
384
+ min_runners=min_runners,
385
+ name=name,
386
+ runner_group=runner_group,
387
+ runner_image=runner_image,
388
+ runs_on=runs_on,
389
+ scope=scope,
390
+ ),
391
+ CreateGithubRunnerRequest,
392
+ ),
393
+ error_types={
394
+ "default": _models.ApiErrorBody,
395
+ },
396
+ extra_headers=extra_headers,
397
+ extra_query=extra_query,
398
+ extra_body=extra_body,
399
+ timeout=timeout,
400
+ max_retries=max_retries,
401
+ )
402
+ )
403
+ return decode_response(response, GithubRunnerResponse)
404
+
405
+ async def retrieve(
406
+ self,
407
+ organization_id: UUID,
408
+ harbor_id: UUID,
409
+ name: str,
410
+ *,
411
+ extra_headers: t.Mapping[str, str] | None = None,
412
+ extra_query: t.Mapping[str, object] | None = None,
413
+ extra_body: t.Mapping[str, object] | None = None,
414
+ timeout: Timeout | Unset = UNSET,
415
+ max_retries: int | None = None,
416
+ ) -> GithubRunnerResponse:
417
+ """Get a single `GithubRunner` pool CR by name (status polling)."""
418
+ response = await self._request(
419
+ ApiRequest(
420
+ method="get",
421
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
422
+ path_params={
423
+ "organization_id": encode_path_param(
424
+ "organization_id", organization_id, "simple", False
425
+ ),
426
+ "harbor_id": encode_path_param(
427
+ "harbor_id", harbor_id, "simple", False
428
+ ),
429
+ "name": name,
430
+ },
431
+ error_types={
432
+ "default": _models.ApiErrorBody,
433
+ },
434
+ extra_headers=extra_headers,
435
+ extra_query=extra_query,
436
+ extra_body=extra_body,
437
+ timeout=timeout,
438
+ max_retries=max_retries,
439
+ )
440
+ )
441
+ return decode_response(response, GithubRunnerResponse)
442
+
443
+ async def delete(
444
+ self,
445
+ organization_id: UUID,
446
+ harbor_id: UUID,
447
+ name: str,
448
+ *,
449
+ extra_headers: t.Mapping[str, str] | None = None,
450
+ extra_query: t.Mapping[str, object] | None = None,
451
+ extra_body: t.Mapping[str, object] | None = None,
452
+ timeout: Timeout | Unset = UNSET,
453
+ max_retries: int | None = None,
454
+ ) -> None:
455
+ """Delete a `GithubRunner` pool CR by name.
456
+
457
+ Idempotent: 204 even when already absent. The operator's finalizer tears
458
+ down the `AutoscalingRunnerSet` (ARC deregisters the scale set from
459
+ GitHub), the config secret, and the network policy via ownerReference GC.
460
+
461
+ The 204 is held until the CR is observed gone (bounded — see
462
+ [`DELETE_SETTLE_BUDGET`]). `Api::delete` only *marks* a finalized object,
463
+ so returning on its acknowledgement made the client's post-delete refetch
464
+ race the finalizer and re-render the pool it had just deleted."""
465
+ await self._request(
466
+ ApiRequest(
467
+ method="delete",
468
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
469
+ path_params={
470
+ "organization_id": encode_path_param(
471
+ "organization_id", organization_id, "simple", False
472
+ ),
473
+ "harbor_id": encode_path_param(
474
+ "harbor_id", harbor_id, "simple", False
475
+ ),
476
+ "name": name,
477
+ },
478
+ error_types={
479
+ "default": _models.ApiErrorBody,
480
+ },
481
+ extra_headers=extra_headers,
482
+ extra_query=extra_query,
483
+ extra_body=extra_body,
484
+ timeout=timeout,
485
+ max_retries=max_retries,
486
+ )
487
+ )
488
+
489
+ async def update(
490
+ self,
491
+ organization_id: UUID,
492
+ harbor_id: UUID,
493
+ name: str,
494
+ *,
495
+ connection: str | None | Unset = UNSET,
496
+ egress_mode: GithubRunnerEgressModeDto
497
+ | GithubRunnerEgressModeDtoLiteral
498
+ | None
499
+ | Unset = UNSET,
500
+ extra_egress_fqdns: builtins.list[str] | None | Unset = UNSET,
501
+ flavor: RunnerFlavorDto | None | Unset = UNSET,
502
+ max_runners: int | None | Unset = UNSET,
503
+ min_runners: int | None | Unset = UNSET,
504
+ runner_group: str | None | Unset = UNSET,
505
+ runner_image: str | None | Unset = UNSET,
506
+ runs_on: str | None | Unset = UNSET,
507
+ scope: GithubRunnerScope | None | Unset = UNSET,
508
+ extra_headers: t.Mapping[str, str] | None = None,
509
+ extra_query: t.Mapping[str, object] | None = None,
510
+ extra_body: t.Mapping[str, object] | None = None,
511
+ timeout: Timeout | Unset = UNSET,
512
+ max_retries: int | None = None,
513
+ ) -> GithubRunnerResponse:
514
+ """Edit a `GithubRunner` pool in place.
515
+
516
+ Exists because the alternative — delete and recreate — deregisters the scale
517
+ set from GitHub, which drops the `runs-on:` target and interrupts whatever
518
+ was running. Every field below can change without that happening.
519
+
520
+ ## What the operator does with each field
521
+ - **`min_runners` / `max_runners`** — a live resize. ARC moves the target
522
+ count on the existing `AutoscalingRunnerSet`; no pod is recreated and no
523
+ running job is touched.
524
+ - **`flavor` / `runner_image`** — a template change. The runner pod spec is
525
+ rewritten, so jobs already executing finish on the old template and the
526
+ next ones start on the new one. Nothing is killed mid-job.
527
+ - **`runner_group`** — re-registers the scale set into another GitHub runner
528
+ group. Brief, and the scale-set name is unchanged, so `runs-on:` keeps
529
+ working.
530
+ - **`runs_on`** — deregisters the scale set and registers it again under a
531
+ new name. The one edit here that workflows can see, and the one with
532
+ downtime: GitHub will not move a registration's runner label in place, so
533
+ the `AutoscalingRunnerSet` is deleted and re-applied (its Kubernetes name
534
+ is unchanged, as is every other object). ARC drains in-flight runners
535
+ first, so no job is killed, but the pool accepts nothing until the new
536
+ registration is live, and a workflow still naming the old value queues
537
+ until it is updated. `""` hands the name back to the derived one.
538
+ - **`extra_egress_fqdns`** — the pool's network policy is re-rendered. It
539
+ replaces the previous list wholesale rather than merging into it. Entries
540
+ are `host` (443/TCP) or `host:port`.
541
+ - **`egress_mode`** — the pool's network policy is re-rendered, in place and
542
+ without recreating a pod. Cilium applies the new policy to the live
543
+ endpoints, so a job already running keeps its established connections and
544
+ only its *next* connect is judged by the new posture.
545
+ - **`connection`** — the pool's config secret is re-projected from the new
546
+ credential. This is the rotation path: swap in a fresh App key or PAT
547
+ without the scale set ever leaving GitHub.
548
+
549
+ `scope` is deliberately not editable; see [`UpdateGithubRunnerRequest`].
550
+
551
+ :param connection: Move the pool to a different `GithubConnection` — the leaf name, same value `CreateGithubRunnerRequest.connection` takes. Used to swap in a rotated credential without deregistering the scale set. The new connection must point at the same GitHub host as the current one.
552
+ :param extra_egress_fqdns: Replacement egress allow-list (it replaces the previous one wholesale, it is not merged entry by entry). Send `[]` to keep only the built-in GitHub Actions preset. Entries are `host` (443/TCP) or `host:port`.
553
+ :param max_runners: New concurrency ceiling. Live resize, same as `min_runners`.
554
+ :param min_runners: New warm-runner floor. Live resize — ARC changes the target without recreating pods.
555
+ :param runner_group: New GitHub runner group (org scope only). Send `""` to fall back to GitHub's default group.
556
+ :param runner_image: New runner container image. Rolls the runner template, same as `flavor`. Send `""` to go back to the platform-pinned default.
557
+ :param runs_on: New `runs-on:` name. Send `""` to go back to the name Hyperfluid derives from the pool name. Unlike every other field here this one is **not** transparent to running workflows: the scale set is deregistered and registered again under the new name, so a workflow still saying `runs-on: <old name>` queues until it is edited. It is also the only edit with downtime. GitHub will not move a registration's runner label in place, so the `AutoscalingRunnerSet` is deleted and re-applied (under its unchanged Kubernetes name). ARC drains in-flight runners first — no job is killed — but the pool accepts nothing until the new registration is live. `status.message` names the old value to keep using meanwhile."""
558
+ response = await self._request(
559
+ ApiRequest(
560
+ method="patch",
561
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
562
+ path_params={
563
+ "organization_id": encode_path_param(
564
+ "organization_id", organization_id, "simple", False
565
+ ),
566
+ "harbor_id": encode_path_param(
567
+ "harbor_id", harbor_id, "simple", False
568
+ ),
569
+ "name": name,
570
+ },
571
+ json_body=to_json_value(
572
+ UpdateGithubRunnerRequest(
573
+ connection=connection,
574
+ egress_mode=t.cast(
575
+ "GithubRunnerEgressModeDto | None | Unset", egress_mode
576
+ ),
577
+ extra_egress_fqdns=extra_egress_fqdns,
578
+ flavor=flavor,
579
+ max_runners=max_runners,
580
+ min_runners=min_runners,
581
+ runner_group=runner_group,
582
+ runner_image=runner_image,
583
+ runs_on=runs_on,
584
+ scope=scope,
585
+ ),
586
+ UpdateGithubRunnerRequest,
587
+ ),
588
+ error_types={
589
+ "default": _models.ApiErrorBody,
590
+ },
591
+ extra_headers=extra_headers,
592
+ extra_query=extra_query,
593
+ extra_body=extra_body,
594
+ timeout=timeout,
595
+ max_retries=max_retries,
596
+ )
597
+ )
598
+ return decode_response(response, GithubRunnerResponse)
599
+
600
+
601
+ class AsyncGitHubRunnersWithRawResponse:
602
+ """The methods of :class:`AsyncGitHubRunners`, returning an :class:`APIResponse`."""
603
+
604
+ def __init__(self, resource: AsyncGitHubRunners) -> None:
605
+ self.list_organization_github_connections = async_to_raw_response_wrapper(
606
+ resource.list_organization_github_connections
607
+ )
608
+ self.create_organization_github_connection = async_to_raw_response_wrapper(
609
+ resource.create_organization_github_connection
610
+ )
611
+ self.update_organization_github_connection = async_to_raw_response_wrapper(
612
+ resource.update_organization_github_connection
613
+ )
614
+ self.delete_organization_github_connection = async_to_raw_response_wrapper(
615
+ resource.delete_organization_github_connection
616
+ )
617
+ self.list_organization_github_connection_targets = (
618
+ async_to_raw_response_wrapper(
619
+ resource.list_organization_github_connection_targets
620
+ )
621
+ )
622
+ self.list = async_to_raw_response_wrapper(resource.list)
623
+ self.create = async_to_raw_response_wrapper(resource.create)
624
+ self.retrieve = async_to_raw_response_wrapper(resource.retrieve)
625
+ self.delete = async_to_raw_response_wrapper(resource.delete)
626
+ self.update = async_to_raw_response_wrapper(resource.update)
627
+
628
+
629
+ class GitHubRunners(ApiBaseSync):
630
+ """Git hub runners API."""
631
+
632
+ @property
633
+ def with_raw_response(self) -> GitHubRunnersWithRawResponse:
634
+ """These methods, returning an :class:`APIResponse` with the status and headers."""
635
+ return GitHubRunnersWithRawResponse(self)
636
+
637
+ def list_organization_github_connections(
638
+ self,
639
+ organization_id: UUID,
640
+ *,
641
+ extra_headers: t.Mapping[str, str] | None = None,
642
+ extra_query: t.Mapping[str, object] | None = None,
643
+ extra_body: t.Mapping[str, object] | None = None,
644
+ timeout: Timeout | Unset = UNSET,
645
+ max_retries: int | None = None,
646
+ ) -> builtins.list[GithubConnectionResponse]:
647
+ """List the org's `GithubConnection`s (metadata only, never credentials)."""
648
+ response = self._request(
649
+ ApiRequest(
650
+ method="get",
651
+ path="/api/v1/organizations/{organization_id}/github-connections",
652
+ path_params={
653
+ "organization_id": encode_path_param(
654
+ "organization_id", organization_id, "simple", False
655
+ ),
656
+ },
657
+ error_types={
658
+ "default": _models.ApiErrorBody,
659
+ },
660
+ extra_headers=extra_headers,
661
+ extra_query=extra_query,
662
+ extra_body=extra_body,
663
+ timeout=timeout,
664
+ max_retries=max_retries,
665
+ )
666
+ )
667
+ return decode_response(response, list[GithubConnectionResponse])
668
+
669
+ def create_organization_github_connection(
670
+ self,
671
+ organization_id: UUID,
672
+ *,
673
+ credential: GithubConnectionCredentialDto,
674
+ name: str,
675
+ base_url: str | None | Unset = UNSET,
676
+ extra_headers: t.Mapping[str, str] | None = None,
677
+ extra_query: t.Mapping[str, object] | None = None,
678
+ extra_body: t.Mapping[str, object] | None = None,
679
+ timeout: Timeout | Unset = UNSET,
680
+ max_retries: int | None = None,
681
+ ) -> GithubConnectionResponse:
682
+ """Create a `GithubConnection`: an org-scoped user-secret holding the GitHub
683
+ credential (PAT or App key). Write-only — no read endpoint ever returns it.
684
+
685
+ ## The credential is proved against GitHub before it is stored
686
+ A credential is only worth storing if GitHub accepts it, and the cost of
687
+ finding out later is high: an unusable credential is accepted silently
688
+ today, and the first symptom is a pool that never comes online, with the
689
+ real reason buried in an ARC listener log the user cannot see. So the
690
+ connection is used, once, before anything is written — and if GitHub
691
+ refuses it, the 400 carries GitHub's own sentence ("Bad credentials",
692
+ "Integration not found", …).
693
+
694
+ The same round trip is what makes `installation_id` optional for the App
695
+ case: `GET /app/installations` answers it. See [`resolve_app_installation`].
696
+
697
+ :param base_url: GitHub base URL. Defaults to `https://github.com`; set for GHES.
698
+ :param name: Connection name — a DNS-1123-style label (lowercase alphanumerics and hyphens), unique per organization."""
699
+ response = self._request(
700
+ ApiRequest(
701
+ method="post",
702
+ path="/api/v1/organizations/{organization_id}/github-connections",
703
+ path_params={
704
+ "organization_id": encode_path_param(
705
+ "organization_id", organization_id, "simple", False
706
+ ),
707
+ },
708
+ json_body=to_json_value(
709
+ CreateGithubConnectionRequest(
710
+ base_url=base_url,
711
+ credential=credential,
712
+ name=name,
713
+ ),
714
+ CreateGithubConnectionRequest,
715
+ ),
716
+ error_types={
717
+ "default": _models.ApiErrorBody,
718
+ },
719
+ extra_headers=extra_headers,
720
+ extra_query=extra_query,
721
+ extra_body=extra_body,
722
+ timeout=timeout,
723
+ max_retries=max_retries,
724
+ )
725
+ )
726
+ return decode_response(response, GithubConnectionResponse)
727
+
728
+ def update_organization_github_connection(
729
+ self,
730
+ organization_id: UUID,
731
+ name: str,
732
+ *,
733
+ credential: GithubConnectionCredentialDto,
734
+ base_url: str | None | Unset = UNSET,
735
+ extra_headers: t.Mapping[str, str] | None = None,
736
+ extra_query: t.Mapping[str, object] | None = None,
737
+ extra_body: t.Mapping[str, object] | None = None,
738
+ timeout: Timeout | Unset = UNSET,
739
+ max_retries: int | None = None,
740
+ ) -> GithubConnectionResponse:
741
+ """Update a `GithubConnection` in place: rotate the stored credential, and
742
+ optionally move the connection to a different GitHub host.
743
+
744
+ ## Why the credential is always required
745
+ The stored credential is write-only — no endpoint hands one back — so there
746
+ is nothing here to partially edit. Requiring it also means every update
747
+ re-proves a working credential against the *effective* host before anything
748
+ is overwritten, which is what makes the failure mode "GitHub refused this,
749
+ nothing changed" instead of "your pools stop renewing their registration
750
+ token an hour from now".
751
+
752
+ The name is not editable: it is what every pool's `connection_secret_name`
753
+ resolves through, and renaming it would orphan them. Rename = create the new
754
+ one, move the pools, delete the old one.
755
+
756
+ ## Propagation
757
+ The operator re-projects each pool's `githubConfigSecret` from this secret
758
+ on every reconcile, so a rotation reaches running pools on their next tick
759
+ (~2 minutes for a healthy pool) with no pool edit and no restart.
760
+
761
+ :param base_url: GitHub base URL. Absent keeps the stored host; changing it is refused while any runner pool still registers against the old one."""
762
+ response = self._request(
763
+ ApiRequest(
764
+ method="put",
765
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}",
766
+ path_params={
767
+ "organization_id": encode_path_param(
768
+ "organization_id", organization_id, "simple", False
769
+ ),
770
+ "name": name,
771
+ },
772
+ json_body=to_json_value(
773
+ UpdateGithubConnectionRequest(
774
+ base_url=base_url,
775
+ credential=credential,
776
+ ),
777
+ UpdateGithubConnectionRequest,
778
+ ),
779
+ error_types={
780
+ "default": _models.ApiErrorBody,
781
+ },
782
+ extra_headers=extra_headers,
783
+ extra_query=extra_query,
784
+ extra_body=extra_body,
785
+ timeout=timeout,
786
+ max_retries=max_retries,
787
+ )
788
+ )
789
+ return decode_response(response, GithubConnectionResponse)
790
+
791
+ def delete_organization_github_connection(
792
+ self,
793
+ organization_id: UUID,
794
+ name: str,
795
+ *,
796
+ extra_headers: t.Mapping[str, str] | None = None,
797
+ extra_query: t.Mapping[str, object] | None = None,
798
+ extra_body: t.Mapping[str, object] | None = None,
799
+ timeout: Timeout | Unset = UNSET,
800
+ max_retries: int | None = None,
801
+ ) -> None:
802
+ """Delete a `GithubConnection` by name.
803
+
804
+ Refuses while any pool still references it (409): a pool whose connection
805
+ disappeared keeps its already-projected `githubConfigSecret` and then starts
806
+ failing token refreshes with no local signal — delete the pools first."""
807
+ self._request(
808
+ ApiRequest(
809
+ method="delete",
810
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}",
811
+ path_params={
812
+ "organization_id": encode_path_param(
813
+ "organization_id", organization_id, "simple", False
814
+ ),
815
+ "name": name,
816
+ },
817
+ error_types={
818
+ "default": _models.ApiErrorBody,
819
+ },
820
+ extra_headers=extra_headers,
821
+ extra_query=extra_query,
822
+ extra_body=extra_body,
823
+ timeout=timeout,
824
+ max_retries=max_retries,
825
+ )
826
+ )
827
+
828
+ def list_organization_github_connection_targets(
829
+ self,
830
+ organization_id: UUID,
831
+ name: str,
832
+ *,
833
+ extra_headers: t.Mapping[str, str] | None = None,
834
+ extra_query: t.Mapping[str, object] | None = None,
835
+ extra_body: t.Mapping[str, object] | None = None,
836
+ timeout: Timeout | Unset = UNSET,
837
+ max_retries: int | None = None,
838
+ ) -> builtins.list[GithubConnectionTarget]:
839
+ """List every org/user a stored connection can register a runner pool on.
840
+
841
+ This is what makes the pool-create form fill itself in: the response carries
842
+ the organization login (the value `scope` needs) and, for a GitHub App, the
843
+ installation id — the number users were previously copying out of the tail
844
+ of a GitHub settings URL.
845
+
846
+ For an App connection the result is filtered to the installation the
847
+ connection is pinned to. Offering the App's other installations would be
848
+ offering pools that cannot work: ARC authenticates with one installation id,
849
+ and a pool registered on a different org than that installation covers fails
850
+ at listener startup. An empty result for an App connection therefore means
851
+ the installation was removed on GitHub's side — which is itself the signal
852
+ the user needs.
853
+
854
+ Requires `secret:read` on the backing secret in addition to
855
+ `forgejo_runner:read`: nothing is returned *from* the credential, but the
856
+ credential is used to act as the organization on GitHub, and an org that
857
+ denies `secret:read` to a role must not have that role drive it."""
858
+ response = self._request(
859
+ ApiRequest(
860
+ method="get",
861
+ path="/api/v1/organizations/{organization_id}/github-connections/{name}/targets",
862
+ path_params={
863
+ "organization_id": encode_path_param(
864
+ "organization_id", organization_id, "simple", False
865
+ ),
866
+ "name": name,
867
+ },
868
+ error_types={
869
+ "default": _models.ApiErrorBody,
870
+ },
871
+ extra_headers=extra_headers,
872
+ extra_query=extra_query,
873
+ extra_body=extra_body,
874
+ timeout=timeout,
875
+ max_retries=max_retries,
876
+ )
877
+ )
878
+ return decode_response(response, list[GithubConnectionTarget])
879
+
880
+ def list(
881
+ self,
882
+ organization_id: UUID,
883
+ harbor_id: UUID,
884
+ *,
885
+ extra_headers: t.Mapping[str, str] | None = None,
886
+ extra_query: t.Mapping[str, object] | None = None,
887
+ extra_body: t.Mapping[str, object] | None = None,
888
+ timeout: Timeout | Unset = UNSET,
889
+ max_retries: int | None = None,
890
+ ) -> builtins.list[GithubRunnerResponse]:
891
+ """List all `GithubRunner` pool CRs for the harbor."""
892
+ response = self._request(
893
+ ApiRequest(
894
+ method="get",
895
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners",
896
+ path_params={
897
+ "organization_id": encode_path_param(
898
+ "organization_id", organization_id, "simple", False
899
+ ),
900
+ "harbor_id": encode_path_param(
901
+ "harbor_id", harbor_id, "simple", False
902
+ ),
903
+ },
904
+ error_types={
905
+ "default": _models.ApiErrorBody,
906
+ },
907
+ extra_headers=extra_headers,
908
+ extra_query=extra_query,
909
+ extra_body=extra_body,
910
+ timeout=timeout,
911
+ max_retries=max_retries,
912
+ )
913
+ )
914
+ return decode_response(response, list[GithubRunnerResponse])
915
+
916
+ def create(
917
+ self,
918
+ organization_id: UUID,
919
+ harbor_id: UUID,
920
+ *,
921
+ connection: str,
922
+ name: str,
923
+ scope: GithubRunnerScope,
924
+ egress_mode: GithubRunnerEgressModeDto
925
+ | GithubRunnerEgressModeDtoLiteral
926
+ | None
927
+ | Unset = UNSET,
928
+ extra_egress_fqdns: builtins.list[str] | None | Unset = UNSET,
929
+ flavor: RunnerFlavorDto | None | Unset = UNSET,
930
+ max_runners: int | None | Unset = UNSET,
931
+ min_runners: int | None | Unset = UNSET,
932
+ runner_group: str | None | Unset = UNSET,
933
+ runner_image: str | None | Unset = UNSET,
934
+ runs_on: str | None | Unset = UNSET,
935
+ extra_headers: t.Mapping[str, str] | None = None,
936
+ extra_query: t.Mapping[str, object] | None = None,
937
+ extra_body: t.Mapping[str, object] | None = None,
938
+ timeout: Timeout | Unset = UNSET,
939
+ max_retries: int | None = None,
940
+ ) -> GithubRunnerResponse:
941
+ """Create a `GithubRunner` pool CR for this harbor.
942
+
943
+ Validates that the referenced `GithubConnection` exists before creating the
944
+ CR (fail fast in the UI rather than at reconcile time). Returns 201; 409 if
945
+ a pool with that name already exists.
946
+
947
+ :param connection: Name of the `GithubConnection` holding the credential (as returned by the connections API — the leaf name, not the full secret path).
948
+ :param extra_egress_fqdns: Extra destinations the pool's network policy allows egress to, beyond the built-in GitHub Actions preset. `host` opens 443/TCP; `host:port` opens that port instead (`deb.debian.org:80`, `registry.corp.example:5000`).
949
+ :param max_runners: Ceiling on concurrent runners. Defaults to 3.
950
+ :param min_runners: Warm runners kept idle. Defaults to 0 (scale-to-zero).
951
+ :param name: Pool name — must be a valid DNS-1123 label, at most 45 characters (GitHub's runner scale-set name limit). The value workflows put in `runs-on:` is the registered scale-set name the operator derives from it and reports back as `status.runner_scale_set_name`.
952
+ :param runner_group: GitHub runner group (org scope only). Defaults to GitHub's default group.
953
+ :param runner_image: Runner container image override. Defaults to the platform-pinned `ghcr.io/actions/actions-runner` release.
954
+ :param runs_on: The name this pool registers under with GitHub — **the value workflows put in `runs-on:`**, and the only thing GitHub schedules a job on for a runner scale set. Absent (or empty) keeps the name Hyperfluid derives, `<name>-<digest>`, which is unique across the GitHub org by construction. Setting it trades that for a name you choose (`ubuntu-latest`, `hyperfluid-linux-l`, …); the request is rejected with a 409 if another pool on the same GitHub target and runner group already claims it."""
955
+ response = self._request(
956
+ ApiRequest(
957
+ method="post",
958
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners",
959
+ path_params={
960
+ "organization_id": encode_path_param(
961
+ "organization_id", organization_id, "simple", False
962
+ ),
963
+ "harbor_id": encode_path_param(
964
+ "harbor_id", harbor_id, "simple", False
965
+ ),
966
+ },
967
+ json_body=to_json_value(
968
+ CreateGithubRunnerRequest(
969
+ connection=connection,
970
+ egress_mode=t.cast(
971
+ "GithubRunnerEgressModeDto | None | Unset", egress_mode
972
+ ),
973
+ extra_egress_fqdns=extra_egress_fqdns,
974
+ flavor=flavor,
975
+ max_runners=max_runners,
976
+ min_runners=min_runners,
977
+ name=name,
978
+ runner_group=runner_group,
979
+ runner_image=runner_image,
980
+ runs_on=runs_on,
981
+ scope=scope,
982
+ ),
983
+ CreateGithubRunnerRequest,
984
+ ),
985
+ error_types={
986
+ "default": _models.ApiErrorBody,
987
+ },
988
+ extra_headers=extra_headers,
989
+ extra_query=extra_query,
990
+ extra_body=extra_body,
991
+ timeout=timeout,
992
+ max_retries=max_retries,
993
+ )
994
+ )
995
+ return decode_response(response, GithubRunnerResponse)
996
+
997
+ def retrieve(
998
+ self,
999
+ organization_id: UUID,
1000
+ harbor_id: UUID,
1001
+ name: str,
1002
+ *,
1003
+ extra_headers: t.Mapping[str, str] | None = None,
1004
+ extra_query: t.Mapping[str, object] | None = None,
1005
+ extra_body: t.Mapping[str, object] | None = None,
1006
+ timeout: Timeout | Unset = UNSET,
1007
+ max_retries: int | None = None,
1008
+ ) -> GithubRunnerResponse:
1009
+ """Get a single `GithubRunner` pool CR by name (status polling)."""
1010
+ response = self._request(
1011
+ ApiRequest(
1012
+ method="get",
1013
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
1014
+ path_params={
1015
+ "organization_id": encode_path_param(
1016
+ "organization_id", organization_id, "simple", False
1017
+ ),
1018
+ "harbor_id": encode_path_param(
1019
+ "harbor_id", harbor_id, "simple", False
1020
+ ),
1021
+ "name": name,
1022
+ },
1023
+ error_types={
1024
+ "default": _models.ApiErrorBody,
1025
+ },
1026
+ extra_headers=extra_headers,
1027
+ extra_query=extra_query,
1028
+ extra_body=extra_body,
1029
+ timeout=timeout,
1030
+ max_retries=max_retries,
1031
+ )
1032
+ )
1033
+ return decode_response(response, GithubRunnerResponse)
1034
+
1035
+ def delete(
1036
+ self,
1037
+ organization_id: UUID,
1038
+ harbor_id: UUID,
1039
+ name: str,
1040
+ *,
1041
+ extra_headers: t.Mapping[str, str] | None = None,
1042
+ extra_query: t.Mapping[str, object] | None = None,
1043
+ extra_body: t.Mapping[str, object] | None = None,
1044
+ timeout: Timeout | Unset = UNSET,
1045
+ max_retries: int | None = None,
1046
+ ) -> None:
1047
+ """Delete a `GithubRunner` pool CR by name.
1048
+
1049
+ Idempotent: 204 even when already absent. The operator's finalizer tears
1050
+ down the `AutoscalingRunnerSet` (ARC deregisters the scale set from
1051
+ GitHub), the config secret, and the network policy via ownerReference GC.
1052
+
1053
+ The 204 is held until the CR is observed gone (bounded — see
1054
+ [`DELETE_SETTLE_BUDGET`]). `Api::delete` only *marks* a finalized object,
1055
+ so returning on its acknowledgement made the client's post-delete refetch
1056
+ race the finalizer and re-render the pool it had just deleted."""
1057
+ self._request(
1058
+ ApiRequest(
1059
+ method="delete",
1060
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
1061
+ path_params={
1062
+ "organization_id": encode_path_param(
1063
+ "organization_id", organization_id, "simple", False
1064
+ ),
1065
+ "harbor_id": encode_path_param(
1066
+ "harbor_id", harbor_id, "simple", False
1067
+ ),
1068
+ "name": name,
1069
+ },
1070
+ error_types={
1071
+ "default": _models.ApiErrorBody,
1072
+ },
1073
+ extra_headers=extra_headers,
1074
+ extra_query=extra_query,
1075
+ extra_body=extra_body,
1076
+ timeout=timeout,
1077
+ max_retries=max_retries,
1078
+ )
1079
+ )
1080
+
1081
+ def update(
1082
+ self,
1083
+ organization_id: UUID,
1084
+ harbor_id: UUID,
1085
+ name: str,
1086
+ *,
1087
+ connection: str | None | Unset = UNSET,
1088
+ egress_mode: GithubRunnerEgressModeDto
1089
+ | GithubRunnerEgressModeDtoLiteral
1090
+ | None
1091
+ | Unset = UNSET,
1092
+ extra_egress_fqdns: builtins.list[str] | None | Unset = UNSET,
1093
+ flavor: RunnerFlavorDto | None | Unset = UNSET,
1094
+ max_runners: int | None | Unset = UNSET,
1095
+ min_runners: int | None | Unset = UNSET,
1096
+ runner_group: str | None | Unset = UNSET,
1097
+ runner_image: str | None | Unset = UNSET,
1098
+ runs_on: str | None | Unset = UNSET,
1099
+ scope: GithubRunnerScope | None | Unset = UNSET,
1100
+ extra_headers: t.Mapping[str, str] | None = None,
1101
+ extra_query: t.Mapping[str, object] | None = None,
1102
+ extra_body: t.Mapping[str, object] | None = None,
1103
+ timeout: Timeout | Unset = UNSET,
1104
+ max_retries: int | None = None,
1105
+ ) -> GithubRunnerResponse:
1106
+ """Edit a `GithubRunner` pool in place.
1107
+
1108
+ Exists because the alternative — delete and recreate — deregisters the scale
1109
+ set from GitHub, which drops the `runs-on:` target and interrupts whatever
1110
+ was running. Every field below can change without that happening.
1111
+
1112
+ ## What the operator does with each field
1113
+ - **`min_runners` / `max_runners`** — a live resize. ARC moves the target
1114
+ count on the existing `AutoscalingRunnerSet`; no pod is recreated and no
1115
+ running job is touched.
1116
+ - **`flavor` / `runner_image`** — a template change. The runner pod spec is
1117
+ rewritten, so jobs already executing finish on the old template and the
1118
+ next ones start on the new one. Nothing is killed mid-job.
1119
+ - **`runner_group`** — re-registers the scale set into another GitHub runner
1120
+ group. Brief, and the scale-set name is unchanged, so `runs-on:` keeps
1121
+ working.
1122
+ - **`runs_on`** — deregisters the scale set and registers it again under a
1123
+ new name. The one edit here that workflows can see, and the one with
1124
+ downtime: GitHub will not move a registration's runner label in place, so
1125
+ the `AutoscalingRunnerSet` is deleted and re-applied (its Kubernetes name
1126
+ is unchanged, as is every other object). ARC drains in-flight runners
1127
+ first, so no job is killed, but the pool accepts nothing until the new
1128
+ registration is live, and a workflow still naming the old value queues
1129
+ until it is updated. `""` hands the name back to the derived one.
1130
+ - **`extra_egress_fqdns`** — the pool's network policy is re-rendered. It
1131
+ replaces the previous list wholesale rather than merging into it. Entries
1132
+ are `host` (443/TCP) or `host:port`.
1133
+ - **`egress_mode`** — the pool's network policy is re-rendered, in place and
1134
+ without recreating a pod. Cilium applies the new policy to the live
1135
+ endpoints, so a job already running keeps its established connections and
1136
+ only its *next* connect is judged by the new posture.
1137
+ - **`connection`** — the pool's config secret is re-projected from the new
1138
+ credential. This is the rotation path: swap in a fresh App key or PAT
1139
+ without the scale set ever leaving GitHub.
1140
+
1141
+ `scope` is deliberately not editable; see [`UpdateGithubRunnerRequest`].
1142
+
1143
+ :param connection: Move the pool to a different `GithubConnection` — the leaf name, same value `CreateGithubRunnerRequest.connection` takes. Used to swap in a rotated credential without deregistering the scale set. The new connection must point at the same GitHub host as the current one.
1144
+ :param extra_egress_fqdns: Replacement egress allow-list (it replaces the previous one wholesale, it is not merged entry by entry). Send `[]` to keep only the built-in GitHub Actions preset. Entries are `host` (443/TCP) or `host:port`.
1145
+ :param max_runners: New concurrency ceiling. Live resize, same as `min_runners`.
1146
+ :param min_runners: New warm-runner floor. Live resize — ARC changes the target without recreating pods.
1147
+ :param runner_group: New GitHub runner group (org scope only). Send `""` to fall back to GitHub's default group.
1148
+ :param runner_image: New runner container image. Rolls the runner template, same as `flavor`. Send `""` to go back to the platform-pinned default.
1149
+ :param runs_on: New `runs-on:` name. Send `""` to go back to the name Hyperfluid derives from the pool name. Unlike every other field here this one is **not** transparent to running workflows: the scale set is deregistered and registered again under the new name, so a workflow still saying `runs-on: <old name>` queues until it is edited. It is also the only edit with downtime. GitHub will not move a registration's runner label in place, so the `AutoscalingRunnerSet` is deleted and re-applied (under its unchanged Kubernetes name). ARC drains in-flight runners first — no job is killed — but the pool accepts nothing until the new registration is live. `status.message` names the old value to keep using meanwhile."""
1150
+ response = self._request(
1151
+ ApiRequest(
1152
+ method="patch",
1153
+ path="/api/v1/organizations/{organization_id}/harbors/{harbor_id}/github-runners/{name}",
1154
+ path_params={
1155
+ "organization_id": encode_path_param(
1156
+ "organization_id", organization_id, "simple", False
1157
+ ),
1158
+ "harbor_id": encode_path_param(
1159
+ "harbor_id", harbor_id, "simple", False
1160
+ ),
1161
+ "name": name,
1162
+ },
1163
+ json_body=to_json_value(
1164
+ UpdateGithubRunnerRequest(
1165
+ connection=connection,
1166
+ egress_mode=t.cast(
1167
+ "GithubRunnerEgressModeDto | None | Unset", egress_mode
1168
+ ),
1169
+ extra_egress_fqdns=extra_egress_fqdns,
1170
+ flavor=flavor,
1171
+ max_runners=max_runners,
1172
+ min_runners=min_runners,
1173
+ runner_group=runner_group,
1174
+ runner_image=runner_image,
1175
+ runs_on=runs_on,
1176
+ scope=scope,
1177
+ ),
1178
+ UpdateGithubRunnerRequest,
1179
+ ),
1180
+ error_types={
1181
+ "default": _models.ApiErrorBody,
1182
+ },
1183
+ extra_headers=extra_headers,
1184
+ extra_query=extra_query,
1185
+ extra_body=extra_body,
1186
+ timeout=timeout,
1187
+ max_retries=max_retries,
1188
+ )
1189
+ )
1190
+ return decode_response(response, GithubRunnerResponse)
1191
+
1192
+
1193
+ class GitHubRunnersWithRawResponse:
1194
+ """The methods of :class:`GitHubRunners`, returning an :class:`APIResponse`."""
1195
+
1196
+ def __init__(self, resource: GitHubRunners) -> None:
1197
+ self.list_organization_github_connections = to_raw_response_wrapper(
1198
+ resource.list_organization_github_connections
1199
+ )
1200
+ self.create_organization_github_connection = to_raw_response_wrapper(
1201
+ resource.create_organization_github_connection
1202
+ )
1203
+ self.update_organization_github_connection = to_raw_response_wrapper(
1204
+ resource.update_organization_github_connection
1205
+ )
1206
+ self.delete_organization_github_connection = to_raw_response_wrapper(
1207
+ resource.delete_organization_github_connection
1208
+ )
1209
+ self.list_organization_github_connection_targets = to_raw_response_wrapper(
1210
+ resource.list_organization_github_connection_targets
1211
+ )
1212
+ self.list = to_raw_response_wrapper(resource.list)
1213
+ self.create = to_raw_response_wrapper(resource.create)
1214
+ self.retrieve = to_raw_response_wrapper(resource.retrieve)
1215
+ self.delete = to_raw_response_wrapper(resource.delete)
1216
+ self.update = to_raw_response_wrapper(resource.update)