capo-devops-agent 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 (457) hide show
  1. capo_devops_agent/__init__.py +72 -0
  2. capo_devops_agent/_async.py +25 -0
  3. capo_devops_agent/_auth/_identity.py +16 -0
  4. capo_devops_agent/_auth/_providers.py +886 -0
  5. capo_devops_agent/_auth/_signers.py +88 -0
  6. capo_devops_agent/_auth/_sigv4.py +434 -0
  7. capo_devops_agent/_auth/_zapros_handler.py +80 -0
  8. capo_devops_agent/_iter.py +113 -0
  9. capo_devops_agent/_operations/dev_ops_agent/associate_service.py +192 -0
  10. capo_devops_agent/_operations/dev_ops_agent/create_agent_space.py +189 -0
  11. capo_devops_agent/_operations/dev_ops_agent/create_asset.py +189 -0
  12. capo_devops_agent/_operations/dev_ops_agent/create_asset_file.py +196 -0
  13. capo_devops_agent/_operations/dev_ops_agent/create_backlog_task.py +189 -0
  14. capo_devops_agent/_operations/dev_ops_agent/create_chat.py +195 -0
  15. capo_devops_agent/_operations/dev_ops_agent/create_private_connection.py +188 -0
  16. capo_devops_agent/_operations/dev_ops_agent/delete_agent_space.py +177 -0
  17. capo_devops_agent/_operations/dev_ops_agent/delete_asset.py +178 -0
  18. capo_devops_agent/_operations/dev_ops_agent/delete_asset_file.py +182 -0
  19. capo_devops_agent/_operations/dev_ops_agent/delete_private_connection.py +182 -0
  20. capo_devops_agent/_operations/dev_ops_agent/deregister_service.py +177 -0
  21. capo_devops_agent/_operations/dev_ops_agent/describe_private_connection.py +185 -0
  22. capo_devops_agent/_operations/dev_ops_agent/disable_operator_app.py +168 -0
  23. capo_devops_agent/_operations/dev_ops_agent/disassociate_service.py +181 -0
  24. capo_devops_agent/_operations/dev_ops_agent/enable_operator_app.py +198 -0
  25. capo_devops_agent/_operations/dev_ops_agent/get_account_usage.py +185 -0
  26. capo_devops_agent/_operations/dev_ops_agent/get_agent_space.py +185 -0
  27. capo_devops_agent/_operations/dev_ops_agent/get_asset.py +189 -0
  28. capo_devops_agent/_operations/dev_ops_agent/get_asset_content.py +192 -0
  29. capo_devops_agent/_operations/dev_ops_agent/get_asset_file.py +193 -0
  30. capo_devops_agent/_operations/dev_ops_agent/get_association.py +188 -0
  31. capo_devops_agent/_operations/dev_ops_agent/get_backlog_task.py +189 -0
  32. capo_devops_agent/_operations/dev_ops_agent/get_operator_app.py +188 -0
  33. capo_devops_agent/_operations/dev_ops_agent/get_recommendation.py +188 -0
  34. capo_devops_agent/_operations/dev_ops_agent/get_service.py +185 -0
  35. capo_devops_agent/_operations/dev_ops_agent/list_agent_spaces.py +187 -0
  36. capo_devops_agent/_operations/dev_ops_agent/list_asset_files.py +196 -0
  37. capo_devops_agent/_operations/dev_ops_agent/list_asset_types.py +188 -0
  38. capo_devops_agent/_operations/dev_ops_agent/list_asset_versions.py +190 -0
  39. capo_devops_agent/_operations/dev_ops_agent/list_assets.py +210 -0
  40. capo_devops_agent/_operations/dev_ops_agent/list_associations.py +191 -0
  41. capo_devops_agent/_operations/dev_ops_agent/list_backlog_tasks.py +189 -0
  42. capo_devops_agent/_operations/dev_ops_agent/list_chats.py +190 -0
  43. capo_devops_agent/_operations/dev_ops_agent/list_executions.py +190 -0
  44. capo_devops_agent/_operations/dev_ops_agent/list_goals.py +190 -0
  45. capo_devops_agent/_operations/dev_ops_agent/list_journal_records.py +189 -0
  46. capo_devops_agent/_operations/dev_ops_agent/list_pending_messages.py +188 -0
  47. capo_devops_agent/_operations/dev_ops_agent/list_private_connections.py +184 -0
  48. capo_devops_agent/_operations/dev_ops_agent/list_recommendations.py +191 -0
  49. capo_devops_agent/_operations/dev_ops_agent/list_services.py +197 -0
  50. capo_devops_agent/_operations/dev_ops_agent/list_tags_for_resource.py +186 -0
  51. capo_devops_agent/_operations/dev_ops_agent/list_webhooks.py +188 -0
  52. capo_devops_agent/_operations/dev_ops_agent/register_service.py +203 -0
  53. capo_devops_agent/_operations/dev_ops_agent/send_message.py +201 -0
  54. capo_devops_agent/_operations/dev_ops_agent/tag_resource.py +180 -0
  55. capo_devops_agent/_operations/dev_ops_agent/untag_resource.py +180 -0
  56. capo_devops_agent/_operations/dev_ops_agent/update_agent_space.py +190 -0
  57. capo_devops_agent/_operations/dev_ops_agent/update_asset.py +192 -0
  58. capo_devops_agent/_operations/dev_ops_agent/update_asset_file.py +196 -0
  59. capo_devops_agent/_operations/dev_ops_agent/update_association.py +196 -0
  60. capo_devops_agent/_operations/dev_ops_agent/update_backlog_task.py +190 -0
  61. capo_devops_agent/_operations/dev_ops_agent/update_goal.py +192 -0
  62. capo_devops_agent/_operations/dev_ops_agent/update_operator_app_idp_config.py +188 -0
  63. capo_devops_agent/_operations/dev_ops_agent/update_private_connection_certificate.py +190 -0
  64. capo_devops_agent/_operations/dev_ops_agent/update_recommendation.py +195 -0
  65. capo_devops_agent/_operations/dev_ops_agent/validate_aws_associations.py +180 -0
  66. capo_devops_agent/_pagination.py +21 -0
  67. capo_devops_agent/_protocol/__init__.py +1 -0
  68. capo_devops_agent/_protocol/errors.py +93 -0
  69. capo_devops_agent/_protocol/eventstream.py +238 -0
  70. capo_devops_agent/_protocol/serialize.py +47 -0
  71. capo_devops_agent/_protocol/xml.py +33 -0
  72. capo_devops_agent/_resources/dev_ops_agent/agent_space_resource.py +1149 -0
  73. capo_devops_agent/_resources/dev_ops_agent/private_connection_resource.py +567 -0
  74. capo_devops_agent/_resources/dev_ops_agent/service_resource.py +552 -0
  75. capo_devops_agent/_rule_engine/__init__.py +0 -0
  76. capo_devops_agent/_rule_engine/_aws_partition.py +160 -0
  77. capo_devops_agent/_rule_engine/_endpoint_rule_set.py +65 -0
  78. capo_devops_agent/_rule_engine/_endpoint_runtime.py +389 -0
  79. capo_devops_agent/_services/_aws_config.py +156 -0
  80. capo_devops_agent/_services/_pipeline.py +196 -0
  81. capo_devops_agent/_services/async_dev_ops_agent.py +2498 -0
  82. capo_devops_agent/_services/dev_ops_agent.py +2466 -0
  83. capo_devops_agent/errors/__init__.py +45 -0
  84. capo_devops_agent/errors/_base.py +94 -0
  85. capo_devops_agent/errors/access_denied_exception.py +48 -0
  86. capo_devops_agent/errors/conflict_exception.py +46 -0
  87. capo_devops_agent/errors/content_size_exceeded_exception.py +47 -0
  88. capo_devops_agent/errors/identity_center_service_exception.py +56 -0
  89. capo_devops_agent/errors/internal_server_exception.py +47 -0
  90. capo_devops_agent/errors/invalid_parameter_exception.py +48 -0
  91. capo_devops_agent/errors/resource_not_found_exception.py +48 -0
  92. capo_devops_agent/errors/service_quota_exceeded_exception.py +50 -0
  93. capo_devops_agent/errors/throttling_exception.py +46 -0
  94. capo_devops_agent/errors/validation_exception.py +71 -0
  95. capo_devops_agent/py.typed +0 -0
  96. capo_devops_agent/types/_prelude/blob.py +12 -0
  97. capo_devops_agent/types/_prelude/timestamp.py +17 -0
  98. capo_devops_agent/types/additional_service_details.py +312 -0
  99. capo_devops_agent/types/additional_service_registration_step.py +48 -0
  100. capo_devops_agent/types/agent_space.py +92 -0
  101. capo_devops_agent/types/agent_space_id.py +6 -0
  102. capo_devops_agent/types/agent_space_list.py +29 -0
  103. capo_devops_agent/types/agent_space_name.py +6 -0
  104. capo_devops_agent/types/api_key_value.py +6 -0
  105. capo_devops_agent/types/asset.py +85 -0
  106. capo_devops_agent/types/asset_content.py +65 -0
  107. capo_devops_agent/types/asset_file.py +92 -0
  108. capo_devops_agent/types/asset_file_body.py +53 -0
  109. capo_devops_agent/types/asset_file_bytes.py +16 -0
  110. capo_devops_agent/types/asset_file_content.py +51 -0
  111. capo_devops_agent/types/asset_file_path.py +6 -0
  112. capo_devops_agent/types/asset_file_summary.py +76 -0
  113. capo_devops_agent/types/asset_file_summary_list.py +31 -0
  114. capo_devops_agent/types/asset_file_text.py +6 -0
  115. capo_devops_agent/types/asset_id_list.py +14 -0
  116. capo_devops_agent/types/asset_list.py +29 -0
  117. capo_devops_agent/types/asset_type.py +6 -0
  118. capo_devops_agent/types/asset_type_list.py +31 -0
  119. capo_devops_agent/types/asset_type_summary.py +38 -0
  120. capo_devops_agent/types/asset_version_metadata.py +61 -0
  121. capo_devops_agent/types/asset_version_metadata_list.py +33 -0
  122. capo_devops_agent/types/asset_zip_bytes.py +16 -0
  123. capo_devops_agent/types/asset_zip_content.py +39 -0
  124. capo_devops_agent/types/assistant_message.py +33 -0
  125. capo_devops_agent/types/assistant_message_block.py +39 -0
  126. capo_devops_agent/types/associate_service_input.py +52 -0
  127. capo_devops_agent/types/associate_service_output.py +53 -0
  128. capo_devops_agent/types/association.py +112 -0
  129. capo_devops_agent/types/association_id.py +6 -0
  130. capo_devops_agent/types/associations_list.py +29 -0
  131. capo_devops_agent/types/auth_flow.py +19 -0
  132. capo_devops_agent/types/aws_configuration.py +56 -0
  133. capo_devops_agent/types/azure_configuration.py +26 -0
  134. capo_devops_agent/types/azure_dev_ops_configuration.py +42 -0
  135. capo_devops_agent/types/back_log_timestamp.py +21 -0
  136. capo_devops_agent/types/backlog_task_description.py +6 -0
  137. capo_devops_agent/types/backlog_task_title.py +6 -0
  138. capo_devops_agent/types/certificate_string.py +6 -0
  139. capo_devops_agent/types/chat_execution.py +68 -0
  140. capo_devops_agent/types/chat_execution_id.py +6 -0
  141. capo_devops_agent/types/chat_execution_list.py +31 -0
  142. capo_devops_agent/types/client_id.py +6 -0
  143. capo_devops_agent/types/client_secret.py +6 -0
  144. capo_devops_agent/types/create_agent_space_input.py +69 -0
  145. capo_devops_agent/types/create_agent_space_output.py +49 -0
  146. capo_devops_agent/types/create_asset_file_request.py +60 -0
  147. capo_devops_agent/types/create_asset_file_response.py +35 -0
  148. capo_devops_agent/types/create_asset_request.py +62 -0
  149. capo_devops_agent/types/create_asset_response.py +35 -0
  150. capo_devops_agent/types/create_backlog_task_request.py +94 -0
  151. capo_devops_agent/types/create_backlog_task_response.py +35 -0
  152. capo_devops_agent/types/create_chat_request.py +29 -0
  153. capo_devops_agent/types/create_chat_response.py +48 -0
  154. capo_devops_agent/types/create_private_connection_input.py +58 -0
  155. capo_devops_agent/types/create_private_connection_output.py +158 -0
  156. capo_devops_agent/types/custom_header_name.py +6 -0
  157. capo_devops_agent/types/custom_header_value.py +6 -0
  158. capo_devops_agent/types/custom_headers.py +29 -0
  159. capo_devops_agent/types/datadog_authorization_config.py +48 -0
  160. capo_devops_agent/types/datadog_service_details.py +68 -0
  161. capo_devops_agent/types/date_time.py +20 -0
  162. capo_devops_agent/types/delete_agent_space_input.py +24 -0
  163. capo_devops_agent/types/delete_agent_space_output.py +18 -0
  164. capo_devops_agent/types/delete_asset_file_request.py +30 -0
  165. capo_devops_agent/types/delete_asset_file_response.py +18 -0
  166. capo_devops_agent/types/delete_asset_request.py +27 -0
  167. capo_devops_agent/types/delete_asset_response.py +18 -0
  168. capo_devops_agent/types/delete_private_connection_input.py +24 -0
  169. capo_devops_agent/types/delete_private_connection_output.py +49 -0
  170. capo_devops_agent/types/deregister_service_input.py +24 -0
  171. capo_devops_agent/types/deregister_service_output.py +18 -0
  172. capo_devops_agent/types/describe_private_connection_input.py +24 -0
  173. capo_devops_agent/types/describe_private_connection_output.py +158 -0
  174. capo_devops_agent/types/description.py +6 -0
  175. capo_devops_agent/types/disable_operator_app_input.py +27 -0
  176. capo_devops_agent/types/disassociate_service_input.py +27 -0
  177. capo_devops_agent/types/disassociate_service_output.py +18 -0
  178. capo_devops_agent/types/document_list.py +14 -0
  179. capo_devops_agent/types/dynatrace_configuration.py +51 -0
  180. capo_devops_agent/types/dynatrace_o_auth_client_credentials_config.py +70 -0
  181. capo_devops_agent/types/dynatrace_resource_list.py +14 -0
  182. capo_devops_agent/types/dynatrace_service_authorization_config.py +52 -0
  183. capo_devops_agent/types/dynatrace_service_details.py +51 -0
  184. capo_devops_agent/types/email_address.py +6 -0
  185. capo_devops_agent/types/enable_operator_app_input.py +86 -0
  186. capo_devops_agent/types/enable_operator_app_output.py +88 -0
  187. capo_devops_agent/types/event_channel_configuration.py +18 -0
  188. capo_devops_agent/types/event_channel_details.py +36 -0
  189. capo_devops_agent/types/event_channel_type.py +15 -0
  190. capo_devops_agent/types/exchange_parameter_value.py +6 -0
  191. capo_devops_agent/types/exchange_parameters.py +27 -0
  192. capo_devops_agent/types/execution.py +111 -0
  193. capo_devops_agent/types/execution_list.py +29 -0
  194. capo_devops_agent/types/execution_status.py +21 -0
  195. capo_devops_agent/types/failure_message.py +6 -0
  196. capo_devops_agent/types/generic_webhook.py +62 -0
  197. capo_devops_agent/types/get_account_usage_input.py +18 -0
  198. capo_devops_agent/types/get_account_usage_output.py +143 -0
  199. capo_devops_agent/types/get_agent_space_input.py +24 -0
  200. capo_devops_agent/types/get_agent_space_output.py +49 -0
  201. capo_devops_agent/types/get_asset_content_request.py +29 -0
  202. capo_devops_agent/types/get_asset_content_response.py +46 -0
  203. capo_devops_agent/types/get_asset_file_request.py +32 -0
  204. capo_devops_agent/types/get_asset_file_response.py +35 -0
  205. capo_devops_agent/types/get_asset_request.py +29 -0
  206. capo_devops_agent/types/get_asset_response.py +35 -0
  207. capo_devops_agent/types/get_association_input.py +27 -0
  208. capo_devops_agent/types/get_association_output.py +38 -0
  209. capo_devops_agent/types/get_backlog_task_request.py +27 -0
  210. capo_devops_agent/types/get_backlog_task_response.py +35 -0
  211. capo_devops_agent/types/get_operator_app_input.py +24 -0
  212. capo_devops_agent/types/get_operator_app_output.py +78 -0
  213. capo_devops_agent/types/get_recommendation_request.py +29 -0
  214. capo_devops_agent/types/get_recommendation_response.py +39 -0
  215. capo_devops_agent/types/get_service_input.py +24 -0
  216. capo_devops_agent/types/get_service_output.py +49 -0
  217. capo_devops_agent/types/git_hub_configuration.py +67 -0
  218. capo_devops_agent/types/git_lab_configuration.py +39 -0
  219. capo_devops_agent/types/git_lab_details.py +60 -0
  220. capo_devops_agent/types/git_lab_token_type.py +18 -0
  221. capo_devops_agent/types/github_repo_owner_type.py +18 -0
  222. capo_devops_agent/types/goal.py +181 -0
  223. capo_devops_agent/types/goal_content.py +33 -0
  224. capo_devops_agent/types/goal_list.py +29 -0
  225. capo_devops_agent/types/goal_schedule.py +45 -0
  226. capo_devops_agent/types/goal_schedule_input.py +39 -0
  227. capo_devops_agent/types/goal_status.py +19 -0
  228. capo_devops_agent/types/goal_type.py +18 -0
  229. capo_devops_agent/types/grafana_service_details.py +68 -0
  230. capo_devops_agent/types/guid.py +6 -0
  231. capo_devops_agent/types/iam_auth_configuration.py +62 -0
  232. capo_devops_agent/types/idc_auth_configuration.py +75 -0
  233. capo_devops_agent/types/idp_auth_configuration.py +83 -0
  234. capo_devops_agent/types/idp_client_id.py +6 -0
  235. capo_devops_agent/types/idp_client_secret.py +6 -0
  236. capo_devops_agent/types/ip_address_or_dns_name.py +6 -0
  237. capo_devops_agent/types/ip_address_type.py +19 -0
  238. capo_devops_agent/types/journal_record.py +89 -0
  239. capo_devops_agent/types/journal_record_list.py +31 -0
  240. capo_devops_agent/types/journal_timestamp.py +21 -0
  241. capo_devops_agent/types/kms_key_arn.py +6 -0
  242. capo_devops_agent/types/list_agent_spaces_input.py +26 -0
  243. capo_devops_agent/types/list_agent_spaces_output.py +46 -0
  244. capo_devops_agent/types/list_asset_files_request.py +34 -0
  245. capo_devops_agent/types/list_asset_files_response.py +46 -0
  246. capo_devops_agent/types/list_asset_types_request.py +26 -0
  247. capo_devops_agent/types/list_asset_types_response.py +46 -0
  248. capo_devops_agent/types/list_asset_versions_request.py +32 -0
  249. capo_devops_agent/types/list_asset_versions_response.py +50 -0
  250. capo_devops_agent/types/list_assets_request.py +38 -0
  251. capo_devops_agent/types/list_assets_response.py +44 -0
  252. capo_devops_agent/types/list_associations_input.py +31 -0
  253. capo_devops_agent/types/list_associations_output.py +48 -0
  254. capo_devops_agent/types/list_backlog_tasks_request.py +84 -0
  255. capo_devops_agent/types/list_backlog_tasks_response.py +41 -0
  256. capo_devops_agent/types/list_chats_request.py +30 -0
  257. capo_devops_agent/types/list_chats_response.py +47 -0
  258. capo_devops_agent/types/list_executions_request.py +47 -0
  259. capo_devops_agent/types/list_executions_response.py +45 -0
  260. capo_devops_agent/types/list_goals_request.py +68 -0
  261. capo_devops_agent/types/list_goals_response.py +41 -0
  262. capo_devops_agent/types/list_journal_records_request.py +71 -0
  263. capo_devops_agent/types/list_journal_records_response.py +45 -0
  264. capo_devops_agent/types/list_of_security_group_ids.py +19 -0
  265. capo_devops_agent/types/list_of_subnet_ids.py +17 -0
  266. capo_devops_agent/types/list_pending_messages_request.py +33 -0
  267. capo_devops_agent/types/list_pending_messages_response.py +72 -0
  268. capo_devops_agent/types/list_private_connections_input.py +18 -0
  269. capo_devops_agent/types/list_private_connections_output.py +45 -0
  270. capo_devops_agent/types/list_recommendations_request.py +89 -0
  271. capo_devops_agent/types/list_recommendations_response.py +49 -0
  272. capo_devops_agent/types/list_services_input.py +29 -0
  273. capo_devops_agent/types/list_services_output.py +47 -0
  274. capo_devops_agent/types/list_tags_for_resource_request.py +19 -0
  275. capo_devops_agent/types/list_tags_for_resource_response.py +35 -0
  276. capo_devops_agent/types/list_webhooks_input.py +27 -0
  277. capo_devops_agent/types/list_webhooks_output.py +39 -0
  278. capo_devops_agent/types/locale.py +6 -0
  279. capo_devops_agent/types/max_ipv4_addresses_per_eni.py +6 -0
  280. capo_devops_agent/types/mcp_server_api_key_config.py +45 -0
  281. capo_devops_agent/types/mcp_server_authorization_config.py +138 -0
  282. capo_devops_agent/types/mcp_server_authorization_discovery_config.py +28 -0
  283. capo_devops_agent/types/mcp_server_authorization_method.py +20 -0
  284. capo_devops_agent/types/mcp_server_bearer_token_config.py +45 -0
  285. capo_devops_agent/types/mcp_server_configuration.py +37 -0
  286. capo_devops_agent/types/mcp_server_datadog_configuration.py +18 -0
  287. capo_devops_agent/types/mcp_server_details.py +66 -0
  288. capo_devops_agent/types/mcp_server_endpoint.py +6 -0
  289. capo_devops_agent/types/mcp_server_grafana_configuration.py +51 -0
  290. capo_devops_agent/types/mcp_server_name.py +6 -0
  291. capo_devops_agent/types/mcp_server_new_relic_configuration.py +33 -0
  292. capo_devops_agent/types/mcp_server_o_auth3_lo_config.py +106 -0
  293. capo_devops_agent/types/mcp_server_o_auth_client_credentials_config.py +90 -0
  294. capo_devops_agent/types/mcp_server_sig_v4_authorization_config.py +67 -0
  295. capo_devops_agent/types/mcp_server_sig_v4_configuration.py +37 -0
  296. capo_devops_agent/types/mcp_server_sig_v4_service_details.py +68 -0
  297. capo_devops_agent/types/mcp_server_splunk_configuration.py +18 -0
  298. capo_devops_agent/types/mcp_tools_list.py +14 -0
  299. capo_devops_agent/types/message.py +65 -0
  300. capo_devops_agent/types/message_content.py +6 -0
  301. capo_devops_agent/types/monitor_account_type.py +15 -0
  302. capo_devops_agent/types/new_relic_alert_policy_ids.py +14 -0
  303. capo_devops_agent/types/new_relic_api_key_config.py +117 -0
  304. capo_devops_agent/types/new_relic_application_ids.py +14 -0
  305. capo_devops_agent/types/new_relic_entity_guids.py +14 -0
  306. capo_devops_agent/types/new_relic_region.py +18 -0
  307. capo_devops_agent/types/new_relic_service_authorization_config.py +50 -0
  308. capo_devops_agent/types/new_relic_service_details.py +45 -0
  309. capo_devops_agent/types/next_token.py +6 -0
  310. capo_devops_agent/types/o_auth_additional_step_details.py +28 -0
  311. capo_devops_agent/types/o_auth_scope.py +6 -0
  312. capo_devops_agent/types/operator_app_url.py +6 -0
  313. capo_devops_agent/types/order_type.py +18 -0
  314. capo_devops_agent/types/pager_duty_authorization_config.py +48 -0
  315. capo_devops_agent/types/pager_duty_configuration.py +49 -0
  316. capo_devops_agent/types/pager_duty_details.py +59 -0
  317. capo_devops_agent/types/pager_duty_o_auth_client_credentials_config.py +70 -0
  318. capo_devops_agent/types/pager_duty_scopes.py +14 -0
  319. capo_devops_agent/types/pager_duty_scopes_list.py +14 -0
  320. capo_devops_agent/types/pager_duty_services_list.py +14 -0
  321. capo_devops_agent/types/pending_message.py +44 -0
  322. capo_devops_agent/types/pending_messages.py +31 -0
  323. capo_devops_agent/types/port_range.py +6 -0
  324. capo_devops_agent/types/port_ranges.py +17 -0
  325. capo_devops_agent/types/post_register_service_supported_service.py +28 -0
  326. capo_devops_agent/types/priority.py +21 -0
  327. capo_devops_agent/types/priority_list.py +29 -0
  328. capo_devops_agent/types/private_connection_mode.py +67 -0
  329. capo_devops_agent/types/private_connection_name.py +6 -0
  330. capo_devops_agent/types/private_connection_status.py +21 -0
  331. capo_devops_agent/types/private_connection_summary.py +147 -0
  332. capo_devops_agent/types/private_connection_summary_list.py +35 -0
  333. capo_devops_agent/types/private_connection_type.py +18 -0
  334. capo_devops_agent/types/recommendation.py +181 -0
  335. capo_devops_agent/types/recommendation_content.py +32 -0
  336. capo_devops_agent/types/recommendation_list.py +31 -0
  337. capo_devops_agent/types/recommendation_priority.py +19 -0
  338. capo_devops_agent/types/recommendation_status.py +22 -0
  339. capo_devops_agent/types/reference_input.py +58 -0
  340. capo_devops_agent/types/reference_output.py +53 -0
  341. capo_devops_agent/types/register_service_input.py +101 -0
  342. capo_devops_agent/types/register_service_output.py +67 -0
  343. capo_devops_agent/types/registered_azure_dev_ops_service_details.py +28 -0
  344. capo_devops_agent/types/registered_azure_identity_details.py +70 -0
  345. capo_devops_agent/types/registered_git_lab_service_details.py +52 -0
  346. capo_devops_agent/types/registered_github_service_details.py +54 -0
  347. capo_devops_agent/types/registered_grafana_server_details.py +53 -0
  348. capo_devops_agent/types/registered_mcp_server_details.py +72 -0
  349. capo_devops_agent/types/registered_mcp_server_sig_v4_details.py +89 -0
  350. capo_devops_agent/types/registered_new_relic_details.py +53 -0
  351. capo_devops_agent/types/registered_pager_duty_details.py +39 -0
  352. capo_devops_agent/types/registered_service.py +112 -0
  353. capo_devops_agent/types/registered_service_now_details.py +30 -0
  354. capo_devops_agent/types/registered_services_list.py +31 -0
  355. capo_devops_agent/types/registered_slack_service_details.py +33 -0
  356. capo_devops_agent/types/resource_config_dns_resolution.py +18 -0
  357. capo_devops_agent/types/resource_configuration_arn.py +6 -0
  358. capo_devops_agent/types/resource_gateway_arn.py +6 -0
  359. capo_devops_agent/types/resource_id.py +6 -0
  360. capo_devops_agent/types/role_arn.py +6 -0
  361. capo_devops_agent/types/scheduler_state.py +18 -0
  362. capo_devops_agent/types/scopes.py +17 -0
  363. capo_devops_agent/types/security_group_id.py +6 -0
  364. capo_devops_agent/types/self_managed_input.py +44 -0
  365. capo_devops_agent/types/send_message_content_block_delta.py +69 -0
  366. capo_devops_agent/types/send_message_content_block_delta_event.py +69 -0
  367. capo_devops_agent/types/send_message_content_block_start_event.py +62 -0
  368. capo_devops_agent/types/send_message_content_block_stop_event.py +62 -0
  369. capo_devops_agent/types/send_message_context.py +35 -0
  370. capo_devops_agent/types/send_message_events.py +218 -0
  371. capo_devops_agent/types/send_message_heartbeat_event.py +33 -0
  372. capo_devops_agent/types/send_message_json_delta.py +23 -0
  373. capo_devops_agent/types/send_message_request.py +81 -0
  374. capo_devops_agent/types/send_message_response.py +13 -0
  375. capo_devops_agent/types/send_message_response_completed_event.py +65 -0
  376. capo_devops_agent/types/send_message_response_created_event.py +44 -0
  377. capo_devops_agent/types/send_message_response_failed_event.py +56 -0
  378. capo_devops_agent/types/send_message_response_in_progress_event.py +44 -0
  379. capo_devops_agent/types/send_message_summary_event.py +44 -0
  380. capo_devops_agent/types/send_message_text_delta.py +23 -0
  381. capo_devops_agent/types/send_message_usage_info.py +35 -0
  382. capo_devops_agent/types/service.py +32 -0
  383. capo_devops_agent/types/service_configuration.py +404 -0
  384. capo_devops_agent/types/service_details.py +297 -0
  385. capo_devops_agent/types/service_id.py +6 -0
  386. capo_devops_agent/types/service_managed_input.py +149 -0
  387. capo_devops_agent/types/service_name.py +6 -0
  388. capo_devops_agent/types/service_now_authentication_scope_list.py +14 -0
  389. capo_devops_agent/types/service_now_configuration.py +48 -0
  390. capo_devops_agent/types/service_now_instance_url.py +6 -0
  391. capo_devops_agent/types/service_now_o_auth_client_credentials_config.py +70 -0
  392. capo_devops_agent/types/service_now_service_authorization_config.py +52 -0
  393. capo_devops_agent/types/service_now_service_details.py +54 -0
  394. capo_devops_agent/types/sig_v4_region.py +6 -0
  395. capo_devops_agent/types/slack_channel.py +32 -0
  396. capo_devops_agent/types/slack_configuration.py +59 -0
  397. capo_devops_agent/types/slack_transmission_target.py +55 -0
  398. capo_devops_agent/types/source_account_type.py +15 -0
  399. capo_devops_agent/types/source_aws_configuration.py +62 -0
  400. capo_devops_agent/types/subnet_id.py +6 -0
  401. capo_devops_agent/types/tag_key.py +6 -0
  402. capo_devops_agent/types/tag_key_list.py +17 -0
  403. capo_devops_agent/types/tag_resource_request.py +37 -0
  404. capo_devops_agent/types/tag_resource_response.py +18 -0
  405. capo_devops_agent/types/tag_value.py +6 -0
  406. capo_devops_agent/types/tags.py +29 -0
  407. capo_devops_agent/types/task.py +184 -0
  408. capo_devops_agent/types/task_filter.py +112 -0
  409. capo_devops_agent/types/task_list.py +29 -0
  410. capo_devops_agent/types/task_sort_field.py +18 -0
  411. capo_devops_agent/types/task_sort_order.py +18 -0
  412. capo_devops_agent/types/task_status.py +26 -0
  413. capo_devops_agent/types/task_status_list.py +29 -0
  414. capo_devops_agent/types/task_type.py +18 -0
  415. capo_devops_agent/types/task_type_list.py +29 -0
  416. capo_devops_agent/types/token_value.py +6 -0
  417. capo_devops_agent/types/untag_resource_request.py +26 -0
  418. capo_devops_agent/types/untag_resource_response.py +18 -0
  419. capo_devops_agent/types/update_agent_space_input.py +45 -0
  420. capo_devops_agent/types/update_agent_space_output.py +38 -0
  421. capo_devops_agent/types/update_asset_file_request.py +57 -0
  422. capo_devops_agent/types/update_asset_file_response.py +35 -0
  423. capo_devops_agent/types/update_asset_request.py +54 -0
  424. capo_devops_agent/types/update_asset_response.py +35 -0
  425. capo_devops_agent/types/update_association_input.py +47 -0
  426. capo_devops_agent/types/update_association_output.py +53 -0
  427. capo_devops_agent/types/update_backlog_task_request.py +48 -0
  428. capo_devops_agent/types/update_backlog_task_response.py +35 -0
  429. capo_devops_agent/types/update_goal_request.py +53 -0
  430. capo_devops_agent/types/update_goal_response.py +35 -0
  431. capo_devops_agent/types/update_operator_app_idp_config_input.py +33 -0
  432. capo_devops_agent/types/update_operator_app_idp_config_output.py +48 -0
  433. capo_devops_agent/types/update_private_connection_certificate_input.py +36 -0
  434. capo_devops_agent/types/update_private_connection_certificate_output.py +153 -0
  435. capo_devops_agent/types/update_recommendation_request.py +56 -0
  436. capo_devops_agent/types/update_recommendation_response.py +41 -0
  437. capo_devops_agent/types/usage_metric.py +41 -0
  438. capo_devops_agent/types/user_message.py +31 -0
  439. capo_devops_agent/types/user_message_block.py +37 -0
  440. capo_devops_agent/types/user_reference.py +46 -0
  441. capo_devops_agent/types/user_type.py +19 -0
  442. capo_devops_agent/types/validate_aws_associations_input.py +24 -0
  443. capo_devops_agent/types/validate_aws_associations_output.py +18 -0
  444. capo_devops_agent/types/validation_exception_field.py +33 -0
  445. capo_devops_agent/types/validation_exception_field_list.py +35 -0
  446. capo_devops_agent/types/validation_status.py +19 -0
  447. capo_devops_agent/types/vpc_id.py +6 -0
  448. capo_devops_agent/types/web_identity_token_audience_list.py +14 -0
  449. capo_devops_agent/types/webhook.py +52 -0
  450. capo_devops_agent/types/webhook_secret.py +6 -0
  451. capo_devops_agent/types/webhook_type.py +20 -0
  452. capo_devops_agent/types/webhooks_list.py +29 -0
  453. capo_devops_agent-0.1.0.dist-info/METADATA +101 -0
  454. capo_devops_agent-0.1.0.dist-info/RECORD +457 -0
  455. capo_devops_agent-0.1.0.dist-info/WHEEL +5 -0
  456. capo_devops_agent-0.1.0.dist-info/licenses/LICENSE +21 -0
  457. capo_devops_agent-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,188 @@
