capo-codebuild 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 (419) hide show
  1. capo_codebuild/__init__.py +70 -0
  2. capo_codebuild/_async.py +25 -0
  3. capo_codebuild/_auth/_identity.py +16 -0
  4. capo_codebuild/_auth/_providers.py +886 -0
  5. capo_codebuild/_auth/_signers.py +88 -0
  6. capo_codebuild/_auth/_sigv4.py +434 -0
  7. capo_codebuild/_auth/_zapros_handler.py +80 -0
  8. capo_codebuild/_iter.py +113 -0
  9. capo_codebuild/_operations/code_build_20161006/batch_delete_builds.py +150 -0
  10. capo_codebuild/_operations/code_build_20161006/batch_get_build_batches.py +148 -0
  11. capo_codebuild/_operations/code_build_20161006/batch_get_builds.py +148 -0
  12. capo_codebuild/_operations/code_build_20161006/batch_get_command_executions.py +148 -0
  13. capo_codebuild/_operations/code_build_20161006/batch_get_fleets.py +148 -0
  14. capo_codebuild/_operations/code_build_20161006/batch_get_projects.py +150 -0
  15. capo_codebuild/_operations/code_build_20161006/batch_get_report_groups.py +148 -0
  16. capo_codebuild/_operations/code_build_20161006/batch_get_reports.py +148 -0
  17. capo_codebuild/_operations/code_build_20161006/batch_get_sandboxes.py +150 -0
  18. capo_codebuild/_operations/code_build_20161006/create_fleet.py +161 -0
  19. capo_codebuild/_operations/code_build_20161006/create_project.py +169 -0
  20. capo_codebuild/_operations/code_build_20161006/create_report_group.py +162 -0
  21. capo_codebuild/_operations/code_build_20161006/create_webhook.py +166 -0
  22. capo_codebuild/_operations/code_build_20161006/delete_build_batch.py +150 -0
  23. capo_codebuild/_operations/code_build_20161006/delete_fleet.py +134 -0
  24. capo_codebuild/_operations/code_build_20161006/delete_project.py +138 -0
  25. capo_codebuild/_operations/code_build_20161006/delete_report.py +138 -0
  26. capo_codebuild/_operations/code_build_20161006/delete_report_group.py +140 -0
  27. capo_codebuild/_operations/code_build_20161006/delete_resource_policy.py +142 -0
  28. capo_codebuild/_operations/code_build_20161006/delete_source_credentials.py +155 -0
  29. capo_codebuild/_operations/code_build_20161006/delete_webhook.py +148 -0
  30. capo_codebuild/_operations/code_build_20161006/describe_code_coverages.py +149 -0
  31. capo_codebuild/_operations/code_build_20161006/describe_test_cases.py +155 -0
  32. capo_codebuild/_operations/code_build_20161006/get_report_group_trend.py +154 -0
  33. capo_codebuild/_operations/code_build_20161006/get_resource_policy.py +153 -0
  34. capo_codebuild/_operations/code_build_20161006/import_source_credentials.py +162 -0
  35. capo_codebuild/_operations/code_build_20161006/invalidate_project_cache.py +147 -0
  36. capo_codebuild/_operations/code_build_20161006/list_build_batches.py +151 -0
  37. capo_codebuild/_operations/code_build_20161006/list_build_batches_for_project.py +154 -0
  38. capo_codebuild/_operations/code_build_20161006/list_builds.py +144 -0
  39. capo_codebuild/_operations/code_build_20161006/list_builds_for_project.py +153 -0
  40. capo_codebuild/_operations/code_build_20161006/list_command_executions_for_sandbox.py +153 -0
  41. capo_codebuild/_operations/code_build_20161006/list_curated_environment_images.py +142 -0
  42. capo_codebuild/_operations/code_build_20161006/list_fleets.py +145 -0
  43. capo_codebuild/_operations/code_build_20161006/list_projects.py +149 -0
  44. capo_codebuild/_operations/code_build_20161006/list_report_groups.py +151 -0
  45. capo_codebuild/_operations/code_build_20161006/list_reports.py +145 -0
  46. capo_codebuild/_operations/code_build_20161006/list_reports_for_report_group.py +154 -0
  47. capo_codebuild/_operations/code_build_20161006/list_sandboxes.py +148 -0
  48. capo_codebuild/_operations/code_build_20161006/list_sandboxes_for_project.py +157 -0
  49. capo_codebuild/_operations/code_build_20161006/list_shared_projects.py +151 -0
  50. capo_codebuild/_operations/code_build_20161006/list_shared_report_groups.py +149 -0
  51. capo_codebuild/_operations/code_build_20161006/list_source_credentials.py +147 -0
  52. capo_codebuild/_operations/code_build_20161006/put_resource_policy.py +153 -0
  53. capo_codebuild/_operations/code_build_20161006/retry_build.py +153 -0
  54. capo_codebuild/_operations/code_build_20161006/retry_build_batch.py +153 -0
  55. capo_codebuild/_operations/code_build_20161006/start_build.py +169 -0
  56. capo_codebuild/_operations/code_build_20161006/start_build_batch.py +167 -0
  57. capo_codebuild/_operations/code_build_20161006/start_command_execution.py +153 -0
  58. capo_codebuild/_operations/code_build_20161006/start_sandbox.py +157 -0
  59. capo_codebuild/_operations/code_build_20161006/start_sandbox_connection.py +152 -0
  60. capo_codebuild/_operations/code_build_20161006/stop_build.py +148 -0
  61. capo_codebuild/_operations/code_build_20161006/stop_build_batch.py +152 -0
  62. capo_codebuild/_operations/code_build_20161006/stop_sandbox.py +148 -0
  63. capo_codebuild/_operations/code_build_20161006/update_fleet.py +161 -0
  64. capo_codebuild/_operations/code_build_20161006/update_project.py +164 -0
  65. capo_codebuild/_operations/code_build_20161006/update_project_visibility.py +156 -0
  66. capo_codebuild/_operations/code_build_20161006/update_report_group.py +156 -0
  67. capo_codebuild/_operations/code_build_20161006/update_webhook.py +160 -0
  68. capo_codebuild/_pagination.py +21 -0
  69. capo_codebuild/_protocol/__init__.py +1 -0
  70. capo_codebuild/_protocol/errors.py +93 -0
  71. capo_codebuild/_protocol/eventstream.py +238 -0
  72. capo_codebuild/_protocol/serialize.py +47 -0
  73. capo_codebuild/_protocol/xml.py +33 -0
  74. capo_codebuild/_rule_engine/__init__.py +0 -0
  75. capo_codebuild/_rule_engine/_aws_partition.py +160 -0
  76. capo_codebuild/_rule_engine/_endpoint_rule_set.py +136 -0
  77. capo_codebuild/_rule_engine/_endpoint_runtime.py +389 -0
  78. capo_codebuild/_services/_aws_config.py +160 -0
  79. capo_codebuild/_services/_pipeline.py +198 -0
  80. capo_codebuild/_services/async_code_build.py +4509 -0
  81. capo_codebuild/_services/code_build.py +4450 -0
  82. capo_codebuild/errors/__init__.py +37 -0
  83. capo_codebuild/errors/_base.py +94 -0
  84. capo_codebuild/errors/account_limit_exceeded_exception.py +53 -0
  85. capo_codebuild/errors/account_suspended_exception.py +51 -0
  86. capo_codebuild/errors/invalid_input_exception.py +51 -0
  87. capo_codebuild/errors/o_auth_provider_exception.py +51 -0
  88. capo_codebuild/errors/resource_already_exists_exception.py +53 -0
  89. capo_codebuild/errors/resource_not_found_exception.py +51 -0
  90. capo_codebuild/py.typed +0 -0
  91. capo_codebuild/types/_prelude/blob.py +12 -0
  92. capo_codebuild/types/_prelude/timestamp.py +17 -0
  93. capo_codebuild/types/artifact_namespace.py +17 -0
  94. capo_codebuild/types/artifact_packaging.py +17 -0
  95. capo_codebuild/types/artifacts_type.py +18 -0
  96. capo_codebuild/types/auth_type.py +20 -0
  97. capo_codebuild/types/auto_retry_config.py +47 -0
  98. capo_codebuild/types/batch_delete_builds_input.py +37 -0
  99. capo_codebuild/types/batch_delete_builds_output.py +57 -0
  100. capo_codebuild/types/batch_get_build_batches_input.py +39 -0
  101. capo_codebuild/types/batch_get_build_batches_output.py +59 -0
  102. capo_codebuild/types/batch_get_builds_input.py +37 -0
  103. capo_codebuild/types/batch_get_builds_output.py +53 -0
  104. capo_codebuild/types/batch_get_command_executions_input.py +55 -0
  105. capo_codebuild/types/batch_get_command_executions_output.py +63 -0
  106. capo_codebuild/types/batch_get_fleets_input.py +39 -0
  107. capo_codebuild/types/batch_get_fleets_output.py +53 -0
  108. capo_codebuild/types/batch_get_projects_input.py +39 -0
  109. capo_codebuild/types/batch_get_projects_output.py +55 -0
  110. capo_codebuild/types/batch_get_report_groups_input.py +45 -0
  111. capo_codebuild/types/batch_get_report_groups_output.py +59 -0
  112. capo_codebuild/types/batch_get_reports_input.py +39 -0
  113. capo_codebuild/types/batch_get_reports_output.py +55 -0
  114. capo_codebuild/types/batch_get_sandboxes_input.py +37 -0
  115. capo_codebuild/types/batch_get_sandboxes_output.py +55 -0
  116. capo_codebuild/types/batch_report_mode_type.py +17 -0
  117. capo_codebuild/types/batch_restrictions.py +68 -0
  118. capo_codebuild/types/boolean.py +5 -0
  119. capo_codebuild/types/bucket_owner_access.py +19 -0
  120. capo_codebuild/types/build.py +455 -0
  121. capo_codebuild/types/build_artifacts.py +83 -0
  122. capo_codebuild/types/build_artifacts_list.py +31 -0
  123. capo_codebuild/types/build_batch.py +416 -0
  124. capo_codebuild/types/build_batch_filter.py +36 -0
  125. capo_codebuild/types/build_batch_ids.py +17 -0
  126. capo_codebuild/types/build_batch_phase.py +108 -0
  127. capo_codebuild/types/build_batch_phase_type.py +22 -0
  128. capo_codebuild/types/build_batch_phases.py +33 -0
  129. capo_codebuild/types/build_batches.py +29 -0
  130. capo_codebuild/types/build_group.py +93 -0
  131. capo_codebuild/types/build_groups.py +29 -0
  132. capo_codebuild/types/build_ids.py +17 -0
  133. capo_codebuild/types/build_not_deleted.py +35 -0
  134. capo_codebuild/types/build_phase.py +104 -0
  135. capo_codebuild/types/build_phase_type.py +26 -0
  136. capo_codebuild/types/build_phases.py +29 -0
  137. capo_codebuild/types/build_report_arns.py +17 -0
  138. capo_codebuild/types/build_status_config.py +34 -0
  139. capo_codebuild/types/build_summaries.py +29 -0
  140. capo_codebuild/types/build_summary.py +100 -0
  141. capo_codebuild/types/build_time_out.py +5 -0
  142. capo_codebuild/types/builds.py +29 -0
  143. capo_codebuild/types/builds_not_deleted.py +33 -0
  144. capo_codebuild/types/cache_mode.py +18 -0
  145. capo_codebuild/types/cache_type.py +18 -0
  146. capo_codebuild/types/cloud_watch_logs_config.py +54 -0
  147. capo_codebuild/types/code_coverage.py +114 -0
  148. capo_codebuild/types/code_coverage_report_summary.py +80 -0
  149. capo_codebuild/types/code_coverages.py +29 -0
  150. capo_codebuild/types/command_execution.py +149 -0
  151. capo_codebuild/types/command_execution_ids.py +19 -0
  152. capo_codebuild/types/command_executions.py +33 -0
  153. capo_codebuild/types/command_type.py +14 -0
  154. capo_codebuild/types/compute_configuration.py +64 -0
  155. capo_codebuild/types/compute_type.py +27 -0
  156. capo_codebuild/types/compute_types_allowed.py +19 -0
  157. capo_codebuild/types/create_fleet_input.py +205 -0
  158. capo_codebuild/types/create_fleet_output.py +34 -0
  159. capo_codebuild/types/create_project_input.py +314 -0
  160. capo_codebuild/types/create_project_output.py +36 -0
  161. capo_codebuild/types/create_report_group_input.py +80 -0
  162. capo_codebuild/types/create_report_group_output.py +38 -0
  163. capo_codebuild/types/create_webhook_input.py +123 -0
  164. capo_codebuild/types/create_webhook_output.py +36 -0
  165. capo_codebuild/types/credential_provider_type.py +14 -0
  166. capo_codebuild/types/debug_session.py +35 -0
  167. capo_codebuild/types/delete_build_batch_input.py +31 -0
  168. capo_codebuild/types/delete_build_batch_output.py +64 -0
  169. capo_codebuild/types/delete_fleet_input.py +31 -0
  170. capo_codebuild/types/delete_fleet_output.py +18 -0
  171. capo_codebuild/types/delete_project_input.py +31 -0
  172. capo_codebuild/types/delete_project_output.py +18 -0
  173. capo_codebuild/types/delete_report_group_input.py +39 -0
  174. capo_codebuild/types/delete_report_group_output.py +18 -0
  175. capo_codebuild/types/delete_report_input.py +31 -0
  176. capo_codebuild/types/delete_report_output.py +18 -0
  177. capo_codebuild/types/delete_resource_policy_input.py +31 -0
  178. capo_codebuild/types/delete_resource_policy_output.py +18 -0
  179. capo_codebuild/types/delete_source_credentials_input.py +31 -0
  180. capo_codebuild/types/delete_source_credentials_output.py +28 -0
  181. capo_codebuild/types/delete_webhook_input.py +31 -0
  182. capo_codebuild/types/delete_webhook_output.py +18 -0
  183. capo_codebuild/types/describe_code_coverages_input.py +118 -0
  184. capo_codebuild/types/describe_code_coverages_output.py +47 -0
  185. capo_codebuild/types/describe_test_cases_input.py +59 -0
  186. capo_codebuild/types/describe_test_cases_output.py +43 -0
  187. capo_codebuild/types/docker_server.py +81 -0
  188. capo_codebuild/types/docker_server_status.py +34 -0
  189. capo_codebuild/types/environment_image.py +49 -0
  190. capo_codebuild/types/environment_images.py +33 -0
  191. capo_codebuild/types/environment_language.py +53 -0
  192. capo_codebuild/types/environment_languages.py +35 -0
  193. capo_codebuild/types/environment_platform.py +57 -0
  194. capo_codebuild/types/environment_platforms.py +35 -0
  195. capo_codebuild/types/environment_type.py +27 -0
  196. capo_codebuild/types/environment_variable.py +60 -0
  197. capo_codebuild/types/environment_variable_type.py +18 -0
  198. capo_codebuild/types/environment_variables.py +35 -0
  199. capo_codebuild/types/exported_environment_variable.py +35 -0
  200. capo_codebuild/types/exported_environment_variables.py +39 -0
  201. capo_codebuild/types/file_system_type.py +14 -0
  202. capo_codebuild/types/filter_group.py +29 -0
  203. capo_codebuild/types/filter_groups.py +29 -0
  204. capo_codebuild/types/fleet.py +257 -0
  205. capo_codebuild/types/fleet_arns.py +17 -0
  206. capo_codebuild/types/fleet_capacity.py +5 -0
  207. capo_codebuild/types/fleet_context_code.py +20 -0
  208. capo_codebuild/types/fleet_name.py +5 -0
  209. capo_codebuild/types/fleet_names.py +17 -0
  210. capo_codebuild/types/fleet_overflow_behavior.py +17 -0
  211. capo_codebuild/types/fleet_proxy_rule.py +81 -0
  212. capo_codebuild/types/fleet_proxy_rule_behavior.py +17 -0
  213. capo_codebuild/types/fleet_proxy_rule_effect_type.py +17 -0
  214. capo_codebuild/types/fleet_proxy_rule_entities.py +17 -0
  215. capo_codebuild/types/fleet_proxy_rule_type.py +17 -0
  216. capo_codebuild/types/fleet_proxy_rules.py +31 -0
  217. capo_codebuild/types/fleet_scaling_metric_type.py +14 -0
  218. capo_codebuild/types/fleet_scaling_type.py +14 -0
  219. capo_codebuild/types/fleet_sort_by_type.py +18 -0
  220. capo_codebuild/types/fleet_status.py +64 -0
  221. capo_codebuild/types/fleet_status_code.py +23 -0
  222. capo_codebuild/types/fleets.py +29 -0
  223. capo_codebuild/types/fleets_allowed.py +17 -0
  224. capo_codebuild/types/get_report_group_trend_input.py +60 -0
  225. capo_codebuild/types/get_report_group_trend_output.py +63 -0
  226. capo_codebuild/types/get_resource_policy_input.py +31 -0
  227. capo_codebuild/types/get_resource_policy_output.py +28 -0
  228. capo_codebuild/types/git_clone_depth.py +5 -0
  229. capo_codebuild/types/git_submodules_config.py +31 -0
  230. capo_codebuild/types/identifiers.py +17 -0
  231. capo_codebuild/types/image_pull_credentials_type.py +17 -0
  232. capo_codebuild/types/image_versions.py +17 -0
  233. capo_codebuild/types/import_source_credentials_input.py +77 -0
  234. capo_codebuild/types/import_source_credentials_output.py +28 -0
  235. capo_codebuild/types/invalidate_project_cache_input.py +31 -0
  236. capo_codebuild/types/invalidate_project_cache_output.py +18 -0
  237. capo_codebuild/types/key_input.py +5 -0
  238. capo_codebuild/types/language_type.py +25 -0
  239. capo_codebuild/types/list_build_batches_for_project_input.py +76 -0
  240. capo_codebuild/types/list_build_batches_for_project_output.py +43 -0
  241. capo_codebuild/types/list_build_batches_input.py +69 -0
  242. capo_codebuild/types/list_build_batches_output.py +43 -0
  243. capo_codebuild/types/list_builds_for_project_input.py +55 -0
  244. capo_codebuild/types/list_builds_for_project_output.py +41 -0
  245. capo_codebuild/types/list_builds_input.py +45 -0
  246. capo_codebuild/types/list_builds_output.py +41 -0
  247. capo_codebuild/types/list_command_executions_for_sandbox_input.py +64 -0
  248. capo_codebuild/types/list_command_executions_for_sandbox_output.py +49 -0
  249. capo_codebuild/types/list_curated_environment_images_input.py +18 -0
  250. capo_codebuild/types/list_curated_environment_images_output.py +42 -0
  251. capo_codebuild/types/list_fleets_input.py +69 -0
  252. capo_codebuild/types/list_fleets_output.py +43 -0
  253. capo_codebuild/types/list_projects_input.py +64 -0
  254. capo_codebuild/types/list_projects_output.py +43 -0
  255. capo_codebuild/types/list_report_groups_input.py +73 -0
  256. capo_codebuild/types/list_report_groups_output.py +47 -0
  257. capo_codebuild/types/list_reports_for_report_group_input.py +78 -0
  258. capo_codebuild/types/list_reports_for_report_group_output.py +43 -0
  259. capo_codebuild/types/list_reports_input.py +67 -0
  260. capo_codebuild/types/list_reports_output.py +43 -0
  261. capo_codebuild/types/list_sandboxes_for_project_input.py +62 -0
  262. capo_codebuild/types/list_sandboxes_for_project_output.py +43 -0
  263. capo_codebuild/types/list_sandboxes_input.py +52 -0
  264. capo_codebuild/types/list_sandboxes_output.py +43 -0
  265. capo_codebuild/types/list_shared_projects_input.py +73 -0
  266. capo_codebuild/types/list_shared_projects_output.py +43 -0
  267. capo_codebuild/types/list_shared_report_groups_input.py +73 -0
  268. capo_codebuild/types/list_shared_report_groups_output.py +47 -0
  269. capo_codebuild/types/list_source_credentials_input.py +18 -0
  270. capo_codebuild/types/list_source_credentials_output.py +42 -0
  271. capo_codebuild/types/logs_config.py +57 -0
  272. capo_codebuild/types/logs_config_status_type.py +17 -0
  273. capo_codebuild/types/logs_location.py +94 -0
  274. capo_codebuild/types/machine_type.py +17 -0
  275. capo_codebuild/types/network_interface.py +36 -0
  276. capo_codebuild/types/non_empty_string.py +5 -0
  277. capo_codebuild/types/non_negative_int.py +5 -0
  278. capo_codebuild/types/page_size.py +5 -0
  279. capo_codebuild/types/percentage.py +5 -0
  280. capo_codebuild/types/phase_context.py +34 -0
  281. capo_codebuild/types/phase_contexts.py +29 -0
  282. capo_codebuild/types/platform_type.py +19 -0
  283. capo_codebuild/types/project.py +405 -0
  284. capo_codebuild/types/project_arns.py +17 -0
  285. capo_codebuild/types/project_artifacts.py +141 -0
  286. capo_codebuild/types/project_artifacts_list.py +33 -0
  287. capo_codebuild/types/project_badge.py +36 -0
  288. capo_codebuild/types/project_build_batch_config.py +86 -0
  289. capo_codebuild/types/project_cache.py +67 -0
  290. capo_codebuild/types/project_cache_modes.py +29 -0
  291. capo_codebuild/types/project_description.py +5 -0
  292. capo_codebuild/types/project_environment.py +195 -0
  293. capo_codebuild/types/project_file_system_location.py +61 -0
  294. capo_codebuild/types/project_file_system_locations.py +39 -0
  295. capo_codebuild/types/project_fleet.py +28 -0
  296. capo_codebuild/types/project_name.py +5 -0
  297. capo_codebuild/types/project_names.py +17 -0
  298. capo_codebuild/types/project_secondary_source_versions.py +35 -0
  299. capo_codebuild/types/project_sort_by_type.py +18 -0
  300. capo_codebuild/types/project_source.py +135 -0
  301. capo_codebuild/types/project_source_version.py +38 -0
  302. capo_codebuild/types/project_sources.py +29 -0
  303. capo_codebuild/types/project_visibility_type.py +18 -0
  304. capo_codebuild/types/projects.py +29 -0
  305. capo_codebuild/types/proxy_configuration.py +63 -0
  306. capo_codebuild/types/pull_request_build_approver_role.py +29 -0
  307. capo_codebuild/types/pull_request_build_approver_roles.py +39 -0
  308. capo_codebuild/types/pull_request_build_comment_approval.py +18 -0
  309. capo_codebuild/types/pull_request_build_policy.py +66 -0
  310. capo_codebuild/types/put_resource_policy_input.py +38 -0
  311. capo_codebuild/types/put_resource_policy_output.py +28 -0
  312. capo_codebuild/types/registry_credential.py +53 -0
  313. capo_codebuild/types/report.py +180 -0
  314. capo_codebuild/types/report_arns.py +17 -0
  315. capo_codebuild/types/report_code_coverage_sort_by_type.py +17 -0
  316. capo_codebuild/types/report_export_config.py +63 -0
  317. capo_codebuild/types/report_export_config_type.py +17 -0
  318. capo_codebuild/types/report_filter.py +38 -0
  319. capo_codebuild/types/report_group.py +136 -0
  320. capo_codebuild/types/report_group_arns.py +19 -0
  321. capo_codebuild/types/report_group_name.py +5 -0
  322. capo_codebuild/types/report_group_sort_by_type.py +18 -0
  323. capo_codebuild/types/report_group_status_type.py +17 -0
  324. capo_codebuild/types/report_group_trend_field_type.py +24 -0
  325. capo_codebuild/types/report_group_trend_raw_data_list.py +35 -0
  326. capo_codebuild/types/report_group_trend_stats.py +40 -0
  327. capo_codebuild/types/report_groups.py +29 -0
  328. capo_codebuild/types/report_packaging_type.py +17 -0
  329. capo_codebuild/types/report_status_counts.py +28 -0
  330. capo_codebuild/types/report_status_type.py +20 -0
  331. capo_codebuild/types/report_type.py +17 -0
  332. capo_codebuild/types/report_with_raw_data.py +35 -0
  333. capo_codebuild/types/reports.py +29 -0
  334. capo_codebuild/types/resolved_artifact.py +49 -0
  335. capo_codebuild/types/resolved_secondary_artifacts.py +33 -0
  336. capo_codebuild/types/retry_build_batch_input.py +56 -0
  337. capo_codebuild/types/retry_build_batch_output.py +35 -0
  338. capo_codebuild/types/retry_build_batch_type.py +17 -0
  339. capo_codebuild/types/retry_build_input.py +35 -0
  340. capo_codebuild/types/retry_build_output.py +33 -0
  341. capo_codebuild/types/s3_logs_config.py +77 -0
  342. capo_codebuild/types/s3_report_export_config.py +77 -0
  343. capo_codebuild/types/sandbox.py +267 -0
  344. capo_codebuild/types/sandbox_ids.py +17 -0
  345. capo_codebuild/types/sandbox_session.py +133 -0
  346. capo_codebuild/types/sandbox_session_phase.py +94 -0
  347. capo_codebuild/types/sandbox_session_phases.py +35 -0
  348. capo_codebuild/types/sandboxes.py +29 -0
  349. capo_codebuild/types/scaling_configuration_input.py +70 -0
  350. capo_codebuild/types/scaling_configuration_output.py +76 -0
  351. capo_codebuild/types/scope_configuration.py +53 -0
  352. capo_codebuild/types/security_group_ids.py +19 -0
  353. capo_codebuild/types/sensitive_non_empty_string.py +5 -0
  354. capo_codebuild/types/sensitive_string.py +5 -0
  355. capo_codebuild/types/server_type.py +20 -0
  356. capo_codebuild/types/shared_resource_sort_by_type.py +17 -0
  357. capo_codebuild/types/sort_order_type.py +17 -0
  358. capo_codebuild/types/source_auth.py +46 -0
  359. capo_codebuild/types/source_auth_type.py +18 -0
  360. capo_codebuild/types/source_credentials_info.py +65 -0
  361. capo_codebuild/types/source_credentials_infos.py +35 -0
  362. capo_codebuild/types/source_type.py +24 -0
  363. capo_codebuild/types/ssm_session.py +40 -0
  364. capo_codebuild/types/start_build_batch_input.py +459 -0
  365. capo_codebuild/types/start_build_batch_output.py +36 -0
  366. capo_codebuild/types/start_build_input.py +481 -0
  367. capo_codebuild/types/start_build_output.py +34 -0
  368. capo_codebuild/types/start_command_execution_input.py +54 -0
  369. capo_codebuild/types/start_command_execution_output.py +42 -0
  370. capo_codebuild/types/start_sandbox_connection_input.py +31 -0
  371. capo_codebuild/types/start_sandbox_connection_output.py +36 -0
  372. capo_codebuild/types/start_sandbox_input.py +37 -0
  373. capo_codebuild/types/start_sandbox_output.py +36 -0
  374. capo_codebuild/types/status_type.py +21 -0
  375. capo_codebuild/types/stop_build_batch_input.py +31 -0
  376. capo_codebuild/types/stop_build_batch_output.py +35 -0
  377. capo_codebuild/types/stop_build_input.py +31 -0
  378. capo_codebuild/types/stop_build_output.py +34 -0
  379. capo_codebuild/types/stop_sandbox_input.py +31 -0
  380. capo_codebuild/types/stop_sandbox_output.py +36 -0
  381. capo_codebuild/types/string.py +5 -0
  382. capo_codebuild/types/subnets.py +17 -0
  383. capo_codebuild/types/tag.py +35 -0
  384. capo_codebuild/types/tag_list.py +29 -0
  385. capo_codebuild/types/target_tracking_scaling_configuration.py +57 -0
  386. capo_codebuild/types/target_tracking_scaling_configurations.py +39 -0
  387. capo_codebuild/types/test_case.py +89 -0
  388. capo_codebuild/types/test_case_filter.py +34 -0
  389. capo_codebuild/types/test_cases.py +29 -0
  390. capo_codebuild/types/test_report_summary.py +61 -0
  391. capo_codebuild/types/time_out.py +5 -0
  392. capo_codebuild/types/timestamp.py +20 -0
  393. capo_codebuild/types/update_fleet_input.py +203 -0
  394. capo_codebuild/types/update_fleet_output.py +34 -0
  395. capo_codebuild/types/update_project_input.py +312 -0
  396. capo_codebuild/types/update_project_output.py +36 -0
  397. capo_codebuild/types/update_project_visibility_input.py +62 -0
  398. capo_codebuild/types/update_project_visibility_output.py +56 -0
  399. capo_codebuild/types/update_report_group_input.py +67 -0
  400. capo_codebuild/types/update_report_group_output.py +38 -0
  401. capo_codebuild/types/update_webhook_input.py +103 -0
  402. capo_codebuild/types/update_webhook_output.py +36 -0
  403. capo_codebuild/types/value_input.py +5 -0
  404. capo_codebuild/types/vpc_config.py +64 -0
  405. capo_codebuild/types/webhook.py +171 -0
  406. capo_codebuild/types/webhook_build_type.py +18 -0
  407. capo_codebuild/types/webhook_filter.py +56 -0
  408. capo_codebuild/types/webhook_filter_type.py +26 -0
  409. capo_codebuild/types/webhook_scope_type.py +18 -0
  410. capo_codebuild/types/webhook_status.py +19 -0
  411. capo_codebuild/types/wrapper_boolean.py +5 -0
  412. capo_codebuild/types/wrapper_double.py +5 -0
  413. capo_codebuild/types/wrapper_int.py +5 -0
  414. capo_codebuild/types/wrapper_long.py +5 -0
  415. capo_codebuild-0.1.0.dist-info/METADATA +101 -0
  416. capo_codebuild-0.1.0.dist-info/RECORD +419 -0
  417. capo_codebuild-0.1.0.dist-info/WHEEL +5 -0
  418. capo_codebuild-0.1.0.dist-info/licenses/LICENSE +21 -0
  419. capo_codebuild-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,198 @@
