capo-codeguru-security 0.3.0__tar.gz → 0.4.0__tar.gz

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 (140) hide show
  1. {capo_codeguru_security-0.3.0/src/capo_codeguru_security.egg-info → capo_codeguru_security-0.4.0}/PKG-INFO +2 -2
  2. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/pyproject.toml +2 -2
  3. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/batch_get_findings.py +3 -2
  4. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/create_scan.py +3 -2
  5. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/create_upload_url.py +3 -2
  6. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/get_account_configuration.py +3 -2
  7. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/get_findings.py +3 -2
  8. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/get_metrics_summary.py +3 -2
  9. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/get_scan.py +3 -2
  10. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/list_findings_metrics.py +3 -2
  11. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/list_scans.py +3 -2
  12. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/list_tags_for_resource.py +3 -2
  13. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/tag_resource.py +3 -2
  14. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/untag_resource.py +3 -2
  15. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_operations/aws_code_guru_security/update_account_configuration.py +3 -2
  16. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_services/_pipeline.py +17 -0
  17. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0/src/capo_codeguru_security.egg-info}/PKG-INFO +2 -2
  18. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/LICENSE +0 -0
  19. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/README.md +0 -0
  20. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/setup.cfg +0 -0
  21. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/__init__.py +0 -0
  22. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_async.py +0 -0
  23. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_auth/_identity.py +0 -0
  24. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_auth/_providers.py +0 -0
  25. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_auth/_signers.py +0 -0
  26. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_auth/_sigv4.py +0 -0
  27. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_auth/_zapros_handler.py +0 -0
  28. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_body.py +0 -0
  29. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_iter.py +0 -0
  30. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_pagination.py +0 -0
  31. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_protocol/__init__.py +0 -0
  32. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_protocol/errors.py +0 -0
  33. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_protocol/eventstream.py +0 -0
  34. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_protocol/serialize.py +0 -0
  35. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_protocol/xml.py +0 -0
  36. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_rule_engine/__init__.py +0 -0
  37. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_rule_engine/_aws_partition.py +0 -0
  38. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_rule_engine/_endpoint_rule_set.py +0 -0
  39. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_rule_engine/_endpoint_runtime.py +0 -0
  40. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_services/_aws_config.py +0 -0
  41. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_services/async_code_guru_security.py +0 -0
  42. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/_services/code_guru_security.py +0 -0
  43. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/__init__.py +0 -0
  44. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/_base.py +0 -0
  45. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/access_denied_exception.py +0 -0
  46. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/conflict_exception.py +0 -0
  47. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/internal_server_exception.py +0 -0
  48. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/resource_not_found_exception.py +0 -0
  49. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/throttling_exception.py +0 -0
  50. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/errors/validation_exception.py +0 -0
  51. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/py.typed +0 -0
  52. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/_prelude/blob.py +0 -0
  53. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/_prelude/timestamp.py +0 -0
  54. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/account_findings_metric.py +0 -0
  55. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/analysis_type.py +0 -0
  56. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/batch_get_findings_error.py +0 -0
  57. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/batch_get_findings_errors.py +0 -0
  58. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/batch_get_findings_request.py +0 -0
  59. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/batch_get_findings_response.py +0 -0
  60. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/categories_with_most_findings.py +0 -0
  61. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/category_with_finding_num.py +0 -0
  62. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/client_token.py +0 -0
  63. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/code_line.py +0 -0
  64. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/code_snippet.py +0 -0
  65. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/create_scan_request.py +0 -0
  66. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/create_scan_response.py +0 -0
  67. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/create_upload_url_request.py +0 -0
  68. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/create_upload_url_response.py +0 -0
  69. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/detector_tags.py +0 -0
  70. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/encryption_config.py +0 -0
  71. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/error_code.py +0 -0
  72. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/error_message.py +0 -0
  73. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/file_path.py +0 -0
  74. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/finding.py +0 -0
  75. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/finding_identifier.py +0 -0
  76. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/finding_identifiers.py +0 -0
  77. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/finding_metrics_value_per_severity.py +0 -0
  78. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/findings.py +0 -0
  79. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/findings_metric_list.py +0 -0
  80. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_account_configuration_request.py +0 -0
  81. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_account_configuration_response.py +0 -0
  82. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_findings_request.py +0 -0
  83. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_findings_response.py +0 -0
  84. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_metrics_summary_request.py +0 -0
  85. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_metrics_summary_response.py +0 -0
  86. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_scan_request.py +0 -0
  87. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/get_scan_response.py +0 -0
  88. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/header_key.py +0 -0
  89. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/header_value.py +0 -0
  90. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/kms_key_arn.py +0 -0
  91. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_findings_metrics_request.py +0 -0
  92. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_findings_metrics_response.py +0 -0
  93. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_scans_request.py +0 -0
  94. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_scans_response.py +0 -0
  95. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_tags_for_resource_request.py +0 -0
  96. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/list_tags_for_resource_response.py +0 -0
  97. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/metrics_summary.py +0 -0
  98. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/next_token.py +0 -0
  99. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/recommendation.py +0 -0
  100. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/reference_urls.py +0 -0
  101. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/related_vulnerabilities.py +0 -0
  102. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/remediation.py +0 -0
  103. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/request_header_map.py +0 -0
  104. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/resource.py +0 -0
  105. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/resource_id.py +0 -0
  106. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/s3_url.py +0 -0
  107. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_name.py +0 -0
  108. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_name_arn.py +0 -0
  109. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_name_with_finding_num.py +0 -0
  110. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_state.py +0 -0
  111. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_summaries.py +0 -0
  112. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_summary.py +0 -0
  113. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scan_type.py +0 -0
  114. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scans_with_most_open_critical_findings.py +0 -0
  115. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/scans_with_most_open_findings.py +0 -0
  116. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/severity.py +0 -0
  117. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/status.py +0 -0
  118. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/suggested_fix.py +0 -0
  119. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/suggested_fixes.py +0 -0
  120. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_key.py +0 -0
  121. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_key_list.py +0 -0
  122. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_map.py +0 -0
  123. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_resource_request.py +0 -0
  124. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_resource_response.py +0 -0
  125. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/tag_value.py +0 -0
  126. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/untag_resource_request.py +0 -0
  127. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/untag_resource_response.py +0 -0
  128. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/update_account_configuration_request.py +0 -0
  129. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/update_account_configuration_response.py +0 -0
  130. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/uuid.py +0 -0
  131. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/validation_exception_field.py +0 -0
  132. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/validation_exception_field_list.py +0 -0
  133. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/validation_exception_reason.py +0 -0
  134. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security/types/vulnerability.py +0 -0
  135. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security.egg-info/SOURCES.txt +0 -0
  136. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security.egg-info/dependency_links.txt +0 -0
  137. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security.egg-info/requires.txt +0 -0
  138. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/src/capo_codeguru_security.egg-info/top_level.txt +0 -0
  139. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/tests/test_body.py +0 -0
  140. {capo_codeguru_security-0.3.0 → capo_codeguru_security-0.4.0}/tests/test_sigv4.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-codeguru-security