1
+ """Generated from Smithy shape ``com.amazonaws.devopsagent#ListWebhooks``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_devops_agent._auth._signers
13
+ import capo_devops_agent._auth._sigv4
14
+ import capo_devops_agent._protocol.eventstream
15
+ import capo_devops_agent.errors.access_denied_exception
16
+ import capo_devops_agent.errors.conflict_exception
17
+ import capo_devops_agent.errors.content_size_exceeded_exception
18
+ import capo_devops_agent.errors.internal_server_exception
19
+ import capo_devops_agent.errors.invalid_parameter_exception
20
+ import capo_devops_agent.errors.resource_not_found_exception
21
+ import capo_devops_agent.errors.service_quota_exceeded_exception
22
+ import capo_devops_agent.errors.throttling_exception
23
+ import capo_devops_agent.errors.validation_exception
24
+ import capo_devops_agent.types.list_webhooks_input
25
+ import capo_devops_agent.types.list_webhooks_output
26
+ import capo_devops_agent.types.webhooks_list
27
+ from capo_devops_agent._protocol.errors import parse_error_metadata_json
28
+ from capo_devops_agent._rule_engine._endpoint_rule_set import EndpointParams, resolve
29
+ from capo_devops_agent._services._pipeline import (
30
+ AsyncOperationOptions,
31
+ OperationOptions,
32
+ )
33
+ from capo_devops_agent.errors import UnknownServiceError
34
+
35
+
36
+ def handle_error(response: zapros.Response) -> Never:
37
+ data = json.loads(response.read())
38
+ code, message = parse_error_metadata_json(response, data)
39
+ match code:
40
+ case "AccessDeniedException":
41
+ raise capo_devops_agent.errors.access_denied_exception.AccessDeniedException.from_json(
42
+ data, message
43
+ )
44
+ case "ConflictException":
45
+ raise capo_devops_agent.errors.conflict_exception.ConflictException.from_json(
46
+ data, message
47
+ )
48
+ case "ContentSizeExceededException":
49
+ raise capo_devops_agent.errors.content_size_exceeded_exception.ContentSizeExceededException.from_json(
50
+ data, message
51
+ )
52
+ case "InternalServerException":
53
+ raise capo_devops_agent.errors.internal_server_exception.InternalServerException.from_json(
54
+ data, message
55
+ )
56
+ case "InvalidParameterException":
57
+ raise capo_devops_agent.errors.invalid_parameter_exception.InvalidParameterException.from_json(
58
+ data, message
59
+ )
60
+ case "ResourceNotFoundException":
61
+ raise capo_devops_agent.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
62
+ data, message
63
+ )
64
+ case "ServiceQuotaExceededException":
65
+ raise capo_devops_agent.errors.service_quota_exceeded_exception.ServiceQuotaExceededException.from_json(
66
+ data, message
67
+ )
68
+ case "ThrottlingException":
69
+ raise capo_devops_agent.errors.throttling_exception.ThrottlingException.from_json(
70
+ data, message
71
+ )
72
+ case "ValidationException":
73
+ raise capo_devops_agent.errors.validation_exception.ValidationException.from_json(
74
+ data, message
75
+ )
76
+ case _:
77
+ raise UnknownServiceError(code=code, message=message, response=response)
78
+
79
+
80
+ def handle_response(
81
+ response: zapros.Response,
82
+ ) -> capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput:
83
+ out: capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput = (
84
+ capo_devops_agent.types.list_webhooks_output.deserialize_json(
85
+ json.loads(response.read())
86
+ )
87
+ )
88
+ return out
89
+
90
+
91
+ async def async_handle_response(
92
+ response: zapros.Response,
93
+ ) -> capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput:
94
+ out: capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput = (
95
+ capo_devops_agent.types.list_webhooks_output.deserialize_json(
96
+ json.loads(await response.aread())
97
+ )
98
+ )
99
+ return out
100
+
101
+
102
+ def get_signer(
103
+ options: AsyncOperationOptions | OperationOptions,
104
+ auth_schemes: list[dict[str, Any]] | None = None,
105
+ ) -> capo_devops_agent._auth._signers.Signer | None:
106
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
107
+ if (
108
+ options.credentials_provider is not None
109
+ and name_to_schema
110
+ and not name_to_schema.keys() & {"sigv4", "sigv4-s3express"}
111
+ ):
112
+ raise RuntimeError(
113
+ "Endpoint requires an unsupported auth scheme: " + ", ".join(name_to_schema)
114
+ )
115
+ if options.credentials_provider is not None:
116
+ endpoint_scheme = name_to_schema.get("sigv4") or name_to_schema.get(
117
+ "sigv4-s3express"
118
+ )
119
+ if endpoint_scheme is not None or not name_to_schema:
120
+ sigv4_config = capo_devops_agent._auth._sigv4.build_sigv4_auth_scheme(
121
+ "aidevops", options.region, endpoint_scheme
122
+ )
123
+ if sigv4_config is not None:
124
+ return capo_devops_agent._auth._signers.SigV4Signer(
125
+ options.credentials_provider, auth_scheme=sigv4_config
126
+ )
127
+ raise RuntimeError("Auth was not resolved")
128
+
129
+
130
+ def build_request(
131
+ options: OperationOptions | AsyncOperationOptions,
132
+ input_: capo_devops_agent.types.list_webhooks_input.ListWebhooksInput,
133
+ ) -> zapros.Request:
134
+ endpoint = resolve(
135
+ EndpointParams(
136
+ UseFIPS=options.use_fips, Endpoint=options.endpoint, Region=options.region
137
+ )
138
+ ) # noqa: F841
139
+ url = (
140
+ endpoint.url.rstrip("/")
141
+ + "/v1/agentspaces/{agentSpaceId}/associations/{associationId}/webhooks/list"
142
+ )
143
+ url = url.replace("{agentSpaceId}", quote(input_["agent_space_id"], safe=""))
144
+ url = url.replace("{associationId}", quote(input_["association_id"], safe=""))
145
+ params: list[tuple[str, str]] = []
146
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
147
+ body: bytes | None = b""
148
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
149
+ normalized_url = zapros.URL(url)
150
+ for k, v in params:
151
+ normalized_url.search_params.append(k, v)
152
+ return zapros.Request(
153
+ normalized_url, "POST", headers=headers, body=body, context={"signer": signer}
154
+ )
155
+
156
+
157
+ def list_webhooks(
158
+ options: OperationOptions,
159
+ input_: capo_devops_agent.types.list_webhooks_input.ListWebhooksInput,
160
+ ) -> tuple[
161
+ capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput, zapros.Response
162
+ ]:
163
+ response = options.client.handler.handle(build_request(options, input_))
164
+ try:
165
+ if response.status >= 300:
166
+ response.read()
167
+ handle_error(response)
168
+ return handle_response(response), response
169
+ except BaseException:
170
+ response.close()
171
+ raise
172
+
173
+
174
+ async def async_list_webhooks(
175
+ options: AsyncOperationOptions,
176
+ input_: capo_devops_agent.types.list_webhooks_input.ListWebhooksInput,
177
+ ) -> tuple[
178
+ capo_devops_agent.types.list_webhooks_output.ListWebhooksOutput, zapros.Response
179
+ ]:
180
+ response = await options.client.handler.ahandle(build_request(options, input_))
181
+ try:
182
+ if response.status >= 300:
183
+ await response.aread()
184
+ handle_error(response)
185
+ return await async_handle_response(response), response
186
+ except BaseException:
187
+ await response.aclose()
188
+ raise
@@ -0,0 +1,203 @@
1
+ """Generated from Smithy shape ``com.amazonaws.devopsagent#RegisterService``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_devops_agent._auth._signers
13
+ import capo_devops_agent._auth._sigv4
14
+ import capo_devops_agent._protocol.eventstream
15
+ import capo_devops_agent.errors.access_denied_exception
16
+ import capo_devops_agent.errors.conflict_exception
17
+ import capo_devops_agent.errors.content_size_exceeded_exception
18
+ import capo_devops_agent.errors.internal_server_exception
19
+ import capo_devops_agent.errors.invalid_parameter_exception
20
+ import capo_devops_agent.errors.resource_not_found_exception
21
+ import capo_devops_agent.errors.service_quota_exceeded_exception
22
+ import capo_devops_agent.errors.throttling_exception
23
+ import capo_devops_agent.errors.validation_exception
24
+ import capo_devops_agent.types.additional_service_registration_step
25
+ import capo_devops_agent.types.post_register_service_supported_service
26
+ import capo_devops_agent.types.register_service_input
27
+ import capo_devops_agent.types.register_service_output
28
+ import capo_devops_agent.types.service_details
29
+ import capo_devops_agent.types.tags
30
+ from capo_devops_agent._protocol.errors import parse_error_metadata_json
31
+ from capo_devops_agent._rule_engine._endpoint_rule_set import EndpointParams, resolve
32
+ from capo_devops_agent._services._pipeline import (
33
+ AsyncOperationOptions,
34
+ OperationOptions,
35
+ )
36
+ from capo_devops_agent.errors import UnknownServiceError
37
+
38
+
39
+ def handle_error(response: zapros.Response) -> Never:
40
+ data = json.loads(response.read())
41
+ code, message = parse_error_metadata_json(response, data)
42
+ match code:
43
+ case "AccessDeniedException":
44
+ raise capo_devops_agent.errors.access_denied_exception.AccessDeniedException.from_json(
45
+ data, message
46
+ )
47
+ case "ConflictException":
48
+ raise capo_devops_agent.errors.conflict_exception.ConflictException.from_json(
49
+ data, message
50
+ )
51
+ case "ContentSizeExceededException":
52
+ raise capo_devops_agent.errors.content_size_exceeded_exception.ContentSizeExceededException.from_json(
53
+ data, message
54
+ )
55
+ case "InternalServerException":
56
+ raise capo_devops_agent.errors.internal_server_exception.InternalServerException.from_json(
57
+ data, message
58
+ )
59
+ case "InvalidParameterException":
60
+ raise capo_devops_agent.errors.invalid_parameter_exception.InvalidParameterException.from_json(
61
+ data, message
62
+ )
63
+ case "ResourceNotFoundException":
64
+ raise capo_devops_agent.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
65
+ data, message
66
+ )
67
+ case "ServiceQuotaExceededException":
68
+ raise capo_devops_agent.errors.service_quota_exceeded_exception.ServiceQuotaExceededException.from_json(
69
+ data, message
70
+ )
71
+ case "ThrottlingException":
72
+ raise capo_devops_agent.errors.throttling_exception.ThrottlingException.from_json(
73
+ data, message
74
+ )
75
+ case "ValidationException":
76
+ raise capo_devops_agent.errors.validation_exception.ValidationException.from_json(
77
+ data, message
78
+ )
79
+ case _:
80
+ raise UnknownServiceError(code=code, message=message, response=response)
81
+
82
+
83
+ def handle_response(
84
+ response: zapros.Response,
85
+ ) -> capo_devops_agent.types.register_service_output.RegisterServiceOutput:
86
+ out: capo_devops_agent.types.register_service_output.RegisterServiceOutput = (
87
+ capo_devops_agent.types.register_service_output.deserialize_json(
88
+ json.loads(response.read())
89
+ )
90
+ )
91
+ return out
92
+
93
+
94
+ async def async_handle_response(
95
+ response: zapros.Response,
96
+ ) -> capo_devops_agent.types.register_service_output.RegisterServiceOutput:
97
+ out: capo_devops_agent.types.register_service_output.RegisterServiceOutput = (
98
+ capo_devops_agent.types.register_service_output.deserialize_json(
99
+ json.loads(await response.aread())
100
+ )
101
+ )
102
+ return out
103
+
104
+
105
+ def get_signer(
106
+ options: AsyncOperationOptions | OperationOptions,
107
+ auth_schemes: list[dict[str, Any]] | None = None,
108
+ ) -> capo_devops_agent._auth._signers.Signer | None:
109
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
110
+ if (
111
+ options.credentials_provider is not None
112
+ and name_to_schema
113
+ and not name_to_schema.keys() & {"sigv4", "sigv4-s3express"}
114
+ ):
115
+ raise RuntimeError(
116
+ "Endpoint requires an unsupported auth scheme: " + ", ".join(name_to_schema)
117
+ )
118
+ if options.credentials_provider is not None:
119
+ endpoint_scheme = name_to_schema.get("sigv4") or name_to_schema.get(
120
+ "sigv4-s3express"
121
+ )
122
+ if endpoint_scheme is not None or not name_to_schema:
123
+ sigv4_config = capo_devops_agent._auth._sigv4.build_sigv4_auth_scheme(
124
+ "aidevops", options.region, endpoint_scheme
125
+ )
126
+ if sigv4_config is not None:
127
+ return capo_devops_agent._auth._signers.SigV4Signer(
128
+ options.credentials_provider, auth_scheme=sigv4_config
129
+ )
130
+ raise RuntimeError("Auth was not resolved")
131
+
132
+
133
+ def build_request(
134
+ options: OperationOptions | AsyncOperationOptions,
135
+ input_: capo_devops_agent.types.register_service_input.RegisterServiceInput,
136
+ ) -> zapros.Request:
137
+ endpoint = resolve(
138
+ EndpointParams(
139
+ UseFIPS=options.use_fips, Endpoint=options.endpoint, Region=options.region
140
+ )
141
+ ) # noqa: F841
142
+ import capo_devops_agent.types.post_register_service_supported_service
143
+
144
+ url = endpoint.url.rstrip("/") + "/v1/register/{service}"
145
+ url = url.replace(
146
+ "{service}",
147
+ quote(
148
+ capo_devops_agent.types.post_register_service_supported_service.serialize_json(
149
+ input_["service"]
150
+ ),
151
+ safe="",
152
+ ),
153
+ )
154
+ params: list[tuple[str, str]] = []
155
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
156
+ body: bytes | None = json.dumps(
157
+ capo_devops_agent.types.register_service_input.serialize_json(input_),
158
+ allow_nan=False,
159
+ ).encode()
160
+ headers["content-type"] = "application/json"
161
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
162
+ normalized_url = zapros.URL(url)
163
+ for k, v in params:
164
+ normalized_url.search_params.append(k, v)
165
+ return zapros.Request(
166
+ normalized_url, "POST", headers=headers, body=body, context={"signer": signer}
167
+ )
168
+
169
+
170
+ def register_service(
171
+ options: OperationOptions,
172
+ input_: capo_devops_agent.types.register_service_input.RegisterServiceInput,
173
+ ) -> tuple[
174
+ capo_devops_agent.types.register_service_output.RegisterServiceOutput,
175
+ zapros.Response,
176
+ ]:
177
+ response = options.client.handler.handle(build_request(options, input_))
178
+ try:
179
+ if response.status >= 300:
180
+ response.read()
181
+ handle_error(response)
182
+ return handle_response(response), response
183
+ except BaseException:
184
+ response.close()
185
+ raise
186
+
187
+
188
+ async def async_register_service(
189
+ options: AsyncOperationOptions,
190
+ input_: capo_devops_agent.types.register_service_input.RegisterServiceInput,
191
+ ) -> tuple[
192
+ capo_devops_agent.types.register_service_output.RegisterServiceOutput,
193
+ zapros.Response,
194
+ ]:
195
+ response = await options.client.handler.ahandle(build_request(options, input_))
196
+ try:
197
+ if response.status >= 300:
198
+ await response.aread()
199
+ handle_error(response)
200
+ return await async_handle_response(response), response
201
+ except BaseException:
202
+ await response.aclose()
203
+ raise
@@ -0,0 +1,201 @@
1
+ """Generated from Smithy shape ``com.amazonaws.devopsagent#SendMessage``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any, cast
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_devops_agent._auth._signers
13
+ import capo_devops_agent._auth._sigv4
14
+ import capo_devops_agent._protocol.eventstream
15
+ import capo_devops_agent.errors.access_denied_exception
16
+ import capo_devops_agent.errors.conflict_exception
17
+ import capo_devops_agent.errors.content_size_exceeded_exception
18
+ import capo_devops_agent.errors.internal_server_exception
19
+ import capo_devops_agent.errors.invalid_parameter_exception
20
+ import capo_devops_agent.errors.resource_not_found_exception
21
+ import capo_devops_agent.errors.service_quota_exceeded_exception
22
+ import capo_devops_agent.errors.throttling_exception
23
+ import capo_devops_agent.errors.validation_exception
24
+ import capo_devops_agent.types.asset_id_list
25
+ import capo_devops_agent.types.send_message_context
26
+ import capo_devops_agent.types.send_message_events
27
+ import capo_devops_agent.types.send_message_request
28
+ import capo_devops_agent.types.send_message_response
29
+ from capo_devops_agent._protocol.errors import parse_error_metadata_json
30
+ from capo_devops_agent._protocol.eventstream import (
31
+ MessageDecoder,
32
+ async_raw_stream_to_events,
33
+ raw_stream_to_events,
34
+ )
35
+ from capo_devops_agent._rule_engine._endpoint_rule_set import EndpointParams, resolve
36
+ from capo_devops_agent._services._pipeline import (
37
+ AsyncOperationOptions,
38
+ OperationOptions,
39
+ )
40
+ from capo_devops_agent.errors import UnknownServiceError
41
+
42
+
43
+ def handle_error(response: zapros.Response) -> Never:
44
+ data = json.loads(response.read())
45
+ code, message = parse_error_metadata_json(response, data)
46
+ match code:
47
+ case "AccessDeniedException":
48
+ raise capo_devops_agent.errors.access_denied_exception.AccessDeniedException.from_json(
49
+ data, message
50
+ )
51
+ case "ConflictException":
52
+ raise capo_devops_agent.errors.conflict_exception.ConflictException.from_json(
53
+ data, message
54
+ )
55
+ case "ContentSizeExceededException":
56
+ raise capo_devops_agent.errors.content_size_exceeded_exception.ContentSizeExceededException.from_json(
57
+ data, message
58
+ )
59
+ case "InternalServerException":
60
+ raise capo_devops_agent.errors.internal_server_exception.InternalServerException.from_json(
61
+ data, message
62
+ )
63
+ case "InvalidParameterException":
64
+ raise capo_devops_agent.errors.invalid_parameter_exception.InvalidParameterException.from_json(
65
+ data, message
66
+ )
67
+ case "ResourceNotFoundException":
68
+ raise capo_devops_agent.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
69
+ data, message
70
+ )
71
+ case "ServiceQuotaExceededException":
72
+ raise capo_devops_agent.errors.service_quota_exceeded_exception.ServiceQuotaExceededException.from_json(
73
+ data, message
74
+ )
75
+ case "ThrottlingException":
76
+ raise capo_devops_agent.errors.throttling_exception.ThrottlingException.from_json(
77
+ data, message
78
+ )
79
+ case "ValidationException":
80
+ raise capo_devops_agent.errors.validation_exception.ValidationException.from_json(
81
+ data, message
82
+ )
83
+ case _:
84
+ raise UnknownServiceError(code=code, message=message, response=response)
85
+
86
+
87
+ def handle_response(
88
+ response: zapros.Response,
89
+ ) -> capo_devops_agent.types.send_message_response.SendMessageResponse:
90
+ _message_decoder = MessageDecoder()
91
+ _union_deser = capo_devops_agent.types.send_message_events.deserialize_event_json
92
+ _iter = cast(Any, response.iter_bytes())
93
+ out: capo_devops_agent.types.send_message_response.SendMessageResponse = {
94
+ "events": cast(Any, raw_stream_to_events(_iter, _message_decoder, _union_deser))
95
+ } # type: ignore[reportAssignmentType]
96
+ return out
97
+
98
+
99
+ async def async_handle_response(
100
+ response: zapros.Response,
101
+ ) -> capo_devops_agent.types.send_message_response.SendMessageResponse:
102
+ _message_decoder = MessageDecoder()
103
+ _union_deser = capo_devops_agent.types.send_message_events.deserialize_event_json
104
+ _iter = cast(Any, response.async_iter_bytes())
105
+ out: capo_devops_agent.types.send_message_response.SendMessageResponse = {
106
+ "events": cast(
107
+ Any, async_raw_stream_to_events(_iter, _message_decoder, _union_deser)
108
+ )
109
+ } # type: ignore[reportAssignmentType]
110
+ return out
111
+
112
+
113
+ def get_signer(
114
+ options: AsyncOperationOptions | OperationOptions,
115
+ auth_schemes: list[dict[str, Any]] | None = None,
116
+ ) -> capo_devops_agent._auth._signers.Signer | None:
117
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
118
+ if (
119
+ options.credentials_provider is not None
120
+ and name_to_schema
121
+ and not name_to_schema.keys() & {"sigv4", "sigv4-s3express"}
122
+ ):
123
+ raise RuntimeError(
124
+ "Endpoint requires an unsupported auth scheme: " + ", ".join(name_to_schema)
125
+ )
126
+ if options.credentials_provider is not None:
127
+ endpoint_scheme = name_to_schema.get("sigv4") or name_to_schema.get(
128
+ "sigv4-s3express"
129
+ )
130
+ if endpoint_scheme is not None or not name_to_schema:
131
+ sigv4_config = capo_devops_agent._auth._sigv4.build_sigv4_auth_scheme(
132
+ "aidevops", options.region, endpoint_scheme
133
+ )
134
+ if sigv4_config is not None:
135
+ return capo_devops_agent._auth._signers.SigV4Signer(
136
+ options.credentials_provider, auth_scheme=sigv4_config
137
+ )
138
+ raise RuntimeError("Auth was not resolved")
139
+
140
+
141
+ def build_request(
142
+ options: OperationOptions | AsyncOperationOptions,
143
+ input_: capo_devops_agent.types.send_message_request.SendMessageRequest,
144
+ ) -> zapros.Request:
145
+ endpoint = resolve(
146
+ EndpointParams(
147
+ UseFIPS=options.use_fips, Endpoint=options.endpoint, Region=options.region
148
+ )
149
+ ) # noqa: F841
150
+ url = (
151
+ endpoint.url.rstrip("/") + "/agents/agent-space/{agentSpaceId}/chat/sendMessage"
152
+ )
153
+ url = url.replace("{agentSpaceId}", quote(input_["agent_space_id"], safe=""))
154
+ params: list[tuple[str, str]] = []
155
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
156
+ body: bytes | None = json.dumps(
157
+ capo_devops_agent.types.send_message_request.serialize_json(input_),
158
+ allow_nan=False,
159
+ ).encode()
160
+ headers["content-type"] = "application/json"
161
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
162
+ normalized_url = zapros.URL(url)
163
+ for k, v in params:
164
+ normalized_url.search_params.append(k, v)
165
+ return zapros.Request(
166
+ normalized_url, "POST", headers=headers, body=body, context={"signer": signer}
167
+ )
168
+
169
+
170
+ def send_message(
171
+ options: OperationOptions,
172
+ input_: capo_devops_agent.types.send_message_request.SendMessageRequest,
173
+ ) -> tuple[
174
+ capo_devops_agent.types.send_message_response.SendMessageResponse, zapros.Response
175
+ ]:
176
+ response = options.client.handler.handle(build_request(options, input_))
177
+ try:
178
+ if response.status >= 300:
179
+ response.read()
180
+ handle_error(response)
181
+ return handle_response(response), response
182
+ except BaseException:
183
+ response.close()
184
+ raise
185
+
186
+
187
+ async def async_send_message(
188
+ options: AsyncOperationOptions,
189
+ input_: capo_devops_agent.types.send_message_request.SendMessageRequest,
190
+ ) -> tuple[
191
+ capo_devops_agent.types.send_message_response.SendMessageResponse, zapros.Response
192
+ ]:
193
+ response = await options.client.handler.ahandle(build_request(options, input_))
194
+ try:
195
+ if response.status >= 300:
196
+ await response.aread()
197
+ handle_error(response)
198
+ return await async_handle_response(response), response
199
+ except BaseException:
200
+ await response.aclose()
201
+ raise