1
+ from __future__ import annotations
2
+
3
+ import random
4
+ import time
5
+ from collections.abc import Sequence
6
+ from dataclasses import dataclass
7
+ from typing import TYPE_CHECKING, Awaitable, Callable, Generic, TypeVar
8
+
9
+ from zapros import (
10
+ AsyncClient,
11
+ Client,
12
+ ConnectionError,
13
+ Response,
14
+ SSLError,
15
+ TimeoutError,
16
+ )
17
+
18
+ from capo_codebuild._async import anysleep
19
+ from capo_codebuild.errors import ServiceError
20
+
21
+ if TYPE_CHECKING:
22
+ from capo_codebuild._auth._identity import Credentials
23
+ from capo_codebuild._auth._providers import IdentityProvider
24
+
25
+ TInput = TypeVar("TInput")
26
+ TOutput = TypeVar("TOutput")
27
+
28
+
29
+ @dataclass
30
+ class OperationOptions:
31
+ client: Client
32
+ use_dual_stack: bool | None = None
33
+ use_fips: bool | None = None
34
+ region: str | None = None
35
+ endpoint: str | None = None
36
+ retry_max_attempts: int | None = None
37
+ credentials_provider: IdentityProvider[Credentials] | None = None
38
+
39
+
40
+ @dataclass
41
+ class AsyncOperationOptions:
42
+ client: AsyncClient
43
+ use_dual_stack: bool | None = None
44
+ use_fips: bool | None = None
45
+ region: str | None = None
46
+ endpoint: str | None = None
47
+ retry_max_attempts: int | None = None
48
+ credentials_provider: IdentityProvider[Credentials] | None = None
49
+
50
+
51
+ @dataclass
52
+ class OperationRequest(Generic[TInput]):
53
+ input: TInput
54
+ options: OperationOptions
55
+
56
+
57
+ @dataclass
58
+ class AsyncOperationRequest(Generic[TInput]):
59
+ input: TInput
60
+ options: AsyncOperationOptions
61
+
62
+
63
+ @dataclass
64
+ class OperationResponse(Generic[TOutput]):
65
+ output: TOutput
66
+ response: Response
67
+
68
+
69
+ @dataclass
70
+ class AsyncOperationResponse(Generic[TOutput]):
71
+ output: TOutput
72
+ response: Response
73
+
74
+
75
+ NextFn = Callable[
76
+ [OperationRequest[TInput]],
77
+ OperationResponse[TOutput],
78
+ ]
79
+
80
+ AsyncNextFn = Callable[
81
+ [AsyncOperationRequest[TInput]],
82
+ Awaitable[AsyncOperationResponse[TOutput]],
83
+ ]
84
+
85
+ Interceptor = Callable[
86
+ [OperationRequest[TInput], NextFn[TInput, TOutput]],
87
+ OperationResponse[TOutput],
88
+ ]
89
+
90
+ AsyncInterceptor = Callable[
91
+ [AsyncOperationRequest[TInput], AsyncNextFn[TInput, TOutput]],
92
+ Awaitable[AsyncOperationResponse[TOutput]],
93
+ ]
94
+
95
+
96
+ def execute_pipeline(
97
+ request: OperationRequest[TInput],
98
+ handler: NextFn[TInput, TOutput],
99
+ interceptors: Sequence[Interceptor[TInput, TOutput]],
100
+ ) -> OperationResponse[TOutput]:
101
+ def make_chain(index: int) -> NextFn[TInput, TOutput]:
102
+ if index < len(interceptors):
103
+ interceptor = interceptors[index]
104
+
105
+ def next_fn(req: OperationRequest[TInput]) -> OperationResponse[TOutput]:
106
+ return interceptor(req, make_chain(index + 1))
107
+
108
+ return next_fn
109
+ return handler
110
+
111
+ return make_chain(0)(request)
112
+
113
+
114
+ async def aexecute_pipeline(
115
+ request: AsyncOperationRequest[TInput],
116
+ handler: AsyncNextFn[TInput, TOutput],
117
+ interceptors: Sequence[AsyncInterceptor[TInput, TOutput]],
118
+ ) -> AsyncOperationResponse[TOutput]:
119
+ def make_chain(index: int) -> AsyncNextFn[TInput, TOutput]:
120
+ if index < len(interceptors):
121
+ interceptor = interceptors[index]
122
+
123
+ async def next_fn(
124
+ req: AsyncOperationRequest[TInput],
125
+ ) -> AsyncOperationResponse[TOutput]:
126
+ return await interceptor(req, make_chain(index + 1))
127
+
128
+ return next_fn
129
+ return handler
130
+
131
+ return await make_chain(0)(request)
132
+
133
+
134
+ def _is_retryable(exc: Exception) -> bool:
135
+ if isinstance(exc, ServiceError):
136
+ return exc.is_retryable
137
+ if isinstance(exc, SSLError):
138
+ return False
139
+ if isinstance(exc, (ConnectionError, TimeoutError)):
140
+ return True
141
+ return False
142
+
143
+
144
+ def _retry_delay(attempt: int, is_throttling: bool) -> float:
145
+ base = 1.0 if is_throttling else 0.5
146
+ delay = base * (2.0 ** min(attempt - 1, 10))
147
+ delay = min(20.0, delay)
148
+ return random.uniform(0.0, delay)
149
+
150
+
151
+ def retry() -> Interceptor[TInput, TOutput]:
152
+ def interceptor(
153
+ request: OperationRequest[TInput], next: NextFn[TInput, TOutput]
154
+ ) -> OperationResponse[TOutput]:
155
+ max_attempts = request.options.retry_max_attempts or 3
156
+ last_exc: Exception | None = None
157
+ for attempt in range(1, max_attempts + 1):
158
+ try:
159
+ return next(request)
160
+ except Exception as exc:
161
+ if not _is_retryable(exc):
162
+ raise
163
+ last_exc = exc
164
+ if attempt < max_attempts:
165
+ is_throttling = (
166
+ isinstance(exc, ServiceError) and exc.is_throttling_error
167
+ )
168
+ time.sleep(_retry_delay(attempt, is_throttling))
169
+
170
+ assert last_exc
171
+ raise last_exc
172
+
173
+ return interceptor
174
+
175
+
176
+ def aretry() -> AsyncInterceptor[TInput, TOutput]:
177
+ async def interceptor(
178
+ request: AsyncOperationRequest[TInput], next: AsyncNextFn[TInput, TOutput]
179
+ ) -> AsyncOperationResponse[TOutput]:
180
+ max_attempts = request.options.retry_max_attempts or 3
181
+ last_exc: Exception | None = None
182
+ for attempt in range(1, max_attempts + 1):
183
+ try:
184
+ return await next(request)
185
+ except Exception as exc:
186
+ if not _is_retryable(exc):
187
+ raise
188
+ last_exc = exc
189
+ if attempt < max_attempts:
190
+ is_throttling = (
191
+ isinstance(exc, ServiceError) and exc.is_throttling_error
192
+ )
193
+ await anysleep(_retry_delay(attempt, is_throttling))
194
+
195
+ assert last_exc
196
+ raise last_exc
197
+
198
+ return interceptor