capo-codeartifact 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 (294) hide show
  1. capo_codeartifact/__init__.py +72 -0
  2. capo_codeartifact/_async.py +25 -0
  3. capo_codeartifact/_auth/_identity.py +16 -0
  4. capo_codeartifact/_auth/_providers.py +886 -0
  5. capo_codeartifact/_auth/_signers.py +88 -0
  6. capo_codeartifact/_auth/_sigv4.py +434 -0
  7. capo_codeartifact/_auth/_zapros_handler.py +80 -0
  8. capo_codeartifact/_iter.py +113 -0
  9. capo_codeartifact/_operations/code_artifact_control_plane_service/associate_external_connection.py +181 -0
  10. capo_codeartifact/_operations/code_artifact_control_plane_service/copy_package_versions.py +202 -0
  11. capo_codeartifact/_operations/code_artifact_control_plane_service/create_domain.py +182 -0
  12. capo_codeartifact/_operations/code_artifact_control_plane_service/create_package_group.py +182 -0
  13. capo_codeartifact/_operations/code_artifact_control_plane_service/create_repository.py +189 -0
  14. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_domain.py +169 -0
  15. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_domain_permissions_policy.py +174 -0
  16. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_package.py +190 -0
  17. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_package_group.py +179 -0
  18. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_package_versions.py +195 -0
  19. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_repository.py +178 -0
  20. capo_codeartifact/_operations/code_artifact_control_plane_service/delete_repository_permissions_policy.py +176 -0
  21. capo_codeartifact/_operations/code_artifact_control_plane_service/describe_domain.py +169 -0
  22. capo_codeartifact/_operations/code_artifact_control_plane_service/describe_package.py +187 -0
  23. capo_codeartifact/_operations/code_artifact_control_plane_service/describe_package_group.py +169 -0
  24. capo_codeartifact/_operations/code_artifact_control_plane_service/describe_package_version.py +194 -0
  25. capo_codeartifact/_operations/code_artifact_control_plane_service/describe_repository.py +173 -0
  26. capo_codeartifact/_operations/code_artifact_control_plane_service/disassociate_external_connection.py +181 -0
  27. capo_codeartifact/_operations/code_artifact_control_plane_service/dispose_package_versions.py +200 -0
  28. capo_codeartifact/_operations/code_artifact_control_plane_service/get_associated_package_group.py +177 -0
  29. capo_codeartifact/_operations/code_artifact_control_plane_service/get_authorization_token.py +169 -0
  30. capo_codeartifact/_operations/code_artifact_control_plane_service/get_domain_permissions_policy.py +167 -0
  31. capo_codeartifact/_operations/code_artifact_control_plane_service/get_package_version_asset.py +208 -0
  32. capo_codeartifact/_operations/code_artifact_control_plane_service/get_package_version_readme.py +184 -0
  33. capo_codeartifact/_operations/code_artifact_control_plane_service/get_repository_endpoint.py +189 -0
  34. capo_codeartifact/_operations/code_artifact_control_plane_service/get_repository_permissions_policy.py +169 -0
  35. capo_codeartifact/_operations/code_artifact_control_plane_service/list_allowed_repositories_for_group.py +190 -0
  36. capo_codeartifact/_operations/code_artifact_control_plane_service/list_associated_packages.py +174 -0
  37. capo_codeartifact/_operations/code_artifact_control_plane_service/list_domains.py +164 -0
  38. capo_codeartifact/_operations/code_artifact_control_plane_service/list_package_groups.py +177 -0
  39. capo_codeartifact/_operations/code_artifact_control_plane_service/list_package_version_assets.py +189 -0
  40. capo_codeartifact/_operations/code_artifact_control_plane_service/list_package_version_dependencies.py +187 -0
  41. capo_codeartifact/_operations/code_artifact_control_plane_service/list_package_versions.py +220 -0
  42. capo_codeartifact/_operations/code_artifact_control_plane_service/list_packages.py +209 -0
  43. capo_codeartifact/_operations/code_artifact_control_plane_service/list_repositories.py +168 -0
  44. capo_codeartifact/_operations/code_artifact_control_plane_service/list_repositories_in_domain.py +175 -0
  45. capo_codeartifact/_operations/code_artifact_control_plane_service/list_sub_package_groups.py +173 -0
  46. capo_codeartifact/_operations/code_artifact_control_plane_service/list_tags_for_resource.py +160 -0
  47. capo_codeartifact/_operations/code_artifact_control_plane_service/publish_package_version.py +209 -0
  48. capo_codeartifact/_operations/code_artifact_control_plane_service/put_domain_permissions_policy.py +179 -0
  49. capo_codeartifact/_operations/code_artifact_control_plane_service/put_package_origin_configuration.py +190 -0
  50. capo_codeartifact/_operations/code_artifact_control_plane_service/put_repository_permissions_policy.py +185 -0
  51. capo_codeartifact/_operations/code_artifact_control_plane_service/tag_resource.py +163 -0
  52. capo_codeartifact/_operations/code_artifact_control_plane_service/untag_resource.py +158 -0
  53. capo_codeartifact/_operations/code_artifact_control_plane_service/update_package_group.py +176 -0
  54. capo_codeartifact/_operations/code_artifact_control_plane_service/update_package_group_origin_configuration.py +183 -0
  55. capo_codeartifact/_operations/code_artifact_control_plane_service/update_package_versions_status.py +198 -0
  56. capo_codeartifact/_operations/code_artifact_control_plane_service/update_repository.py +188 -0
  57. capo_codeartifact/_pagination.py +21 -0
  58. capo_codeartifact/_protocol/__init__.py +1 -0
  59. capo_codeartifact/_protocol/errors.py +93 -0
  60. capo_codeartifact/_protocol/eventstream.py +238 -0
  61. capo_codeartifact/_protocol/serialize.py +47 -0
  62. capo_codeartifact/_protocol/xml.py +33 -0
  63. capo_codeartifact/_rule_engine/__init__.py +0 -0
  64. capo_codeartifact/_rule_engine/_aws_partition.py +160 -0
  65. capo_codeartifact/_rule_engine/_endpoint_rule_set.py +138 -0
  66. capo_codeartifact/_rule_engine/_endpoint_runtime.py +389 -0
  67. capo_codeartifact/_services/_aws_config.py +160 -0
  68. capo_codeartifact/_services/_pipeline.py +198 -0
  69. capo_codeartifact/_services/async_codeartifact.py +3870 -0
  70. capo_codeartifact/_services/codeartifact.py +3822 -0
  71. capo_codeartifact/errors/__init__.py +36 -0
  72. capo_codeartifact/errors/_base.py +94 -0
  73. capo_codeartifact/errors/access_denied_exception.py +52 -0
  74. capo_codeartifact/errors/conflict_exception.py +71 -0
  75. capo_codeartifact/errors/internal_server_exception.py +52 -0
  76. capo_codeartifact/errors/resource_not_found_exception.py +73 -0
  77. capo_codeartifact/errors/service_quota_exceeded_exception.py +75 -0
  78. capo_codeartifact/errors/throttling_exception.py +55 -0
  79. capo_codeartifact/errors/validation_exception.py +71 -0
  80. capo_codeartifact/py.typed +0 -0
  81. capo_codeartifact/types/_prelude/blob.py +12 -0
  82. capo_codeartifact/types/_prelude/timestamp.py +17 -0
  83. capo_codeartifact/types/account_id.py +5 -0
  84. capo_codeartifact/types/allow_publish.py +17 -0
  85. capo_codeartifact/types/allow_upstream.py +17 -0
  86. capo_codeartifact/types/arn.py +5 -0
  87. capo_codeartifact/types/asset.py +7 -0
  88. capo_codeartifact/types/asset_hashes.py +33 -0
  89. capo_codeartifact/types/asset_name.py +5 -0
  90. capo_codeartifact/types/asset_summary.py +53 -0
  91. capo_codeartifact/types/asset_summary_list.py +29 -0
  92. capo_codeartifact/types/associate_external_connection_request.py +35 -0
  93. capo_codeartifact/types/associate_external_connection_result.py +42 -0
  94. capo_codeartifact/types/associated_package.py +71 -0
  95. capo_codeartifact/types/associated_package_list.py +31 -0
  96. capo_codeartifact/types/authorization_token_duration_seconds.py +5 -0
  97. capo_codeartifact/types/boolean_optional.py +5 -0
  98. capo_codeartifact/types/copy_package_versions_request.py +96 -0
  99. capo_codeartifact/types/copy_package_versions_result.py +63 -0
  100. capo_codeartifact/types/create_domain_request.py +42 -0
  101. capo_codeartifact/types/create_domain_result.py +36 -0
  102. capo_codeartifact/types/create_package_group_request.py +64 -0
  103. capo_codeartifact/types/create_package_group_result.py +42 -0
  104. capo_codeartifact/types/create_repository_request.py +69 -0
  105. capo_codeartifact/types/create_repository_result.py +42 -0
  106. capo_codeartifact/types/delete_domain_permissions_policy_request.py +32 -0
  107. capo_codeartifact/types/delete_domain_permissions_policy_result.py +36 -0
  108. capo_codeartifact/types/delete_domain_request.py +27 -0
  109. capo_codeartifact/types/delete_domain_result.py +36 -0
  110. capo_codeartifact/types/delete_package_group_request.py +30 -0
  111. capo_codeartifact/types/delete_package_group_result.py +42 -0
  112. capo_codeartifact/types/delete_package_request.py +39 -0
  113. capo_codeartifact/types/delete_package_result.py +39 -0
  114. capo_codeartifact/types/delete_package_versions_request.py +78 -0
  115. capo_codeartifact/types/delete_package_versions_result.py +63 -0
  116. capo_codeartifact/types/delete_repository_permissions_policy_request.py +35 -0
  117. capo_codeartifact/types/delete_repository_permissions_policy_result.py +36 -0
  118. capo_codeartifact/types/delete_repository_request.py +30 -0
  119. capo_codeartifact/types/delete_repository_result.py +42 -0
  120. capo_codeartifact/types/describe_domain_request.py +27 -0
  121. capo_codeartifact/types/describe_domain_result.py +35 -0
  122. capo_codeartifact/types/describe_package_group_request.py +30 -0
  123. capo_codeartifact/types/describe_package_group_result.py +42 -0
  124. capo_codeartifact/types/describe_package_request.py +39 -0
  125. capo_codeartifact/types/describe_package_result.py +39 -0
  126. capo_codeartifact/types/describe_package_version_request.py +42 -0
  127. capo_codeartifact/types/describe_package_version_result.py +47 -0
  128. capo_codeartifact/types/describe_repository_request.py +30 -0
  129. capo_codeartifact/types/describe_repository_result.py +42 -0
  130. capo_codeartifact/types/description.py +5 -0
  131. capo_codeartifact/types/disassociate_external_connection_request.py +35 -0
  132. capo_codeartifact/types/disassociate_external_connection_result.py +42 -0
  133. capo_codeartifact/types/dispose_package_versions_request.py +99 -0
  134. capo_codeartifact/types/dispose_package_versions_result.py +63 -0
  135. capo_codeartifact/types/domain_description.py +100 -0
  136. capo_codeartifact/types/domain_entry_point.py +39 -0
  137. capo_codeartifact/types/domain_name.py +5 -0
  138. capo_codeartifact/types/domain_status.py +17 -0
  139. capo_codeartifact/types/domain_summary.py +78 -0
  140. capo_codeartifact/types/domain_summary_list.py +31 -0
  141. capo_codeartifact/types/endpoint_type.py +17 -0
  142. capo_codeartifact/types/error_message.py +5 -0
  143. capo_codeartifact/types/external_connection_name.py +5 -0
  144. capo_codeartifact/types/external_connection_status.py +14 -0
  145. capo_codeartifact/types/get_associated_package_group_request.py +36 -0
  146. capo_codeartifact/types/get_associated_package_group_result.py +63 -0
  147. capo_codeartifact/types/get_authorization_token_request.py +32 -0
  148. capo_codeartifact/types/get_authorization_token_result.py +43 -0
  149. capo_codeartifact/types/get_domain_permissions_policy_request.py +27 -0
  150. capo_codeartifact/types/get_domain_permissions_policy_result.py +36 -0
  151. capo_codeartifact/types/get_package_version_asset_request.py +50 -0
  152. capo_codeartifact/types/get_package_version_asset_result.py +26 -0
  153. capo_codeartifact/types/get_package_version_readme_request.py +42 -0
  154. capo_codeartifact/types/get_package_version_readme_result.py +73 -0
  155. capo_codeartifact/types/get_repository_endpoint_request.py +36 -0
  156. capo_codeartifact/types/get_repository_endpoint_result.py +28 -0
  157. capo_codeartifact/types/get_repository_permissions_policy_request.py +30 -0
  158. capo_codeartifact/types/get_repository_permissions_policy_result.py +36 -0
  159. capo_codeartifact/types/hash_algorithm.py +19 -0
  160. capo_codeartifact/types/hash_value.py +5 -0
  161. capo_codeartifact/types/integer.py +5 -0
  162. capo_codeartifact/types/license_info.py +34 -0
  163. capo_codeartifact/types/license_info_list.py +29 -0
  164. capo_codeartifact/types/list_allowed_repositories_for_group_max_results.py +5 -0
  165. capo_codeartifact/types/list_allowed_repositories_for_group_request.py +41 -0
  166. capo_codeartifact/types/list_allowed_repositories_for_group_result.py +49 -0
  167. capo_codeartifact/types/list_associated_packages_request.py +41 -0
  168. capo_codeartifact/types/list_associated_packages_result.py +49 -0
  169. capo_codeartifact/types/list_domains_max_results.py +5 -0
  170. capo_codeartifact/types/list_domains_request.py +37 -0
  171. capo_codeartifact/types/list_domains_result.py +45 -0
  172. capo_codeartifact/types/list_package_groups_max_results.py +5 -0
  173. capo_codeartifact/types/list_package_groups_request.py +40 -0
  174. capo_codeartifact/types/list_package_groups_result.py +49 -0
  175. capo_codeartifact/types/list_package_version_assets_max_results.py +5 -0
  176. capo_codeartifact/types/list_package_version_assets_request.py +50 -0
  177. capo_codeartifact/types/list_package_version_assets_result.py +88 -0
  178. capo_codeartifact/types/list_package_version_dependencies_request.py +45 -0
  179. capo_codeartifact/types/list_package_version_dependencies_result.py +94 -0
  180. capo_codeartifact/types/list_package_versions_max_results.py +5 -0
  181. capo_codeartifact/types/list_package_versions_request.py +62 -0
  182. capo_codeartifact/types/list_package_versions_result.py +87 -0
  183. capo_codeartifact/types/list_packages_max_results.py +5 -0
  184. capo_codeartifact/types/list_packages_request.py +53 -0
  185. capo_codeartifact/types/list_packages_result.py +45 -0
  186. capo_codeartifact/types/list_repositories_in_domain_max_results.py +5 -0
  187. capo_codeartifact/types/list_repositories_in_domain_request.py +42 -0
  188. capo_codeartifact/types/list_repositories_in_domain_result.py +49 -0
  189. capo_codeartifact/types/list_repositories_max_results.py +5 -0
  190. capo_codeartifact/types/list_repositories_request.py +34 -0
  191. capo_codeartifact/types/list_repositories_result.py +49 -0
  192. capo_codeartifact/types/list_sub_package_groups_request.py +38 -0
  193. capo_codeartifact/types/list_sub_package_groups_result.py +49 -0
  194. capo_codeartifact/types/list_tags_for_resource_request.py +24 -0
  195. capo_codeartifact/types/list_tags_for_resource_result.py +32 -0
  196. capo_codeartifact/types/long.py +5 -0
  197. capo_codeartifact/types/long_optional.py +5 -0
  198. capo_codeartifact/types/origin_restrictions.py +48 -0
  199. capo_codeartifact/types/package_dependency.py +48 -0
  200. capo_codeartifact/types/package_dependency_list.py +31 -0
  201. capo_codeartifact/types/package_description.py +71 -0
  202. capo_codeartifact/types/package_format.py +23 -0
  203. capo_codeartifact/types/package_group_allowed_repository.py +51 -0
  204. capo_codeartifact/types/package_group_allowed_repository_list.py +39 -0
  205. capo_codeartifact/types/package_group_allowed_repository_update.py +44 -0
  206. capo_codeartifact/types/package_group_allowed_repository_update_type.py +17 -0
  207. capo_codeartifact/types/package_group_allowed_repository_updates.py +48 -0
  208. capo_codeartifact/types/package_group_association_type.py +17 -0
  209. capo_codeartifact/types/package_group_contact_info.py +5 -0
  210. capo_codeartifact/types/package_group_description.py +122 -0
  211. capo_codeartifact/types/package_group_origin_configuration.py +42 -0
  212. capo_codeartifact/types/package_group_origin_restriction.py +92 -0
  213. capo_codeartifact/types/package_group_origin_restriction_mode.py +19 -0
  214. capo_codeartifact/types/package_group_origin_restriction_type.py +18 -0
  215. capo_codeartifact/types/package_group_origin_restrictions.py +48 -0
  216. capo_codeartifact/types/package_group_pattern.py +5 -0
  217. capo_codeartifact/types/package_group_pattern_prefix.py +5 -0
  218. capo_codeartifact/types/package_group_reference.py +37 -0
  219. capo_codeartifact/types/package_group_summary.py +122 -0
  220. capo_codeartifact/types/package_group_summary_list.py +31 -0
  221. capo_codeartifact/types/package_name.py +5 -0
  222. capo_codeartifact/types/package_namespace.py +5 -0
  223. capo_codeartifact/types/package_origin_configuration.py +42 -0
  224. capo_codeartifact/types/package_origin_restrictions.py +55 -0
  225. capo_codeartifact/types/package_summary.py +71 -0
  226. capo_codeartifact/types/package_summary_list.py +31 -0
  227. capo_codeartifact/types/package_version.py +5 -0
  228. capo_codeartifact/types/package_version_description.py +156 -0
  229. capo_codeartifact/types/package_version_error.py +49 -0
  230. capo_codeartifact/types/package_version_error_code.py +21 -0
  231. capo_codeartifact/types/package_version_error_map.py +33 -0
  232. capo_codeartifact/types/package_version_list.py +19 -0
  233. capo_codeartifact/types/package_version_origin.py +63 -0
  234. capo_codeartifact/types/package_version_origin_type.py +18 -0
  235. capo_codeartifact/types/package_version_revision.py +5 -0
  236. capo_codeartifact/types/package_version_revision_map.py +29 -0
  237. capo_codeartifact/types/package_version_sort_type.py +14 -0
  238. capo_codeartifact/types/package_version_status.py +21 -0
  239. capo_codeartifact/types/package_version_summary.py +73 -0
  240. capo_codeartifact/types/package_version_summary_list.py +33 -0
  241. capo_codeartifact/types/pagination_token.py +5 -0
  242. capo_codeartifact/types/policy_document.py +5 -0
  243. capo_codeartifact/types/policy_revision.py +5 -0
  244. capo_codeartifact/types/publish_package_version_request.py +43 -0
  245. capo_codeartifact/types/publish_package_version_result.py +98 -0
  246. capo_codeartifact/types/put_domain_permissions_policy_request.py +57 -0
  247. capo_codeartifact/types/put_domain_permissions_policy_result.py +36 -0
  248. capo_codeartifact/types/put_package_origin_configuration_request.py +65 -0
  249. capo_codeartifact/types/put_package_origin_configuration_result.py +42 -0
  250. capo_codeartifact/types/put_repository_permissions_policy_request.py +51 -0
  251. capo_codeartifact/types/put_repository_permissions_policy_result.py +36 -0
  252. capo_codeartifact/types/repository_description.py +119 -0
  253. capo_codeartifact/types/repository_external_connection_info.py +66 -0
  254. capo_codeartifact/types/repository_external_connection_info_list.py +39 -0
  255. capo_codeartifact/types/repository_name.py +5 -0
  256. capo_codeartifact/types/repository_name_list.py +19 -0
  257. capo_codeartifact/types/repository_summary.py +77 -0
  258. capo_codeartifact/types/repository_summary_list.py +31 -0
  259. capo_codeartifact/types/resource_policy.py +42 -0
  260. capo_codeartifact/types/resource_type.py +20 -0
  261. capo_codeartifact/types/retry_after_seconds.py +5 -0
  262. capo_codeartifact/types/sha256.py +5 -0
  263. capo_codeartifact/types/string.py +5 -0
  264. capo_codeartifact/types/string255.py +5 -0
  265. capo_codeartifact/types/successful_package_version_info.py +45 -0
  266. capo_codeartifact/types/successful_package_version_info_map.py +41 -0
  267. capo_codeartifact/types/tag.py +39 -0
  268. capo_codeartifact/types/tag_key.py +5 -0
  269. capo_codeartifact/types/tag_key_list.py +17 -0
  270. capo_codeartifact/types/tag_list.py +29 -0
  271. capo_codeartifact/types/tag_resource_request.py +38 -0
  272. capo_codeartifact/types/tag_resource_result.py +18 -0
  273. capo_codeartifact/types/tag_value.py +5 -0
  274. capo_codeartifact/types/timestamp.py +20 -0
  275. capo_codeartifact/types/untag_resource_request.py +42 -0
  276. capo_codeartifact/types/untag_resource_result.py +18 -0
  277. capo_codeartifact/types/update_package_group_origin_configuration_request.py +92 -0
  278. capo_codeartifact/types/update_package_group_origin_configuration_result.py +63 -0
  279. capo_codeartifact/types/update_package_group_request.py +53 -0
  280. capo_codeartifact/types/update_package_group_result.py +42 -0
  281. capo_codeartifact/types/update_package_versions_status_request.py +120 -0
  282. capo_codeartifact/types/update_package_versions_status_result.py +63 -0
  283. capo_codeartifact/types/update_repository_request.py +58 -0
  284. capo_codeartifact/types/update_repository_result.py +42 -0
  285. capo_codeartifact/types/upstream_repository.py +31 -0
  286. capo_codeartifact/types/upstream_repository_info.py +30 -0
  287. capo_codeartifact/types/upstream_repository_info_list.py +35 -0
  288. capo_codeartifact/types/upstream_repository_list.py +31 -0
  289. capo_codeartifact/types/validation_exception_reason.py +20 -0
  290. capo_codeartifact-0.1.0.dist-info/METADATA +139 -0
  291. capo_codeartifact-0.1.0.dist-info/RECORD +294 -0
  292. capo_codeartifact-0.1.0.dist-info/WHEEL +5 -0
  293. capo_codeartifact-0.1.0.dist-info/licenses/LICENSE +21 -0
  294. capo_codeartifact-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,3822 @@
