capo-codecatalyst 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 (233) hide show
  1. capo_codecatalyst/__init__.py +51 -0
  2. capo_codecatalyst/_async.py +25 -0
  3. capo_codecatalyst/_auth/_identity.py +14 -0
  4. capo_codecatalyst/_auth/_providers.py +154 -0
  5. capo_codecatalyst/_auth/_signers.py +43 -0
  6. capo_codecatalyst/_auth/_sigv4.py +434 -0
  7. capo_codecatalyst/_auth/_zapros_handler.py +80 -0
  8. capo_codecatalyst/_iter.py +113 -0
  9. capo_codecatalyst/_operations/code_catalyst/create_access_token.py +153 -0
  10. capo_codecatalyst/_operations/code_catalyst/create_dev_environment.py +165 -0
  11. capo_codecatalyst/_operations/code_catalyst/create_project.py +158 -0
  12. capo_codecatalyst/_operations/code_catalyst/create_source_repository.py +159 -0
  13. capo_codecatalyst/_operations/code_catalyst/create_source_repository_branch.py +165 -0
  14. capo_codecatalyst/_operations/code_catalyst/delete_access_token.py +146 -0
  15. capo_codecatalyst/_operations/code_catalyst/delete_dev_environment.py +159 -0
  16. capo_codecatalyst/_operations/code_catalyst/delete_project.py +155 -0
  17. capo_codecatalyst/_operations/code_catalyst/delete_source_repository.py +155 -0
  18. capo_codecatalyst/_operations/code_catalyst/delete_space.py +152 -0
  19. capo_codecatalyst/_operations/code_catalyst/get_dev_environment.py +159 -0
  20. capo_codecatalyst/_operations/code_catalyst/get_project.py +153 -0
  21. capo_codecatalyst/_operations/code_catalyst/get_source_repository.py +156 -0
  22. capo_codecatalyst/_operations/code_catalyst/get_source_repository_clone_urls.py +157 -0
  23. capo_codecatalyst/_operations/code_catalyst/get_space.py +152 -0
  24. capo_codecatalyst/_operations/code_catalyst/get_subscription.py +155 -0
  25. capo_codecatalyst/_operations/code_catalyst/get_user_details.py +157 -0
  26. capo_codecatalyst/_operations/code_catalyst/get_workflow.py +159 -0
  27. capo_codecatalyst/_operations/code_catalyst/get_workflow_run.py +161 -0
  28. capo_codecatalyst/_operations/code_catalyst/list_access_tokens.py +153 -0
  29. capo_codecatalyst/_operations/code_catalyst/list_dev_environment_sessions.py +164 -0
  30. capo_codecatalyst/_operations/code_catalyst/list_dev_environments.py +156 -0
  31. capo_codecatalyst/_operations/code_catalyst/list_event_logs.py +160 -0
  32. capo_codecatalyst/_operations/code_catalyst/list_projects.py +158 -0
  33. capo_codecatalyst/_operations/code_catalyst/list_source_repositories.py +159 -0
  34. capo_codecatalyst/_operations/code_catalyst/list_source_repository_branches.py +164 -0
  35. capo_codecatalyst/_operations/code_catalyst/list_spaces.py +155 -0
  36. capo_codecatalyst/_operations/code_catalyst/list_workflow_runs.py +166 -0
  37. capo_codecatalyst/_operations/code_catalyst/list_workflows.py +168 -0
  38. capo_codecatalyst/_operations/code_catalyst/start_dev_environment.py +160 -0
  39. capo_codecatalyst/_operations/code_catalyst/start_dev_environment_session.py +163 -0
  40. capo_codecatalyst/_operations/code_catalyst/start_workflow_run.py +160 -0
  41. capo_codecatalyst/_operations/code_catalyst/stop_dev_environment.py +155 -0
  42. capo_codecatalyst/_operations/code_catalyst/stop_dev_environment_session.py +156 -0
  43. capo_codecatalyst/_operations/code_catalyst/update_dev_environment.py +164 -0
  44. capo_codecatalyst/_operations/code_catalyst/update_project.py +159 -0
  45. capo_codecatalyst/_operations/code_catalyst/update_space.py +156 -0
  46. capo_codecatalyst/_operations/code_catalyst/verify_session.py +146 -0
  47. capo_codecatalyst/_pagination.py +21 -0
  48. capo_codecatalyst/_protocol/__init__.py +1 -0
  49. capo_codecatalyst/_protocol/errors.py +93 -0
  50. capo_codecatalyst/_protocol/eventstream.py +238 -0
  51. capo_codecatalyst/_protocol/serialize.py +47 -0
  52. capo_codecatalyst/_protocol/xml.py +33 -0
  53. capo_codecatalyst/_resources/code_catalyst/access_token.py +359 -0
  54. capo_codecatalyst/_resources/code_catalyst/space.py +578 -0
  55. capo_codecatalyst/_rule_engine/__init__.py +0 -0
  56. capo_codecatalyst/_rule_engine/_aws_partition.py +160 -0
  57. capo_codecatalyst/_rule_engine/_endpoint_rule_set.py +98 -0
  58. capo_codecatalyst/_rule_engine/_endpoint_runtime.py +389 -0
  59. capo_codecatalyst/_services/_aws_config.py +156 -0
  60. capo_codecatalyst/_services/_pipeline.py +195 -0
  61. capo_codecatalyst/_services/async_code_catalyst.py +214 -0
  62. capo_codecatalyst/_services/code_catalyst.py +212 -0
  63. capo_codecatalyst/errors/__init__.py +33 -0
  64. capo_codecatalyst/errors/_base.py +94 -0
  65. capo_codecatalyst/errors/access_denied_exception.py +47 -0
  66. capo_codecatalyst/errors/conflict_exception.py +45 -0
  67. capo_codecatalyst/errors/resource_not_found_exception.py +47 -0
  68. capo_codecatalyst/errors/service_quota_exceeded_exception.py +49 -0
  69. capo_codecatalyst/errors/throttling_exception.py +45 -0
  70. capo_codecatalyst/errors/validation_exception.py +45 -0
  71. capo_codecatalyst/py.typed +0 -0
  72. capo_codecatalyst/types/_prelude/blob.py +12 -0
  73. capo_codecatalyst/types/_prelude/timestamp.py +17 -0
  74. capo_codecatalyst/types/access_token_id.py +5 -0
  75. capo_codecatalyst/types/access_token_name.py +5 -0
  76. capo_codecatalyst/types/access_token_secret.py +5 -0
  77. capo_codecatalyst/types/access_token_summaries.py +31 -0
  78. capo_codecatalyst/types/access_token_summary.py +54 -0
  79. capo_codecatalyst/types/client_token.py +5 -0
  80. capo_codecatalyst/types/comparison_operator.py +5 -0
  81. capo_codecatalyst/types/create_access_token_request.py +46 -0
  82. capo_codecatalyst/types/create_access_token_response.py +63 -0
  83. capo_codecatalyst/types/create_dev_environment_request.py +123 -0
  84. capo_codecatalyst/types/create_dev_environment_response.py +52 -0
  85. capo_codecatalyst/types/create_project_request.py +43 -0
  86. capo_codecatalyst/types/create_project_response.py +49 -0
  87. capo_codecatalyst/types/create_source_repository_branch_request.py +38 -0
  88. capo_codecatalyst/types/create_source_repository_branch_response.py +60 -0
  89. capo_codecatalyst/types/create_source_repository_request.py +38 -0
  90. capo_codecatalyst/types/create_source_repository_response.py +57 -0
  91. capo_codecatalyst/types/delete_access_token_request.py +24 -0
  92. capo_codecatalyst/types/delete_access_token_response.py +18 -0
  93. capo_codecatalyst/types/delete_dev_environment_request.py +29 -0
  94. capo_codecatalyst/types/delete_dev_environment_response.py +46 -0
  95. capo_codecatalyst/types/delete_project_request.py +26 -0
  96. capo_codecatalyst/types/delete_project_response.py +44 -0
  97. capo_codecatalyst/types/delete_source_repository_request.py +29 -0
  98. capo_codecatalyst/types/delete_source_repository_response.py +48 -0
  99. capo_codecatalyst/types/delete_space_request.py +24 -0
  100. capo_codecatalyst/types/delete_space_response.py +37 -0
  101. capo_codecatalyst/types/dev_environment_access_details.py +38 -0
  102. capo_codecatalyst/types/dev_environment_repository_summaries.py +39 -0
  103. capo_codecatalyst/types/dev_environment_repository_summary.py +42 -0
  104. capo_codecatalyst/types/dev_environment_session_configuration.py +56 -0
  105. capo_codecatalyst/types/dev_environment_session_summary.py +71 -0
  106. capo_codecatalyst/types/dev_environment_session_type.py +5 -0
  107. capo_codecatalyst/types/dev_environment_sessions_summary_list.py +37 -0
  108. capo_codecatalyst/types/dev_environment_status.py +5 -0
  109. capo_codecatalyst/types/dev_environment_summary.py +163 -0
  110. capo_codecatalyst/types/dev_environment_summary_list.py +33 -0
  111. capo_codecatalyst/types/email_address.py +29 -0
  112. capo_codecatalyst/types/event_log_entries.py +31 -0
  113. capo_codecatalyst/types/event_log_entry.py +174 -0
  114. capo_codecatalyst/types/event_payload.py +29 -0
  115. capo_codecatalyst/types/execute_command_session_configuration.py +53 -0
  116. capo_codecatalyst/types/execute_command_session_configuration_arguments.py +14 -0
  117. capo_codecatalyst/types/filter.py +50 -0
  118. capo_codecatalyst/types/filter_key.py +5 -0
  119. capo_codecatalyst/types/filters.py +29 -0
  120. capo_codecatalyst/types/get_dev_environment_request.py +29 -0
  121. capo_codecatalyst/types/get_dev_environment_response.py +169 -0
  122. capo_codecatalyst/types/get_project_request.py +26 -0
  123. capo_codecatalyst/types/get_project_response.py +49 -0
  124. capo_codecatalyst/types/get_source_repository_clone_urls_request.py +29 -0
  125. capo_codecatalyst/types/get_source_repository_clone_urls_response.py +28 -0
  126. capo_codecatalyst/types/get_source_repository_request.py +29 -0
  127. capo_codecatalyst/types/get_source_repository_response.py +88 -0
  128. capo_codecatalyst/types/get_space_request.py +24 -0
  129. capo_codecatalyst/types/get_space_response.py +51 -0
  130. capo_codecatalyst/types/get_subscription_request.py +24 -0
  131. capo_codecatalyst/types/get_subscription_response.py +59 -0
  132. capo_codecatalyst/types/get_user_details_request.py +21 -0
  133. capo_codecatalyst/types/get_user_details_response.py +60 -0
  134. capo_codecatalyst/types/get_workflow_request.py +29 -0
  135. capo_codecatalyst/types/get_workflow_response.py +136 -0
  136. capo_codecatalyst/types/get_workflow_run_request.py +29 -0
  137. capo_codecatalyst/types/get_workflow_run_response.py +127 -0
  138. capo_codecatalyst/types/ide.py +29 -0
  139. capo_codecatalyst/types/ide_configuration.py +29 -0
  140. capo_codecatalyst/types/ide_configuration_list.py +31 -0
  141. capo_codecatalyst/types/ides.py +29 -0
  142. capo_codecatalyst/types/inactivity_timeout_minutes.py +5 -0
  143. capo_codecatalyst/types/instance_type.py +5 -0
  144. capo_codecatalyst/types/list_access_tokens_request.py +29 -0
  145. capo_codecatalyst/types/list_access_tokens_response.py +45 -0
  146. capo_codecatalyst/types/list_dev_environment_sessions_request.py +41 -0
  147. capo_codecatalyst/types/list_dev_environment_sessions_response.py +49 -0
  148. capo_codecatalyst/types/list_dev_environments_request.py +57 -0
  149. capo_codecatalyst/types/list_dev_environments_response.py +49 -0
  150. capo_codecatalyst/types/list_event_logs_request.py +75 -0
  151. capo_codecatalyst/types/list_event_logs_response.py +45 -0
  152. capo_codecatalyst/types/list_projects_request.py +53 -0
  153. capo_codecatalyst/types/list_projects_response.py +42 -0
  154. capo_codecatalyst/types/list_source_repositories_item.py +81 -0
  155. capo_codecatalyst/types/list_source_repositories_items.py +35 -0
  156. capo_codecatalyst/types/list_source_repositories_request.py +38 -0
  157. capo_codecatalyst/types/list_source_repositories_response.py +48 -0
  158. capo_codecatalyst/types/list_source_repository_branches_item.py +60 -0
  159. capo_codecatalyst/types/list_source_repository_branches_items.py +39 -0
  160. capo_codecatalyst/types/list_source_repository_branches_request.py +41 -0
  161. capo_codecatalyst/types/list_source_repository_branches_response.py +51 -0
  162. capo_codecatalyst/types/list_spaces_request.py +23 -0
  163. capo_codecatalyst/types/list_spaces_response.py +42 -0
  164. capo_codecatalyst/types/list_workflow_runs_request.py +54 -0
  165. capo_codecatalyst/types/list_workflow_runs_response.py +44 -0
  166. capo_codecatalyst/types/list_workflows_request.py +51 -0
  167. capo_codecatalyst/types/list_workflows_response.py +42 -0
  168. capo_codecatalyst/types/name_string.py +5 -0
  169. capo_codecatalyst/types/operation_type.py +5 -0
  170. capo_codecatalyst/types/persistent_storage.py +26 -0
  171. capo_codecatalyst/types/persistent_storage_configuration.py +28 -0
  172. capo_codecatalyst/types/project_description.py +5 -0
  173. capo_codecatalyst/types/project_display_name.py +5 -0
  174. capo_codecatalyst/types/project_information.py +29 -0
  175. capo_codecatalyst/types/project_list_filter.py +54 -0
  176. capo_codecatalyst/types/project_list_filters.py +31 -0
  177. capo_codecatalyst/types/project_summaries.py +31 -0
  178. capo_codecatalyst/types/project_summary.py +38 -0
  179. capo_codecatalyst/types/region_string.py +5 -0
  180. capo_codecatalyst/types/repositories_input.py +31 -0
  181. capo_codecatalyst/types/repository_input.py +40 -0
  182. capo_codecatalyst/types/sensitive_string.py +5 -0
  183. capo_codecatalyst/types/source_repository_branch_ref_string.py +5 -0
  184. capo_codecatalyst/types/source_repository_branch_string.py +5 -0
  185. capo_codecatalyst/types/source_repository_description_string.py +5 -0
  186. capo_codecatalyst/types/source_repository_id_string.py +5 -0
  187. capo_codecatalyst/types/source_repository_name_string.py +5 -0
  188. capo_codecatalyst/types/space_description.py +5 -0
  189. capo_codecatalyst/types/space_summaries.py +29 -0
  190. capo_codecatalyst/types/space_summary.py +51 -0
  191. capo_codecatalyst/types/start_dev_environment_request.py +63 -0
  192. capo_codecatalyst/types/start_dev_environment_response.py +54 -0
  193. capo_codecatalyst/types/start_dev_environment_session_request.py +52 -0
  194. capo_codecatalyst/types/start_dev_environment_session_response.py +77 -0
  195. capo_codecatalyst/types/start_workflow_run_request.py +35 -0
  196. capo_codecatalyst/types/start_workflow_run_response.py +53 -0
  197. capo_codecatalyst/types/status_reason.py +5 -0
  198. capo_codecatalyst/types/stop_dev_environment_request.py +29 -0
  199. capo_codecatalyst/types/stop_dev_environment_response.py +54 -0
  200. capo_codecatalyst/types/stop_dev_environment_session_request.py +31 -0
  201. capo_codecatalyst/types/stop_dev_environment_session_response.py +59 -0
  202. capo_codecatalyst/types/string_list.py +14 -0
  203. capo_codecatalyst/types/timestamp.py +20 -0
  204. capo_codecatalyst/types/update_dev_environment_request.py +76 -0
  205. capo_codecatalyst/types/update_dev_environment_response.py +93 -0
  206. capo_codecatalyst/types/update_project_request.py +35 -0
  207. capo_codecatalyst/types/update_project_response.py +46 -0
  208. capo_codecatalyst/types/update_space_request.py +33 -0
  209. capo_codecatalyst/types/update_space_response.py +40 -0
  210. capo_codecatalyst/types/user_identity.py +50 -0
  211. capo_codecatalyst/types/user_type.py +5 -0
  212. capo_codecatalyst/types/uuid.py +5 -0
  213. capo_codecatalyst/types/verify_session_response.py +23 -0
  214. capo_codecatalyst/types/workflow_definition.py +26 -0
  215. capo_codecatalyst/types/workflow_definition_summary.py +26 -0
  216. capo_codecatalyst/types/workflow_run_mode.py +5 -0
  217. capo_codecatalyst/types/workflow_run_sort_criteria.py +18 -0
  218. capo_codecatalyst/types/workflow_run_sort_criteria_list.py +35 -0
  219. capo_codecatalyst/types/workflow_run_status.py +5 -0
  220. capo_codecatalyst/types/workflow_run_status_reason.py +18 -0
  221. capo_codecatalyst/types/workflow_run_status_reasons.py +35 -0
  222. capo_codecatalyst/types/workflow_run_summaries.py +31 -0
  223. capo_codecatalyst/types/workflow_run_summary.py +119 -0
  224. capo_codecatalyst/types/workflow_sort_criteria.py +18 -0
  225. capo_codecatalyst/types/workflow_sort_criteria_list.py +33 -0
  226. capo_codecatalyst/types/workflow_status.py +5 -0
  227. capo_codecatalyst/types/workflow_summaries.py +31 -0
  228. capo_codecatalyst/types/workflow_summary.py +123 -0
  229. capo_codecatalyst-0.1.0.dist-info/METADATA +82 -0
  230. capo_codecatalyst-0.1.0.dist-info/RECORD +233 -0
  231. capo_codecatalyst-0.1.0.dist-info/WHEEL +5 -0
  232. capo_codecatalyst-0.1.0.dist-info/licenses/LICENSE +21 -0
  233. capo_codecatalyst-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowRunStatus``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ WorkflowRunStatus: TypeAlias = str
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowRunStatusReason``."""
2
+
3
+ from typing_extensions import TypedDict
4
+
5
+
6
+ class WorkflowRunStatusReason(TypedDict, closed=True):
7
+ pass
8
+
9
+
10
+ # --- restJson1 ser/de ---
11
+ def serialize_json(value: WorkflowRunStatusReason) -> dict:
12
+ out: dict = {}
13
+ return out
14
+
15
+
16
+ def deserialize_json(data: dict) -> WorkflowRunStatusReason:
17
+ out: WorkflowRunStatusReason = {} # type: ignore[typeddict-item]
18
+ return out
@@ -0,0 +1,35 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowRunStatusReasons``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_codecatalyst.types.workflow_run_status_reason
7
+
8
+ WorkflowRunStatusReasons: TypeAlias = list[
9
+ "capo_codecatalyst.types.workflow_run_status_reason.WorkflowRunStatusReason"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: WorkflowRunStatusReasons) -> list:
15
+ import capo_codecatalyst.types.workflow_run_status_reason
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_codecatalyst.types.workflow_run_status_reason.serialize_json(item)
21
+ )
22
+ return out
23
+
24
+
25
+ def deserialize_json(data: list) -> WorkflowRunStatusReasons:
26
+ import capo_codecatalyst.types.workflow_run_status_reason
27
+
28
+ out: WorkflowRunStatusReasons = []
29
+ for item in data:
30
+ if item is None:
31
+ continue
32
+ out.append(
33
+ capo_codecatalyst.types.workflow_run_status_reason.deserialize_json(item)
34
+ )
35
+ return out
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowRunSummaries``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_codecatalyst.types.workflow_run_summary
7
+
8
+ WorkflowRunSummaries: TypeAlias = list[
9
+ "capo_codecatalyst.types.workflow_run_summary.WorkflowRunSummary"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: WorkflowRunSummaries) -> list:
15
+ import capo_codecatalyst.types.workflow_run_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(capo_codecatalyst.types.workflow_run_summary.serialize_json(item))
20
+ return out
21
+
22
+
23
+ def deserialize_json(data: list) -> WorkflowRunSummaries:
24
+ import capo_codecatalyst.types.workflow_run_summary
25
+
26
+ out: WorkflowRunSummaries = []
27
+ for item in data:
28
+ if item is None:
29
+ continue
30
+ out.append(capo_codecatalyst.types.workflow_run_summary.deserialize_json(item))
31
+ return out
@@ -0,0 +1,119 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowRunSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_codecatalyst.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_codecatalyst.types.timestamp
11
+ import capo_codecatalyst.types.uuid
12
+ import capo_codecatalyst.types.workflow_run_status
13
+ import capo_codecatalyst.types.workflow_run_status_reasons
14
+
15
+
16
+ class WorkflowRunSummary(TypedDict, closed=True):
17
+ id: "capo_codecatalyst.types.uuid.Uuid"
18
+ """<p>The system-generated unique ID of the workflow run.</p>"""
19
+ workflow_id: "capo_codecatalyst.types.uuid.Uuid"
20
+ """<p>The system-generated unique ID of the workflow.</p>"""
21
+ workflow_name: "str"
22
+ """<p>The name of the workflow.</p>"""
23
+ status: "capo_codecatalyst.types.workflow_run_status.WorkflowRunStatus"
24
+ """<p>The status of the workflow run.</p>"""
25
+ status_reasons: NotRequired[
26
+ "capo_codecatalyst.types.workflow_run_status_reasons.WorkflowRunStatusReasons"
27
+ ]
28
+ """<p>The reasons for the workflow run status.</p>"""
29
+ start_time: "capo_codecatalyst.types.timestamp.Timestamp"
30
+ r"""<p>The date and time the workflow run began, in coordinated universal time (UTC) timestamp format as specified in <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC 3339</a>.</p>"""
31
+ end_time: NotRequired["capo_codecatalyst.types.timestamp.Timestamp"]
32
+ r"""<p>The date and time the workflow run ended, in coordinated universal time (UTC) timestamp format as specified in <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC 3339</a> </p>"""
33
+ last_updated_time: "capo_codecatalyst.types.timestamp.Timestamp"
34
+ r"""<p>The date and time the workflow was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC 3339</a> </p>"""
35
+
36
+
37
+ # --- restJson1 ser/de ---
38
+ def serialize_json(value: WorkflowRunSummary) -> dict:
39
+ out: dict = {}
40
+ out["id"] = value["id"]
41
+ out["workflowId"] = value["workflow_id"]
42
+ out["workflowName"] = value["workflow_name"]
43
+ out["status"] = value["status"]
44
+ if "status_reasons" in value:
45
+ import capo_codecatalyst.types.workflow_run_status_reasons
46
+
47
+ out["statusReasons"] = (
48
+ capo_codecatalyst.types.workflow_run_status_reasons.serialize_json(
49
+ value["status_reasons"]
50
+ )
51
+ )
52
+ import capo_codecatalyst._protocol.serialize
53
+
54
+ out["startTime"] = capo_codecatalyst._protocol.serialize.fmt_date_time(
55
+ value["start_time"]
56
+ )
57
+ if "end_time" in value:
58
+ import capo_codecatalyst._protocol.serialize
59
+
60
+ out["endTime"] = capo_codecatalyst._protocol.serialize.fmt_date_time(
61
+ value["end_time"]
62
+ )
63
+ import capo_codecatalyst._protocol.serialize
64
+
65
+ out["lastUpdatedTime"] = capo_codecatalyst._protocol.serialize.fmt_date_time(
66
+ value["last_updated_time"]
67
+ )
68
+ return out
69
+
70
+
71
+ def deserialize_json(data: dict) -> WorkflowRunSummary:
72
+ out: WorkflowRunSummary = {} # type: ignore[typeddict-item]
73
+ if data.get("id") is not None:
74
+ out["id"] = data["id"]
75
+ else:
76
+ raise DeserializationError("WorkflowRunSummary.id required")
77
+ if data.get("workflowId") is not None:
78
+ out["workflow_id"] = data["workflowId"]
79
+ else:
80
+ raise DeserializationError("WorkflowRunSummary.workflow_id required")
81
+ if data.get("workflowName") is not None:
82
+ out["workflow_name"] = data["workflowName"]
83
+ else:
84
+ raise DeserializationError("WorkflowRunSummary.workflow_name required")
85
+ if data.get("status") is not None:
86
+ out["status"] = data["status"]
87
+ else:
88
+ raise DeserializationError("WorkflowRunSummary.status required")
89
+ if data.get("statusReasons") is not None:
90
+ import capo_codecatalyst.types.workflow_run_status_reasons
91
+
92
+ out["status_reasons"] = (
93
+ capo_codecatalyst.types.workflow_run_status_reasons.deserialize_json(
94
+ data["statusReasons"]
95
+ )
96
+ )
97
+ if data.get("startTime") is not None:
98
+ import datetime
99
+
100
+ out["start_time"] = datetime.datetime.fromisoformat(
101
+ data["startTime"].replace("Z", "+00:00")
102
+ )
103
+ else:
104
+ raise DeserializationError("WorkflowRunSummary.start_time required")
105
+ if data.get("endTime") is not None:
106
+ import datetime
107
+
108
+ out["end_time"] = datetime.datetime.fromisoformat(
109
+ data["endTime"].replace("Z", "+00:00")
110
+ )
111
+ if data.get("lastUpdatedTime") is not None:
112
+ import datetime
113
+
114
+ out["last_updated_time"] = datetime.datetime.fromisoformat(
115
+ data["lastUpdatedTime"].replace("Z", "+00:00")
116
+ )
117
+ else:
118
+ raise DeserializationError("WorkflowRunSummary.last_updated_time required")
119
+ return out
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowSortCriteria``."""
2
+
3
+ from typing_extensions import TypedDict
4
+
5
+
6
+ class WorkflowSortCriteria(TypedDict, closed=True):
7
+ pass
8
+
9
+
10
+ # --- restJson1 ser/de ---
11
+ def serialize_json(value: WorkflowSortCriteria) -> dict:
12
+ out: dict = {}
13
+ return out
14
+
15
+
16
+ def deserialize_json(data: dict) -> WorkflowSortCriteria:
17
+ out: WorkflowSortCriteria = {} # type: ignore[typeddict-item]
18
+ return out
@@ -0,0 +1,33 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowSortCriteriaList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_codecatalyst.types.workflow_sort_criteria
7
+
8
+ WorkflowSortCriteriaList: TypeAlias = list[
9
+ "capo_codecatalyst.types.workflow_sort_criteria.WorkflowSortCriteria"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: WorkflowSortCriteriaList) -> list:
15
+ import capo_codecatalyst.types.workflow_sort_criteria
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(capo_codecatalyst.types.workflow_sort_criteria.serialize_json(item))
20
+ return out
21
+
22
+
23
+ def deserialize_json(data: list) -> WorkflowSortCriteriaList:
24
+ import capo_codecatalyst.types.workflow_sort_criteria
25
+
26
+ out: WorkflowSortCriteriaList = []
27
+ for item in data:
28
+ if item is None:
29
+ continue
30
+ out.append(
31
+ capo_codecatalyst.types.workflow_sort_criteria.deserialize_json(item)
32
+ )
33
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowStatus``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ WorkflowStatus: TypeAlias = str
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowSummaries``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_codecatalyst.types.workflow_summary
7
+
8
+ WorkflowSummaries: TypeAlias = list[
9
+ "capo_codecatalyst.types.workflow_summary.WorkflowSummary"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: WorkflowSummaries) -> list:
15
+ import capo_codecatalyst.types.workflow_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(capo_codecatalyst.types.workflow_summary.serialize_json(item))
20
+ return out
21
+
22
+
23
+ def deserialize_json(data: list) -> WorkflowSummaries:
24
+ import capo_codecatalyst.types.workflow_summary
25
+
26
+ out: WorkflowSummaries = []
27
+ for item in data:
28
+ if item is None:
29
+ continue
30
+ out.append(capo_codecatalyst.types.workflow_summary.deserialize_json(item))
31
+ return out
@@ -0,0 +1,123 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codecatalyst#WorkflowSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_codecatalyst.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_codecatalyst.types.source_repository_branch_string
11
+ import capo_codecatalyst.types.source_repository_name_string
12
+ import capo_codecatalyst.types.timestamp
13
+ import capo_codecatalyst.types.uuid
14
+ import capo_codecatalyst.types.workflow_definition_summary
15
+ import capo_codecatalyst.types.workflow_run_mode
16
+ import capo_codecatalyst.types.workflow_status
17
+
18
+
19
+ class WorkflowSummary(TypedDict, closed=True):
20
+ id: "capo_codecatalyst.types.uuid.Uuid"
21
+ """<p>The system-generated unique ID of a workflow.</p>"""
22
+ name: "str"
23
+ """<p>The name of the workflow.</p>"""
24
+ source_repository_name: "capo_codecatalyst.types.source_repository_name_string.SourceRepositoryNameString"
25
+ """<p>The name of the source repository where the workflow definition file is stored.</p>"""
26
+ source_branch_name: "capo_codecatalyst.types.source_repository_branch_string.SourceRepositoryBranchString"
27
+ """<p>The name of the branch of the source repository where the workflow definition file is stored.</p>"""
28
+ definition: (
29
+ "capo_codecatalyst.types.workflow_definition_summary.WorkflowDefinitionSummary"
30
+ )
31
+ """<p>Information about the workflow definition file.</p>"""
32
+ created_time: "capo_codecatalyst.types.timestamp.Timestamp"
33
+ r"""<p>The date and time the workflow was created, in coordinated universal time (UTC) timestamp format as specified in <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC 3339</a> </p>"""
34
+ last_updated_time: "capo_codecatalyst.types.timestamp.Timestamp"
35
+ r"""<p>The date and time the workflow was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC 3339</a> </p>"""
36
+ run_mode: "capo_codecatalyst.types.workflow_run_mode.WorkflowRunMode"
37
+ """<p>The run mode of the workflow.</p>"""
38
+ status: "capo_codecatalyst.types.workflow_status.WorkflowStatus"
39
+ """<p>The status of the workflow.</p>"""
40
+
41
+
42
+ # --- restJson1 ser/de ---
43
+ def serialize_json(value: WorkflowSummary) -> dict:
44
+ out: dict = {}
45
+ out["id"] = value["id"]
46
+ out["name"] = value["name"]
47
+ out["sourceRepositoryName"] = value["source_repository_name"]
48
+ out["sourceBranchName"] = value["source_branch_name"]
49
+ import capo_codecatalyst.types.workflow_definition_summary
50
+
51
+ out["definition"] = (
52
+ capo_codecatalyst.types.workflow_definition_summary.serialize_json(
53
+ value["definition"]
54
+ )
55
+ )
56
+ import capo_codecatalyst._protocol.serialize
57
+
58
+ out["createdTime"] = capo_codecatalyst._protocol.serialize.fmt_date_time(
59
+ value["created_time"]
60
+ )
61
+ import capo_codecatalyst._protocol.serialize
62
+
63
+ out["lastUpdatedTime"] = capo_codecatalyst._protocol.serialize.fmt_date_time(
64
+ value["last_updated_time"]
65
+ )
66
+ out["runMode"] = value["run_mode"]
67
+ out["status"] = value["status"]
68
+ return out
69
+
70
+
71
+ def deserialize_json(data: dict) -> WorkflowSummary:
72
+ out: WorkflowSummary = {} # type: ignore[typeddict-item]
73
+ if data.get("id") is not None:
74
+ out["id"] = data["id"]
75
+ else:
76
+ raise DeserializationError("WorkflowSummary.id required")
77
+ if data.get("name") is not None:
78
+ out["name"] = data["name"]
79
+ else:
80
+ raise DeserializationError("WorkflowSummary.name required")
81
+ if data.get("sourceRepositoryName") is not None:
82
+ out["source_repository_name"] = data["sourceRepositoryName"]
83
+ else:
84
+ raise DeserializationError("WorkflowSummary.source_repository_name required")
85
+ if data.get("sourceBranchName") is not None:
86
+ out["source_branch_name"] = data["sourceBranchName"]
87
+ else:
88
+ raise DeserializationError("WorkflowSummary.source_branch_name required")
89
+ if data.get("definition") is not None:
90
+ import capo_codecatalyst.types.workflow_definition_summary
91
+
92
+ out["definition"] = (
93
+ capo_codecatalyst.types.workflow_definition_summary.deserialize_json(
94
+ data["definition"]
95
+ )
96
+ )
97
+ else:
98
+ raise DeserializationError("WorkflowSummary.definition required")
99
+ if data.get("createdTime") is not None:
100
+ import datetime
101
+
102
+ out["created_time"] = datetime.datetime.fromisoformat(
103
+ data["createdTime"].replace("Z", "+00:00")
104
+ )
105
+ else:
106
+ raise DeserializationError("WorkflowSummary.created_time required")
107
+ if data.get("lastUpdatedTime") is not None:
108
+ import datetime
109
+
110
+ out["last_updated_time"] = datetime.datetime.fromisoformat(
111
+ data["lastUpdatedTime"].replace("Z", "+00:00")
112
+ )
113
+ else:
114
+ raise DeserializationError("WorkflowSummary.last_updated_time required")
115
+ if data.get("runMode") is not None:
116
+ out["run_mode"] = data["runMode"]
117
+ else:
118
+ raise DeserializationError("WorkflowSummary.run_mode required")
119
+ if data.get("status") is not None:
120
+ out["status"] = data["status"]
121
+ else:
122
+ raise DeserializationError("WorkflowSummary.status required")
123
+ return out
@@ -0,0 +1,82 @@
1
+ Metadata-Version: 2.4
2
+ Name: capo-codecatalyst
3
+ Version: 0.1.0
4
+ Summary: Python SDK for Codecatalyst.
5
+ Classifier: Development Status :: 4 - Beta
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Topic :: Software Development :: Code Generators
16
+ Classifier: Typing :: Typed
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: zapros>=0.13.0
21
+ Dynamic: license-file
22
+
23
+ # Getting Started
24
+
25
+ ## Installation
26
+
27
+ ```
28
+ pip install capo-codecatalyst
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ ```python
34
+ from capo_codecatalyst import AsyncCodeCatalystClient
35
+
36
+
37
+ async def main():
38
+ async with AsyncCodeCatalystClient() as code_catalyst:
39
+ # Example: call the get_user_details operation
40
+ response = await code_catalyst.get_user_details()
41
+ print(response["user_id"])
42
+ ```
43
+
44
+ ## Error Handling
45
+
46
+ The SDK raises exceptions for errors returned by the API. Catch them to handle failures gracefully.
47
+
48
+ ```python
49
+ from capo_codecatalyst import AsyncCodeCatalystClient
50
+ from capo_codecatalyst.error import AccessDeniedException
51
+
52
+
53
+ async def main():
54
+ async with AsyncCodeCatalystClient() as code_catalyst:
55
+ try:
56
+ await code_catalyst.get_user_details()
57
+ except AccessDeniedException as e:
58
+ print(f"Error: {e}")
59
+ print(e.data) # additional error data
60
+ ```
61
+
62
+ ## Retrying
63
+
64
+ The SDK retries failed operations automatically. Retry behaviour follows the Smithy specification: errors are retried based on their `is_retryable` and `is_throttling_error` attributes. Throttling errors use a longer base delay. Network-level failures (connection errors and timeouts) are also retried. Non-retryable errors, such as client errors without the `@retryable` trait, are raised immediately without further attempts.
65
+
66
+ The number of attempts defaults to 3 and can be changed at the client level via `retry_max_attempts`, or per call via `config_overrides`.
67
+
68
+ ```python
69
+ from capo_codecatalyst import AsyncCodeCatalystClient
70
+
71
+
72
+ async def main():
73
+ async with AsyncCodeCatalystClient() as code_catalyst:
74
+ # Default: 3 attempts for every operation
75
+ response = await code_catalyst.get_user_details()
76
+
77
+ # Override per operation
78
+ response = await code_catalyst.get_user_details(config_overrides={"retry_max_attempts": 5})
79
+
80
+ # Disable retries for this call
81
+ response = await code_catalyst.get_user_details(config_overrides={"retry_max_attempts": 1})
82
+ ```