3
- Version: 0.3.0
4
- Summary: Python SDK for Codeguru Security.
3
+ Version: 0.4.0
4
+ Summary: Python SDK for AWS Codeguru Security.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
7
7
  Classifier: License :: OSI Approved :: MIT License
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "capo-codeguru-security"
3
- version = "0.3.0"
4
- description = "Python SDK for Codeguru Security."
3
+ version = "0.4.0"
4
+ description = "Python SDK for AWS Codeguru Security."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  classifiers = [
@@ -28,6 +28,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
28
28
  from capo_codeguru_security._services._pipeline import (
29
29
  AsyncOperationOptions,
30
30
  OperationOptions,
31
+ raise_error,
31
32
  )
32
33
  from capo_codeguru_security.errors import UnknownServiceError
33
34
 
@@ -142,7 +143,7 @@ def batch_get_findings(
142
143
  try:
143
144
  if response.status >= 300:
144
145
  response.read()
145
- handle_error(response)
146
+ raise_error(response, handle_error)
146
147
  return handle_response(response), response
147
148
  except BaseException:
148
149
  response.close()
@@ -160,7 +161,7 @@ async def async_batch_get_findings(
160
161
  try:
161
162
  if response.status >= 300:
162
163
  await response.aread()
163
- handle_error(response)
164
+ raise_error(response, handle_error)
164
165
  return await async_handle_response(response), response
165
166
  except BaseException:
166
167
  await response.aclose()
@@ -32,6 +32,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
32
32
  from capo_codeguru_security._services._pipeline import (
33
33
  AsyncOperationOptions,
34
34
  OperationOptions,
35
+ raise_error,
35
36
  )
36
37
  from capo_codeguru_security.errors import UnknownServiceError
37
38
 
@@ -158,7 +159,7 @@ def create_scan(
158
159
  try:
159
160
  if response.status >= 300:
160
161
  response.read()
161
- handle_error(response)
162
+ raise_error(response, handle_error)
162
163
  return handle_response(response), response
163
164
  except BaseException:
164
165
  response.close()
@@ -176,7 +177,7 @@ async def async_create_scan(
176
177
  try:
177
178
  if response.status >= 300:
178
179
  await response.aread()
179
- handle_error(response)
180
+ raise_error(response, handle_error)
180
181
  return await async_handle_response(response), response
181
182
  except BaseException:
182
183
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
26
26
  from capo_codeguru_security._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_codeguru_security.errors import UnknownServiceError
31
32
 
@@ -140,7 +141,7 @@ def create_upload_url(
140
141
  try:
141
142
  if response.status >= 300:
142
143
  response.read()
143
- handle_error(response)
144
+ raise_error(response, handle_error)
144
145
  return handle_response(response), response
145
146
  except BaseException:
146
147
  response.close()
@@ -158,7 +159,7 @@ async def async_create_upload_url(
158
159
  try:
159
160
  if response.status >= 300:
160
161
  await response.aread()
161
- handle_error(response)
162
+ raise_error(response, handle_error)
162
163
  return await async_handle_response(response), response
163
164
  except BaseException:
164
165
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
26
26
  from capo_codeguru_security._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_codeguru_security.errors import UnknownServiceError
31
32
 
@@ -136,7 +137,7 @@ def get_account_configuration(
136
137
  try:
137
138
  if response.status >= 300:
138
139
  response.read()
139
- handle_error(response)
140
+ raise_error(response, handle_error)
140
141
  return handle_response(response), response
141
142
  except BaseException:
142
143
  response.close()
@@ -154,7 +155,7 @@ async def async_get_account_configuration(
154
155
  try:
155
156
  if response.status >= 300:
156
157
  await response.aread()
157
- handle_error(response)
158
+ raise_error(response, handle_error)
158
159
  return await async_handle_response(response), response
159
160
  except BaseException:
160
161
  await response.aclose()
@@ -30,6 +30,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
30
30
  from capo_codeguru_security._services._pipeline import (
31
31
  AsyncOperationOptions,
32
32
  OperationOptions,
33
+ raise_error,
33
34
  )
34
35
  from capo_codeguru_security.errors import UnknownServiceError
35
36
 
@@ -166,7 +167,7 @@ def get_findings(
166
167
  try:
167
168
  if response.status >= 300:
168
169
  response.read()
169
- handle_error(response)
170
+ raise_error(response, handle_error)
170
171
  return handle_response(response), response
171
172
  except BaseException:
172
173
  response.close()
@@ -184,7 +185,7 @@ async def async_get_findings(
184
185
  try:
185
186
  if response.status >= 300:
186
187
  await response.aread()
187
- handle_error(response)
188
+ raise_error(response, handle_error)
188
189
  return await async_handle_response(response), response
189
190
  except BaseException:
190
191
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
26
26
  from capo_codeguru_security._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_codeguru_security.errors import UnknownServiceError
31
32
 
@@ -151,7 +152,7 @@ def get_metrics_summary(
151
152
  try:
152
153
  if response.status >= 300:
153
154
  response.read()
154
- handle_error(response)
155
+ raise_error(response, handle_error)
155
156
  return handle_response(response), response
156
157
  except BaseException:
157
158
  response.close()
@@ -169,7 +170,7 @@ async def async_get_metrics_summary(
169
170
  try:
170
171
  if response.status >= 300:
171
172
  await response.aread()
172
- handle_error(response)
173
+ raise_error(response, handle_error)
173
174
  return await async_handle_response(response), response
174
175
  except BaseException:
175
176
  await response.aclose()
@@ -29,6 +29,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
29
29
  from capo_codeguru_security._services._pipeline import (
30
30
  AsyncOperationOptions,
31
31
  OperationOptions,
32
+ raise_error,
32
33
  )
33
34
  from capo_codeguru_security.errors import UnknownServiceError
34
35
 
@@ -149,7 +150,7 @@ def get_scan(
149
150
  try:
150
151
  if response.status >= 300:
151
152
  response.read()
152
- handle_error(response)
153
+ raise_error(response, handle_error)
153
154
  return handle_response(response), response
154
155
  except BaseException:
155
156
  response.close()
@@ -166,7 +167,7 @@ async def async_get_scan(
166
167
  try:
167
168
  if response.status >= 300:
168
169
  await response.aread()
169
- handle_error(response)
170
+ raise_error(response, handle_error)
170
171
  return await async_handle_response(response), response
171
172
  except BaseException:
172
173
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
26
26
  from capo_codeguru_security._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_codeguru_security.errors import UnknownServiceError
31
32
 
@@ -160,7 +161,7 @@ def list_findings_metrics(
160
161
  try:
161
162
  if response.status >= 300:
162
163
  response.read()
163
- handle_error(response)
164
+ raise_error(response, handle_error)
164
165
  return handle_response(response), response
165
166
  except BaseException:
166
167
  response.close()
@@ -178,7 +179,7 @@ async def async_list_findings_metrics(
178
179
  try:
179
180
  if response.status >= 300:
180
181
  await response.aread()
181
- handle_error(response)
182
+ raise_error(response, handle_error)
182
183
  return await async_handle_response(response), response
183
184
  except BaseException:
184
185
  await response.aclose()
@@ -26,6 +26,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
26
26
  from capo_codeguru_security._services._pipeline import (
27
27
  AsyncOperationOptions,
28
28
  OperationOptions,
29
+ raise_error,
29
30
  )
30
31
  from capo_codeguru_security.errors import UnknownServiceError
31
32
 
@@ -143,7 +144,7 @@ def list_scans(
143
144
  try:
144
145
  if response.status >= 300:
145
146
  response.read()
146
- handle_error(response)
147
+ raise_error(response, handle_error)
147
148
  return handle_response(response), response
148
149
  except BaseException:
149
150
  response.close()
@@ -160,7 +161,7 @@ async def async_list_scans(
160
161
  try:
161
162
  if response.status >= 300:
162
163
  await response.aread()
163
- handle_error(response)
164
+ raise_error(response, handle_error)
164
165
  return await async_handle_response(response), response
165
166
  except BaseException:
166
167
  await response.aclose()
@@ -29,6 +29,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
29
29
  from capo_codeguru_security._services._pipeline import (
30
30
  AsyncOperationOptions,
31
31
  OperationOptions,
32
+ raise_error,
32
33
  )
33
34
  from capo_codeguru_security.errors import UnknownServiceError
34
35
 
@@ -148,7 +149,7 @@ def list_tags_for_resource(
148
149
  try:
149
150
  if response.status >= 300:
150
151
  response.read()
151
- handle_error(response)
152
+ raise_error(response, handle_error)
152
153
  return handle_response(response), response
153
154
  except BaseException:
154
155
  response.close()
@@ -166,7 +167,7 @@ async def async_list_tags_for_resource(
166
167
  try:
167
168
  if response.status >= 300:
168
169
  await response.aread()
169
- handle_error(response)
170
+ raise_error(response, handle_error)
170
171
  return await async_handle_response(response), response
171
172
  except BaseException:
172
173
  await response.aclose()
@@ -29,6 +29,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
29
29
  from capo_codeguru_security._services._pipeline import (
30
30
  AsyncOperationOptions,
31
31
  OperationOptions,
32
+ raise_error,
32
33
  )
33
34
  from capo_codeguru_security.errors import UnknownServiceError
34
35
 
@@ -148,7 +149,7 @@ def tag_resource(
148
149
  try:
149
150
  if response.status >= 300:
150
151
  response.read()
151
- handle_error(response)
152
+ raise_error(response, handle_error)
152
153
  return handle_response(response), response
153
154
  except BaseException:
154
155
  response.close()
@@ -166,7 +167,7 @@ async def async_tag_resource(
166
167
  try:
167
168
  if response.status >= 300:
168
169
  await response.aread()
169
- handle_error(response)
170
+ raise_error(response, handle_error)
170
171
  return await async_handle_response(response), response
171
172
  except BaseException:
172
173
  await response.aclose()
@@ -29,6 +29,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
29
29
  from capo_codeguru_security._services._pipeline import (
30
30
  AsyncOperationOptions,
31
31
  OperationOptions,
32
+ raise_error,
32
33
  )
33
34
  from capo_codeguru_security.errors import UnknownServiceError
34
35
 
@@ -146,7 +147,7 @@ def untag_resource(
146
147
  try:
147
148
  if response.status >= 300:
148
149
  response.read()
149
- handle_error(response)
150
+ raise_error(response, handle_error)
150
151
  return handle_response(response), response
151
152
  except BaseException:
152
153
  response.close()
@@ -164,7 +165,7 @@ async def async_untag_resource(
164
165
  try:
165
166
  if response.status >= 300:
166
167
  await response.aread()
167
- handle_error(response)
168
+ raise_error(response, handle_error)
168
169
  return await async_handle_response(response), response
169
170
  except BaseException:
170
171
  await response.aclose()
@@ -27,6 +27,7 @@ from capo_codeguru_security._rule_engine._endpoint_rule_set import (
27
27
  from capo_codeguru_security._services._pipeline import (
28
28
  AsyncOperationOptions,
29
29
  OperationOptions,
30
+ raise_error,
30
31
  )
31
32
  from capo_codeguru_security.errors import UnknownServiceError
32
33
 
@@ -147,7 +148,7 @@ def update_account_configuration(
147
148
  try:
148
149
  if response.status >= 300:
149
150
  response.read()
150
- handle_error(response)
151
+ raise_error(response, handle_error)
151
152
  return handle_response(response), response
152
153
  except BaseException:
153
154
  response.close()
@@ -165,7 +166,7 @@ async def async_update_account_configuration(
165
166
  try:
166
167
  if response.status >= 300:
167
168
  await response.aread()
168
- handle_error(response)
169
+ raise_error(response, handle_error)
169
170
  return await async_handle_response(response), response
170
171
  except BaseException:
171
172
  await response.aclose()
@@ -6,6 +6,7 @@ from collections.abc import AsyncIterator, Iterator, Sequence
6
6
  from dataclasses import dataclass
7
7
  from typing import TYPE_CHECKING, Awaitable, Callable, Generic, TypeVar, cast
8
8
 
9
+ from typing_extensions import Never
9
10
  from zapros import (
10
11
  AsyncClient,
11
12
  Client,
@@ -135,6 +136,22 @@ async def aexecute_pipeline(
135
136
  return await make_chain(0)(request)
136
137
 
137
138
 
139
+ def raise_error(response: Response, handle_error: Callable[[Response], Never]) -> Never:
140
+ try:
141
+ handle_error(response)
142
+ except ServiceError as exc:
143
+ # The response itself can say a retry is safe, even when the error is
144
+ # not marked @retryable: a 429, a transient 5xx or a Retry-After header.
145
+ if response.status == 429:
146
+ exc.is_throttling_error = True
147
+ if (
148
+ response.status in (429, 500, 502, 503, 504)
149
+ or "retry-after" in response.headers
150
+ ):
151
+ exc.is_retryable = True
152
+ raise
153
+
154
+
138
155
  def _is_retryable(exc: Exception) -> bool:
139
156
  if isinstance(exc, ServiceError):
140
157
  return exc.is_retryable
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: capo-codeguru-security
3
- Version: 0.3.0
4
- Summary: Python SDK for Codeguru Security.
3
+ Version: 0.4.0
4
+ Summary: Python SDK for AWS Codeguru Security.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
7
7
  Classifier: License :: OSI Approved :: MIT License