1
+ """Generated from Smithy shape ``com.amazonaws.codeartifact#CodeArtifactControlPlaneService``."""
2
+
3
+ import warnings
4
+ from collections.abc import Generator, Iterator
5
+ from contextlib import contextmanager
6
+ from typing import TYPE_CHECKING, Any, Iterable, Optional
7
+
8
+ from typing_extensions import Self, TypedDict
9
+ from zapros import BaseHandler, Client
10
+
11
+ import capo_codeartifact._auth._signers
12
+ import capo_codeartifact._auth._sigv4
13
+ from capo_codeartifact._auth._identity import Credentials
14
+ from capo_codeartifact._auth._providers import (
15
+ CredentialsProvider,
16
+ IdentityProvider,
17
+ StaticAwsCredentialsProvider,
18
+ default_aws_credentials_chain,
19
+ )
20
+ from capo_codeartifact._auth._zapros_handler import AuthMiddleware
21
+ from capo_codeartifact._iter import ensure_sync_iterator
22
+ from capo_codeartifact._pagination import resolve_path as _resolve_path
23
+ from capo_codeartifact._services._aws_config import aws_config
24
+ from capo_codeartifact._services._pipeline import (
25
+ Interceptor,
26
+ OperationOptions,
27
+ OperationRequest,
28
+ OperationResponse,
29
+ execute_pipeline,
30
+ retry,
31
+ )
32
+
33
+ if TYPE_CHECKING:
34
+ import capo_codeartifact.types.account_id
35
+ import capo_codeartifact.types.allow_publish
36
+ import capo_codeartifact.types.allow_upstream
37
+ import capo_codeartifact.types.arn
38
+ import capo_codeartifact.types.asset
39
+ import capo_codeartifact.types.asset_name
40
+ import capo_codeartifact.types.asset_summary
41
+ import capo_codeartifact.types.associate_external_connection_request
42
+ import capo_codeartifact.types.associate_external_connection_result
43
+ import capo_codeartifact.types.associated_package
44
+ import capo_codeartifact.types.authorization_token_duration_seconds
45
+ import capo_codeartifact.types.boolean_optional
46
+ import capo_codeartifact.types.copy_package_versions_request
47
+ import capo_codeartifact.types.copy_package_versions_result
48
+ import capo_codeartifact.types.create_domain_request
49
+ import capo_codeartifact.types.create_domain_result
50
+ import capo_codeartifact.types.create_package_group_request
51
+ import capo_codeartifact.types.create_package_group_result
52
+ import capo_codeartifact.types.create_repository_request
53
+ import capo_codeartifact.types.create_repository_result
54
+ import capo_codeartifact.types.delete_domain_permissions_policy_request
55
+ import capo_codeartifact.types.delete_domain_permissions_policy_result
56
+ import capo_codeartifact.types.delete_domain_request
57
+ import capo_codeartifact.types.delete_domain_result
58
+ import capo_codeartifact.types.delete_package_group_request
59
+ import capo_codeartifact.types.delete_package_group_result
60
+ import capo_codeartifact.types.delete_package_request
61
+ import capo_codeartifact.types.delete_package_result
62
+ import capo_codeartifact.types.delete_package_versions_request
63
+ import capo_codeartifact.types.delete_package_versions_result
64
+ import capo_codeartifact.types.delete_repository_permissions_policy_request
65
+ import capo_codeartifact.types.delete_repository_permissions_policy_result
66
+ import capo_codeartifact.types.delete_repository_request
67
+ import capo_codeartifact.types.delete_repository_result
68
+ import capo_codeartifact.types.describe_domain_request
69
+ import capo_codeartifact.types.describe_domain_result
70
+ import capo_codeartifact.types.describe_package_group_request
71
+ import capo_codeartifact.types.describe_package_group_result
72
+ import capo_codeartifact.types.describe_package_request
73
+ import capo_codeartifact.types.describe_package_result
74
+ import capo_codeartifact.types.describe_package_version_request
75
+ import capo_codeartifact.types.describe_package_version_result
76
+ import capo_codeartifact.types.describe_repository_request
77
+ import capo_codeartifact.types.describe_repository_result
78
+ import capo_codeartifact.types.description
79
+ import capo_codeartifact.types.disassociate_external_connection_request
80
+ import capo_codeartifact.types.disassociate_external_connection_result
81
+ import capo_codeartifact.types.dispose_package_versions_request
82
+ import capo_codeartifact.types.dispose_package_versions_result
83
+ import capo_codeartifact.types.domain_name
84
+ import capo_codeartifact.types.domain_summary
85
+ import capo_codeartifact.types.endpoint_type
86
+ import capo_codeartifact.types.external_connection_name
87
+ import capo_codeartifact.types.get_associated_package_group_request
88
+ import capo_codeartifact.types.get_associated_package_group_result
89
+ import capo_codeartifact.types.get_authorization_token_request
90
+ import capo_codeartifact.types.get_authorization_token_result
91
+ import capo_codeartifact.types.get_domain_permissions_policy_request
92
+ import capo_codeartifact.types.get_domain_permissions_policy_result
93
+ import capo_codeartifact.types.get_package_version_asset_request
94
+ import capo_codeartifact.types.get_package_version_asset_result
95
+ import capo_codeartifact.types.get_package_version_readme_request
96
+ import capo_codeartifact.types.get_package_version_readme_result
97
+ import capo_codeartifact.types.get_repository_endpoint_request
98
+ import capo_codeartifact.types.get_repository_endpoint_result
99
+ import capo_codeartifact.types.get_repository_permissions_policy_request
100
+ import capo_codeartifact.types.get_repository_permissions_policy_result
101
+ import capo_codeartifact.types.list_allowed_repositories_for_group_max_results
102
+ import capo_codeartifact.types.list_allowed_repositories_for_group_request
103
+ import capo_codeartifact.types.list_allowed_repositories_for_group_result
104
+ import capo_codeartifact.types.list_associated_packages_request
105
+ import capo_codeartifact.types.list_associated_packages_result
106
+ import capo_codeartifact.types.list_domains_max_results
107
+ import capo_codeartifact.types.list_domains_request
108
+ import capo_codeartifact.types.list_domains_result
109
+ import capo_codeartifact.types.list_package_groups_max_results
110
+ import capo_codeartifact.types.list_package_groups_request
111
+ import capo_codeartifact.types.list_package_groups_result
112
+ import capo_codeartifact.types.list_package_version_assets_max_results
113
+ import capo_codeartifact.types.list_package_version_assets_request
114
+ import capo_codeartifact.types.list_package_version_assets_result
115
+ import capo_codeartifact.types.list_package_version_dependencies_request
116
+ import capo_codeartifact.types.list_package_version_dependencies_result
117
+ import capo_codeartifact.types.list_package_versions_max_results
118
+ import capo_codeartifact.types.list_package_versions_request
119
+ import capo_codeartifact.types.list_package_versions_result
120
+ import capo_codeartifact.types.list_packages_max_results
121
+ import capo_codeartifact.types.list_packages_request
122
+ import capo_codeartifact.types.list_packages_result
123
+ import capo_codeartifact.types.list_repositories_in_domain_max_results
124
+ import capo_codeartifact.types.list_repositories_in_domain_request
125
+ import capo_codeartifact.types.list_repositories_in_domain_result
126
+ import capo_codeartifact.types.list_repositories_max_results
127
+ import capo_codeartifact.types.list_repositories_request
128
+ import capo_codeartifact.types.list_repositories_result
129
+ import capo_codeartifact.types.list_sub_package_groups_request
130
+ import capo_codeartifact.types.list_sub_package_groups_result
131
+ import capo_codeartifact.types.list_tags_for_resource_request
132
+ import capo_codeartifact.types.list_tags_for_resource_result
133
+ import capo_codeartifact.types.origin_restrictions
134
+ import capo_codeartifact.types.package_format
135
+ import capo_codeartifact.types.package_group_allowed_repository_list
136
+ import capo_codeartifact.types.package_group_contact_info
137
+ import capo_codeartifact.types.package_group_origin_restriction_type
138
+ import capo_codeartifact.types.package_group_pattern
139
+ import capo_codeartifact.types.package_group_pattern_prefix
140
+ import capo_codeartifact.types.package_group_summary
141
+ import capo_codeartifact.types.package_name
142
+ import capo_codeartifact.types.package_namespace
143
+ import capo_codeartifact.types.package_origin_restrictions
144
+ import capo_codeartifact.types.package_summary
145
+ import capo_codeartifact.types.package_version
146
+ import capo_codeartifact.types.package_version_list
147
+ import capo_codeartifact.types.package_version_origin_type
148
+ import capo_codeartifact.types.package_version_revision
149
+ import capo_codeartifact.types.package_version_revision_map
150
+ import capo_codeartifact.types.package_version_sort_type
151
+ import capo_codeartifact.types.package_version_status
152
+ import capo_codeartifact.types.package_version_summary
153
+ import capo_codeartifact.types.pagination_token
154
+ import capo_codeartifact.types.policy_document
155
+ import capo_codeartifact.types.policy_revision
156
+ import capo_codeartifact.types.publish_package_version_request
157
+ import capo_codeartifact.types.publish_package_version_result
158
+ import capo_codeartifact.types.put_domain_permissions_policy_request
159
+ import capo_codeartifact.types.put_domain_permissions_policy_result
160
+ import capo_codeartifact.types.put_package_origin_configuration_request
161
+ import capo_codeartifact.types.put_package_origin_configuration_result
162
+ import capo_codeartifact.types.put_repository_permissions_policy_request
163
+ import capo_codeartifact.types.put_repository_permissions_policy_result
164
+ import capo_codeartifact.types.repository_name
165
+ import capo_codeartifact.types.repository_summary
166
+ import capo_codeartifact.types.sha256
167
+ import capo_codeartifact.types.string
168
+ import capo_codeartifact.types.tag_key_list
169
+ import capo_codeartifact.types.tag_list
170
+ import capo_codeartifact.types.tag_resource_request
171
+ import capo_codeartifact.types.tag_resource_result
172
+ import capo_codeartifact.types.untag_resource_request
173
+ import capo_codeartifact.types.untag_resource_result
174
+ import capo_codeartifact.types.update_package_group_origin_configuration_request
175
+ import capo_codeartifact.types.update_package_group_origin_configuration_result
176
+ import capo_codeartifact.types.update_package_group_request
177
+ import capo_codeartifact.types.update_package_group_result
178
+ import capo_codeartifact.types.update_package_versions_status_request
179
+ import capo_codeartifact.types.update_package_versions_status_result
180
+ import capo_codeartifact.types.update_repository_request
181
+ import capo_codeartifact.types.update_repository_result
182
+ import capo_codeartifact.types.upstream_repository_list
183
+
184
+
185
+ class codeartifactClientConfig(TypedDict, total=False, closed=True):
186
+ operation_interceptors: Iterable[Interceptor[Any, Any]]
187
+ retry_max_attempts: int | None
188
+ region: str | None
189
+ use_dual_stack: bool | None
190
+ use_fips: bool | None
191
+ endpoint: str | None
192
+ credentials_provider: IdentityProvider[Credentials] | None
193
+
194
+
195
+ class codeartifactClient:
196
+ """A client for the ``codeartifact`` service.
197
+
198
+ Args:
199
+ http_handler: HTTP handler for sending requests. If not provided, creates a default handler.
200
+ operation_interceptors: Interceptors that wrap every operation call. If not provided, defaults to an empty list.
201
+ retry_max_attempts: Maximum number of times to retry a failed operation. Defaults to 3.
202
+ region: The value of the ``AWS::Region`` endpoint parameter.
203
+ use_dual_stack: The value of the ``AWS::UseDualStack`` endpoint parameter.
204
+ use_fips: The value of the ``AWS::UseFIPS`` endpoint parameter.
205
+ endpoint: The value of the ``SDK::Endpoint`` endpoint parameter.
206
+ credentials: AWS credentials for request signing.
207
+ credentials_provider: Provider that resolves AWS credentials. Takes precedence over ``credentials``.
208
+ """
209
+
210
+ def __init__(
211
+ self,
212
+ http_handler: BaseHandler | None = None,
213
+ operation_interceptors: Iterable[Interceptor[Any, Any]] | None = None,
214
+ retry_max_attempts: int | None = None,
215
+ region: str | None = None,
216
+ use_dual_stack: bool | None = None,
217
+ use_fips: bool | None = None,
218
+ endpoint: str | None = None,
219
+ credentials: Credentials | None = None,
220
+ credentials_provider: CredentialsProvider | None = None,
221
+ ):
222
+ self._client = Client(http_handler).wrap_with_middleware(
223
+ lambda next: AuthMiddleware(next)
224
+ )
225
+ if credentials is not None and credentials_provider is not None:
226
+ warnings.warn(
227
+ "Both credentials and credentials_provider given; provider takes precedence"
228
+ )
229
+ resolved_credentials_provider: IdentityProvider[Credentials] | None = (
230
+ credentials_provider
231
+ )
232
+ if resolved_credentials_provider is None and credentials is not None:
233
+ resolved_credentials_provider = StaticAwsCredentialsProvider(credentials)
234
+ if resolved_credentials_provider is None and credentials is None:
235
+ resolved_credentials_provider = default_aws_credentials_chain(
236
+ Client(http_handler)
237
+ )
238
+ self._config = codeartifactClientConfig(
239
+ {
240
+ "operation_interceptors": operation_interceptors or [],
241
+ "retry_max_attempts": retry_max_attempts,
242
+ "region": region,
243
+ "use_dual_stack": use_dual_stack,
244
+ "use_fips": use_fips,
245
+ "endpoint": endpoint,
246
+ "credentials_provider": resolved_credentials_provider,
247
+ }
248
+ )
249
+
250
+ def operation_options(
251
+ self, config_overrides: Optional[codeartifactClientConfig] = None
252
+ ) -> tuple[Iterable[Interceptor[Any, Any]], OperationOptions]:
253
+ overrides: codeartifactClientConfig = config_overrides or {}
254
+ interceptors_: list[Interceptor[Any, Any]] = [
255
+ *overrides.get(
256
+ "operation_interceptors", self._config.get("operation_interceptors", [])
257
+ ),
258
+ aws_config(),
259
+ retry(),
260
+ ]
261
+ options_: OperationOptions = OperationOptions(
262
+ client=self._client,
263
+ retry_max_attempts=overrides.get(
264
+ "retry_max_attempts", self._config.get("retry_max_attempts")
265
+ ),
266
+ region=overrides.get("region", self._config.get("region")),
267
+ use_dual_stack=overrides.get(
268
+ "use_dual_stack", self._config.get("use_dual_stack")
269
+ ),
270
+ use_fips=overrides.get("use_fips", self._config.get("use_fips")),
271
+ endpoint=overrides.get("endpoint", self._config.get("endpoint")),
272
+ credentials_provider=overrides.get(
273
+ "credentials_provider", self._config.get("credentials_provider")
274
+ ),
275
+ )
276
+ return interceptors_, options_
277
+
278
+ def associate_external_connection(
279
+ self,
280
+ domain: "capo_codeartifact.types.domain_name.DomainName",
281
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
282
+ external_connection: "capo_codeartifact.types.external_connection_name.ExternalConnectionName",
283
+ *,
284
+ config_overrides: Optional[codeartifactClientConfig] = None,
285
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
286
+ ) -> "capo_codeartifact.types.associate_external_connection_result.AssociateExternalConnectionResult":
287
+ """<p>Adds an existing external connection to a repository. One external connection is allowed per repository.</p> <note> <p>A repository can have one or more upstream repositories, or an external connection.</p> </note>
288
+
289
+ Args:
290
+ domain: <p>The name of the domain that contains the repository.</p>
291
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
292
+ repository: <p> The name of the repository to which the external connection is added. </p>
293
+ external_connection: <p> The name of the external connection to add to the repository. The following values are supported: </p> <ul> <li> <p> <code>public:npmjs</code> - for the npm public repository. </p> </li> <li> <p> <code>public:nuget-org</code> - for the NuGet Gallery. </p> </li> <li> <p> <code>public:pypi</code> - for the Python Package Index. </p> </li> <li> <p> <code>public:maven-central</code> - for Maven Central. </p> </li> <li> <p> <code>public:maven-googleandroid</code> - for the Google Android repository. </p> </li> <li> <p> <code>public:maven-gradleplugins</code> - for the Gradle plugins repository. </p> </li> <li> <p> <code>public:maven-commonsware</code> - for the CommonsWare Android repository. </p> </li> <li> <p> <code>public:maven-clojars</code> - for the Clojars repository. </p> </li> <li> <p> <code>public:ruby-gems-org</code> - for RubyGems.org. </p> </li> <li> <p> <code>public:crates-io</code> - for Crates.io. </p> </li> </ul>
294
+
295
+ Raises:
296
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
297
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
298
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
299
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
300
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
301
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
302
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
303
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
304
+ """
305
+
306
+ def _handler(
307
+ req: "OperationRequest[capo_codeartifact.types.associate_external_connection_request.AssociateExternalConnectionRequest]",
308
+ ) -> OperationResponse[
309
+ "capo_codeartifact.types.associate_external_connection_result.AssociateExternalConnectionResult"
310
+ ]:
311
+ import capo_codeartifact._operations.code_artifact_control_plane_service.associate_external_connection
312
+
313
+ output, http_response = (
314
+ capo_codeartifact._operations.code_artifact_control_plane_service.associate_external_connection.associate_external_connection(
315
+ req.options, req.input
316
+ )
317
+ )
318
+ return OperationResponse(output=output, response=http_response)
319
+
320
+ interceptors_, options_ = self.operation_options(config_overrides)
321
+ input_: capo_codeartifact.types.associate_external_connection_request.AssociateExternalConnectionRequest = {
322
+ "domain": domain,
323
+ "repository": repository,
324
+ "external_connection": external_connection,
325
+ }
326
+ if domain_owner is not None:
327
+ input_["domain_owner"] = domain_owner
328
+
329
+ response = execute_pipeline(
330
+ OperationRequest(input=input_, options=options_),
331
+ handler=_handler,
332
+ interceptors=list(interceptors_),
333
+ )
334
+ response.response.close()
335
+ return response.output
336
+
337
+ def copy_package_versions(
338
+ self,
339
+ domain: "capo_codeartifact.types.domain_name.DomainName",
340
+ source_repository: "capo_codeartifact.types.repository_name.RepositoryName",
341
+ destination_repository: "capo_codeartifact.types.repository_name.RepositoryName",
342
+ format: "capo_codeartifact.types.package_format.PackageFormat",
343
+ package: "capo_codeartifact.types.package_name.PackageName",
344
+ *,
345
+ config_overrides: Optional[codeartifactClientConfig] = None,
346
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
347
+ namespace: Optional[
348
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
349
+ ] = None,
350
+ versions: Optional[
351
+ "capo_codeartifact.types.package_version_list.PackageVersionList"
352
+ ] = None,
353
+ version_revisions: Optional[
354
+ "capo_codeartifact.types.package_version_revision_map.PackageVersionRevisionMap"
355
+ ] = None,
356
+ allow_overwrite: Optional[
357
+ "capo_codeartifact.types.boolean_optional.BooleanOptional"
358
+ ] = None,
359
+ include_from_upstream: Optional[
360
+ "capo_codeartifact.types.boolean_optional.BooleanOptional"
361
+ ] = None,
362
+ ) -> (
363
+ "capo_codeartifact.types.copy_package_versions_result.CopyPackageVersionsResult"
364
+ ):
365
+ r"""<p> Copies package versions from one repository to another repository in the same domain. </p> <note> <p> You must specify <code>versions</code> or <code>versionRevisions</code>. You cannot specify both. </p> </note>
366
+
367
+ Args:
368
+ domain: <p> The name of the domain that contains the source and destination repositories. </p>
369
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
370
+ source_repository: <p> The name of the repository that contains the package versions to be copied. </p>
371
+ destination_repository: <p> The name of the repository into which package versions are copied. </p>
372
+ format: <p> The format of the package versions to be copied. </p>
373
+ namespace: <p>The namespace of the package versions to be copied. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when copying package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
374
+ package: <p> The name of the package that contains the versions to be copied. </p>
375
+ versions: <p> The versions of the package to be copied. </p> <note> <p> You must specify <code>versions</code> or <code>versionRevisions</code>. You cannot specify both. </p> </note>
376
+ version_revisions: <p> A list of key-value pairs. The keys are package versions and the values are package version revisions. A <code>CopyPackageVersion</code> operation succeeds if the specified versions in the source repository match the specified package version revision. </p> <note> <p> You must specify <code>versions</code> or <code>versionRevisions</code>. You cannot specify both. </p> </note>
377
+ allow_overwrite: <p> Set to true to overwrite a package version that already exists in the destination repository. If set to false and the package version already exists in the destination repository, the package version is returned in the <code>failedVersions</code> field of the response with an <code>ALREADY_EXISTS</code> error code. </p>
378
+ include_from_upstream: <p> Set to true to copy packages from repositories that are upstream from the source repository to the destination repository. The default setting is false. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html\">Working with upstream repositories</a>. </p>
379
+
380
+ Raises:
381
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
382
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
383
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
384
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
385
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
386
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
387
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
388
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
389
+ """
390
+
391
+ def _handler(
392
+ req: "OperationRequest[capo_codeartifact.types.copy_package_versions_request.CopyPackageVersionsRequest]",
393
+ ) -> OperationResponse[
394
+ "capo_codeartifact.types.copy_package_versions_result.CopyPackageVersionsResult"
395
+ ]:
396
+ import capo_codeartifact._operations.code_artifact_control_plane_service.copy_package_versions
397
+
398
+ output, http_response = (
399
+ capo_codeartifact._operations.code_artifact_control_plane_service.copy_package_versions.copy_package_versions(
400
+ req.options, req.input
401
+ )
402
+ )
403
+ return OperationResponse(output=output, response=http_response)
404
+
405
+ interceptors_, options_ = self.operation_options(config_overrides)
406
+ input_: capo_codeartifact.types.copy_package_versions_request.CopyPackageVersionsRequest = {
407
+ "domain": domain,
408
+ "source_repository": source_repository,
409
+ "destination_repository": destination_repository,
410
+ "format": format,
411
+ "package": package,
412
+ }
413
+ if domain_owner is not None:
414
+ input_["domain_owner"] = domain_owner
415
+ if namespace is not None:
416
+ input_["namespace"] = namespace
417
+ if versions is not None:
418
+ input_["versions"] = versions
419
+ if version_revisions is not None:
420
+ input_["version_revisions"] = version_revisions
421
+ if allow_overwrite is not None:
422
+ input_["allow_overwrite"] = allow_overwrite
423
+ if include_from_upstream is not None:
424
+ input_["include_from_upstream"] = include_from_upstream
425
+
426
+ response = execute_pipeline(
427
+ OperationRequest(input=input_, options=options_),
428
+ handler=_handler,
429
+ interceptors=list(interceptors_),
430
+ )
431
+ response.response.close()
432
+ return response.output
433
+
434
+ def create_domain(
435
+ self,
436
+ domain: "capo_codeartifact.types.domain_name.DomainName",
437
+ *,
438
+ config_overrides: Optional[codeartifactClientConfig] = None,
439
+ encryption_key: Optional["capo_codeartifact.types.arn.Arn"] = None,
440
+ tags: Optional["capo_codeartifact.types.tag_list.TagList"] = None,
441
+ ) -> "capo_codeartifact.types.create_domain_result.CreateDomainResult":
442
+ r"""<p> Creates a domain. CodeArtifact <i>domains</i> make it easier to manage multiple repositories across an organization. You can use a domain to apply permissions across many repositories owned by different Amazon Web Services accounts. An asset is stored only once in a domain, even if it's in multiple repositories. </p> <p>Although you can have multiple domains, we recommend a single production domain that contains all published artifacts so that your development teams can find and share packages. You can use a second pre-production domain to test changes to the production domain configuration. </p>
443
+
444
+ Args:
445
+ domain: <p> The name of the domain to create. All domain names in an Amazon Web Services Region that are in the same Amazon Web Services account must be unique. The domain name is used as the prefix in DNS hostnames. Do not use sensitive information in a domain name because it is publicly discoverable. </p>
446
+ encryption_key: <p> The encryption key for the domain. This is used to encrypt content stored in a domain. An encryption key can be a key ID, a key Amazon Resource Name (ARN), a key alias, or a key alias ARN. To specify an <code>encryptionKey</code>, your IAM role must have <code>kms:DescribeKey</code> and <code>kms:CreateGrant</code> permissions on the encryption key that is used. For more information, see <a href=\"https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax\">DescribeKey</a> in the <i>Key Management Service API Reference</i> and <a href=\"https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html\">Key Management Service API Permissions Reference</a> in the <i>Key Management Service Developer Guide</i>. </p> <important> <p> CodeArtifact supports only symmetric CMKs. Do not associate an asymmetric CMK with your domain. For more information, see <a href=\"https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html\">Using symmetric and asymmetric keys</a> in the <i>Key Management Service Developer Guide</i>. </p> </important>
447
+ tags: <p>One or more tag key-value pairs for the domain.</p>
448
+
449
+ Raises:
450
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
451
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
452
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
453
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
454
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
455
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
456
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
457
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
458
+ """
459
+
460
+ def _handler(
461
+ req: "OperationRequest[capo_codeartifact.types.create_domain_request.CreateDomainRequest]",
462
+ ) -> OperationResponse[
463
+ "capo_codeartifact.types.create_domain_result.CreateDomainResult"
464
+ ]:
465
+ import capo_codeartifact._operations.code_artifact_control_plane_service.create_domain
466
+
467
+ output, http_response = (
468
+ capo_codeartifact._operations.code_artifact_control_plane_service.create_domain.create_domain(
469
+ req.options, req.input
470
+ )
471
+ )
472
+ return OperationResponse(output=output, response=http_response)
473
+
474
+ interceptors_, options_ = self.operation_options(config_overrides)
475
+ input_: capo_codeartifact.types.create_domain_request.CreateDomainRequest = {
476
+ "domain": domain
477
+ }
478
+ if encryption_key is not None:
479
+ input_["encryption_key"] = encryption_key
480
+ if tags is not None:
481
+ input_["tags"] = tags
482
+
483
+ response = execute_pipeline(
484
+ OperationRequest(input=input_, options=options_),
485
+ handler=_handler,
486
+ interceptors=list(interceptors_),
487
+ )
488
+ response.response.close()
489
+ return response.output
490
+
491
+ def create_package_group(
492
+ self,
493
+ domain: "capo_codeartifact.types.domain_name.DomainName",
494
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
495
+ *,
496
+ config_overrides: Optional[codeartifactClientConfig] = None,
497
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
498
+ contact_info: Optional[
499
+ "capo_codeartifact.types.package_group_contact_info.PackageGroupContactInfo"
500
+ ] = None,
501
+ description: Optional["capo_codeartifact.types.description.Description"] = None,
502
+ tags: Optional["capo_codeartifact.types.tag_list.TagList"] = None,
503
+ ) -> "capo_codeartifact.types.create_package_group_result.CreatePackageGroupResult":
504
+ r"""<p> Creates a package group. For more information about creating package groups, including example CLI commands, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/create-package-group.html\">Create a package group</a> in the <i>CodeArtifact User Guide</i>. </p>
505
+
506
+ Args:
507
+ domain: <p> The name of the domain in which you want to create a package group. </p>
508
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
509
+ package_group: <p>The pattern of the package group to create. The pattern is also the identifier of the package group. </p>
510
+ contact_info: <p> The contact information for the created package group. </p>
511
+ description: <p> A description of the package group. </p>
512
+ tags: <p>One or more tag key-value pairs for the package group.</p>
513
+
514
+ Raises:
515
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
516
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
517
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
518
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
519
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
520
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
521
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
522
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
523
+ """
524
+
525
+ def _handler(
526
+ req: "OperationRequest[capo_codeartifact.types.create_package_group_request.CreatePackageGroupRequest]",
527
+ ) -> OperationResponse[
528
+ "capo_codeartifact.types.create_package_group_result.CreatePackageGroupResult"
529
+ ]:
530
+ import capo_codeartifact._operations.code_artifact_control_plane_service.create_package_group
531
+
532
+ output, http_response = (
533
+ capo_codeartifact._operations.code_artifact_control_plane_service.create_package_group.create_package_group(
534
+ req.options, req.input
535
+ )
536
+ )
537
+ return OperationResponse(output=output, response=http_response)
538
+
539
+ interceptors_, options_ = self.operation_options(config_overrides)
540
+ input_: capo_codeartifact.types.create_package_group_request.CreatePackageGroupRequest = {
541
+ "domain": domain,
542
+ "package_group": package_group,
543
+ }
544
+ if domain_owner is not None:
545
+ input_["domain_owner"] = domain_owner
546
+ if contact_info is not None:
547
+ input_["contact_info"] = contact_info
548
+ if description is not None:
549
+ input_["description"] = description
550
+ if tags is not None:
551
+ input_["tags"] = tags
552
+
553
+ response = execute_pipeline(
554
+ OperationRequest(input=input_, options=options_),
555
+ handler=_handler,
556
+ interceptors=list(interceptors_),
557
+ )
558
+ response.response.close()
559
+ return response.output
560
+
561
+ def create_repository(
562
+ self,
563
+ domain: "capo_codeartifact.types.domain_name.DomainName",
564
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
565
+ *,
566
+ config_overrides: Optional[codeartifactClientConfig] = None,
567
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
568
+ description: Optional["capo_codeartifact.types.description.Description"] = None,
569
+ upstreams: Optional[
570
+ "capo_codeartifact.types.upstream_repository_list.UpstreamRepositoryList"
571
+ ] = None,
572
+ tags: Optional["capo_codeartifact.types.tag_list.TagList"] = None,
573
+ ) -> "capo_codeartifact.types.create_repository_result.CreateRepositoryResult":
574
+ r"""<p> Creates a repository. </p>
575
+
576
+ Args:
577
+ domain: <p> The name of the domain that contains the created repository. </p>
578
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
579
+ repository: <p>The name of the repository to create. </p>
580
+ description: <p> A description of the created repository. </p>
581
+ upstreams: <p> A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when CodeArtifact looks for a requested package version. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html\">Working with upstream repositories</a>. </p>
582
+ tags: <p>One or more tag key-value pairs for the repository.</p>
583
+
584
+ Raises:
585
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
586
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
587
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
588
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
589
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
590
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
591
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
592
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
593
+ """
594
+
595
+ def _handler(
596
+ req: "OperationRequest[capo_codeartifact.types.create_repository_request.CreateRepositoryRequest]",
597
+ ) -> OperationResponse[
598
+ "capo_codeartifact.types.create_repository_result.CreateRepositoryResult"
599
+ ]:
600
+ import capo_codeartifact._operations.code_artifact_control_plane_service.create_repository
601
+
602
+ output, http_response = (
603
+ capo_codeartifact._operations.code_artifact_control_plane_service.create_repository.create_repository(
604
+ req.options, req.input
605
+ )
606
+ )
607
+ return OperationResponse(output=output, response=http_response)
608
+
609
+ interceptors_, options_ = self.operation_options(config_overrides)
610
+ input_: capo_codeartifact.types.create_repository_request.CreateRepositoryRequest = {
611
+ "domain": domain,
612
+ "repository": repository,
613
+ }
614
+ if domain_owner is not None:
615
+ input_["domain_owner"] = domain_owner
616
+ if description is not None:
617
+ input_["description"] = description
618
+ if upstreams is not None:
619
+ input_["upstreams"] = upstreams
620
+ if tags is not None:
621
+ input_["tags"] = tags
622
+
623
+ response = execute_pipeline(
624
+ OperationRequest(input=input_, options=options_),
625
+ handler=_handler,
626
+ interceptors=list(interceptors_),
627
+ )
628
+ response.response.close()
629
+ return response.output
630
+
631
+ def delete_domain(
632
+ self,
633
+ domain: "capo_codeartifact.types.domain_name.DomainName",
634
+ *,
635
+ config_overrides: Optional[codeartifactClientConfig] = None,
636
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
637
+ ) -> "capo_codeartifact.types.delete_domain_result.DeleteDomainResult":
638
+ """<p> Deletes a domain. You cannot delete a domain that contains repositories. If you want to delete a domain with repositories, first delete its repositories. </p>
639
+
640
+ Args:
641
+ domain: <p> The name of the domain to delete. </p>
642
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
643
+
644
+ Raises:
645
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
646
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
647
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
648
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
649
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
650
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
651
+ """
652
+
653
+ def _handler(
654
+ req: "OperationRequest[capo_codeartifact.types.delete_domain_request.DeleteDomainRequest]",
655
+ ) -> OperationResponse[
656
+ "capo_codeartifact.types.delete_domain_result.DeleteDomainResult"
657
+ ]:
658
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_domain
659
+
660
+ output, http_response = (
661
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_domain.delete_domain(
662
+ req.options, req.input
663
+ )
664
+ )
665
+ return OperationResponse(output=output, response=http_response)
666
+
667
+ interceptors_, options_ = self.operation_options(config_overrides)
668
+ input_: capo_codeartifact.types.delete_domain_request.DeleteDomainRequest = {
669
+ "domain": domain
670
+ }
671
+ if domain_owner is not None:
672
+ input_["domain_owner"] = domain_owner
673
+
674
+ response = execute_pipeline(
675
+ OperationRequest(input=input_, options=options_),
676
+ handler=_handler,
677
+ interceptors=list(interceptors_),
678
+ )
679
+ response.response.close()
680
+ return response.output
681
+
682
+ def delete_domain_permissions_policy(
683
+ self,
684
+ domain: "capo_codeartifact.types.domain_name.DomainName",
685
+ *,
686
+ config_overrides: Optional[codeartifactClientConfig] = None,
687
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
688
+ policy_revision: Optional[
689
+ "capo_codeartifact.types.policy_revision.PolicyRevision"
690
+ ] = None,
691
+ ) -> "capo_codeartifact.types.delete_domain_permissions_policy_result.DeleteDomainPermissionsPolicyResult":
692
+ """<p> Deletes the resource policy set on a domain. </p>
693
+
694
+ Args:
695
+ domain: <p> The name of the domain associated with the resource policy to be deleted. </p>
696
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
697
+ policy_revision: <p> The current revision of the resource policy to be deleted. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. </p>
698
+
699
+ Raises:
700
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
701
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
702
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
703
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
704
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
705
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
706
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
707
+ """
708
+
709
+ def _handler(
710
+ req: "OperationRequest[capo_codeartifact.types.delete_domain_permissions_policy_request.DeleteDomainPermissionsPolicyRequest]",
711
+ ) -> OperationResponse[
712
+ "capo_codeartifact.types.delete_domain_permissions_policy_result.DeleteDomainPermissionsPolicyResult"
713
+ ]:
714
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_domain_permissions_policy
715
+
716
+ output, http_response = (
717
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_domain_permissions_policy.delete_domain_permissions_policy(
718
+ req.options, req.input
719
+ )
720
+ )
721
+ return OperationResponse(output=output, response=http_response)
722
+
723
+ interceptors_, options_ = self.operation_options(config_overrides)
724
+ input_: capo_codeartifact.types.delete_domain_permissions_policy_request.DeleteDomainPermissionsPolicyRequest = {
725
+ "domain": domain
726
+ }
727
+ if domain_owner is not None:
728
+ input_["domain_owner"] = domain_owner
729
+ if policy_revision is not None:
730
+ input_["policy_revision"] = policy_revision
731
+
732
+ response = execute_pipeline(
733
+ OperationRequest(input=input_, options=options_),
734
+ handler=_handler,
735
+ interceptors=list(interceptors_),
736
+ )
737
+ response.response.close()
738
+ return response.output
739
+
740
+ def delete_package(
741
+ self,
742
+ domain: "capo_codeartifact.types.domain_name.DomainName",
743
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
744
+ format: "capo_codeartifact.types.package_format.PackageFormat",
745
+ package: "capo_codeartifact.types.package_name.PackageName",
746
+ *,
747
+ config_overrides: Optional[codeartifactClientConfig] = None,
748
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
749
+ namespace: Optional[
750
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
751
+ ] = None,
752
+ ) -> "capo_codeartifact.types.delete_package_result.DeletePackageResult":
753
+ r"""<p>Deletes a package and all associated package versions. A deleted package cannot be restored. To delete one or more package versions, use the <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DeletePackageVersions.html\">DeletePackageVersions</a> API.</p>
754
+
755
+ Args:
756
+ domain: <p>The name of the domain that contains the package to delete.</p>
757
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
758
+ repository: <p>The name of the repository that contains the package to delete.</p>
759
+ format: <p>The format of the requested package to delete.</p>
760
+ namespace: <p>The namespace of the package to delete. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when deleting packages of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
761
+ package: <p>The name of the package to delete.</p>
762
+
763
+ Raises:
764
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
765
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
766
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
767
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
768
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
769
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
770
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
771
+ """
772
+
773
+ def _handler(
774
+ req: "OperationRequest[capo_codeartifact.types.delete_package_request.DeletePackageRequest]",
775
+ ) -> OperationResponse[
776
+ "capo_codeartifact.types.delete_package_result.DeletePackageResult"
777
+ ]:
778
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_package
779
+
780
+ output, http_response = (
781
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_package.delete_package(
782
+ req.options, req.input
783
+ )
784
+ )
785
+ return OperationResponse(output=output, response=http_response)
786
+
787
+ interceptors_, options_ = self.operation_options(config_overrides)
788
+ input_: capo_codeartifact.types.delete_package_request.DeletePackageRequest = {
789
+ "domain": domain,
790
+ "repository": repository,
791
+ "format": format,
792
+ "package": package,
793
+ }
794
+ if domain_owner is not None:
795
+ input_["domain_owner"] = domain_owner
796
+ if namespace is not None:
797
+ input_["namespace"] = namespace
798
+
799
+ response = execute_pipeline(
800
+ OperationRequest(input=input_, options=options_),
801
+ handler=_handler,
802
+ interceptors=list(interceptors_),
803
+ )
804
+ response.response.close()
805
+ return response.output
806
+
807
+ def delete_package_group(
808
+ self,
809
+ domain: "capo_codeartifact.types.domain_name.DomainName",
810
+ package_group: "capo_codeartifact.types.string.String",
811
+ *,
812
+ config_overrides: Optional[codeartifactClientConfig] = None,
813
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
814
+ ) -> "capo_codeartifact.types.delete_package_group_result.DeletePackageGroupResult":
815
+ """<p>Deletes a package group. Deleting a package group does not delete packages or package versions associated with the package group. When a package group is deleted, the direct child package groups will become children of the package group's direct parent package group. Therefore, if any of the child groups are inheriting any settings from the parent, those settings could change.</p>
816
+
817
+ Args:
818
+ domain: <p> The domain that contains the package group to be deleted. </p>
819
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
820
+ package_group: <p>The pattern of the package group to be deleted.</p>
821
+
822
+ Raises:
823
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
824
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
825
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
826
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
827
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
828
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
829
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
830
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
831
+ """
832
+
833
+ def _handler(
834
+ req: "OperationRequest[capo_codeartifact.types.delete_package_group_request.DeletePackageGroupRequest]",
835
+ ) -> OperationResponse[
836
+ "capo_codeartifact.types.delete_package_group_result.DeletePackageGroupResult"
837
+ ]:
838
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_package_group
839
+
840
+ output, http_response = (
841
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_package_group.delete_package_group(
842
+ req.options, req.input
843
+ )
844
+ )
845
+ return OperationResponse(output=output, response=http_response)
846
+
847
+ interceptors_, options_ = self.operation_options(config_overrides)
848
+ input_: capo_codeartifact.types.delete_package_group_request.DeletePackageGroupRequest = {
849
+ "domain": domain,
850
+ "package_group": package_group,
851
+ }
852
+ if domain_owner is not None:
853
+ input_["domain_owner"] = domain_owner
854
+
855
+ response = execute_pipeline(
856
+ OperationRequest(input=input_, options=options_),
857
+ handler=_handler,
858
+ interceptors=list(interceptors_),
859
+ )
860
+ response.response.close()
861
+ return response.output
862
+
863
+ def delete_package_versions(
864
+ self,
865
+ domain: "capo_codeartifact.types.domain_name.DomainName",
866
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
867
+ format: "capo_codeartifact.types.package_format.PackageFormat",
868
+ package: "capo_codeartifact.types.package_name.PackageName",
869
+ versions: "capo_codeartifact.types.package_version_list.PackageVersionList",
870
+ *,
871
+ config_overrides: Optional[codeartifactClientConfig] = None,
872
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
873
+ namespace: Optional[
874
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
875
+ ] = None,
876
+ expected_status: Optional[
877
+ "capo_codeartifact.types.package_version_status.PackageVersionStatus"
878
+ ] = None,
879
+ ) -> "capo_codeartifact.types.delete_package_versions_result.DeletePackageVersionsResult":
880
+ r"""<p> Deletes one or more versions of a package. A deleted package version cannot be restored in your repository. If you want to remove a package version from your repository and be able to restore it later, set its status to <code>Archived</code>. Archived packages cannot be downloaded from a repository and don't show up with list package APIs (for example, <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html\">ListPackageVersions</a>), but you can restore them using <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html\">UpdatePackageVersionsStatus</a>. </p>
881
+
882
+ Args:
883
+ domain: <p> The name of the domain that contains the package to delete. </p>
884
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
885
+ repository: <p> The name of the repository that contains the package versions to delete. </p>
886
+ format: <p> The format of the package versions to delete. </p>
887
+ namespace: <p>The namespace of the package versions to be deleted. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when deleting package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
888
+ package: <p> The name of the package with the versions to delete. </p>
889
+ versions: <p> An array of strings that specify the versions of the package to delete. </p>
890
+ expected_status: <p> The expected status of the package version to delete. </p>
891
+
892
+ Raises:
893
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
894
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
895
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
896
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
897
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
898
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
899
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
900
+ """
901
+
902
+ def _handler(
903
+ req: "OperationRequest[capo_codeartifact.types.delete_package_versions_request.DeletePackageVersionsRequest]",
904
+ ) -> OperationResponse[
905
+ "capo_codeartifact.types.delete_package_versions_result.DeletePackageVersionsResult"
906
+ ]:
907
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_package_versions
908
+
909
+ output, http_response = (
910
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_package_versions.delete_package_versions(
911
+ req.options, req.input
912
+ )
913
+ )
914
+ return OperationResponse(output=output, response=http_response)
915
+
916
+ interceptors_, options_ = self.operation_options(config_overrides)
917
+ input_: capo_codeartifact.types.delete_package_versions_request.DeletePackageVersionsRequest = {
918
+ "domain": domain,
919
+ "repository": repository,
920
+ "format": format,
921
+ "package": package,
922
+ "versions": versions,
923
+ }
924
+ if domain_owner is not None:
925
+ input_["domain_owner"] = domain_owner
926
+ if namespace is not None:
927
+ input_["namespace"] = namespace
928
+ if expected_status is not None:
929
+ input_["expected_status"] = expected_status
930
+
931
+ response = execute_pipeline(
932
+ OperationRequest(input=input_, options=options_),
933
+ handler=_handler,
934
+ interceptors=list(interceptors_),
935
+ )
936
+ response.response.close()
937
+ return response.output
938
+
939
+ def delete_repository(
940
+ self,
941
+ domain: "capo_codeartifact.types.domain_name.DomainName",
942
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
943
+ *,
944
+ config_overrides: Optional[codeartifactClientConfig] = None,
945
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
946
+ ) -> "capo_codeartifact.types.delete_repository_result.DeleteRepositoryResult":
947
+ """<p> Deletes a repository. </p>
948
+
949
+ Args:
950
+ domain: <p> The name of the domain that contains the repository to delete. </p>
951
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
952
+ repository: <p> The name of the repository to delete. </p>
953
+
954
+ Raises:
955
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
956
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
957
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
958
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
959
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
960
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
961
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
962
+ """
963
+
964
+ def _handler(
965
+ req: "OperationRequest[capo_codeartifact.types.delete_repository_request.DeleteRepositoryRequest]",
966
+ ) -> OperationResponse[
967
+ "capo_codeartifact.types.delete_repository_result.DeleteRepositoryResult"
968
+ ]:
969
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_repository
970
+
971
+ output, http_response = (
972
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_repository.delete_repository(
973
+ req.options, req.input
974
+ )
975
+ )
976
+ return OperationResponse(output=output, response=http_response)
977
+
978
+ interceptors_, options_ = self.operation_options(config_overrides)
979
+ input_: capo_codeartifact.types.delete_repository_request.DeleteRepositoryRequest = {
980
+ "domain": domain,
981
+ "repository": repository,
982
+ }
983
+ if domain_owner is not None:
984
+ input_["domain_owner"] = domain_owner
985
+
986
+ response = execute_pipeline(
987
+ OperationRequest(input=input_, options=options_),
988
+ handler=_handler,
989
+ interceptors=list(interceptors_),
990
+ )
991
+ response.response.close()
992
+ return response.output
993
+
994
+ def delete_repository_permissions_policy(
995
+ self,
996
+ domain: "capo_codeartifact.types.domain_name.DomainName",
997
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
998
+ *,
999
+ config_overrides: Optional[codeartifactClientConfig] = None,
1000
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1001
+ policy_revision: Optional[
1002
+ "capo_codeartifact.types.policy_revision.PolicyRevision"
1003
+ ] = None,
1004
+ ) -> "capo_codeartifact.types.delete_repository_permissions_policy_result.DeleteRepositoryPermissionsPolicyResult":
1005
+ """<p> Deletes the resource policy that is set on a repository. After a resource policy is deleted, the permissions allowed and denied by the deleted policy are removed. The effect of deleting a resource policy might not be immediate. </p> <important> <p> Use <code>DeleteRepositoryPermissionsPolicy</code> with caution. After a policy is deleted, Amazon Web Services users, roles, and accounts lose permissions to perform the repository actions granted by the deleted policy. </p> </important>
1006
+
1007
+ Args:
1008
+ domain: <p> The name of the domain that contains the repository associated with the resource policy to be deleted. </p>
1009
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1010
+ repository: <p> The name of the repository that is associated with the resource policy to be deleted </p>
1011
+ policy_revision: <p> The revision of the repository's resource policy to be deleted. This revision is used for optimistic locking, which prevents others from accidentally overwriting your changes to the repository's resource policy. </p>
1012
+
1013
+ Raises:
1014
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1015
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
1016
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1017
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1018
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1019
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1020
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1021
+ """
1022
+
1023
+ def _handler(
1024
+ req: "OperationRequest[capo_codeartifact.types.delete_repository_permissions_policy_request.DeleteRepositoryPermissionsPolicyRequest]",
1025
+ ) -> OperationResponse[
1026
+ "capo_codeartifact.types.delete_repository_permissions_policy_result.DeleteRepositoryPermissionsPolicyResult"
1027
+ ]:
1028
+ import capo_codeartifact._operations.code_artifact_control_plane_service.delete_repository_permissions_policy
1029
+
1030
+ output, http_response = (
1031
+ capo_codeartifact._operations.code_artifact_control_plane_service.delete_repository_permissions_policy.delete_repository_permissions_policy(
1032
+ req.options, req.input
1033
+ )
1034
+ )
1035
+ return OperationResponse(output=output, response=http_response)
1036
+
1037
+ interceptors_, options_ = self.operation_options(config_overrides)
1038
+ input_: capo_codeartifact.types.delete_repository_permissions_policy_request.DeleteRepositoryPermissionsPolicyRequest = {
1039
+ "domain": domain,
1040
+ "repository": repository,
1041
+ }
1042
+ if domain_owner is not None:
1043
+ input_["domain_owner"] = domain_owner
1044
+ if policy_revision is not None:
1045
+ input_["policy_revision"] = policy_revision
1046
+
1047
+ response = execute_pipeline(
1048
+ OperationRequest(input=input_, options=options_),
1049
+ handler=_handler,
1050
+ interceptors=list(interceptors_),
1051
+ )
1052
+ response.response.close()
1053
+ return response.output
1054
+
1055
+ def describe_domain(
1056
+ self,
1057
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1058
+ *,
1059
+ config_overrides: Optional[codeartifactClientConfig] = None,
1060
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1061
+ ) -> "capo_codeartifact.types.describe_domain_result.DescribeDomainResult":
1062
+ r"""<p> Returns a <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainDescription.html\">DomainDescription</a> object that contains information about the requested domain. </p>
1063
+
1064
+ Args:
1065
+ domain: <p> A string that specifies the name of the requested domain. </p>
1066
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1067
+
1068
+ Raises:
1069
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1070
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1071
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1072
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1073
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1074
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1075
+ """
1076
+
1077
+ def _handler(
1078
+ req: "OperationRequest[capo_codeartifact.types.describe_domain_request.DescribeDomainRequest]",
1079
+ ) -> OperationResponse[
1080
+ "capo_codeartifact.types.describe_domain_result.DescribeDomainResult"
1081
+ ]:
1082
+ import capo_codeartifact._operations.code_artifact_control_plane_service.describe_domain
1083
+
1084
+ output, http_response = (
1085
+ capo_codeartifact._operations.code_artifact_control_plane_service.describe_domain.describe_domain(
1086
+ req.options, req.input
1087
+ )
1088
+ )
1089
+ return OperationResponse(output=output, response=http_response)
1090
+
1091
+ interceptors_, options_ = self.operation_options(config_overrides)
1092
+ input_: capo_codeartifact.types.describe_domain_request.DescribeDomainRequest = {
1093
+ "domain": domain
1094
+ }
1095
+ if domain_owner is not None:
1096
+ input_["domain_owner"] = domain_owner
1097
+
1098
+ response = execute_pipeline(
1099
+ OperationRequest(input=input_, options=options_),
1100
+ handler=_handler,
1101
+ interceptors=list(interceptors_),
1102
+ )
1103
+ response.response.close()
1104
+ return response.output
1105
+
1106
+ def describe_package(
1107
+ self,
1108
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1109
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1110
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1111
+ package: "capo_codeartifact.types.package_name.PackageName",
1112
+ *,
1113
+ config_overrides: Optional[codeartifactClientConfig] = None,
1114
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1115
+ namespace: Optional[
1116
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1117
+ ] = None,
1118
+ ) -> "capo_codeartifact.types.describe_package_result.DescribePackageResult":
1119
+ r"""<p> Returns a <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html\">PackageDescription</a> object that contains information about the requested package.</p>
1120
+
1121
+ Args:
1122
+ domain: <p>The name of the domain that contains the repository that contains the package.</p>
1123
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1124
+ repository: <p>The name of the repository that contains the requested package. </p>
1125
+ format: <p>A format that specifies the type of the requested package.</p>
1126
+ namespace: <p>The namespace of the requested package. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when requesting packages of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1127
+ package: <p>The name of the requested package.</p>
1128
+
1129
+ Raises:
1130
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1131
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1132
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1133
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1134
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1135
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1136
+ """
1137
+
1138
+ def _handler(
1139
+ req: "OperationRequest[capo_codeartifact.types.describe_package_request.DescribePackageRequest]",
1140
+ ) -> OperationResponse[
1141
+ "capo_codeartifact.types.describe_package_result.DescribePackageResult"
1142
+ ]:
1143
+ import capo_codeartifact._operations.code_artifact_control_plane_service.describe_package
1144
+
1145
+ output, http_response = (
1146
+ capo_codeartifact._operations.code_artifact_control_plane_service.describe_package.describe_package(
1147
+ req.options, req.input
1148
+ )
1149
+ )
1150
+ return OperationResponse(output=output, response=http_response)
1151
+
1152
+ interceptors_, options_ = self.operation_options(config_overrides)
1153
+ input_: capo_codeartifact.types.describe_package_request.DescribePackageRequest = {
1154
+ "domain": domain,
1155
+ "repository": repository,
1156
+ "format": format,
1157
+ "package": package,
1158
+ }
1159
+ if domain_owner is not None:
1160
+ input_["domain_owner"] = domain_owner
1161
+ if namespace is not None:
1162
+ input_["namespace"] = namespace
1163
+
1164
+ response = execute_pipeline(
1165
+ OperationRequest(input=input_, options=options_),
1166
+ handler=_handler,
1167
+ interceptors=list(interceptors_),
1168
+ )
1169
+ response.response.close()
1170
+ return response.output
1171
+
1172
+ def describe_package_group(
1173
+ self,
1174
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1175
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
1176
+ *,
1177
+ config_overrides: Optional[codeartifactClientConfig] = None,
1178
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1179
+ ) -> "capo_codeartifact.types.describe_package_group_result.DescribePackageGroupResult":
1180
+ r"""<p>Returns a <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageGroupDescription.html\">PackageGroupDescription</a> object that contains information about the requested package group.</p>
1181
+
1182
+ Args:
1183
+ domain: <p> The name of the domain that contains the package group. </p>
1184
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1185
+ package_group: <p>The pattern of the requested package group.</p>
1186
+
1187
+ Raises:
1188
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1189
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1190
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1191
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1192
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1193
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1194
+ """
1195
+
1196
+ def _handler(
1197
+ req: "OperationRequest[capo_codeartifact.types.describe_package_group_request.DescribePackageGroupRequest]",
1198
+ ) -> OperationResponse[
1199
+ "capo_codeartifact.types.describe_package_group_result.DescribePackageGroupResult"
1200
+ ]:
1201
+ import capo_codeartifact._operations.code_artifact_control_plane_service.describe_package_group
1202
+
1203
+ output, http_response = (
1204
+ capo_codeartifact._operations.code_artifact_control_plane_service.describe_package_group.describe_package_group(
1205
+ req.options, req.input
1206
+ )
1207
+ )
1208
+ return OperationResponse(output=output, response=http_response)
1209
+
1210
+ interceptors_, options_ = self.operation_options(config_overrides)
1211
+ input_: capo_codeartifact.types.describe_package_group_request.DescribePackageGroupRequest = {
1212
+ "domain": domain,
1213
+ "package_group": package_group,
1214
+ }
1215
+ if domain_owner is not None:
1216
+ input_["domain_owner"] = domain_owner
1217
+
1218
+ response = execute_pipeline(
1219
+ OperationRequest(input=input_, options=options_),
1220
+ handler=_handler,
1221
+ interceptors=list(interceptors_),
1222
+ )
1223
+ response.response.close()
1224
+ return response.output
1225
+
1226
+ def describe_package_version(
1227
+ self,
1228
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1229
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1230
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1231
+ package: "capo_codeartifact.types.package_name.PackageName",
1232
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
1233
+ *,
1234
+ config_overrides: Optional[codeartifactClientConfig] = None,
1235
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1236
+ namespace: Optional[
1237
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1238
+ ] = None,
1239
+ ) -> "capo_codeartifact.types.describe_package_version_result.DescribePackageVersionResult":
1240
+ r"""<p> Returns a <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html\">PackageVersionDescription</a> object that contains information about the requested package version. </p>
1241
+
1242
+ Args:
1243
+ domain: <p> The name of the domain that contains the repository that contains the package version. </p>
1244
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1245
+ repository: <p> The name of the repository that contains the package version. </p>
1246
+ format: <p> A format that specifies the type of the requested package version. </p>
1247
+ namespace: <p>The namespace of the requested package version. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when requesting package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1248
+ package: <p> The name of the requested package version. </p>
1249
+ package_version: <p> A string that contains the package version (for example, <code>3.5.2</code>). </p>
1250
+
1251
+ Raises:
1252
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1253
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
1254
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1255
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1256
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1257
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1258
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1259
+ """
1260
+
1261
+ def _handler(
1262
+ req: "OperationRequest[capo_codeartifact.types.describe_package_version_request.DescribePackageVersionRequest]",
1263
+ ) -> OperationResponse[
1264
+ "capo_codeartifact.types.describe_package_version_result.DescribePackageVersionResult"
1265
+ ]:
1266
+ import capo_codeartifact._operations.code_artifact_control_plane_service.describe_package_version
1267
+
1268
+ output, http_response = (
1269
+ capo_codeartifact._operations.code_artifact_control_plane_service.describe_package_version.describe_package_version(
1270
+ req.options, req.input
1271
+ )
1272
+ )
1273
+ return OperationResponse(output=output, response=http_response)
1274
+
1275
+ interceptors_, options_ = self.operation_options(config_overrides)
1276
+ input_: capo_codeartifact.types.describe_package_version_request.DescribePackageVersionRequest = {
1277
+ "domain": domain,
1278
+ "repository": repository,
1279
+ "format": format,
1280
+ "package": package,
1281
+ "package_version": package_version,
1282
+ }
1283
+ if domain_owner is not None:
1284
+ input_["domain_owner"] = domain_owner
1285
+ if namespace is not None:
1286
+ input_["namespace"] = namespace
1287
+
1288
+ response = execute_pipeline(
1289
+ OperationRequest(input=input_, options=options_),
1290
+ handler=_handler,
1291
+ interceptors=list(interceptors_),
1292
+ )
1293
+ response.response.close()
1294
+ return response.output
1295
+
1296
+ def describe_repository(
1297
+ self,
1298
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1299
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1300
+ *,
1301
+ config_overrides: Optional[codeartifactClientConfig] = None,
1302
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1303
+ ) -> "capo_codeartifact.types.describe_repository_result.DescribeRepositoryResult":
1304
+ """<p> Returns a <code>RepositoryDescription</code> object that contains detailed information about the requested repository. </p>
1305
+
1306
+ Args:
1307
+ domain: <p> The name of the domain that contains the repository to describe. </p>
1308
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1309
+ repository: <p> A string that specifies the name of the requested repository. </p>
1310
+
1311
+ Raises:
1312
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1313
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1314
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1315
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1316
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1317
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1318
+ """
1319
+
1320
+ def _handler(
1321
+ req: "OperationRequest[capo_codeartifact.types.describe_repository_request.DescribeRepositoryRequest]",
1322
+ ) -> OperationResponse[
1323
+ "capo_codeartifact.types.describe_repository_result.DescribeRepositoryResult"
1324
+ ]:
1325
+ import capo_codeartifact._operations.code_artifact_control_plane_service.describe_repository
1326
+
1327
+ output, http_response = (
1328
+ capo_codeartifact._operations.code_artifact_control_plane_service.describe_repository.describe_repository(
1329
+ req.options, req.input
1330
+ )
1331
+ )
1332
+ return OperationResponse(output=output, response=http_response)
1333
+
1334
+ interceptors_, options_ = self.operation_options(config_overrides)
1335
+ input_: capo_codeartifact.types.describe_repository_request.DescribeRepositoryRequest = {
1336
+ "domain": domain,
1337
+ "repository": repository,
1338
+ }
1339
+ if domain_owner is not None:
1340
+ input_["domain_owner"] = domain_owner
1341
+
1342
+ response = execute_pipeline(
1343
+ OperationRequest(input=input_, options=options_),
1344
+ handler=_handler,
1345
+ interceptors=list(interceptors_),
1346
+ )
1347
+ response.response.close()
1348
+ return response.output
1349
+
1350
+ def disassociate_external_connection(
1351
+ self,
1352
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1353
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1354
+ external_connection: "capo_codeartifact.types.external_connection_name.ExternalConnectionName",
1355
+ *,
1356
+ config_overrides: Optional[codeartifactClientConfig] = None,
1357
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1358
+ ) -> "capo_codeartifact.types.disassociate_external_connection_result.DisassociateExternalConnectionResult":
1359
+ """<p> Removes an existing external connection from a repository. </p>
1360
+
1361
+ Args:
1362
+ domain: <p>The name of the domain that contains the repository from which to remove the external repository. </p>
1363
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1364
+ repository: <p>The name of the repository from which the external connection will be removed. </p>
1365
+ external_connection: <p>The name of the external connection to be removed from the repository. </p>
1366
+
1367
+ Raises:
1368
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1369
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
1370
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1371
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1372
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
1373
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1374
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1375
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1376
+ """
1377
+
1378
+ def _handler(
1379
+ req: "OperationRequest[capo_codeartifact.types.disassociate_external_connection_request.DisassociateExternalConnectionRequest]",
1380
+ ) -> OperationResponse[
1381
+ "capo_codeartifact.types.disassociate_external_connection_result.DisassociateExternalConnectionResult"
1382
+ ]:
1383
+ import capo_codeartifact._operations.code_artifact_control_plane_service.disassociate_external_connection
1384
+
1385
+ output, http_response = (
1386
+ capo_codeartifact._operations.code_artifact_control_plane_service.disassociate_external_connection.disassociate_external_connection(
1387
+ req.options, req.input
1388
+ )
1389
+ )
1390
+ return OperationResponse(output=output, response=http_response)
1391
+
1392
+ interceptors_, options_ = self.operation_options(config_overrides)
1393
+ input_: capo_codeartifact.types.disassociate_external_connection_request.DisassociateExternalConnectionRequest = {
1394
+ "domain": domain,
1395
+ "repository": repository,
1396
+ "external_connection": external_connection,
1397
+ }
1398
+ if domain_owner is not None:
1399
+ input_["domain_owner"] = domain_owner
1400
+
1401
+ response = execute_pipeline(
1402
+ OperationRequest(input=input_, options=options_),
1403
+ handler=_handler,
1404
+ interceptors=list(interceptors_),
1405
+ )
1406
+ response.response.close()
1407
+ return response.output
1408
+
1409
+ def dispose_package_versions(
1410
+ self,
1411
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1412
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1413
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1414
+ package: "capo_codeartifact.types.package_name.PackageName",
1415
+ versions: "capo_codeartifact.types.package_version_list.PackageVersionList",
1416
+ *,
1417
+ config_overrides: Optional[codeartifactClientConfig] = None,
1418
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1419
+ namespace: Optional[
1420
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1421
+ ] = None,
1422
+ version_revisions: Optional[
1423
+ "capo_codeartifact.types.package_version_revision_map.PackageVersionRevisionMap"
1424
+ ] = None,
1425
+ expected_status: Optional[
1426
+ "capo_codeartifact.types.package_version_status.PackageVersionStatus"
1427
+ ] = None,
1428
+ ) -> "capo_codeartifact.types.dispose_package_versions_result.DisposePackageVersionsResult":
1429
+ r"""<p> Deletes the assets in package versions and sets the package versions' status to <code>Disposed</code>. A disposed package version cannot be restored in your repository because its assets are deleted. </p> <p> To view all disposed package versions in a repository, use <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html\">ListPackageVersions</a> and set the <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html#API_ListPackageVersions_RequestSyntax\">status</a> parameter to <code>Disposed</code>. </p> <p> To view information about a disposed package version, use <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html\">DescribePackageVersion</a>. </p>
1430
+
1431
+ Args:
1432
+ domain: <p> The name of the domain that contains the repository you want to dispose. </p>
1433
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1434
+ repository: <p> The name of the repository that contains the package versions you want to dispose. </p>
1435
+ format: <p> A format that specifies the type of package versions you want to dispose. </p>
1436
+ namespace: <p>The namespace of the package versions to be disposed. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when disposing package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1437
+ package: <p> The name of the package with the versions you want to dispose. </p>
1438
+ versions: <p> The versions of the package you want to dispose. </p>
1439
+ version_revisions: <p> The revisions of the package versions you want to dispose. </p>
1440
+ expected_status: <p> The expected status of the package version to dispose. </p>
1441
+
1442
+ Raises:
1443
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1444
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
1445
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1446
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1447
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1448
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1449
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1450
+ """
1451
+
1452
+ def _handler(
1453
+ req: "OperationRequest[capo_codeartifact.types.dispose_package_versions_request.DisposePackageVersionsRequest]",
1454
+ ) -> OperationResponse[
1455
+ "capo_codeartifact.types.dispose_package_versions_result.DisposePackageVersionsResult"
1456
+ ]:
1457
+ import capo_codeartifact._operations.code_artifact_control_plane_service.dispose_package_versions
1458
+
1459
+ output, http_response = (
1460
+ capo_codeartifact._operations.code_artifact_control_plane_service.dispose_package_versions.dispose_package_versions(
1461
+ req.options, req.input
1462
+ )
1463
+ )
1464
+ return OperationResponse(output=output, response=http_response)
1465
+
1466
+ interceptors_, options_ = self.operation_options(config_overrides)
1467
+ input_: capo_codeartifact.types.dispose_package_versions_request.DisposePackageVersionsRequest = {
1468
+ "domain": domain,
1469
+ "repository": repository,
1470
+ "format": format,
1471
+ "package": package,
1472
+ "versions": versions,
1473
+ }
1474
+ if domain_owner is not None:
1475
+ input_["domain_owner"] = domain_owner
1476
+ if namespace is not None:
1477
+ input_["namespace"] = namespace
1478
+ if version_revisions is not None:
1479
+ input_["version_revisions"] = version_revisions
1480
+ if expected_status is not None:
1481
+ input_["expected_status"] = expected_status
1482
+
1483
+ response = execute_pipeline(
1484
+ OperationRequest(input=input_, options=options_),
1485
+ handler=_handler,
1486
+ interceptors=list(interceptors_),
1487
+ )
1488
+ response.response.close()
1489
+ return response.output
1490
+
1491
+ def get_associated_package_group(
1492
+ self,
1493
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1494
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1495
+ package: "capo_codeartifact.types.package_name.PackageName",
1496
+ *,
1497
+ config_overrides: Optional[codeartifactClientConfig] = None,
1498
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1499
+ namespace: Optional[
1500
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1501
+ ] = None,
1502
+ ) -> "capo_codeartifact.types.get_associated_package_group_result.GetAssociatedPackageGroupResult":
1503
+ r"""<p>Returns the most closely associated package group to the specified package. This API does not require that the package exist in any repository in the domain. As such, <code>GetAssociatedPackageGroup</code> can be used to see which package group's origin configuration applies to a package before that package is in a repository. This can be helpful to check if public packages are blocked without ingesting them.</p> <p>For information package group association and matching, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html\">Package group definition syntax and matching behavior</a> in the <i>CodeArtifact User Guide</i>.</p>
1504
+
1505
+ Args:
1506
+ domain: <p> The name of the domain that contains the package from which to get the associated package group. </p>
1507
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1508
+ format: <p> The format of the package from which to get the associated package group. </p>
1509
+ namespace: <p>The namespace of the package from which to get the associated package group. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when getting associated package groups from packages of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1510
+ package: <p> The package from which to get the associated package group. </p>
1511
+
1512
+ Raises:
1513
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1514
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1515
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1516
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1517
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1518
+ """
1519
+
1520
+ def _handler(
1521
+ req: "OperationRequest[capo_codeartifact.types.get_associated_package_group_request.GetAssociatedPackageGroupRequest]",
1522
+ ) -> OperationResponse[
1523
+ "capo_codeartifact.types.get_associated_package_group_result.GetAssociatedPackageGroupResult"
1524
+ ]:
1525
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_associated_package_group
1526
+
1527
+ output, http_response = (
1528
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_associated_package_group.get_associated_package_group(
1529
+ req.options, req.input
1530
+ )
1531
+ )
1532
+ return OperationResponse(output=output, response=http_response)
1533
+
1534
+ interceptors_, options_ = self.operation_options(config_overrides)
1535
+ input_: capo_codeartifact.types.get_associated_package_group_request.GetAssociatedPackageGroupRequest = {
1536
+ "domain": domain,
1537
+ "format": format,
1538
+ "package": package,
1539
+ }
1540
+ if domain_owner is not None:
1541
+ input_["domain_owner"] = domain_owner
1542
+ if namespace is not None:
1543
+ input_["namespace"] = namespace
1544
+
1545
+ response = execute_pipeline(
1546
+ OperationRequest(input=input_, options=options_),
1547
+ handler=_handler,
1548
+ interceptors=list(interceptors_),
1549
+ )
1550
+ response.response.close()
1551
+ return response.output
1552
+
1553
+ def get_authorization_token(
1554
+ self,
1555
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1556
+ *,
1557
+ config_overrides: Optional[codeartifactClientConfig] = None,
1558
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1559
+ duration_seconds: Optional[
1560
+ "capo_codeartifact.types.authorization_token_duration_seconds.AuthorizationTokenDurationSeconds"
1561
+ ] = None,
1562
+ ) -> "capo_codeartifact.types.get_authorization_token_result.GetAuthorizationTokenResult":
1563
+ r"""<p> Generates a temporary authorization token for accessing repositories in the domain. This API requires the <code>codeartifact:GetAuthorizationToken</code> and <code>sts:GetServiceBearerToken</code> permissions. For more information about authorization tokens, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html\">CodeArtifact authentication and tokens</a>. </p> <note> <p>CodeArtifact authorization tokens are valid for a period of 12 hours when created with the <code>login</code> command. You can call <code>login</code> periodically to refresh the token. When you create an authorization token with the <code>GetAuthorizationToken</code> API, you can set a custom authorization period, up to a maximum of 12 hours, with the <code>durationSeconds</code> parameter.</p> <p>The authorization period begins after <code>login</code> or <code>GetAuthorizationToken</code> is called. If <code>login</code> or <code>GetAuthorizationToken</code> is called while assuming a role, the token lifetime is independent of the maximum session duration of the role. For example, if you call <code>sts assume-role</code> and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be valid for the full authorization period even though this is longer than the 15-minute session duration.</p> <p>See <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html\">Using IAM Roles</a> for more information on controlling session duration. </p> </note>
1564
+
1565
+ Args:
1566
+ domain: <p> The name of the domain that is in scope for the generated authorization token. </p>
1567
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1568
+ duration_seconds: <p>The time, in seconds, that the generated authorization token is valid. Valid values are <code>0</code> and any number between <code>900</code> (15 minutes) and <code>43200</code> (12 hours). A value of <code>0</code> will set the expiration of the authorization token to the same expiration of the user's role's temporary credentials.</p>
1569
+
1570
+ Raises:
1571
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1572
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1573
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1574
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1575
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1576
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1577
+ """
1578
+
1579
+ def _handler(
1580
+ req: "OperationRequest[capo_codeartifact.types.get_authorization_token_request.GetAuthorizationTokenRequest]",
1581
+ ) -> OperationResponse[
1582
+ "capo_codeartifact.types.get_authorization_token_result.GetAuthorizationTokenResult"
1583
+ ]:
1584
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_authorization_token
1585
+
1586
+ output, http_response = (
1587
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_authorization_token.get_authorization_token(
1588
+ req.options, req.input
1589
+ )
1590
+ )
1591
+ return OperationResponse(output=output, response=http_response)
1592
+
1593
+ interceptors_, options_ = self.operation_options(config_overrides)
1594
+ input_: capo_codeartifact.types.get_authorization_token_request.GetAuthorizationTokenRequest = {
1595
+ "domain": domain
1596
+ }
1597
+ if domain_owner is not None:
1598
+ input_["domain_owner"] = domain_owner
1599
+ if duration_seconds is not None:
1600
+ input_["duration_seconds"] = duration_seconds
1601
+
1602
+ response = execute_pipeline(
1603
+ OperationRequest(input=input_, options=options_),
1604
+ handler=_handler,
1605
+ interceptors=list(interceptors_),
1606
+ )
1607
+ response.response.close()
1608
+ return response.output
1609
+
1610
+ def get_domain_permissions_policy(
1611
+ self,
1612
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1613
+ *,
1614
+ config_overrides: Optional[codeartifactClientConfig] = None,
1615
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1616
+ ) -> "capo_codeartifact.types.get_domain_permissions_policy_result.GetDomainPermissionsPolicyResult":
1617
+ r"""<p> Returns the resource policy attached to the specified domain. </p> <note> <p> The policy is a resource-based policy, not an identity-based policy. For more information, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html\">Identity-based policies and resource-based policies </a> in the <i>IAM User Guide</i>. </p> </note>
1618
+
1619
+ Args:
1620
+ domain: <p> The name of the domain to which the resource policy is attached. </p>
1621
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1622
+
1623
+ Raises:
1624
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1625
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1626
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1627
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1628
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1629
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1630
+ """
1631
+
1632
+ def _handler(
1633
+ req: "OperationRequest[capo_codeartifact.types.get_domain_permissions_policy_request.GetDomainPermissionsPolicyRequest]",
1634
+ ) -> OperationResponse[
1635
+ "capo_codeartifact.types.get_domain_permissions_policy_result.GetDomainPermissionsPolicyResult"
1636
+ ]:
1637
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_domain_permissions_policy
1638
+
1639
+ output, http_response = (
1640
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_domain_permissions_policy.get_domain_permissions_policy(
1641
+ req.options, req.input
1642
+ )
1643
+ )
1644
+ return OperationResponse(output=output, response=http_response)
1645
+
1646
+ interceptors_, options_ = self.operation_options(config_overrides)
1647
+ input_: capo_codeartifact.types.get_domain_permissions_policy_request.GetDomainPermissionsPolicyRequest = {
1648
+ "domain": domain
1649
+ }
1650
+ if domain_owner is not None:
1651
+ input_["domain_owner"] = domain_owner
1652
+
1653
+ response = execute_pipeline(
1654
+ OperationRequest(input=input_, options=options_),
1655
+ handler=_handler,
1656
+ interceptors=list(interceptors_),
1657
+ )
1658
+ response.response.close()
1659
+ return response.output
1660
+
1661
+ @contextmanager
1662
+ def get_package_version_asset(
1663
+ self,
1664
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1665
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1666
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1667
+ package: "capo_codeartifact.types.package_name.PackageName",
1668
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
1669
+ asset: "capo_codeartifact.types.asset_name.AssetName",
1670
+ *,
1671
+ config_overrides: Optional[codeartifactClientConfig] = None,
1672
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1673
+ namespace: Optional[
1674
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1675
+ ] = None,
1676
+ package_version_revision: Optional[
1677
+ "capo_codeartifact.types.package_version_revision.PackageVersionRevision"
1678
+ ] = None,
1679
+ ) -> "Generator[capo_codeartifact.types.get_package_version_asset_result.GetPackageVersionAssetResult]":
1680
+ """<p> Returns an asset (or file) that is in a package. For example, for a Maven package version, use <code>GetPackageVersionAsset</code> to download a <code>JAR</code> file, a <code>POM</code> file, or any other assets in the package version. </p>
1681
+
1682
+ Args:
1683
+ domain: <p> The name of the domain that contains the repository that contains the package version with the requested asset. </p>
1684
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1685
+ repository: <p> The repository that contains the package version with the requested asset. </p>
1686
+ format: <p> A format that specifies the type of the package version with the requested asset file. </p>
1687
+ namespace: <p>The namespace of the package version with the requested asset file. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when requesting assets from package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1688
+ package: <p> The name of the package that contains the requested asset. </p>
1689
+ package_version: <p> A string that contains the package version (for example, <code>3.5.2</code>). </p>
1690
+ asset: <p> The name of the requested asset. </p>
1691
+ package_version_revision: <p> The name of the package version revision that contains the requested asset. </p>
1692
+
1693
+ Raises:
1694
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1695
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
1696
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1697
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1698
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1699
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1700
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1701
+ """
1702
+
1703
+ def _handler(
1704
+ req: "OperationRequest[capo_codeartifact.types.get_package_version_asset_request.GetPackageVersionAssetRequest]",
1705
+ ) -> OperationResponse[
1706
+ "capo_codeartifact.types.get_package_version_asset_result.GetPackageVersionAssetResult"
1707
+ ]:
1708
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_package_version_asset
1709
+
1710
+ output, http_response = (
1711
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_package_version_asset.get_package_version_asset(
1712
+ req.options, req.input
1713
+ )
1714
+ )
1715
+ return OperationResponse(output=output, response=http_response)
1716
+
1717
+ interceptors_, options_ = self.operation_options(config_overrides)
1718
+ input_: capo_codeartifact.types.get_package_version_asset_request.GetPackageVersionAssetRequest = {
1719
+ "domain": domain,
1720
+ "repository": repository,
1721
+ "format": format,
1722
+ "package": package,
1723
+ "package_version": package_version,
1724
+ "asset": asset,
1725
+ }
1726
+ if domain_owner is not None:
1727
+ input_["domain_owner"] = domain_owner
1728
+ if namespace is not None:
1729
+ input_["namespace"] = namespace
1730
+ if package_version_revision is not None:
1731
+ input_["package_version_revision"] = package_version_revision
1732
+
1733
+ response = execute_pipeline(
1734
+ OperationRequest(input=input_, options=options_),
1735
+ handler=_handler,
1736
+ interceptors=list(interceptors_),
1737
+ )
1738
+ try:
1739
+ yield response.output
1740
+ finally:
1741
+ response.response.close()
1742
+
1743
+ def get_package_version_readme(
1744
+ self,
1745
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1746
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1747
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1748
+ package: "capo_codeartifact.types.package_name.PackageName",
1749
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
1750
+ *,
1751
+ config_overrides: Optional[codeartifactClientConfig] = None,
1752
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1753
+ namespace: Optional[
1754
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
1755
+ ] = None,
1756
+ ) -> "capo_codeartifact.types.get_package_version_readme_result.GetPackageVersionReadmeResult":
1757
+ """<p> Gets the readme file or descriptive text for a package version. </p> <p> The returned text might contain formatting. For example, it might contain formatting for Markdown or reStructuredText. </p>
1758
+
1759
+ Args:
1760
+ domain: <p> The name of the domain that contains the repository that contains the package version with the requested readme file. </p>
1761
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1762
+ repository: <p> The repository that contains the package with the requested readme file. </p>
1763
+ format: <p> A format that specifies the type of the package version with the requested readme file. </p>
1764
+ namespace: <p>The namespace of the package version with the requested readme file. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when requesting the readme from package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
1765
+ package: <p> The name of the package version that contains the requested readme file. </p>
1766
+ package_version: <p> A string that contains the package version (for example, <code>3.5.2</code>). </p>
1767
+
1768
+ Raises:
1769
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1770
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1771
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1772
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1773
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1774
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1775
+ """
1776
+
1777
+ def _handler(
1778
+ req: "OperationRequest[capo_codeartifact.types.get_package_version_readme_request.GetPackageVersionReadmeRequest]",
1779
+ ) -> OperationResponse[
1780
+ "capo_codeartifact.types.get_package_version_readme_result.GetPackageVersionReadmeResult"
1781
+ ]:
1782
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_package_version_readme
1783
+
1784
+ output, http_response = (
1785
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_package_version_readme.get_package_version_readme(
1786
+ req.options, req.input
1787
+ )
1788
+ )
1789
+ return OperationResponse(output=output, response=http_response)
1790
+
1791
+ interceptors_, options_ = self.operation_options(config_overrides)
1792
+ input_: capo_codeartifact.types.get_package_version_readme_request.GetPackageVersionReadmeRequest = {
1793
+ "domain": domain,
1794
+ "repository": repository,
1795
+ "format": format,
1796
+ "package": package,
1797
+ "package_version": package_version,
1798
+ }
1799
+ if domain_owner is not None:
1800
+ input_["domain_owner"] = domain_owner
1801
+ if namespace is not None:
1802
+ input_["namespace"] = namespace
1803
+
1804
+ response = execute_pipeline(
1805
+ OperationRequest(input=input_, options=options_),
1806
+ handler=_handler,
1807
+ interceptors=list(interceptors_),
1808
+ )
1809
+ response.response.close()
1810
+ return response.output
1811
+
1812
+ def get_repository_endpoint(
1813
+ self,
1814
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1815
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1816
+ format: "capo_codeartifact.types.package_format.PackageFormat",
1817
+ *,
1818
+ config_overrides: Optional[codeartifactClientConfig] = None,
1819
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1820
+ endpoint_type: Optional[
1821
+ "capo_codeartifact.types.endpoint_type.EndpointType"
1822
+ ] = None,
1823
+ ) -> "capo_codeartifact.types.get_repository_endpoint_result.GetRepositoryEndpointResult":
1824
+ """<p> Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format: </p> <ul> <li> <p> <code>cargo</code> </p> </li> <li> <p> <code>generic</code> </p> </li> <li> <p> <code>maven</code> </p> </li> <li> <p> <code>npm</code> </p> </li> <li> <p> <code>nuget</code> </p> </li> <li> <p> <code>pypi</code> </p> </li> <li> <p> <code>ruby</code> </p> </li> <li> <p> <code>swift</code> </p> </li> </ul>
1825
+
1826
+ Args:
1827
+ domain: <p> The name of the domain that contains the repository. </p>
1828
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain that contains the repository. It does not include dashes or spaces. </p>
1829
+ repository: <p> The name of the repository. </p>
1830
+ format: <p> Returns which endpoint of a repository to return. A repository has one endpoint for each package format. </p>
1831
+ endpoint_type: <p>A string that specifies the type of endpoint.</p>
1832
+
1833
+ Raises:
1834
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1835
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1836
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1837
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1838
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1839
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1840
+ """
1841
+
1842
+ def _handler(
1843
+ req: "OperationRequest[capo_codeartifact.types.get_repository_endpoint_request.GetRepositoryEndpointRequest]",
1844
+ ) -> OperationResponse[
1845
+ "capo_codeartifact.types.get_repository_endpoint_result.GetRepositoryEndpointResult"
1846
+ ]:
1847
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_repository_endpoint
1848
+
1849
+ output, http_response = (
1850
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_repository_endpoint.get_repository_endpoint(
1851
+ req.options, req.input
1852
+ )
1853
+ )
1854
+ return OperationResponse(output=output, response=http_response)
1855
+
1856
+ interceptors_, options_ = self.operation_options(config_overrides)
1857
+ input_: capo_codeartifact.types.get_repository_endpoint_request.GetRepositoryEndpointRequest = {
1858
+ "domain": domain,
1859
+ "repository": repository,
1860
+ "format": format,
1861
+ }
1862
+ if domain_owner is not None:
1863
+ input_["domain_owner"] = domain_owner
1864
+ if endpoint_type is not None:
1865
+ input_["endpoint_type"] = endpoint_type
1866
+
1867
+ response = execute_pipeline(
1868
+ OperationRequest(input=input_, options=options_),
1869
+ handler=_handler,
1870
+ interceptors=list(interceptors_),
1871
+ )
1872
+ response.response.close()
1873
+ return response.output
1874
+
1875
+ def get_repository_permissions_policy(
1876
+ self,
1877
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1878
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
1879
+ *,
1880
+ config_overrides: Optional[codeartifactClientConfig] = None,
1881
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1882
+ ) -> "capo_codeartifact.types.get_repository_permissions_policy_result.GetRepositoryPermissionsPolicyResult":
1883
+ """<p> Returns the resource policy that is set on a repository. </p>
1884
+
1885
+ Args:
1886
+ domain: <p> The name of the domain containing the repository whose associated resource policy is to be retrieved. </p>
1887
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1888
+ repository: <p> The name of the repository whose associated resource policy is to be retrieved. </p>
1889
+
1890
+ Raises:
1891
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1892
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1893
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1894
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1895
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1896
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1897
+ """
1898
+
1899
+ def _handler(
1900
+ req: "OperationRequest[capo_codeartifact.types.get_repository_permissions_policy_request.GetRepositoryPermissionsPolicyRequest]",
1901
+ ) -> OperationResponse[
1902
+ "capo_codeartifact.types.get_repository_permissions_policy_result.GetRepositoryPermissionsPolicyResult"
1903
+ ]:
1904
+ import capo_codeartifact._operations.code_artifact_control_plane_service.get_repository_permissions_policy
1905
+
1906
+ output, http_response = (
1907
+ capo_codeartifact._operations.code_artifact_control_plane_service.get_repository_permissions_policy.get_repository_permissions_policy(
1908
+ req.options, req.input
1909
+ )
1910
+ )
1911
+ return OperationResponse(output=output, response=http_response)
1912
+
1913
+ interceptors_, options_ = self.operation_options(config_overrides)
1914
+ input_: capo_codeartifact.types.get_repository_permissions_policy_request.GetRepositoryPermissionsPolicyRequest = {
1915
+ "domain": domain,
1916
+ "repository": repository,
1917
+ }
1918
+ if domain_owner is not None:
1919
+ input_["domain_owner"] = domain_owner
1920
+
1921
+ response = execute_pipeline(
1922
+ OperationRequest(input=input_, options=options_),
1923
+ handler=_handler,
1924
+ interceptors=list(interceptors_),
1925
+ )
1926
+ response.response.close()
1927
+ return response.output
1928
+
1929
+ def list_allowed_repositories_for_group(
1930
+ self,
1931
+ domain: "capo_codeartifact.types.domain_name.DomainName",
1932
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
1933
+ origin_restriction_type: "capo_codeartifact.types.package_group_origin_restriction_type.PackageGroupOriginRestrictionType",
1934
+ *,
1935
+ config_overrides: Optional[codeartifactClientConfig] = None,
1936
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
1937
+ max_results: Optional[
1938
+ "capo_codeartifact.types.list_allowed_repositories_for_group_max_results.ListAllowedRepositoriesForGroupMaxResults"
1939
+ ] = None,
1940
+ next_token: Optional[
1941
+ "capo_codeartifact.types.pagination_token.PaginationToken"
1942
+ ] = None,
1943
+ ) -> "capo_codeartifact.types.list_allowed_repositories_for_group_result.ListAllowedRepositoriesForGroupResult":
1944
+ r"""<p>Lists the repositories in the added repositories list of the specified restriction type for a package group. For more information about restriction types and added repository lists, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html\">Package group origin controls</a> in the <i>CodeArtifact User Guide</i>. </p>
1945
+
1946
+ Args:
1947
+ domain: <p> The name of the domain that contains the package group from which to list allowed repositories. </p>
1948
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
1949
+ package_group: <p>The pattern of the package group from which to list allowed repositories.</p>
1950
+ origin_restriction_type: <p>The origin configuration restriction type of which to list allowed repositories.</p>
1951
+ max_results: <p> The maximum number of results to return per page. </p>
1952
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
1953
+
1954
+ Raises:
1955
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
1956
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
1957
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
1958
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
1959
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
1960
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
1961
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
1962
+ """
1963
+
1964
+ def _handler(
1965
+ req: "OperationRequest[capo_codeartifact.types.list_allowed_repositories_for_group_request.ListAllowedRepositoriesForGroupRequest]",
1966
+ ) -> OperationResponse[
1967
+ "capo_codeartifact.types.list_allowed_repositories_for_group_result.ListAllowedRepositoriesForGroupResult"
1968
+ ]:
1969
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_allowed_repositories_for_group
1970
+
1971
+ output, http_response = (
1972
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_allowed_repositories_for_group.list_allowed_repositories_for_group(
1973
+ req.options, req.input
1974
+ )
1975
+ )
1976
+ return OperationResponse(output=output, response=http_response)
1977
+
1978
+ interceptors_, options_ = self.operation_options(config_overrides)
1979
+ input_: capo_codeartifact.types.list_allowed_repositories_for_group_request.ListAllowedRepositoriesForGroupRequest = {
1980
+ "domain": domain,
1981
+ "package_group": package_group,
1982
+ "origin_restriction_type": origin_restriction_type,
1983
+ }
1984
+ if domain_owner is not None:
1985
+ input_["domain_owner"] = domain_owner
1986
+ if max_results is not None:
1987
+ input_["max_results"] = max_results
1988
+ if next_token is not None:
1989
+ input_["next_token"] = next_token
1990
+
1991
+ response = execute_pipeline(
1992
+ OperationRequest(input=input_, options=options_),
1993
+ handler=_handler,
1994
+ interceptors=list(interceptors_),
1995
+ )
1996
+ response.response.close()
1997
+ return response.output
1998
+
1999
+ def iter_list_allowed_repositories_for_group(
2000
+ self,
2001
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2002
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
2003
+ origin_restriction_type: "capo_codeartifact.types.package_group_origin_restriction_type.PackageGroupOriginRestrictionType",
2004
+ *,
2005
+ config_overrides: Optional[codeartifactClientConfig] = None,
2006
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2007
+ max_results: Optional[
2008
+ "capo_codeartifact.types.list_allowed_repositories_for_group_max_results.ListAllowedRepositoriesForGroupMaxResults"
2009
+ ] = None,
2010
+ next_token: Optional[
2011
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2012
+ ] = None,
2013
+ ) -> "Iterator[capo_codeartifact.types.repository_name.RepositoryName]":
2014
+ _token = next_token
2015
+ while True:
2016
+ _response = self.list_allowed_repositories_for_group(
2017
+ domain,
2018
+ package_group,
2019
+ origin_restriction_type,
2020
+ config_overrides=config_overrides,
2021
+ domain_owner=domain_owner,
2022
+ max_results=max_results,
2023
+ next_token=_token,
2024
+ )
2025
+ _page = _resolve_path(_response, ("allowed_repositories",))
2026
+ for _item in _page or []:
2027
+ yield _item
2028
+ _token = _resolve_path(_response, ("next_token",))
2029
+ if not _token:
2030
+ break
2031
+
2032
+ def list_associated_packages(
2033
+ self,
2034
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2035
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
2036
+ *,
2037
+ config_overrides: Optional[codeartifactClientConfig] = None,
2038
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2039
+ max_results: Optional[
2040
+ "capo_codeartifact.types.list_packages_max_results.ListPackagesMaxResults"
2041
+ ] = None,
2042
+ next_token: Optional[
2043
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2044
+ ] = None,
2045
+ preview: Optional[
2046
+ "capo_codeartifact.types.boolean_optional.BooleanOptional"
2047
+ ] = None,
2048
+ ) -> "capo_codeartifact.types.list_associated_packages_result.ListAssociatedPackagesResult":
2049
+ r"""<p>Returns a list of packages associated with the requested package group. For information package group association and matching, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html\">Package group definition syntax and matching behavior</a> in the <i>CodeArtifact User Guide</i>.</p>
2050
+
2051
+ Args:
2052
+ domain: <p> The name of the domain that contains the package group from which to list associated packages. </p>
2053
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2054
+ package_group: <p> The pattern of the package group from which to list associated packages. </p>
2055
+ max_results: <p> The maximum number of results to return per page. </p>
2056
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2057
+ preview: <p> When this flag is included, <code>ListAssociatedPackages</code> will return a list of packages that would be associated with a package group, even if it does not exist. </p>
2058
+
2059
+ Raises:
2060
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2061
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2062
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2063
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2064
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2065
+ """
2066
+
2067
+ def _handler(
2068
+ req: "OperationRequest[capo_codeartifact.types.list_associated_packages_request.ListAssociatedPackagesRequest]",
2069
+ ) -> OperationResponse[
2070
+ "capo_codeartifact.types.list_associated_packages_result.ListAssociatedPackagesResult"
2071
+ ]:
2072
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_associated_packages
2073
+
2074
+ output, http_response = (
2075
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_associated_packages.list_associated_packages(
2076
+ req.options, req.input
2077
+ )
2078
+ )
2079
+ return OperationResponse(output=output, response=http_response)
2080
+
2081
+ interceptors_, options_ = self.operation_options(config_overrides)
2082
+ input_: capo_codeartifact.types.list_associated_packages_request.ListAssociatedPackagesRequest = {
2083
+ "domain": domain,
2084
+ "package_group": package_group,
2085
+ }
2086
+ if domain_owner is not None:
2087
+ input_["domain_owner"] = domain_owner
2088
+ if max_results is not None:
2089
+ input_["max_results"] = max_results
2090
+ if next_token is not None:
2091
+ input_["next_token"] = next_token
2092
+ if preview is not None:
2093
+ input_["preview"] = preview
2094
+
2095
+ response = execute_pipeline(
2096
+ OperationRequest(input=input_, options=options_),
2097
+ handler=_handler,
2098
+ interceptors=list(interceptors_),
2099
+ )
2100
+ response.response.close()
2101
+ return response.output
2102
+
2103
+ def iter_list_associated_packages(
2104
+ self,
2105
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2106
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
2107
+ *,
2108
+ config_overrides: Optional[codeartifactClientConfig] = None,
2109
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2110
+ max_results: Optional[
2111
+ "capo_codeartifact.types.list_packages_max_results.ListPackagesMaxResults"
2112
+ ] = None,
2113
+ next_token: Optional[
2114
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2115
+ ] = None,
2116
+ preview: Optional[
2117
+ "capo_codeartifact.types.boolean_optional.BooleanOptional"
2118
+ ] = None,
2119
+ ) -> "Iterator[capo_codeartifact.types.associated_package.AssociatedPackage]":
2120
+ _token = next_token
2121
+ while True:
2122
+ _response = self.list_associated_packages(
2123
+ domain,
2124
+ package_group,
2125
+ config_overrides=config_overrides,
2126
+ domain_owner=domain_owner,
2127
+ max_results=max_results,
2128
+ next_token=_token,
2129
+ preview=preview,
2130
+ )
2131
+ _page = _resolve_path(_response, ("packages",))
2132
+ for _item in _page or []:
2133
+ yield _item
2134
+ _token = _resolve_path(_response, ("next_token",))
2135
+ if not _token:
2136
+ break
2137
+
2138
+ def list_domains(
2139
+ self,
2140
+ *,
2141
+ config_overrides: Optional[codeartifactClientConfig] = None,
2142
+ max_results: Optional[
2143
+ "capo_codeartifact.types.list_domains_max_results.ListDomainsMaxResults"
2144
+ ] = None,
2145
+ next_token: Optional[
2146
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2147
+ ] = None,
2148
+ ) -> "capo_codeartifact.types.list_domains_result.ListDomainsResult":
2149
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html\">DomainSummary</a> objects for all domains owned by the Amazon Web Services account that makes this call. Each returned <code>DomainSummary</code> object contains information about a domain. </p>
2150
+
2151
+ Args:
2152
+ max_results: <p> The maximum number of results to return per page. </p>
2153
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2154
+
2155
+ Raises:
2156
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2157
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2158
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2159
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2160
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2161
+ """
2162
+
2163
+ def _handler(
2164
+ req: "OperationRequest[capo_codeartifact.types.list_domains_request.ListDomainsRequest]",
2165
+ ) -> OperationResponse[
2166
+ "capo_codeartifact.types.list_domains_result.ListDomainsResult"
2167
+ ]:
2168
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_domains
2169
+
2170
+ output, http_response = (
2171
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_domains.list_domains(
2172
+ req.options, req.input
2173
+ )
2174
+ )
2175
+ return OperationResponse(output=output, response=http_response)
2176
+
2177
+ interceptors_, options_ = self.operation_options(config_overrides)
2178
+ input_: capo_codeartifact.types.list_domains_request.ListDomainsRequest = {}
2179
+ if max_results is not None:
2180
+ input_["max_results"] = max_results
2181
+ if next_token is not None:
2182
+ input_["next_token"] = next_token
2183
+
2184
+ response = execute_pipeline(
2185
+ OperationRequest(input=input_, options=options_),
2186
+ handler=_handler,
2187
+ interceptors=list(interceptors_),
2188
+ )
2189
+ response.response.close()
2190
+ return response.output
2191
+
2192
+ def iter_list_domains(
2193
+ self,
2194
+ *,
2195
+ config_overrides: Optional[codeartifactClientConfig] = None,
2196
+ max_results: Optional[
2197
+ "capo_codeartifact.types.list_domains_max_results.ListDomainsMaxResults"
2198
+ ] = None,
2199
+ next_token: Optional[
2200
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2201
+ ] = None,
2202
+ ) -> "Iterator[capo_codeartifact.types.domain_summary.DomainSummary]":
2203
+ _token = next_token
2204
+ while True:
2205
+ _response = self.list_domains(
2206
+ config_overrides=config_overrides,
2207
+ max_results=max_results,
2208
+ next_token=_token,
2209
+ )
2210
+ _page = _resolve_path(_response, ("domains",))
2211
+ for _item in _page or []:
2212
+ yield _item
2213
+ _token = _resolve_path(_response, ("next_token",))
2214
+ if not _token:
2215
+ break
2216
+
2217
+ def list_package_groups(
2218
+ self,
2219
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2220
+ *,
2221
+ config_overrides: Optional[codeartifactClientConfig] = None,
2222
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2223
+ max_results: Optional[
2224
+ "capo_codeartifact.types.list_package_groups_max_results.ListPackageGroupsMaxResults"
2225
+ ] = None,
2226
+ next_token: Optional[
2227
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2228
+ ] = None,
2229
+ prefix: Optional[
2230
+ "capo_codeartifact.types.package_group_pattern_prefix.PackageGroupPatternPrefix"
2231
+ ] = None,
2232
+ ) -> "capo_codeartifact.types.list_package_groups_result.ListPackageGroupsResult":
2233
+ """<p>Returns a list of package groups in the requested domain.</p>
2234
+
2235
+ Args:
2236
+ domain: <p> The domain for which you want to list package groups. </p>
2237
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2238
+ max_results: <p> The maximum number of results to return per page. </p>
2239
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2240
+ prefix: <p> A prefix for which to search package groups. When included, <code>ListPackageGroups</code> will return only package groups with patterns that match the prefix. </p>
2241
+
2242
+ Raises:
2243
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2244
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2245
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2246
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2247
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2248
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2249
+ """
2250
+
2251
+ def _handler(
2252
+ req: "OperationRequest[capo_codeartifact.types.list_package_groups_request.ListPackageGroupsRequest]",
2253
+ ) -> OperationResponse[
2254
+ "capo_codeartifact.types.list_package_groups_result.ListPackageGroupsResult"
2255
+ ]:
2256
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_package_groups
2257
+
2258
+ output, http_response = (
2259
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_package_groups.list_package_groups(
2260
+ req.options, req.input
2261
+ )
2262
+ )
2263
+ return OperationResponse(output=output, response=http_response)
2264
+
2265
+ interceptors_, options_ = self.operation_options(config_overrides)
2266
+ input_: capo_codeartifact.types.list_package_groups_request.ListPackageGroupsRequest = {
2267
+ "domain": domain
2268
+ }
2269
+ if domain_owner is not None:
2270
+ input_["domain_owner"] = domain_owner
2271
+ if max_results is not None:
2272
+ input_["max_results"] = max_results
2273
+ if next_token is not None:
2274
+ input_["next_token"] = next_token
2275
+ if prefix is not None:
2276
+ input_["prefix"] = prefix
2277
+
2278
+ response = execute_pipeline(
2279
+ OperationRequest(input=input_, options=options_),
2280
+ handler=_handler,
2281
+ interceptors=list(interceptors_),
2282
+ )
2283
+ response.response.close()
2284
+ return response.output
2285
+
2286
+ def iter_list_package_groups(
2287
+ self,
2288
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2289
+ *,
2290
+ config_overrides: Optional[codeartifactClientConfig] = None,
2291
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2292
+ max_results: Optional[
2293
+ "capo_codeartifact.types.list_package_groups_max_results.ListPackageGroupsMaxResults"
2294
+ ] = None,
2295
+ next_token: Optional[
2296
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2297
+ ] = None,
2298
+ prefix: Optional[
2299
+ "capo_codeartifact.types.package_group_pattern_prefix.PackageGroupPatternPrefix"
2300
+ ] = None,
2301
+ ) -> "Iterator[capo_codeartifact.types.package_group_summary.PackageGroupSummary]":
2302
+ _token = next_token
2303
+ while True:
2304
+ _response = self.list_package_groups(
2305
+ domain,
2306
+ config_overrides=config_overrides,
2307
+ domain_owner=domain_owner,
2308
+ max_results=max_results,
2309
+ next_token=_token,
2310
+ prefix=prefix,
2311
+ )
2312
+ _page = _resolve_path(_response, ("package_groups",))
2313
+ for _item in _page or []:
2314
+ yield _item
2315
+ _token = _resolve_path(_response, ("next_token",))
2316
+ if not _token:
2317
+ break
2318
+
2319
+ def list_packages(
2320
+ self,
2321
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2322
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2323
+ *,
2324
+ config_overrides: Optional[codeartifactClientConfig] = None,
2325
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2326
+ format: Optional["capo_codeartifact.types.package_format.PackageFormat"] = None,
2327
+ namespace: Optional[
2328
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2329
+ ] = None,
2330
+ package_prefix: Optional[
2331
+ "capo_codeartifact.types.package_name.PackageName"
2332
+ ] = None,
2333
+ max_results: Optional[
2334
+ "capo_codeartifact.types.list_packages_max_results.ListPackagesMaxResults"
2335
+ ] = None,
2336
+ next_token: Optional[
2337
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2338
+ ] = None,
2339
+ publish: Optional["capo_codeartifact.types.allow_publish.AllowPublish"] = None,
2340
+ upstream: Optional[
2341
+ "capo_codeartifact.types.allow_upstream.AllowUpstream"
2342
+ ] = None,
2343
+ ) -> "capo_codeartifact.types.list_packages_result.ListPackagesResult":
2344
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html\">PackageSummary</a> objects for packages in a repository that match the request parameters. </p>
2345
+
2346
+ Args:
2347
+ domain: <p> The name of the domain that contains the repository that contains the requested packages. </p>
2348
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2349
+ repository: <p> The name of the repository that contains the requested packages. </p>
2350
+ format: <p>The format used to filter requested packages. Only packages from the provided format will be returned.</p>
2351
+ namespace: <p>The namespace prefix used to filter requested packages. Only packages with a namespace that starts with the provided string value are returned. Note that although this option is called <code>--namespace</code> and not <code>--namespace-prefix</code>, it has prefix-matching behavior.</p> <p>Each package format uses namespace as follows:</p> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
2352
+ package_prefix: <p> A prefix used to filter requested packages. Only packages with names that start with <code>packagePrefix</code> are returned. </p>
2353
+ max_results: <p> The maximum number of results to return per page. </p>
2354
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2355
+ publish: <p>The value of the <code>Publish</code> package origin control restriction used to filter requested packages. Only packages with the provided restriction are returned. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html\">PackageOriginRestrictions</a>.</p>
2356
+ upstream: <p>The value of the <code>Upstream</code> package origin control restriction used to filter requested packages. Only packages with the provided restriction are returned. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html\">PackageOriginRestrictions</a>.</p>
2357
+
2358
+ Raises:
2359
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2360
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2361
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2362
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2363
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2364
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2365
+ """
2366
+
2367
+ def _handler(
2368
+ req: "OperationRequest[capo_codeartifact.types.list_packages_request.ListPackagesRequest]",
2369
+ ) -> OperationResponse[
2370
+ "capo_codeartifact.types.list_packages_result.ListPackagesResult"
2371
+ ]:
2372
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_packages
2373
+
2374
+ output, http_response = (
2375
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_packages.list_packages(
2376
+ req.options, req.input
2377
+ )
2378
+ )
2379
+ return OperationResponse(output=output, response=http_response)
2380
+
2381
+ interceptors_, options_ = self.operation_options(config_overrides)
2382
+ input_: capo_codeartifact.types.list_packages_request.ListPackagesRequest = {
2383
+ "domain": domain,
2384
+ "repository": repository,
2385
+ }
2386
+ if domain_owner is not None:
2387
+ input_["domain_owner"] = domain_owner
2388
+ if format is not None:
2389
+ input_["format"] = format
2390
+ if namespace is not None:
2391
+ input_["namespace"] = namespace
2392
+ if package_prefix is not None:
2393
+ input_["package_prefix"] = package_prefix
2394
+ if max_results is not None:
2395
+ input_["max_results"] = max_results
2396
+ if next_token is not None:
2397
+ input_["next_token"] = next_token
2398
+ if publish is not None:
2399
+ input_["publish"] = publish
2400
+ if upstream is not None:
2401
+ input_["upstream"] = upstream
2402
+
2403
+ response = execute_pipeline(
2404
+ OperationRequest(input=input_, options=options_),
2405
+ handler=_handler,
2406
+ interceptors=list(interceptors_),
2407
+ )
2408
+ response.response.close()
2409
+ return response.output
2410
+
2411
+ def iter_list_packages(
2412
+ self,
2413
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2414
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2415
+ *,
2416
+ config_overrides: Optional[codeartifactClientConfig] = None,
2417
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2418
+ format: Optional["capo_codeartifact.types.package_format.PackageFormat"] = None,
2419
+ namespace: Optional[
2420
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2421
+ ] = None,
2422
+ package_prefix: Optional[
2423
+ "capo_codeartifact.types.package_name.PackageName"
2424
+ ] = None,
2425
+ max_results: Optional[
2426
+ "capo_codeartifact.types.list_packages_max_results.ListPackagesMaxResults"
2427
+ ] = None,
2428
+ next_token: Optional[
2429
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2430
+ ] = None,
2431
+ publish: Optional["capo_codeartifact.types.allow_publish.AllowPublish"] = None,
2432
+ upstream: Optional[
2433
+ "capo_codeartifact.types.allow_upstream.AllowUpstream"
2434
+ ] = None,
2435
+ ) -> "Iterator[capo_codeartifact.types.package_summary.PackageSummary]":
2436
+ _token = next_token
2437
+ while True:
2438
+ _response = self.list_packages(
2439
+ domain,
2440
+ repository,
2441
+ config_overrides=config_overrides,
2442
+ domain_owner=domain_owner,
2443
+ format=format,
2444
+ namespace=namespace,
2445
+ package_prefix=package_prefix,
2446
+ max_results=max_results,
2447
+ next_token=_token,
2448
+ publish=publish,
2449
+ upstream=upstream,
2450
+ )
2451
+ _page = _resolve_path(_response, ("packages",))
2452
+ for _item in _page or []:
2453
+ yield _item
2454
+ _token = _resolve_path(_response, ("next_token",))
2455
+ if not _token:
2456
+ break
2457
+
2458
+ def list_package_version_assets(
2459
+ self,
2460
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2461
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2462
+ format: "capo_codeartifact.types.package_format.PackageFormat",
2463
+ package: "capo_codeartifact.types.package_name.PackageName",
2464
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
2465
+ *,
2466
+ config_overrides: Optional[codeartifactClientConfig] = None,
2467
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2468
+ namespace: Optional[
2469
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2470
+ ] = None,
2471
+ max_results: Optional[
2472
+ "capo_codeartifact.types.list_package_version_assets_max_results.ListPackageVersionAssetsMaxResults"
2473
+ ] = None,
2474
+ next_token: Optional[
2475
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2476
+ ] = None,
2477
+ ) -> "capo_codeartifact.types.list_package_version_assets_result.ListPackageVersionAssetsResult":
2478
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html\">AssetSummary</a> objects for assets in a package version. </p>
2479
+
2480
+ Args:
2481
+ domain: <p> The name of the domain that contains the repository associated with the package version assets. </p>
2482
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2483
+ repository: <p> The name of the repository that contains the package that contains the requested package version assets. </p>
2484
+ format: <p> The format of the package that contains the requested package version assets. </p>
2485
+ namespace: <p>The namespace of the package version that contains the requested package version assets. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required requesting assets from package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
2486
+ package: <p> The name of the package that contains the requested package version assets. </p>
2487
+ package_version: <p> A string that contains the package version (for example, <code>3.5.2</code>). </p>
2488
+ max_results: <p> The maximum number of results to return per page. </p>
2489
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2490
+
2491
+ Raises:
2492
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2493
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2494
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2495
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2496
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2497
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2498
+ """
2499
+
2500
+ def _handler(
2501
+ req: "OperationRequest[capo_codeartifact.types.list_package_version_assets_request.ListPackageVersionAssetsRequest]",
2502
+ ) -> OperationResponse[
2503
+ "capo_codeartifact.types.list_package_version_assets_result.ListPackageVersionAssetsResult"
2504
+ ]:
2505
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_package_version_assets
2506
+
2507
+ output, http_response = (
2508
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_package_version_assets.list_package_version_assets(
2509
+ req.options, req.input
2510
+ )
2511
+ )
2512
+ return OperationResponse(output=output, response=http_response)
2513
+
2514
+ interceptors_, options_ = self.operation_options(config_overrides)
2515
+ input_: capo_codeartifact.types.list_package_version_assets_request.ListPackageVersionAssetsRequest = {
2516
+ "domain": domain,
2517
+ "repository": repository,
2518
+ "format": format,
2519
+ "package": package,
2520
+ "package_version": package_version,
2521
+ }
2522
+ if domain_owner is not None:
2523
+ input_["domain_owner"] = domain_owner
2524
+ if namespace is not None:
2525
+ input_["namespace"] = namespace
2526
+ if max_results is not None:
2527
+ input_["max_results"] = max_results
2528
+ if next_token is not None:
2529
+ input_["next_token"] = next_token
2530
+
2531
+ response = execute_pipeline(
2532
+ OperationRequest(input=input_, options=options_),
2533
+ handler=_handler,
2534
+ interceptors=list(interceptors_),
2535
+ )
2536
+ response.response.close()
2537
+ return response.output
2538
+
2539
+ def iter_list_package_version_assets(
2540
+ self,
2541
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2542
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2543
+ format: "capo_codeartifact.types.package_format.PackageFormat",
2544
+ package: "capo_codeartifact.types.package_name.PackageName",
2545
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
2546
+ *,
2547
+ config_overrides: Optional[codeartifactClientConfig] = None,
2548
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2549
+ namespace: Optional[
2550
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2551
+ ] = None,
2552
+ max_results: Optional[
2553
+ "capo_codeartifact.types.list_package_version_assets_max_results.ListPackageVersionAssetsMaxResults"
2554
+ ] = None,
2555
+ next_token: Optional[
2556
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2557
+ ] = None,
2558
+ ) -> "Iterator[capo_codeartifact.types.asset_summary.AssetSummary]":
2559
+ _token = next_token
2560
+ while True:
2561
+ _response = self.list_package_version_assets(
2562
+ domain,
2563
+ repository,
2564
+ format,
2565
+ package,
2566
+ package_version,
2567
+ config_overrides=config_overrides,
2568
+ domain_owner=domain_owner,
2569
+ namespace=namespace,
2570
+ max_results=max_results,
2571
+ next_token=_token,
2572
+ )
2573
+ _page = _resolve_path(_response, ("assets",))
2574
+ for _item in _page or []:
2575
+ yield _item
2576
+ _token = _resolve_path(_response, ("next_token",))
2577
+ if not _token:
2578
+ break
2579
+
2580
+ def list_package_version_dependencies(
2581
+ self,
2582
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2583
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2584
+ format: "capo_codeartifact.types.package_format.PackageFormat",
2585
+ package: "capo_codeartifact.types.package_name.PackageName",
2586
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
2587
+ *,
2588
+ config_overrides: Optional[codeartifactClientConfig] = None,
2589
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2590
+ namespace: Optional[
2591
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2592
+ ] = None,
2593
+ next_token: Optional[
2594
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2595
+ ] = None,
2596
+ ) -> "capo_codeartifact.types.list_package_version_dependencies_result.ListPackageVersionDependenciesResult":
2597
+ r"""<p> Returns the direct dependencies for a package version. The dependencies are returned as <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html\">PackageDependency</a> objects. CodeArtifact extracts the dependencies for a package version from the metadata file for the package format (for example, the <code>package.json</code> file for npm packages and the <code>pom.xml</code> file for Maven). Any package version dependencies that are not listed in the configuration file are not returned. </p>
2598
+
2599
+ Args:
2600
+ domain: <p> The name of the domain that contains the repository that contains the requested package version dependencies. </p>
2601
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2602
+ repository: <p> The name of the repository that contains the requested package version. </p>
2603
+ format: <p> The format of the package with the requested dependencies. </p>
2604
+ namespace: <p>The namespace of the package version with the requested dependencies. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when listing dependencies from package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm package version is its <code>scope</code>. </p> </li> <li> <p> Python and NuGet package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
2605
+ package: <p> The name of the package versions' package. </p>
2606
+ package_version: <p> A string that contains the package version (for example, <code>3.5.2</code>). </p>
2607
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2608
+
2609
+ Raises:
2610
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2611
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2612
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2613
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2614
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2615
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2616
+ """
2617
+
2618
+ def _handler(
2619
+ req: "OperationRequest[capo_codeartifact.types.list_package_version_dependencies_request.ListPackageVersionDependenciesRequest]",
2620
+ ) -> OperationResponse[
2621
+ "capo_codeartifact.types.list_package_version_dependencies_result.ListPackageVersionDependenciesResult"
2622
+ ]:
2623
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_package_version_dependencies
2624
+
2625
+ output, http_response = (
2626
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_package_version_dependencies.list_package_version_dependencies(
2627
+ req.options, req.input
2628
+ )
2629
+ )
2630
+ return OperationResponse(output=output, response=http_response)
2631
+
2632
+ interceptors_, options_ = self.operation_options(config_overrides)
2633
+ input_: capo_codeartifact.types.list_package_version_dependencies_request.ListPackageVersionDependenciesRequest = {
2634
+ "domain": domain,
2635
+ "repository": repository,
2636
+ "format": format,
2637
+ "package": package,
2638
+ "package_version": package_version,
2639
+ }
2640
+ if domain_owner is not None:
2641
+ input_["domain_owner"] = domain_owner
2642
+ if namespace is not None:
2643
+ input_["namespace"] = namespace
2644
+ if next_token is not None:
2645
+ input_["next_token"] = next_token
2646
+
2647
+ response = execute_pipeline(
2648
+ OperationRequest(input=input_, options=options_),
2649
+ handler=_handler,
2650
+ interceptors=list(interceptors_),
2651
+ )
2652
+ response.response.close()
2653
+ return response.output
2654
+
2655
+ def list_package_versions(
2656
+ self,
2657
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2658
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2659
+ format: "capo_codeartifact.types.package_format.PackageFormat",
2660
+ package: "capo_codeartifact.types.package_name.PackageName",
2661
+ *,
2662
+ config_overrides: Optional[codeartifactClientConfig] = None,
2663
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2664
+ namespace: Optional[
2665
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2666
+ ] = None,
2667
+ status: Optional[
2668
+ "capo_codeartifact.types.package_version_status.PackageVersionStatus"
2669
+ ] = None,
2670
+ sort_by: Optional[
2671
+ "capo_codeartifact.types.package_version_sort_type.PackageVersionSortType"
2672
+ ] = None,
2673
+ max_results: Optional[
2674
+ "capo_codeartifact.types.list_package_versions_max_results.ListPackageVersionsMaxResults"
2675
+ ] = None,
2676
+ next_token: Optional[
2677
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2678
+ ] = None,
2679
+ origin_type: Optional[
2680
+ "capo_codeartifact.types.package_version_origin_type.PackageVersionOriginType"
2681
+ ] = None,
2682
+ ) -> (
2683
+ "capo_codeartifact.types.list_package_versions_result.ListPackageVersionsResult"
2684
+ ):
2685
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html\">PackageVersionSummary</a> objects for package versions in a repository that match the request parameters. Package versions of all statuses will be returned by default when calling <code>list-package-versions</code> with no <code>--status</code> parameter. </p>
2686
+
2687
+ Args:
2688
+ domain: <p> The name of the domain that contains the repository that contains the requested package versions. </p>
2689
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2690
+ repository: <p> The name of the repository that contains the requested package versions. </p>
2691
+ format: <p> The format of the package versions you want to list. </p>
2692
+ namespace: <p>The namespace of the package that contains the requested package versions. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when deleting package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
2693
+ package: <p> The name of the package for which you want to request package versions. </p>
2694
+ status: <p> A string that filters the requested package versions by status. </p>
2695
+ sort_by: <p> How to sort the requested list of package versions. </p>
2696
+ max_results: <p> The maximum number of results to return per page. </p>
2697
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2698
+ origin_type: <p>The <code>originType</code> used to filter package versions. Only package versions with the provided <code>originType</code> will be returned.</p>
2699
+
2700
+ Raises:
2701
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2702
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2703
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2704
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2705
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2706
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2707
+ """
2708
+
2709
+ def _handler(
2710
+ req: "OperationRequest[capo_codeartifact.types.list_package_versions_request.ListPackageVersionsRequest]",
2711
+ ) -> OperationResponse[
2712
+ "capo_codeartifact.types.list_package_versions_result.ListPackageVersionsResult"
2713
+ ]:
2714
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_package_versions
2715
+
2716
+ output, http_response = (
2717
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_package_versions.list_package_versions(
2718
+ req.options, req.input
2719
+ )
2720
+ )
2721
+ return OperationResponse(output=output, response=http_response)
2722
+
2723
+ interceptors_, options_ = self.operation_options(config_overrides)
2724
+ input_: capo_codeartifact.types.list_package_versions_request.ListPackageVersionsRequest = {
2725
+ "domain": domain,
2726
+ "repository": repository,
2727
+ "format": format,
2728
+ "package": package,
2729
+ }
2730
+ if domain_owner is not None:
2731
+ input_["domain_owner"] = domain_owner
2732
+ if namespace is not None:
2733
+ input_["namespace"] = namespace
2734
+ if status is not None:
2735
+ input_["status"] = status
2736
+ if sort_by is not None:
2737
+ input_["sort_by"] = sort_by
2738
+ if max_results is not None:
2739
+ input_["max_results"] = max_results
2740
+ if next_token is not None:
2741
+ input_["next_token"] = next_token
2742
+ if origin_type is not None:
2743
+ input_["origin_type"] = origin_type
2744
+
2745
+ response = execute_pipeline(
2746
+ OperationRequest(input=input_, options=options_),
2747
+ handler=_handler,
2748
+ interceptors=list(interceptors_),
2749
+ )
2750
+ response.response.close()
2751
+ return response.output
2752
+
2753
+ def iter_list_package_versions(
2754
+ self,
2755
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2756
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
2757
+ format: "capo_codeartifact.types.package_format.PackageFormat",
2758
+ package: "capo_codeartifact.types.package_name.PackageName",
2759
+ *,
2760
+ config_overrides: Optional[codeartifactClientConfig] = None,
2761
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2762
+ namespace: Optional[
2763
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
2764
+ ] = None,
2765
+ status: Optional[
2766
+ "capo_codeartifact.types.package_version_status.PackageVersionStatus"
2767
+ ] = None,
2768
+ sort_by: Optional[
2769
+ "capo_codeartifact.types.package_version_sort_type.PackageVersionSortType"
2770
+ ] = None,
2771
+ max_results: Optional[
2772
+ "capo_codeartifact.types.list_package_versions_max_results.ListPackageVersionsMaxResults"
2773
+ ] = None,
2774
+ next_token: Optional[
2775
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2776
+ ] = None,
2777
+ origin_type: Optional[
2778
+ "capo_codeartifact.types.package_version_origin_type.PackageVersionOriginType"
2779
+ ] = None,
2780
+ ) -> "Iterator[capo_codeartifact.types.package_version_summary.PackageVersionSummary]":
2781
+ _token = next_token
2782
+ while True:
2783
+ _response = self.list_package_versions(
2784
+ domain,
2785
+ repository,
2786
+ format,
2787
+ package,
2788
+ config_overrides=config_overrides,
2789
+ domain_owner=domain_owner,
2790
+ namespace=namespace,
2791
+ status=status,
2792
+ sort_by=sort_by,
2793
+ max_results=max_results,
2794
+ next_token=_token,
2795
+ origin_type=origin_type,
2796
+ )
2797
+ _page = _resolve_path(_response, ("versions",))
2798
+ for _item in _page or []:
2799
+ yield _item
2800
+ _token = _resolve_path(_response, ("next_token",))
2801
+ if not _token:
2802
+ break
2803
+
2804
+ def list_repositories(
2805
+ self,
2806
+ *,
2807
+ config_overrides: Optional[codeartifactClientConfig] = None,
2808
+ repository_prefix: Optional[
2809
+ "capo_codeartifact.types.repository_name.RepositoryName"
2810
+ ] = None,
2811
+ max_results: Optional[
2812
+ "capo_codeartifact.types.list_repositories_max_results.ListRepositoriesMaxResults"
2813
+ ] = None,
2814
+ next_token: Optional[
2815
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2816
+ ] = None,
2817
+ ) -> "capo_codeartifact.types.list_repositories_result.ListRepositoriesResult":
2818
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html\">RepositorySummary</a> objects. Each <code>RepositorySummary</code> contains information about a repository in the specified Amazon Web Services account and that matches the input parameters. </p>
2819
+
2820
+ Args:
2821
+ repository_prefix: <p> A prefix used to filter returned repositories. Only repositories with names that start with <code>repositoryPrefix</code> are returned.</p>
2822
+ max_results: <p> The maximum number of results to return per page. </p>
2823
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2824
+
2825
+ Raises:
2826
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2827
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2828
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2829
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2830
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2831
+ """
2832
+
2833
+ def _handler(
2834
+ req: "OperationRequest[capo_codeartifact.types.list_repositories_request.ListRepositoriesRequest]",
2835
+ ) -> OperationResponse[
2836
+ "capo_codeartifact.types.list_repositories_result.ListRepositoriesResult"
2837
+ ]:
2838
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_repositories
2839
+
2840
+ output, http_response = (
2841
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_repositories.list_repositories(
2842
+ req.options, req.input
2843
+ )
2844
+ )
2845
+ return OperationResponse(output=output, response=http_response)
2846
+
2847
+ interceptors_, options_ = self.operation_options(config_overrides)
2848
+ input_: capo_codeartifact.types.list_repositories_request.ListRepositoriesRequest = {}
2849
+ if repository_prefix is not None:
2850
+ input_["repository_prefix"] = repository_prefix
2851
+ if max_results is not None:
2852
+ input_["max_results"] = max_results
2853
+ if next_token is not None:
2854
+ input_["next_token"] = next_token
2855
+
2856
+ response = execute_pipeline(
2857
+ OperationRequest(input=input_, options=options_),
2858
+ handler=_handler,
2859
+ interceptors=list(interceptors_),
2860
+ )
2861
+ response.response.close()
2862
+ return response.output
2863
+
2864
+ def iter_list_repositories(
2865
+ self,
2866
+ *,
2867
+ config_overrides: Optional[codeartifactClientConfig] = None,
2868
+ repository_prefix: Optional[
2869
+ "capo_codeartifact.types.repository_name.RepositoryName"
2870
+ ] = None,
2871
+ max_results: Optional[
2872
+ "capo_codeartifact.types.list_repositories_max_results.ListRepositoriesMaxResults"
2873
+ ] = None,
2874
+ next_token: Optional[
2875
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2876
+ ] = None,
2877
+ ) -> "Iterator[capo_codeartifact.types.repository_summary.RepositorySummary]":
2878
+ _token = next_token
2879
+ while True:
2880
+ _response = self.list_repositories(
2881
+ config_overrides=config_overrides,
2882
+ repository_prefix=repository_prefix,
2883
+ max_results=max_results,
2884
+ next_token=_token,
2885
+ )
2886
+ _page = _resolve_path(_response, ("repositories",))
2887
+ for _item in _page or []:
2888
+ yield _item
2889
+ _token = _resolve_path(_response, ("next_token",))
2890
+ if not _token:
2891
+ break
2892
+
2893
+ def list_repositories_in_domain(
2894
+ self,
2895
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2896
+ *,
2897
+ config_overrides: Optional[codeartifactClientConfig] = None,
2898
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2899
+ administrator_account: Optional[
2900
+ "capo_codeartifact.types.account_id.AccountId"
2901
+ ] = None,
2902
+ repository_prefix: Optional[
2903
+ "capo_codeartifact.types.repository_name.RepositoryName"
2904
+ ] = None,
2905
+ max_results: Optional[
2906
+ "capo_codeartifact.types.list_repositories_in_domain_max_results.ListRepositoriesInDomainMaxResults"
2907
+ ] = None,
2908
+ next_token: Optional[
2909
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2910
+ ] = None,
2911
+ ) -> "capo_codeartifact.types.list_repositories_in_domain_result.ListRepositoriesInDomainResult":
2912
+ r"""<p> Returns a list of <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html\">RepositorySummary</a> objects. Each <code>RepositorySummary</code> contains information about a repository in the specified domain and that matches the input parameters. </p>
2913
+
2914
+ Args:
2915
+ domain: <p> The name of the domain that contains the returned list of repositories. </p>
2916
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
2917
+ administrator_account: <p> Filter the list of repositories to only include those that are managed by the Amazon Web Services account ID. </p>
2918
+ repository_prefix: <p> A prefix used to filter returned repositories. Only repositories with names that start with <code>repositoryPrefix</code> are returned. </p>
2919
+ max_results: <p> The maximum number of results to return per page. </p>
2920
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
2921
+
2922
+ Raises:
2923
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
2924
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
2925
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
2926
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
2927
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
2928
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
2929
+ """
2930
+
2931
+ def _handler(
2932
+ req: "OperationRequest[capo_codeartifact.types.list_repositories_in_domain_request.ListRepositoriesInDomainRequest]",
2933
+ ) -> OperationResponse[
2934
+ "capo_codeartifact.types.list_repositories_in_domain_result.ListRepositoriesInDomainResult"
2935
+ ]:
2936
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_repositories_in_domain
2937
+
2938
+ output, http_response = (
2939
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_repositories_in_domain.list_repositories_in_domain(
2940
+ req.options, req.input
2941
+ )
2942
+ )
2943
+ return OperationResponse(output=output, response=http_response)
2944
+
2945
+ interceptors_, options_ = self.operation_options(config_overrides)
2946
+ input_: capo_codeartifact.types.list_repositories_in_domain_request.ListRepositoriesInDomainRequest = {
2947
+ "domain": domain
2948
+ }
2949
+ if domain_owner is not None:
2950
+ input_["domain_owner"] = domain_owner
2951
+ if administrator_account is not None:
2952
+ input_["administrator_account"] = administrator_account
2953
+ if repository_prefix is not None:
2954
+ input_["repository_prefix"] = repository_prefix
2955
+ if max_results is not None:
2956
+ input_["max_results"] = max_results
2957
+ if next_token is not None:
2958
+ input_["next_token"] = next_token
2959
+
2960
+ response = execute_pipeline(
2961
+ OperationRequest(input=input_, options=options_),
2962
+ handler=_handler,
2963
+ interceptors=list(interceptors_),
2964
+ )
2965
+ response.response.close()
2966
+ return response.output
2967
+
2968
+ def iter_list_repositories_in_domain(
2969
+ self,
2970
+ domain: "capo_codeartifact.types.domain_name.DomainName",
2971
+ *,
2972
+ config_overrides: Optional[codeartifactClientConfig] = None,
2973
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
2974
+ administrator_account: Optional[
2975
+ "capo_codeartifact.types.account_id.AccountId"
2976
+ ] = None,
2977
+ repository_prefix: Optional[
2978
+ "capo_codeartifact.types.repository_name.RepositoryName"
2979
+ ] = None,
2980
+ max_results: Optional[
2981
+ "capo_codeartifact.types.list_repositories_in_domain_max_results.ListRepositoriesInDomainMaxResults"
2982
+ ] = None,
2983
+ next_token: Optional[
2984
+ "capo_codeartifact.types.pagination_token.PaginationToken"
2985
+ ] = None,
2986
+ ) -> "Iterator[capo_codeartifact.types.repository_summary.RepositorySummary]":
2987
+ _token = next_token
2988
+ while True:
2989
+ _response = self.list_repositories_in_domain(
2990
+ domain,
2991
+ config_overrides=config_overrides,
2992
+ domain_owner=domain_owner,
2993
+ administrator_account=administrator_account,
2994
+ repository_prefix=repository_prefix,
2995
+ max_results=max_results,
2996
+ next_token=_token,
2997
+ )
2998
+ _page = _resolve_path(_response, ("repositories",))
2999
+ for _item in _page or []:
3000
+ yield _item
3001
+ _token = _resolve_path(_response, ("next_token",))
3002
+ if not _token:
3003
+ break
3004
+
3005
+ def list_sub_package_groups(
3006
+ self,
3007
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3008
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
3009
+ *,
3010
+ config_overrides: Optional[codeartifactClientConfig] = None,
3011
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3012
+ max_results: Optional[
3013
+ "capo_codeartifact.types.list_package_groups_max_results.ListPackageGroupsMaxResults"
3014
+ ] = None,
3015
+ next_token: Optional[
3016
+ "capo_codeartifact.types.pagination_token.PaginationToken"
3017
+ ] = None,
3018
+ ) -> "capo_codeartifact.types.list_sub_package_groups_result.ListSubPackageGroupsResult":
3019
+ r"""<p>Returns a list of direct children of the specified package group.</p> <p>For information package group hierarchy, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html\">Package group definition syntax and matching behavior</a> in the <i>CodeArtifact User Guide</i>.</p>
3020
+
3021
+ Args:
3022
+ domain: <p> The name of the domain which contains the package group from which to list sub package groups. </p>
3023
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3024
+ package_group: <p> The pattern of the package group from which to list sub package groups. </p>
3025
+ max_results: <p> The maximum number of results to return per page. </p>
3026
+ next_token: <p> The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results. </p>
3027
+
3028
+ Raises:
3029
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3030
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3031
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3032
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3033
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3034
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3035
+ """
3036
+
3037
+ def _handler(
3038
+ req: "OperationRequest[capo_codeartifact.types.list_sub_package_groups_request.ListSubPackageGroupsRequest]",
3039
+ ) -> OperationResponse[
3040
+ "capo_codeartifact.types.list_sub_package_groups_result.ListSubPackageGroupsResult"
3041
+ ]:
3042
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_sub_package_groups
3043
+
3044
+ output, http_response = (
3045
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_sub_package_groups.list_sub_package_groups(
3046
+ req.options, req.input
3047
+ )
3048
+ )
3049
+ return OperationResponse(output=output, response=http_response)
3050
+
3051
+ interceptors_, options_ = self.operation_options(config_overrides)
3052
+ input_: capo_codeartifact.types.list_sub_package_groups_request.ListSubPackageGroupsRequest = {
3053
+ "domain": domain,
3054
+ "package_group": package_group,
3055
+ }
3056
+ if domain_owner is not None:
3057
+ input_["domain_owner"] = domain_owner
3058
+ if max_results is not None:
3059
+ input_["max_results"] = max_results
3060
+ if next_token is not None:
3061
+ input_["next_token"] = next_token
3062
+
3063
+ response = execute_pipeline(
3064
+ OperationRequest(input=input_, options=options_),
3065
+ handler=_handler,
3066
+ interceptors=list(interceptors_),
3067
+ )
3068
+ response.response.close()
3069
+ return response.output
3070
+
3071
+ def iter_list_sub_package_groups(
3072
+ self,
3073
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3074
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
3075
+ *,
3076
+ config_overrides: Optional[codeartifactClientConfig] = None,
3077
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3078
+ max_results: Optional[
3079
+ "capo_codeartifact.types.list_package_groups_max_results.ListPackageGroupsMaxResults"
3080
+ ] = None,
3081
+ next_token: Optional[
3082
+ "capo_codeartifact.types.pagination_token.PaginationToken"
3083
+ ] = None,
3084
+ ) -> "Iterator[capo_codeartifact.types.package_group_summary.PackageGroupSummary]":
3085
+ _token = next_token
3086
+ while True:
3087
+ _response = self.list_sub_package_groups(
3088
+ domain,
3089
+ package_group,
3090
+ config_overrides=config_overrides,
3091
+ domain_owner=domain_owner,
3092
+ max_results=max_results,
3093
+ next_token=_token,
3094
+ )
3095
+ _page = _resolve_path(_response, ("package_groups",))
3096
+ for _item in _page or []:
3097
+ yield _item
3098
+ _token = _resolve_path(_response, ("next_token",))
3099
+ if not _token:
3100
+ break
3101
+
3102
+ def list_tags_for_resource(
3103
+ self,
3104
+ resource_arn: "capo_codeartifact.types.arn.Arn",
3105
+ *,
3106
+ config_overrides: Optional[codeartifactClientConfig] = None,
3107
+ ) -> "capo_codeartifact.types.list_tags_for_resource_result.ListTagsForResourceResult":
3108
+ """<p>Gets information about Amazon Web Services tags for a specified Amazon Resource Name (ARN) in CodeArtifact.</p>
3109
+
3110
+ Args:
3111
+ resource_arn: <p>The Amazon Resource Name (ARN) of the resource to get tags for.</p>
3112
+
3113
+ Raises:
3114
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3115
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3116
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3117
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3118
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3119
+ """
3120
+
3121
+ def _handler(
3122
+ req: "OperationRequest[capo_codeartifact.types.list_tags_for_resource_request.ListTagsForResourceRequest]",
3123
+ ) -> OperationResponse[
3124
+ "capo_codeartifact.types.list_tags_for_resource_result.ListTagsForResourceResult"
3125
+ ]:
3126
+ import capo_codeartifact._operations.code_artifact_control_plane_service.list_tags_for_resource
3127
+
3128
+ output, http_response = (
3129
+ capo_codeartifact._operations.code_artifact_control_plane_service.list_tags_for_resource.list_tags_for_resource(
3130
+ req.options, req.input
3131
+ )
3132
+ )
3133
+ return OperationResponse(output=output, response=http_response)
3134
+
3135
+ interceptors_, options_ = self.operation_options(config_overrides)
3136
+ input_: capo_codeartifact.types.list_tags_for_resource_request.ListTagsForResourceRequest = {
3137
+ "resource_arn": resource_arn
3138
+ }
3139
+
3140
+ response = execute_pipeline(
3141
+ OperationRequest(input=input_, options=options_),
3142
+ handler=_handler,
3143
+ interceptors=list(interceptors_),
3144
+ )
3145
+ response.response.close()
3146
+ return response.output
3147
+
3148
+ def publish_package_version(
3149
+ self,
3150
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3151
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
3152
+ format: "capo_codeartifact.types.package_format.PackageFormat",
3153
+ package: "capo_codeartifact.types.package_name.PackageName",
3154
+ package_version: "capo_codeartifact.types.package_version.PackageVersion",
3155
+ asset_content: Iterator[bytes] | bytes,
3156
+ asset_name: "capo_codeartifact.types.asset_name.AssetName",
3157
+ asset_sha256: "capo_codeartifact.types.sha256.SHA256",
3158
+ *,
3159
+ config_overrides: Optional[codeartifactClientConfig] = None,
3160
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3161
+ namespace: Optional[
3162
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
3163
+ ] = None,
3164
+ unfinished: Optional[
3165
+ "capo_codeartifact.types.boolean_optional.BooleanOptional"
3166
+ ] = None,
3167
+ ) -> "capo_codeartifact.types.publish_package_version_result.PublishPackageVersionResult":
3168
+ r"""<p>Creates a new package version containing one or more assets (or files).</p> <p>The <code>unfinished</code> flag can be used to keep the package version in the <code>Unfinished</code> state until all of its assets have been uploaded (see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/packages-overview.html#package-version-status.html#package-version-status\">Package version status</a> in the <i>CodeArtifact user guide</i>). To set the package version’s status to <code>Published</code>, omit the <code>unfinished</code> flag when uploading the final asset, or set the status using <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html\">UpdatePackageVersionStatus</a>. Once a package version’s status is set to <code>Published</code>, it cannot change back to <code>Unfinished</code>.</p> <note> <p>Only generic packages can be published using this API. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/using-generic.html\">Using generic packages</a> in the <i>CodeArtifact User Guide</i>.</p> </note>
3169
+
3170
+ Args:
3171
+ domain: <p>The name of the domain that contains the repository that contains the package version to publish.</p>
3172
+ domain_owner: <p>The 12-digit account number of the AWS account that owns the domain. It does not include dashes or spaces.</p>
3173
+ repository: <p>The name of the repository that the package version will be published to.</p>
3174
+ format: <p>A format that specifies the type of the package version with the requested asset file.</p> <p>The only supported value is <code>generic</code>.</p>
3175
+ namespace: <p>The namespace of the package version to publish.</p>
3176
+ package: <p>The name of the package version to publish.</p>
3177
+ package_version: <p>The package version to publish (for example, <code>3.5.2</code>).</p>
3178
+ asset_content: <p>The content of the asset to publish.</p>
3179
+ asset_name: <p>The name of the asset to publish. Asset names can include Unicode letters and numbers, and the following special characters: <code>~ ! @ ^ & ( ) - ` _ + [ ] { } ; , . `</code> </p>
3180
+ asset_sha256: <p>The SHA256 hash of the <code>assetContent</code> to publish. This value must be calculated by the caller and provided with the request (see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/using-generic.html#publishing-generic-packages\">Publishing a generic package</a> in the <i>CodeArtifact User Guide</i>).</p> <p>This value is used as an integrity check to verify that the <code>assetContent</code> has not changed after it was originally sent.</p>
3181
+ unfinished: <p>Specifies whether the package version should remain in the <code>unfinished</code> state. If omitted, the package version status will be set to <code>Published</code> (see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/packages-overview.html#package-version-status\">Package version status</a> in the <i>CodeArtifact User Guide</i>).</p> <p>Valid values: <code>unfinished</code> </p>
3182
+
3183
+ Raises:
3184
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3185
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
3186
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3187
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3188
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3189
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3190
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3191
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3192
+ """
3193
+
3194
+ def _handler(
3195
+ req: "OperationRequest[capo_codeartifact.types.publish_package_version_request.PublishPackageVersionRequest]",
3196
+ ) -> OperationResponse[
3197
+ "capo_codeartifact.types.publish_package_version_result.PublishPackageVersionResult"
3198
+ ]:
3199
+ import capo_codeartifact._operations.code_artifact_control_plane_service.publish_package_version
3200
+
3201
+ output, http_response = (
3202
+ capo_codeartifact._operations.code_artifact_control_plane_service.publish_package_version.publish_package_version(
3203
+ req.options, req.input
3204
+ )
3205
+ )
3206
+ return OperationResponse(output=output, response=http_response)
3207
+
3208
+ interceptors_, options_ = self.operation_options(config_overrides)
3209
+ input_: capo_codeartifact.types.publish_package_version_request.PublishPackageVersionRequest = {
3210
+ "domain": domain,
3211
+ "repository": repository,
3212
+ "format": format,
3213
+ "package": package,
3214
+ "package_version": package_version,
3215
+ "asset_content": ensure_sync_iterator(asset_content),
3216
+ "asset_name": asset_name,
3217
+ "asset_sha256": asset_sha256,
3218
+ }
3219
+ if domain_owner is not None:
3220
+ input_["domain_owner"] = domain_owner
3221
+ if namespace is not None:
3222
+ input_["namespace"] = namespace
3223
+ if unfinished is not None:
3224
+ input_["unfinished"] = unfinished
3225
+
3226
+ response = execute_pipeline(
3227
+ OperationRequest(input=input_, options=options_),
3228
+ handler=_handler,
3229
+ interceptors=list(interceptors_),
3230
+ )
3231
+ response.response.close()
3232
+ return response.output
3233
+
3234
+ def put_domain_permissions_policy(
3235
+ self,
3236
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3237
+ policy_document: "capo_codeartifact.types.policy_document.PolicyDocument",
3238
+ *,
3239
+ config_overrides: Optional[codeartifactClientConfig] = None,
3240
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3241
+ policy_revision: Optional[
3242
+ "capo_codeartifact.types.policy_revision.PolicyRevision"
3243
+ ] = None,
3244
+ ) -> "capo_codeartifact.types.put_domain_permissions_policy_result.PutDomainPermissionsPolicyResult":
3245
+ """<p> Sets a resource policy on a domain that specifies permissions to access it. </p> <p> When you call <code>PutDomainPermissionsPolicy</code>, the resource policy on the domain is ignored when evaluting permissions. This ensures that the owner of a domain cannot lock themselves out of the domain, which would prevent them from being able to update the resource policy. </p>
3246
+
3247
+ Args:
3248
+ domain: <p> The name of the domain on which to set the resource policy. </p>
3249
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3250
+ policy_revision: <p> The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy. </p>
3251
+ policy_document: <p> A valid displayable JSON Aspen policy string to be set as the access control resource policy on the provided domain. </p>
3252
+
3253
+ Raises:
3254
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3255
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
3256
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3257
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3258
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3259
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3260
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3261
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3262
+ """
3263
+
3264
+ def _handler(
3265
+ req: "OperationRequest[capo_codeartifact.types.put_domain_permissions_policy_request.PutDomainPermissionsPolicyRequest]",
3266
+ ) -> OperationResponse[
3267
+ "capo_codeartifact.types.put_domain_permissions_policy_result.PutDomainPermissionsPolicyResult"
3268
+ ]:
3269
+ import capo_codeartifact._operations.code_artifact_control_plane_service.put_domain_permissions_policy
3270
+
3271
+ output, http_response = (
3272
+ capo_codeartifact._operations.code_artifact_control_plane_service.put_domain_permissions_policy.put_domain_permissions_policy(
3273
+ req.options, req.input
3274
+ )
3275
+ )
3276
+ return OperationResponse(output=output, response=http_response)
3277
+
3278
+ interceptors_, options_ = self.operation_options(config_overrides)
3279
+ input_: capo_codeartifact.types.put_domain_permissions_policy_request.PutDomainPermissionsPolicyRequest = {
3280
+ "domain": domain,
3281
+ "policy_document": policy_document,
3282
+ }
3283
+ if domain_owner is not None:
3284
+ input_["domain_owner"] = domain_owner
3285
+ if policy_revision is not None:
3286
+ input_["policy_revision"] = policy_revision
3287
+
3288
+ response = execute_pipeline(
3289
+ OperationRequest(input=input_, options=options_),
3290
+ handler=_handler,
3291
+ interceptors=list(interceptors_),
3292
+ )
3293
+ response.response.close()
3294
+ return response.output
3295
+
3296
+ def put_package_origin_configuration(
3297
+ self,
3298
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3299
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
3300
+ format: "capo_codeartifact.types.package_format.PackageFormat",
3301
+ package: "capo_codeartifact.types.package_name.PackageName",
3302
+ restrictions: "capo_codeartifact.types.package_origin_restrictions.PackageOriginRestrictions",
3303
+ *,
3304
+ config_overrides: Optional[codeartifactClientConfig] = None,
3305
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3306
+ namespace: Optional[
3307
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
3308
+ ] = None,
3309
+ ) -> "capo_codeartifact.types.put_package_origin_configuration_result.PutPackageOriginConfigurationResult":
3310
+ r"""<p>Sets the package origin configuration for a package.</p> <p>The package origin configuration determines how new versions of a package can be added to a repository. You can allow or block direct publishing of new package versions, or ingestion and retaining of new package versions from an external connection or upstream source. For more information about package origin controls and configuration, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-origin-controls.html\">Editing package origin controls</a> in the <i>CodeArtifact User Guide</i>.</p> <p> <code>PutPackageOriginConfiguration</code> can be called on a package that doesn't yet exist in the repository. When called on a package that does not exist, a package is created in the repository with no versions and the requested restrictions are set on the package. This can be used to preemptively block ingesting or retaining any versions from external connections or upstream repositories, or to block publishing any versions of the package into the repository before connecting any package managers or publishers to the repository.</p>
3311
+
3312
+ Args:
3313
+ domain: <p>The name of the domain that contains the repository that contains the package.</p>
3314
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3315
+ repository: <p>The name of the repository that contains the package.</p>
3316
+ format: <p>A format that specifies the type of the package to be updated.</p>
3317
+ namespace: <p>The namespace of the package to be updated. The package component that specifies its namespace depends on its type. For example:</p> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
3318
+ package: <p>The name of the package to be updated.</p>
3319
+ restrictions: <p>A <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html\">PackageOriginRestrictions</a> object that contains information about the <code>upstream</code> and <code>publish</code> package origin restrictions. The <code>upstream</code> restriction determines if new package versions can be ingested or retained from external connections or upstream repositories. The <code>publish</code> restriction determines if new package versions can be published directly to the repository.</p> <p>You must include both the desired <code>upstream</code> and <code>publish</code> restrictions.</p>
3320
+
3321
+ Raises:
3322
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3323
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3324
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3325
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3326
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3327
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3328
+ """
3329
+
3330
+ def _handler(
3331
+ req: "OperationRequest[capo_codeartifact.types.put_package_origin_configuration_request.PutPackageOriginConfigurationRequest]",
3332
+ ) -> OperationResponse[
3333
+ "capo_codeartifact.types.put_package_origin_configuration_result.PutPackageOriginConfigurationResult"
3334
+ ]:
3335
+ import capo_codeartifact._operations.code_artifact_control_plane_service.put_package_origin_configuration
3336
+
3337
+ output, http_response = (
3338
+ capo_codeartifact._operations.code_artifact_control_plane_service.put_package_origin_configuration.put_package_origin_configuration(
3339
+ req.options, req.input
3340
+ )
3341
+ )
3342
+ return OperationResponse(output=output, response=http_response)
3343
+
3344
+ interceptors_, options_ = self.operation_options(config_overrides)
3345
+ input_: capo_codeartifact.types.put_package_origin_configuration_request.PutPackageOriginConfigurationRequest = {
3346
+ "domain": domain,
3347
+ "repository": repository,
3348
+ "format": format,
3349
+ "package": package,
3350
+ "restrictions": restrictions,
3351
+ }
3352
+ if domain_owner is not None:
3353
+ input_["domain_owner"] = domain_owner
3354
+ if namespace is not None:
3355
+ input_["namespace"] = namespace
3356
+
3357
+ response = execute_pipeline(
3358
+ OperationRequest(input=input_, options=options_),
3359
+ handler=_handler,
3360
+ interceptors=list(interceptors_),
3361
+ )
3362
+ response.response.close()
3363
+ return response.output
3364
+
3365
+ def put_repository_permissions_policy(
3366
+ self,
3367
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3368
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
3369
+ policy_document: "capo_codeartifact.types.policy_document.PolicyDocument",
3370
+ *,
3371
+ config_overrides: Optional[codeartifactClientConfig] = None,
3372
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3373
+ policy_revision: Optional[
3374
+ "capo_codeartifact.types.policy_revision.PolicyRevision"
3375
+ ] = None,
3376
+ ) -> "capo_codeartifact.types.put_repository_permissions_policy_result.PutRepositoryPermissionsPolicyResult":
3377
+ """<p> Sets the resource policy on a repository that specifies permissions to access it. </p> <p> When you call <code>PutRepositoryPermissionsPolicy</code>, the resource policy on the repository is ignored when evaluting permissions. This ensures that the owner of a repository cannot lock themselves out of the repository, which would prevent them from being able to update the resource policy. </p>
3378
+
3379
+ Args:
3380
+ domain: <p> The name of the domain containing the repository to set the resource policy on. </p>
3381
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3382
+ repository: <p> The name of the repository to set the resource policy on. </p>
3383
+ policy_revision: <p> Sets the revision of the resource policy that specifies permissions to access the repository. This revision is used for optimistic locking, which prevents others from overwriting your changes to the repository's resource policy. </p>
3384
+ policy_document: <p> A valid displayable JSON Aspen policy string to be set as the access control resource policy on the provided repository. </p>
3385
+
3386
+ Raises:
3387
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3388
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
3389
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3390
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3391
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3392
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3393
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3394
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3395
+ """
3396
+
3397
+ def _handler(
3398
+ req: "OperationRequest[capo_codeartifact.types.put_repository_permissions_policy_request.PutRepositoryPermissionsPolicyRequest]",
3399
+ ) -> OperationResponse[
3400
+ "capo_codeartifact.types.put_repository_permissions_policy_result.PutRepositoryPermissionsPolicyResult"
3401
+ ]:
3402
+ import capo_codeartifact._operations.code_artifact_control_plane_service.put_repository_permissions_policy
3403
+
3404
+ output, http_response = (
3405
+ capo_codeartifact._operations.code_artifact_control_plane_service.put_repository_permissions_policy.put_repository_permissions_policy(
3406
+ req.options, req.input
3407
+ )
3408
+ )
3409
+ return OperationResponse(output=output, response=http_response)
3410
+
3411
+ interceptors_, options_ = self.operation_options(config_overrides)
3412
+ input_: capo_codeartifact.types.put_repository_permissions_policy_request.PutRepositoryPermissionsPolicyRequest = {
3413
+ "domain": domain,
3414
+ "repository": repository,
3415
+ "policy_document": policy_document,
3416
+ }
3417
+ if domain_owner is not None:
3418
+ input_["domain_owner"] = domain_owner
3419
+ if policy_revision is not None:
3420
+ input_["policy_revision"] = policy_revision
3421
+
3422
+ response = execute_pipeline(
3423
+ OperationRequest(input=input_, options=options_),
3424
+ handler=_handler,
3425
+ interceptors=list(interceptors_),
3426
+ )
3427
+ response.response.close()
3428
+ return response.output
3429
+
3430
+ def tag_resource(
3431
+ self,
3432
+ resource_arn: "capo_codeartifact.types.arn.Arn",
3433
+ tags: "capo_codeartifact.types.tag_list.TagList",
3434
+ *,
3435
+ config_overrides: Optional[codeartifactClientConfig] = None,
3436
+ ) -> "capo_codeartifact.types.tag_resource_result.TagResourceResult":
3437
+ """<p>Adds or updates tags for a resource in CodeArtifact.</p>
3438
+
3439
+ Args:
3440
+ resource_arn: <p>The Amazon Resource Name (ARN) of the resource that you want to add or update tags for.</p>
3441
+ tags: <p>The tags you want to modify or add to the resource.</p>
3442
+
3443
+ Raises:
3444
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3445
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3446
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3447
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3448
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3449
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3450
+ """
3451
+
3452
+ def _handler(
3453
+ req: "OperationRequest[capo_codeartifact.types.tag_resource_request.TagResourceRequest]",
3454
+ ) -> OperationResponse[
3455
+ "capo_codeartifact.types.tag_resource_result.TagResourceResult"
3456
+ ]:
3457
+ import capo_codeartifact._operations.code_artifact_control_plane_service.tag_resource
3458
+
3459
+ output, http_response = (
3460
+ capo_codeartifact._operations.code_artifact_control_plane_service.tag_resource.tag_resource(
3461
+ req.options, req.input
3462
+ )
3463
+ )
3464
+ return OperationResponse(output=output, response=http_response)
3465
+
3466
+ interceptors_, options_ = self.operation_options(config_overrides)
3467
+ input_: capo_codeartifact.types.tag_resource_request.TagResourceRequest = {
3468
+ "resource_arn": resource_arn,
3469
+ "tags": tags,
3470
+ }
3471
+
3472
+ response = execute_pipeline(
3473
+ OperationRequest(input=input_, options=options_),
3474
+ handler=_handler,
3475
+ interceptors=list(interceptors_),
3476
+ )
3477
+ response.response.close()
3478
+ return response.output
3479
+
3480
+ def untag_resource(
3481
+ self,
3482
+ resource_arn: "capo_codeartifact.types.arn.Arn",
3483
+ tag_keys: "capo_codeartifact.types.tag_key_list.TagKeyList",
3484
+ *,
3485
+ config_overrides: Optional[codeartifactClientConfig] = None,
3486
+ ) -> "capo_codeartifact.types.untag_resource_result.UntagResourceResult":
3487
+ """<p>Removes tags from a resource in CodeArtifact.</p>
3488
+
3489
+ Args:
3490
+ resource_arn: <p>The Amazon Resource Name (ARN) of the resource that you want to remove tags from.</p>
3491
+ tag_keys: <p>The tag key for each tag that you want to remove from the resource.</p>
3492
+
3493
+ Raises:
3494
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3495
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3496
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3497
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3498
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3499
+ """
3500
+
3501
+ def _handler(
3502
+ req: "OperationRequest[capo_codeartifact.types.untag_resource_request.UntagResourceRequest]",
3503
+ ) -> OperationResponse[
3504
+ "capo_codeartifact.types.untag_resource_result.UntagResourceResult"
3505
+ ]:
3506
+ import capo_codeartifact._operations.code_artifact_control_plane_service.untag_resource
3507
+
3508
+ output, http_response = (
3509
+ capo_codeartifact._operations.code_artifact_control_plane_service.untag_resource.untag_resource(
3510
+ req.options, req.input
3511
+ )
3512
+ )
3513
+ return OperationResponse(output=output, response=http_response)
3514
+
3515
+ interceptors_, options_ = self.operation_options(config_overrides)
3516
+ input_: capo_codeartifact.types.untag_resource_request.UntagResourceRequest = {
3517
+ "resource_arn": resource_arn,
3518
+ "tag_keys": tag_keys,
3519
+ }
3520
+
3521
+ response = execute_pipeline(
3522
+ OperationRequest(input=input_, options=options_),
3523
+ handler=_handler,
3524
+ interceptors=list(interceptors_),
3525
+ )
3526
+ response.response.close()
3527
+ return response.output
3528
+
3529
+ def update_package_group(
3530
+ self,
3531
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3532
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
3533
+ *,
3534
+ config_overrides: Optional[codeartifactClientConfig] = None,
3535
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3536
+ contact_info: Optional[
3537
+ "capo_codeartifact.types.package_group_contact_info.PackageGroupContactInfo"
3538
+ ] = None,
3539
+ description: Optional["capo_codeartifact.types.description.Description"] = None,
3540
+ ) -> "capo_codeartifact.types.update_package_group_result.UpdatePackageGroupResult":
3541
+ r"""<p>Updates a package group. This API cannot be used to update a package group's origin configuration or pattern. To update a package group's origin configuration, use <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageGroupOriginConfiguration.html\">UpdatePackageGroupOriginConfiguration</a>.</p>
3542
+
3543
+ Args:
3544
+ domain: <p> The name of the domain which contains the package group to be updated. </p>
3545
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3546
+ package_group: <p> The pattern of the package group to be updated. </p>
3547
+ contact_info: <p> Contact information which you want to update the requested package group with. </p>
3548
+ description: <p> The description you want to update the requested package group with. </p>
3549
+
3550
+ Raises:
3551
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3552
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3553
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3554
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3555
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3556
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3557
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3558
+ """
3559
+
3560
+ def _handler(
3561
+ req: "OperationRequest[capo_codeartifact.types.update_package_group_request.UpdatePackageGroupRequest]",
3562
+ ) -> OperationResponse[
3563
+ "capo_codeartifact.types.update_package_group_result.UpdatePackageGroupResult"
3564
+ ]:
3565
+ import capo_codeartifact._operations.code_artifact_control_plane_service.update_package_group
3566
+
3567
+ output, http_response = (
3568
+ capo_codeartifact._operations.code_artifact_control_plane_service.update_package_group.update_package_group(
3569
+ req.options, req.input
3570
+ )
3571
+ )
3572
+ return OperationResponse(output=output, response=http_response)
3573
+
3574
+ interceptors_, options_ = self.operation_options(config_overrides)
3575
+ input_: capo_codeartifact.types.update_package_group_request.UpdatePackageGroupRequest = {
3576
+ "domain": domain,
3577
+ "package_group": package_group,
3578
+ }
3579
+ if domain_owner is not None:
3580
+ input_["domain_owner"] = domain_owner
3581
+ if contact_info is not None:
3582
+ input_["contact_info"] = contact_info
3583
+ if description is not None:
3584
+ input_["description"] = description
3585
+
3586
+ response = execute_pipeline(
3587
+ OperationRequest(input=input_, options=options_),
3588
+ handler=_handler,
3589
+ interceptors=list(interceptors_),
3590
+ )
3591
+ response.response.close()
3592
+ return response.output
3593
+
3594
+ def update_package_group_origin_configuration(
3595
+ self,
3596
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3597
+ package_group: "capo_codeartifact.types.package_group_pattern.PackageGroupPattern",
3598
+ *,
3599
+ config_overrides: Optional[codeartifactClientConfig] = None,
3600
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3601
+ restrictions: Optional[
3602
+ "capo_codeartifact.types.origin_restrictions.OriginRestrictions"
3603
+ ] = None,
3604
+ add_allowed_repositories: Optional[
3605
+ "capo_codeartifact.types.package_group_allowed_repository_list.PackageGroupAllowedRepositoryList"
3606
+ ] = None,
3607
+ remove_allowed_repositories: Optional[
3608
+ "capo_codeartifact.types.package_group_allowed_repository_list.PackageGroupAllowedRepositoryList"
3609
+ ] = None,
3610
+ ) -> "capo_codeartifact.types.update_package_group_origin_configuration_result.UpdatePackageGroupOriginConfigurationResult":
3611
+ r"""<p>Updates the package origin configuration for a package group.</p> <p>The package origin configuration determines how new versions of a package can be added to a repository. You can allow or block direct publishing of new package versions, or ingestion and retaining of new package versions from an external connection or upstream source. For more information about package group origin controls and configuration, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html\">Package group origin controls</a> in the <i>CodeArtifact User Guide</i>.</p>
3612
+
3613
+ Args:
3614
+ domain: <p> The name of the domain which contains the package group for which to update the origin configuration. </p>
3615
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3616
+ package_group: <p> The pattern of the package group for which to update the origin configuration. </p>
3617
+ restrictions: <p> The origin configuration settings that determine how package versions can enter repositories. </p>
3618
+ add_allowed_repositories: <p>The repository name and restrictions to add to the allowed repository list of the specified package group.</p>
3619
+ remove_allowed_repositories: <p>The repository name and restrictions to remove from the allowed repository list of the specified package group.</p>
3620
+
3621
+ Raises:
3622
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3623
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3624
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3625
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3626
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3627
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3628
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3629
+ """
3630
+
3631
+ def _handler(
3632
+ req: "OperationRequest[capo_codeartifact.types.update_package_group_origin_configuration_request.UpdatePackageGroupOriginConfigurationRequest]",
3633
+ ) -> OperationResponse[
3634
+ "capo_codeartifact.types.update_package_group_origin_configuration_result.UpdatePackageGroupOriginConfigurationResult"
3635
+ ]:
3636
+ import capo_codeartifact._operations.code_artifact_control_plane_service.update_package_group_origin_configuration
3637
+
3638
+ output, http_response = (
3639
+ capo_codeartifact._operations.code_artifact_control_plane_service.update_package_group_origin_configuration.update_package_group_origin_configuration(
3640
+ req.options, req.input
3641
+ )
3642
+ )
3643
+ return OperationResponse(output=output, response=http_response)
3644
+
3645
+ interceptors_, options_ = self.operation_options(config_overrides)
3646
+ input_: capo_codeartifact.types.update_package_group_origin_configuration_request.UpdatePackageGroupOriginConfigurationRequest = {
3647
+ "domain": domain,
3648
+ "package_group": package_group,
3649
+ }
3650
+ if domain_owner is not None:
3651
+ input_["domain_owner"] = domain_owner
3652
+ if restrictions is not None:
3653
+ input_["restrictions"] = restrictions
3654
+ if add_allowed_repositories is not None:
3655
+ input_["add_allowed_repositories"] = add_allowed_repositories
3656
+ if remove_allowed_repositories is not None:
3657
+ input_["remove_allowed_repositories"] = remove_allowed_repositories
3658
+
3659
+ response = execute_pipeline(
3660
+ OperationRequest(input=input_, options=options_),
3661
+ handler=_handler,
3662
+ interceptors=list(interceptors_),
3663
+ )
3664
+ response.response.close()
3665
+ return response.output
3666
+
3667
+ def update_package_versions_status(
3668
+ self,
3669
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3670
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
3671
+ format: "capo_codeartifact.types.package_format.PackageFormat",
3672
+ package: "capo_codeartifact.types.package_name.PackageName",
3673
+ versions: "capo_codeartifact.types.package_version_list.PackageVersionList",
3674
+ target_status: "capo_codeartifact.types.package_version_status.PackageVersionStatus",
3675
+ *,
3676
+ config_overrides: Optional[codeartifactClientConfig] = None,
3677
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3678
+ namespace: Optional[
3679
+ "capo_codeartifact.types.package_namespace.PackageNamespace"
3680
+ ] = None,
3681
+ version_revisions: Optional[
3682
+ "capo_codeartifact.types.package_version_revision_map.PackageVersionRevisionMap"
3683
+ ] = None,
3684
+ expected_status: Optional[
3685
+ "capo_codeartifact.types.package_version_status.PackageVersionStatus"
3686
+ ] = None,
3687
+ ) -> "capo_codeartifact.types.update_package_versions_status_result.UpdatePackageVersionsStatusResult":
3688
+ r"""<p> Updates the status of one or more versions of a package. Using <code>UpdatePackageVersionsStatus</code>, you can update the status of package versions to <code>Archived</code>, <code>Published</code>, or <code>Unlisted</code>. To set the status of a package version to <code>Disposed</code>, use <a href=\"https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DisposePackageVersions.html\">DisposePackageVersions</a>. </p>
3689
+
3690
+ Args:
3691
+ domain: <p> The name of the domain that contains the repository that contains the package versions with a status to be updated. </p>
3692
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3693
+ repository: <p> The repository that contains the package versions with the status you want to update. </p>
3694
+ format: <p> A format that specifies the type of the package with the statuses to update. </p>
3695
+ namespace: <p>The namespace of the package version to be updated. The package component that specifies its namespace depends on its type. For example:</p> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
3696
+ package: <p> The name of the package with the version statuses to update. </p>
3697
+ versions: <p> An array of strings that specify the versions of the package with the statuses to update. </p>
3698
+ version_revisions: <p> A map of package versions and package version revisions. The map <code>key</code> is the package version (for example, <code>3.5.2</code>), and the map <code>value</code> is the package version revision. </p>
3699
+ expected_status: <p> The package version’s expected status before it is updated. If <code>expectedStatus</code> is provided, the package version's status is updated only if its status at the time <code>UpdatePackageVersionsStatus</code> is called matches <code>expectedStatus</code>. </p>
3700
+ target_status: <p> The status you want to change the package version status to. </p>
3701
+
3702
+ Raises:
3703
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3704
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
3705
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3706
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3707
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3708
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3709
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3710
+ """
3711
+
3712
+ def _handler(
3713
+ req: "OperationRequest[capo_codeartifact.types.update_package_versions_status_request.UpdatePackageVersionsStatusRequest]",
3714
+ ) -> OperationResponse[
3715
+ "capo_codeartifact.types.update_package_versions_status_result.UpdatePackageVersionsStatusResult"
3716
+ ]:
3717
+ import capo_codeartifact._operations.code_artifact_control_plane_service.update_package_versions_status
3718
+
3719
+ output, http_response = (
3720
+ capo_codeartifact._operations.code_artifact_control_plane_service.update_package_versions_status.update_package_versions_status(
3721
+ req.options, req.input
3722
+ )
3723
+ )
3724
+ return OperationResponse(output=output, response=http_response)
3725
+
3726
+ interceptors_, options_ = self.operation_options(config_overrides)
3727
+ input_: capo_codeartifact.types.update_package_versions_status_request.UpdatePackageVersionsStatusRequest = {
3728
+ "domain": domain,
3729
+ "repository": repository,
3730
+ "format": format,
3731
+ "package": package,
3732
+ "versions": versions,
3733
+ "target_status": target_status,
3734
+ }
3735
+ if domain_owner is not None:
3736
+ input_["domain_owner"] = domain_owner
3737
+ if namespace is not None:
3738
+ input_["namespace"] = namespace
3739
+ if version_revisions is not None:
3740
+ input_["version_revisions"] = version_revisions
3741
+ if expected_status is not None:
3742
+ input_["expected_status"] = expected_status
3743
+
3744
+ response = execute_pipeline(
3745
+ OperationRequest(input=input_, options=options_),
3746
+ handler=_handler,
3747
+ interceptors=list(interceptors_),
3748
+ )
3749
+ response.response.close()
3750
+ return response.output
3751
+
3752
+ def update_repository(
3753
+ self,
3754
+ domain: "capo_codeartifact.types.domain_name.DomainName",
3755
+ repository: "capo_codeartifact.types.repository_name.RepositoryName",
3756
+ *,
3757
+ config_overrides: Optional[codeartifactClientConfig] = None,
3758
+ domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
3759
+ description: Optional["capo_codeartifact.types.description.Description"] = None,
3760
+ upstreams: Optional[
3761
+ "capo_codeartifact.types.upstream_repository_list.UpstreamRepositoryList"
3762
+ ] = None,
3763
+ ) -> "capo_codeartifact.types.update_repository_result.UpdateRepositoryResult":
3764
+ r"""<p> Update the properties of a repository. </p>
3765
+
3766
+ Args:
3767
+ domain: <p> The name of the domain associated with the repository to update. </p>
3768
+ domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
3769
+ repository: <p> The name of the repository to update. </p>
3770
+ description: <p> An updated repository description. </p>
3771
+ upstreams: <p> A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when CodeArtifact looks for a requested package version. For more information, see <a href=\"https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html\">Working with upstream repositories</a>. </p>
3772
+
3773
+ Raises:
3774
+ capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
3775
+ capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
3776
+ capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
3777
+ capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
3778
+ capo_codeartifact.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The operation did not succeed because it would have exceeded a service limit for your account. </p>
3779
+ capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
3780
+ capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
3781
+ capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
3782
+ """
3783
+
3784
+ def _handler(
3785
+ req: "OperationRequest[capo_codeartifact.types.update_repository_request.UpdateRepositoryRequest]",
3786
+ ) -> OperationResponse[
3787
+ "capo_codeartifact.types.update_repository_result.UpdateRepositoryResult"
3788
+ ]:
3789
+ import capo_codeartifact._operations.code_artifact_control_plane_service.update_repository
3790
+
3791
+ output, http_response = (
3792
+ capo_codeartifact._operations.code_artifact_control_plane_service.update_repository.update_repository(
3793
+ req.options, req.input
3794
+ )
3795
+ )
3796
+ return OperationResponse(output=output, response=http_response)
3797
+
3798
+ interceptors_, options_ = self.operation_options(config_overrides)
3799
+ input_: capo_codeartifact.types.update_repository_request.UpdateRepositoryRequest = {
3800
+ "domain": domain,
3801
+ "repository": repository,
3802
+ }
3803
+ if domain_owner is not None:
3804
+ input_["domain_owner"] = domain_owner
3805
+ if description is not None:
3806
+ input_["description"] = description
3807
+ if upstreams is not None:
3808
+ input_["upstreams"] = upstreams
3809
+
3810
+ response = execute_pipeline(
3811
+ OperationRequest(input=input_, options=options_),
3812
+ handler=_handler,
3813
+ interceptors=list(interceptors_),
3814
+ )
3815
+ response.response.close()
3816
+ return response.output
3817
+
3818
+ def __enter__(self) -> Self:
3819
+ return self
3820
+
3821
+ def __exit__(self, exc_type: Any, exc: Any, tb: Any):
3822
+ self._client.close()