iam-policy-validator 1.6.0__tar.gz → 1.7.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 (717) hide show
  1. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/PKG-INFO +13 -6
  2. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/README.md +12 -5
  3. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/action.yaml +43 -10
  4. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/full-reference-config.yaml +36 -4
  5. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/__version__.py +1 -1
  6. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/action_condition_enforcement.py +1 -1
  7. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/action_resource_matching.py +23 -6
  8. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/full_wildcard.py +5 -1
  9. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/policy_size.py +3 -7
  10. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/policy_type_validation.py +9 -3
  11. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/principal_validation.py +1 -1
  12. iam_policy_validator-1.7.0/iam_validator/checks/resource_validation.py +138 -0
  13. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/sensitive_action.py +5 -1
  14. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/service_wildcard.py +3 -1
  15. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/wildcard_action.py +7 -2
  16. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/wildcard_resource.py +5 -1
  17. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/analyze.py +98 -1
  18. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/validate.py +4 -2
  19. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/access_analyzer.py +5 -0
  20. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/access_analyzer_report.py +2 -5
  21. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/aws_fetcher.py +14 -4
  22. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/config_loader.py +3 -6
  23. iam_policy_validator-1.7.0/iam_validator/core/constants.py +74 -0
  24. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/models.py +29 -13
  25. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/pr_commenter.py +104 -18
  26. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/report.py +49 -36
  27. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/integrations/github_integration.py +21 -1
  28. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/arn_matching.py +108 -0
  29. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/pyproject.toml +1 -1
  30. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_action_resource_matching.py +176 -0
  31. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_comment_truncation.py +3 -3
  32. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_multipart_comments.py +3 -2
  33. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/uv.lock +1 -1
  34. iam_policy_validator-1.6.0/iam_validator/checks/resource_validation.py +0 -108
  35. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/.github/dependabot.yml +0 -0
  36. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/.github/workflows/ci.yml +0 -0
  37. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/.github/workflows/release.yml +0 -0
  38. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/.gitignore +0 -0
  39. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/.python-version +0 -0
  40. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/CONTRIBUTING.md +0 -0
  41. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/DOCS.md +0 -0
  42. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/LICENSE +0 -0
  43. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/Makefile +0 -0
  44. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/_manifest.json +0 -0
  45. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/_services.json +0 -0
  46. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/a2c.json +0 -0
  47. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/a4b.json +0 -0
  48. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/access-analyzer.json +0 -0
  49. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/account.json +0 -0
  50. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/acm-pca.json +0 -0
  51. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/acm.json +0 -0
  52. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/action-recommendations.json +0 -0
  53. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/activate.json +0 -0
  54. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aiops.json +0 -0
  55. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/airflow.json +0 -0
  56. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/amplify.json +0 -0
  57. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/amplifybackend.json +0 -0
  58. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/amplifyuibuilder.json +0 -0
  59. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aoss.json +0 -0
  60. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/apigateway.json +0 -0
  61. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/app-integrations.json +0 -0
  62. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appconfig.json +0 -0
  63. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appfabric.json +0 -0
  64. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appflow.json +0 -0
  65. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/application-autoscaling.json +0 -0
  66. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/application-signals.json +0 -0
  67. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/application-transformation.json +0 -0
  68. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/applicationinsights.json +0 -0
  69. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appmesh-preview.json +0 -0
  70. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appmesh.json +0 -0
  71. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/apprunner.json +0 -0
  72. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appstream.json +0 -0
  73. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appstudio.json +0 -0
  74. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/appsync.json +0 -0
  75. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/apptest.json +0 -0
  76. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aps.json +0 -0
  77. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/arc-region-switch.json +0 -0
  78. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/arc-zonal-shift.json +0 -0
  79. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/arsenal.json +0 -0
  80. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/artifact.json +0 -0
  81. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/athena.json +0 -0
  82. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/auditmanager.json +0 -0
  83. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/autoscaling-plans.json +0 -0
  84. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/autoscaling.json +0 -0
  85. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aws-marketplace-management.json +0 -0
  86. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aws-marketplace.json +0 -0
  87. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/aws-portal.json +0 -0
  88. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/awsconnector.json +0 -0
  89. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/b2bi.json +0 -0
  90. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/backup-gateway.json +0 -0
  91. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/backup-search.json +0 -0
  92. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/backup-storage.json +0 -0
  93. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/backup.json +0 -0
  94. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/batch.json +0 -0
  95. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bcm-dashboards.json +0 -0
  96. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bcm-data-exports.json +0 -0
  97. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bcm-pricing-calculator.json +0 -0
  98. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bcm-recommended-actions.json +0 -0
  99. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bedrock-agentcore.json +0 -0
  100. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bedrock.json +0 -0
  101. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/billing.json +0 -0
  102. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/billingconductor.json +0 -0
  103. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/braket.json +0 -0
  104. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/budgets.json +0 -0
  105. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/bugbust.json +0 -0
  106. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cases.json +0 -0
  107. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cassandra.json +0 -0
  108. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ce.json +0 -0
  109. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/chatbot.json +0 -0
  110. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/chime.json +0 -0
  111. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cleanrooms-ml.json +0 -0
  112. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cleanrooms.json +0 -0
  113. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloud9.json +0 -0
  114. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/clouddirectory.json +0 -0
  115. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudformation.json +0 -0
  116. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudfront-keyvaluestore.json +0 -0
  117. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudfront.json +0 -0
  118. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudhsm.json +0 -0
  119. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudsearch.json +0 -0
  120. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudshell.json +0 -0
  121. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudtrail-data.json +0 -0
  122. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudtrail.json +0 -0
  123. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cloudwatch.json +0 -0
  124. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeartifact.json +0 -0
  125. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codebuild.json +0 -0
  126. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codecatalyst.json +0 -0
  127. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codecommit.json +0 -0
  128. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeconnections.json +0 -0
  129. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codedeploy-commands-secure.json +0 -0
  130. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codedeploy.json +0 -0
  131. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeguru-profiler.json +0 -0
  132. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeguru-reviewer.json +0 -0
  133. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeguru-security.json +0 -0
  134. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codeguru.json +0 -0
  135. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codepipeline.json +0 -0
  136. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codestar-connections.json +0 -0
  137. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codestar-notifications.json +0 -0
  138. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codestar.json +0 -0
  139. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/codewhisperer.json +0 -0
  140. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cognito-identity.json +0 -0
  141. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cognito-idp.json +0 -0
  142. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cognito-sync.json +0 -0
  143. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/comprehend.json +0 -0
  144. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/comprehendmedical.json +0 -0
  145. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/compute-optimizer.json +0 -0
  146. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/config.json +0 -0
  147. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/connect-campaigns.json +0 -0
  148. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/connect.json +0 -0
  149. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/consoleapp.json +0 -0
  150. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/consolidatedbilling.json +0 -0
  151. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/controlcatalog.json +0 -0
  152. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/controltower.json +0 -0
  153. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cost-optimization-hub.json +0 -0
  154. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/cur.json +0 -0
  155. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/customer-verification.json +0 -0
  156. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/databrew.json +0 -0
  157. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dataexchange.json +0 -0
  158. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/datapipeline.json +0 -0
  159. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/datasync.json +0 -0
  160. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/datazone.json +0 -0
  161. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dax.json +0 -0
  162. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dbqms.json +0 -0
  163. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/deadline.json +0 -0
  164. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/deepcomposer.json +0 -0
  165. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/deepracer.json +0 -0
  166. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/detective.json +0 -0
  167. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/devicefarm.json +0 -0
  168. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/devops-guru.json +0 -0
  169. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/directconnect.json +0 -0
  170. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/discovery.json +0 -0
  171. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dlm.json +0 -0
  172. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dms.json +0 -0
  173. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/docdb-elastic.json +0 -0
  174. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/drs.json +0 -0
  175. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ds-data.json +0 -0
  176. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ds.json +0 -0
  177. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dsql.json +0 -0
  178. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/dynamodb.json +0 -0
  179. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ebs.json +0 -0
  180. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ec2-instance-connect.json +0 -0
  181. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ec2.json +0 -0
  182. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ec2messages.json +0 -0
  183. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ecr-public.json +0 -0
  184. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ecr.json +0 -0
  185. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ecs.json +0 -0
  186. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/eks-auth.json +0 -0
  187. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/eks.json +0 -0
  188. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elasticache.json +0 -0
  189. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elasticbeanstalk.json +0 -0
  190. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elasticfilesystem.json +0 -0
  191. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elasticloadbalancing.json +0 -0
  192. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elasticmapreduce.json +0 -0
  193. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elastictranscoder.json +0 -0
  194. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elemental-activations.json +0 -0
  195. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elemental-appliances-software.json +0 -0
  196. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elemental-support-cases.json +0 -0
  197. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/elemental-support-content.json +0 -0
  198. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/emr-containers.json +0 -0
  199. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/emr-serverless.json +0 -0
  200. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/entityresolution.json +0 -0
  201. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/es.json +0 -0
  202. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/events.json +0 -0
  203. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/evidently.json +0 -0
  204. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/evs.json +0 -0
  205. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/execute-api.json +0 -0
  206. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/finspace-api.json +0 -0
  207. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/finspace.json +0 -0
  208. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/firehose.json +0 -0
  209. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/fis.json +0 -0
  210. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/fms.json +0 -0
  211. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/forecast.json +0 -0
  212. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/frauddetector.json +0 -0
  213. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/freertos.json +0 -0
  214. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/freetier.json +0 -0
  215. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/fsx.json +0 -0
  216. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/gamelift.json +0 -0
  217. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/gameliftstreams.json +0 -0
  218. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/geo-maps.json +0 -0
  219. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/geo-places.json +0 -0
  220. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/geo-routes.json +0 -0
  221. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/geo.json +0 -0
  222. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/glacier.json +0 -0
  223. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/globalaccelerator.json +0 -0
  224. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/glue.json +0 -0
  225. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/grafana.json +0 -0
  226. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/greengrass.json +0 -0
  227. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/groundstation.json +0 -0
  228. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/groundtruthlabeling.json +0 -0
  229. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/guardduty.json +0 -0
  230. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/health.json +0 -0
  231. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/healthlake.json +0 -0
  232. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/honeycode.json +0 -0
  233. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iam.json +0 -0
  234. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/identity-sync.json +0 -0
  235. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/identitystore-auth.json +0 -0
  236. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/identitystore.json +0 -0
  237. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/imagebuilder.json +0 -0
  238. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/importexport.json +0 -0
  239. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/inspector-scan.json +0 -0
  240. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/inspector.json +0 -0
  241. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/inspector2.json +0 -0
  242. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/internetmonitor.json +0 -0
  243. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/invoicing.json +0 -0
  244. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iot-device-tester.json +0 -0
  245. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iot.json +0 -0
  246. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotanalytics.json +0 -0
  247. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotdeviceadvisor.json +0 -0
  248. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotevents.json +0 -0
  249. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotfleethub.json +0 -0
  250. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotfleetwise.json +0 -0
  251. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotjobsdata.json +0 -0
  252. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotmanagedintegrations.json +0 -0
  253. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotsitewise.json +0 -0
  254. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iottwinmaker.json +0 -0
  255. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iotwireless.json +0 -0
  256. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iq-permission.json +0 -0
  257. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/iq.json +0 -0
  258. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ivs.json +0 -0
  259. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ivschat.json +0 -0
  260. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kafka-cluster.json +0 -0
  261. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kafka.json +0 -0
  262. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kafkaconnect.json +0 -0
  263. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kendra-ranking.json +0 -0
  264. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kendra.json +0 -0
  265. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kinesis.json +0 -0
  266. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kinesisanalytics.json +0 -0
  267. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kinesisvideo.json +0 -0
  268. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/kms.json +0 -0
  269. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lakeformation.json +0 -0
  270. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lambda.json +0 -0
  271. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/launchwizard.json +0 -0
  272. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lex.json +0 -0
  273. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/license-manager-linux-subscriptions.json +0 -0
  274. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/license-manager-user-subscriptions.json +0 -0
  275. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/license-manager.json +0 -0
  276. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lightsail.json +0 -0
  277. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/logs.json +0 -0
  278. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lookoutequipment.json +0 -0
  279. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lookoutmetrics.json +0 -0
  280. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/lookoutvision.json +0 -0
  281. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/m2.json +0 -0
  282. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/machinelearning.json +0 -0
  283. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/macie2.json +0 -0
  284. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/managedblockchain-query.json +0 -0
  285. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/managedblockchain.json +0 -0
  286. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mapcredits.json +0 -0
  287. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/marketplacecommerceanalytics.json +0 -0
  288. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mechanicalturk.json +0 -0
  289. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediaconnect.json +0 -0
  290. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediaconvert.json +0 -0
  291. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediaimport.json +0 -0
  292. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/medialive.json +0 -0
  293. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediapackage-vod.json +0 -0
  294. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediapackage.json +0 -0
  295. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediapackagev2.json +0 -0
  296. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediastore.json +0 -0
  297. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mediatailor.json +0 -0
  298. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/medical-imaging.json +0 -0
  299. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/memorydb.json +0 -0
  300. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mgh.json +0 -0
  301. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mgn.json +0 -0
  302. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/migrationhub-orchestrator.json +0 -0
  303. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/migrationhub-strategy.json +0 -0
  304. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mobileanalytics.json +0 -0
  305. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mobiletargeting.json +0 -0
  306. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/monitron.json +0 -0
  307. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mpa.json +0 -0
  308. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/mq.json +0 -0
  309. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/neptune-db.json +0 -0
  310. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/neptune-graph.json +0 -0
  311. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/network-firewall.json +0 -0
  312. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/network-security-director.json +0 -0
  313. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/networkflowmonitor.json +0 -0
  314. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/networkmanager-chat.json +0 -0
  315. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/networkmanager.json +0 -0
  316. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/networkmonitor.json +0 -0
  317. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/nimble.json +0 -0
  318. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/notifications-contacts.json +0 -0
  319. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/notifications.json +0 -0
  320. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/oam.json +0 -0
  321. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/observabilityadmin.json +0 -0
  322. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/odb.json +0 -0
  323. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/omics.json +0 -0
  324. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/one.json +0 -0
  325. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/opensearch.json +0 -0
  326. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/opsworks-cm.json +0 -0
  327. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/opsworks.json +0 -0
  328. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/organizations.json +0 -0
  329. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/osis.json +0 -0
  330. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/outposts.json +0 -0
  331. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/panorama.json +0 -0
  332. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/partnercentral-account-management.json +0 -0
  333. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/partnercentral.json +0 -0
  334. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/payment-cryptography.json +0 -0
  335. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/payments.json +0 -0
  336. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pca-connector-ad.json +0 -0
  337. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pca-connector-scep.json +0 -0
  338. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pcs.json +0 -0
  339. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/personalize.json +0 -0
  340. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pi.json +0 -0
  341. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pipes.json +0 -0
  342. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/polly.json +0 -0
  343. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/pricing.json +0 -0
  344. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/private-networks.json +0 -0
  345. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/profile.json +0 -0
  346. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/proton.json +0 -0
  347. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/purchase-orders.json +0 -0
  348. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/q.json +0 -0
  349. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/qapps.json +0 -0
  350. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/qbusiness.json +0 -0
  351. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/qdeveloper.json +0 -0
  352. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/qldb.json +0 -0
  353. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/quicksight.json +0 -0
  354. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ram.json +0 -0
  355. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rbin.json +0 -0
  356. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rds-data.json +0 -0
  357. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rds-db.json +0 -0
  358. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rds.json +0 -0
  359. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/redshift-data.json +0 -0
  360. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/redshift-serverless.json +0 -0
  361. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/redshift.json +0 -0
  362. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/refactor-spaces.json +0 -0
  363. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rekognition.json +0 -0
  364. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/repostspace.json +0 -0
  365. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/resiliencehub.json +0 -0
  366. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/resource-explorer-2.json +0 -0
  367. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/resource-explorer.json +0 -0
  368. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/resource-groups.json +0 -0
  369. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rhelkb.json +0 -0
  370. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/robomaker.json +0 -0
  371. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rolesanywhere.json +0 -0
  372. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53-recovery-cluster.json +0 -0
  373. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53-recovery-control-config.json +0 -0
  374. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53-recovery-readiness.json +0 -0
  375. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53.json +0 -0
  376. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53domains.json +0 -0
  377. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53profiles.json +0 -0
  378. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/route53resolver.json +0 -0
  379. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rtbfabric.json +0 -0
  380. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/rum.json +0 -0
  381. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3-object-lambda.json +0 -0
  382. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3-outposts.json +0 -0
  383. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3.json +0 -0
  384. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3express.json +0 -0
  385. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3tables.json +0 -0
  386. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/s3vectors.json +0 -0
  387. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sagemaker-data-science-assistant.json +0 -0
  388. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sagemaker-geospatial.json +0 -0
  389. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sagemaker-mlflow.json +0 -0
  390. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sagemaker.json +0 -0
  391. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/savingsplans.json +0 -0
  392. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/scheduler.json +0 -0
  393. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/schemas.json +0 -0
  394. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/scn.json +0 -0
  395. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sdb.json +0 -0
  396. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/secretsmanager.json +0 -0
  397. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/security-ir.json +0 -0
  398. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/securityhub.json +0 -0
  399. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/securitylake.json +0 -0
  400. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/serverlessrepo.json +0 -0
  401. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/servicecatalog.json +0 -0
  402. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/servicediscovery.json +0 -0
  403. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/serviceextract.json +0 -0
  404. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/servicequotas.json +0 -0
  405. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ses.json +0 -0
  406. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/shield.json +0 -0
  407. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/signer.json +0 -0
  408. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/signin.json +0 -0
  409. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/simspaceweaver.json +0 -0
  410. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sms-voice.json +0 -0
  411. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sms.json +0 -0
  412. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/snow-device-management.json +0 -0
  413. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/snowball.json +0 -0
  414. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sns.json +0 -0
  415. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/social-messaging.json +0 -0
  416. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sqlworkbench.json +0 -0
  417. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sqs.json +0 -0
  418. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm-contacts.json +0 -0
  419. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm-guiconnect.json +0 -0
  420. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm-incidents.json +0 -0
  421. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm-quicksetup.json +0 -0
  422. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm-sap.json +0 -0
  423. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssm.json +0 -0
  424. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ssmmessages.json +0 -0
  425. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sso-directory.json +0 -0
  426. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sso-oauth.json +0 -0
  427. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sso.json +0 -0
  428. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/states.json +0 -0
  429. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/storagegateway.json +0 -0
  430. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sts.json +0 -0
  431. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/support-console.json +0 -0
  432. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/support.json +0 -0
  433. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/supportapp.json +0 -0
  434. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/supportplans.json +0 -0
  435. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/sustainability.json +0 -0
  436. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/swf.json +0 -0
  437. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/synthetics.json +0 -0
  438. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/tag.json +0 -0
  439. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/tax.json +0 -0
  440. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/textract.json +0 -0
  441. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/thinclient.json +0 -0
  442. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/timestream-influxdb.json +0 -0
  443. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/timestream.json +0 -0
  444. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/tiros.json +0 -0
  445. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/tnb.json +0 -0
  446. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/transcribe.json +0 -0
  447. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/transfer.json +0 -0
  448. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/transform.json +0 -0
  449. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/translate.json +0 -0
  450. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/trustedadvisor.json +0 -0
  451. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/ts.json +0 -0
  452. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/user-subscriptions.json +0 -0
  453. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/uxc.json +0 -0
  454. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/vendor-insights.json +0 -0
  455. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/verified-access.json +0 -0
  456. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/verifiedpermissions.json +0 -0
  457. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/voiceid.json +0 -0
  458. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/vpc-lattice-svcs.json +0 -0
  459. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/vpc-lattice.json +0 -0
  460. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/vpce.json +0 -0
  461. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/waf-regional.json +0 -0
  462. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/waf.json +0 -0
  463. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/wafv2.json +0 -0
  464. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/wam.json +0 -0
  465. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/wellarchitected.json +0 -0
  466. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/wickr.json +0 -0
  467. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/wisdom.json +0 -0
  468. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workdocs.json +0 -0
  469. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/worklink.json +0 -0
  470. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workmail.json +0 -0
  471. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workmailmessageflow.json +0 -0
  472. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workspaces-instances.json +0 -0
  473. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workspaces-web.json +0 -0
  474. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/workspaces.json +0 -0
  475. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/aws_services/xray.json +0 -0
  476. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/CHECKS.md +0 -0
  477. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/README.md +0 -0
  478. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/ROADMAP.md +0 -0
  479. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/SDK.md +0 -0
  480. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/aws-api-configuration.md +0 -0
  481. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/aws-services-backup.md +0 -0
  482. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/check-reference.md +0 -0
  483. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/condition-requirements.md +0 -0
  484. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/configuration.md +0 -0
  485. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/custom-checks.md +0 -0
  486. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/development/PUBLISHING.md +0 -0
  487. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/github-actions-examples.md +0 -0
  488. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/github-actions-workflows.md +0 -0
  489. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/modular-configuration.md +0 -0
  490. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/privilege-escalation.md +0 -0
  491. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/python-library-usage.md +0 -0
  492. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/docs/smart-filtering.md +0 -0
  493. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/README.md +0 -0
  494. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/access-analyzer/example1.json +0 -0
  495. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/access-analyzer/example2.json +0 -0
  496. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/README.md +0 -0
  497. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/basic-config.yaml +0 -0
  498. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/ci-cd-config.yaml +0 -0
  499. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/development-config.yaml +0 -0
  500. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/minimal-validation-config.yaml +0 -0
  501. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/offline-validation.yaml +0 -0
  502. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/policy-level-condition-enforcement-config.yaml +0 -0
  503. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/principal-condition-enforcement.yaml +0 -0
  504. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/principal-validation-public-with-conditions.yaml +0 -0
  505. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/principal-validation-relaxed.yaml +0 -0
  506. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/principal-validation-strict.yaml +0 -0
  507. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/privilege-escalation-focus-config.yaml +0 -0
  508. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/resource-policy-config.yaml +0 -0
  509. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/security-audit-config.yaml +0 -0
  510. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/configs/strict-security.yaml +0 -0
  511. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/README.md +0 -0
  512. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
  513. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/cross_account_external_id_check.py +0 -0
  514. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/domain_restriction_check.py +0 -0
  515. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/encryption_required_check.py +0 -0
  516. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/mfa_required_check.py +0 -0
  517. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/region_restriction_check.py +0 -0
  518. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/tag_enforcement_check.py +0 -0
  519. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/custom_checks/time_based_access_check.py +0 -0
  520. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/README.md +0 -0
  521. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/access-analyzer-only.yaml +0 -0
  522. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/basic-validation.yaml +0 -0
  523. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/custom-policy-checks.yaml +0 -0
  524. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/multi-region-validation.yaml +0 -0
  525. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/resource-policy-validation.yaml +0 -0
  526. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/sarif-code-scanning.yaml +0 -0
  527. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/sequential-validation.yaml +0 -0
  528. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/two-step-validation.yaml +0 -0
  529. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/github-actions/validate-changed-files.yaml +0 -0
  530. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/README.md +0 -0
  531. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/allowed-wildcard-resource.json +0 -0
  532. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/api_gateway_management.json +0 -0
  533. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/athena_query_access.json +0 -0
  534. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/backup_vault_access.json +0 -0
  535. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/cloudformation_deployer.json +0 -0
  536. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/cloudwatch_monitoring.json +0 -0
  537. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/cognito_user_pool.json +0 -0
  538. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/dynamodb_table_access.json +0 -0
  539. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/ecs_task_execution.json +0 -0
  540. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/eventbridge_rules.json +0 -0
  541. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/glue_etl_jobs.json +0 -0
  542. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/insecure_policy.json +0 -0
  543. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/insecure_policy.yaml +0 -0
  544. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/invalid-resource-constraint.json +0 -0
  545. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +0 -0
  546. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +0 -0
  547. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/invalid_policy.json +0 -0
  548. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/kms_encryption_keys.json +0 -0
  549. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/lambda_developer.json +0 -0
  550. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/lambda_developer.yaml +0 -0
  551. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/maximum_size_policy.json +0 -0
  552. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/policy_missing_required_tags.json +0 -0
  553. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/policy_tag_enforcement_example.json +0 -0
  554. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/policy_with_wildcard_resources.json +0 -0
  555. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/privilege_escalation_scattered.json +0 -0
  556. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/rds_database_admin.json +0 -0
  557. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/s3_bucket_access.yaml +0 -0
  558. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/sample_policy.json +0 -0
  559. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/sample_policy.yaml +0 -0
  560. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/secrets_manager_access.json +0 -0
  561. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/sensitive-action-wildcards.json +0 -0
  562. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/sns_sqs_messaging.json +0 -0
  563. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/step_functions_workflow.json +0 -0
  564. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/test_none_of_valid.json +0 -0
  565. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/test_none_of_violations.json +0 -0
  566. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/valid-sid-formats.json +0 -0
  567. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/wildcard_examples.json +0 -0
  568. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/wildcard_examples.yaml +0 -0
  569. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/wrong-condition-key.json +0 -0
  570. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +0 -0
  571. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +0 -0
  572. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +0 -0
  573. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +0 -0
  574. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +0 -0
  575. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +0 -0
  576. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +0 -0
  577. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/README.md +0 -0
  578. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +0 -0
  579. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +0 -0
  580. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +0 -0
  581. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +0 -0
  582. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +0 -0
  583. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +0 -0
  584. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +0 -0
  585. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +0 -0
  586. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +0 -0
  587. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +0 -0
  588. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +0 -0
  589. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +0 -0
  590. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +0 -0
  591. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +0 -0
  592. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +0 -0
  593. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +0 -0
  594. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +0 -0
  595. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +0 -0
  596. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +0 -0
  597. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +0 -0
  598. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +0 -0
  599. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +0 -0
  600. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +0 -0
  601. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +0 -0
  602. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +0 -0
  603. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +0 -0
  604. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +0 -0
  605. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +0 -0
  606. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +0 -0
  607. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +0 -0
  608. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +0 -0
  609. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +0 -0
  610. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +0 -0
  611. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +0 -0
  612. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +0 -0
  613. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/service-control-policies/require-mfa.json +0 -0
  614. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/service-control-policies/restrict-regions.json +0 -0
  615. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/README.md +0 -0
  616. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/dynamodb-wrong-resources.json +0 -0
  617. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/ec2-wrong-resources.json +0 -0
  618. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/iam-wrong-resources.json +0 -0
  619. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/lambda-wrong-resources.json +0 -0
  620. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/s3-wrong-resources.json +0 -0
  621. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/iam-test-policies/wrong_actions_mismatch/sqs-sns-wrong-resources.json +0 -0
  622. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/README.md +0 -0
  623. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example1_basic_usage.py +0 -0
  624. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example1_basic_usage_new.py +0 -0
  625. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example2_config_file.py +0 -0
  626. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example2_context_manager.py +0 -0
  627. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example3_policy_manipulation.py +0 -0
  628. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example3_programmatic_config.py +0 -0
  629. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/example4_custom_condition_requirements.py +0 -0
  630. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/policies/my-policy.json +0 -0
  631. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/policies/policy1.json +0 -0
  632. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/policies/policy2.json +0 -0
  633. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/examples/library-usage/quick_reference.py +0 -0
  634. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/__init__.py +0 -0
  635. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/__main__.py +0 -0
  636. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/__init__.py +0 -0
  637. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/action_validation.py +0 -0
  638. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/condition_key_validation.py +0 -0
  639. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/condition_type_mismatch.py +0 -0
  640. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/mfa_condition_check.py +0 -0
  641. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/set_operator_validation.py +0 -0
  642. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/sid_uniqueness.py +0 -0
  643. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/utils/__init__.py +0 -0
  644. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/utils/policy_level_checks.py +0 -0
  645. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/utils/sensitive_action_matcher.py +0 -0
  646. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/checks/utils/wildcard_expansion.py +0 -0
  647. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/__init__.py +0 -0
  648. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/base.py +0 -0
  649. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/cache.py +0 -0
  650. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/download_services.py +0 -0
  651. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/commands/post_to_pr.py +0 -0
  652. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/__init__.py +0 -0
  653. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/check_registry.py +0 -0
  654. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/cli.py +0 -0
  655. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/condition_validators.py +0 -0
  656. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/__init__.py +0 -0
  657. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/aws_api.py +0 -0
  658. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/aws_global_conditions.py +0 -0
  659. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/category_suggestions.py +0 -0
  660. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/condition_requirements.py +0 -0
  661. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/defaults.py +0 -0
  662. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/principal_requirements.py +0 -0
  663. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/sensitive_actions.py +0 -0
  664. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/service_principals.py +0 -0
  665. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/config/wildcards.py +0 -0
  666. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/__init__.py +0 -0
  667. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/base.py +0 -0
  668. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/console.py +0 -0
  669. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/csv.py +0 -0
  670. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/enhanced.py +0 -0
  671. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/html.py +0 -0
  672. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/json.py +0 -0
  673. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/markdown.py +0 -0
  674. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/formatters/sarif.py +0 -0
  675. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/policy_checks.py +0 -0
  676. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/core/policy_loader.py +0 -0
  677. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/integrations/__init__.py +0 -0
  678. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/integrations/ms_teams.py +0 -0
  679. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/__init__.py +0 -0
  680. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/context.py +0 -0
  681. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/exceptions.py +0 -0
  682. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/helpers.py +0 -0
  683. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/policy_utils.py +0 -0
  684. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/sdk/shortcuts.py +0 -0
  685. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/utils/__init__.py +0 -0
  686. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/utils/cache.py +0 -0
  687. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/iam_validator/utils/regex.py +0 -0
  688. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/scripts/download_aws_services.py +0 -0
  689. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/scripts/sync_defaults_from_yaml.py +0 -0
  690. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/README.md +0 -0
  691. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/__init__.py +0 -0
  692. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_action_condition_enforcement.py +0 -0
  693. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_action_condition_enforcement_policy_level.py +0 -0
  694. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_action_validation_check.py +0 -0
  695. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_aws_api_config.py +0 -0
  696. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_aws_fetcher_wildcards.py +0 -0
  697. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_aws_global_conditions.py +0 -0
  698. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_check_registry.py +0 -0
  699. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_condition_key_validation_check.py +0 -0
  700. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_condition_type_mismatch.py +0 -0
  701. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_config_loader.py +0 -0
  702. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_custom_policy_checks.py +0 -0
  703. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_full_wildcard_check.py +0 -0
  704. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_mfa_condition_check.py +0 -0
  705. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_models.py +0 -0
  706. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_policy_loader.py +0 -0
  707. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_policy_size_check.py +0 -0
  708. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_policy_type_validation.py +0 -0
  709. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_principal_validation_check.py +0 -0
  710. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_regex_utils.py +0 -0
  711. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_resource_validation_check.py +0 -0
  712. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_sensitive_action_wildcard_expansion.py +0 -0
  713. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_service_wildcard_check.py +0 -0
  714. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_set_operator_validation.py +0 -0
  715. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_sid_uniqueness_check.py +0 -0
  716. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_wildcard_action_check.py +0 -0
  717. {iam_policy_validator-1.6.0 → iam_policy_validator-1.7.0}/tests/test_wildcard_resource_check.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iam-policy-validator
3
- Version: 1.6.0
3
+ Version: 1.7.0
4
4
  Summary: Validate AWS IAM policies for correctness and security using AWS Service Reference API
5
5
  Project-URL: Homepage, https://github.com/boogy/iam-policy-validator
6
6
  Project-URL: Documentation, https://github.com/boogy/iam-policy-validator/tree/main/docs
@@ -212,6 +212,12 @@ jobs:
212
212
  - ✅ Simple, declarative configuration
213
213
  - ✅ Perfect for CI/CD workflows
214
214
 
215
+ **Note:** The action uses the automatic `github.token` by default. If you need to use a custom token (e.g., for cross-repo comments or fine-grained permissions), add:
216
+ ```yaml
217
+ with:
218
+ github-token: ${{ secrets.MY_CUSTOM_TOKEN }}
219
+ ```
220
+
215
221
  #### With AWS Access Analyzer (Standalone Action)
216
222
 
217
223
  Use AWS's official policy validation service:
@@ -476,11 +482,12 @@ See [examples/configs/full-reference-config.yaml](examples/configs/full-referenc
476
482
  | `recursive` | Recursively search directories for policy files | No | `true` |
477
483
 
478
484
  #### GitHub Integration
479
- | Input | Description | Required | Default |
480
- | ---------------- | --------------------------------------------------------- | -------- | ------- |
481
- | `post-comment` | Post validation summary as PR conversation comment | No | `true` |
482
- | `create-review` | Create line-specific review comments on PR files | No | `true` |
483
- | `github-summary` | Write summary to GitHub Actions job summary (Actions tab) | No | `false` |
485
+ | Input | Description | Required | Default |
486
+ | ---------------- | --------------------------------------------------------- | -------- | -------------- |
487
+ | `github-token` | GitHub token for posting comments and reviews | No | `github.token` |
488
+ | `post-comment` | Post validation summary as PR conversation comment | No | `true` |
489
+ | `create-review` | Create line-specific review comments on PR files | No | `true` |
490
+ | `github-summary` | Write summary to GitHub Actions job summary (Actions tab) | No | `false` |
484
491
 
485
492
  #### Output Options
486
493
  | Input | Description | Required | Default |
@@ -170,6 +170,12 @@ jobs:
170
170
  - ✅ Simple, declarative configuration
171
171
  - ✅ Perfect for CI/CD workflows
172
172
 
173
+ **Note:** The action uses the automatic `github.token` by default. If you need to use a custom token (e.g., for cross-repo comments or fine-grained permissions), add:
174
+ ```yaml
175
+ with:
176
+ github-token: ${{ secrets.MY_CUSTOM_TOKEN }}
177
+ ```
178
+
173
179
  #### With AWS Access Analyzer (Standalone Action)
174
180
 
175
181
  Use AWS's official policy validation service:
@@ -434,11 +440,12 @@ See [examples/configs/full-reference-config.yaml](examples/configs/full-referenc
434
440
  | `recursive` | Recursively search directories for policy files | No | `true` |
435
441
 
436
442
  #### GitHub Integration
437
- | Input | Description | Required | Default |
438
- | ---------------- | --------------------------------------------------------- | -------- | ------- |
439
- | `post-comment` | Post validation summary as PR conversation comment | No | `true` |
440
- | `create-review` | Create line-specific review comments on PR files | No | `true` |
441
- | `github-summary` | Write summary to GitHub Actions job summary (Actions tab) | No | `false` |
443
+ | Input | Description | Required | Default |
444
+ | ---------------- | --------------------------------------------------------- | -------- | -------------- |
445
+ | `github-token` | GitHub token for posting comments and reviews | No | `github.token` |
446
+ | `post-comment` | Post validation summary as PR conversation comment | No | `true` |
447
+ | `create-review` | Create line-specific review comments on PR files | No | `true` |
448
+ | `github-summary` | Write summary to GitHub Actions job summary (Actions tab) | No | `false` |
442
449
 
443
450
  #### Output Options
444
451
  | Input | Description | Required | Default |
@@ -108,6 +108,11 @@ inputs:
108
108
  required: false
109
109
  default: "warning"
110
110
 
111
+ github-token:
112
+ description: "GitHub token for posting comments and reviews. Defaults to automatic github.token"
113
+ required: false
114
+ default: ${{ github.token }}
115
+
111
116
  outputs:
112
117
  validation-result:
113
118
  description: "Validation result (success or failure)"
@@ -141,20 +146,39 @@ runs:
141
146
  uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.0.0
142
147
  with:
143
148
  enable-cache: true
144
-
145
- - name: Cache dependencies
146
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.2.0
147
- with:
148
- path: ${{ github.action_path }}/.venv
149
- key: ${{ runner.os }}-uv-${{ hashFiles(format('{0}/pyproject.toml', github.action_path)) }}
150
- restore-keys: |
151
- ${{ runner.os }}-uv-
149
+ cache-suffix: ci # Prune cache in CI to reduce bloat
152
150
 
153
151
  - name: Sync dependencies
154
152
  working-directory: ${{ github.action_path }}
155
153
  run: uv sync --frozen
156
154
  shell: bash
157
155
 
156
+ - name: Get current week for cache key
157
+ id: week
158
+ run: echo "week=$(date +%Y-W%V)" >> $GITHUB_OUTPUT
159
+ shell: bash
160
+
161
+ - name: Restore AWS service definitions cache
162
+ id: cache-aws-services
163
+ uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
164
+ with:
165
+ path: ~/.cache/iam-validator/aws_services
166
+ # Cache key refreshes weekly to get latest AWS service updates
167
+ key: aws-services-${{ runner.os }}-${{ steps.week.outputs.week }}
168
+ restore-keys: |
169
+ aws-services-${{ runner.os }}-
170
+
171
+ - name: Check cache status
172
+ run: |
173
+ if [ -d ~/.cache/iam-validator/aws_services ]; then
174
+ echo "✅ Cache directory exists"
175
+ echo "📁 Cache files: $(ls -1 ~/.cache/iam-validator/aws_services | wc -l)"
176
+ ls -lh ~/.cache/iam-validator/aws_services | head -5
177
+ else
178
+ echo "❌ Cache directory does not exist - will fetch from API"
179
+ fi
180
+ shell: bash
181
+
158
182
  - name: Pre-validate IAM Policy Files
159
183
  id: prevalidate
160
184
  run: |
@@ -257,9 +281,11 @@ runs:
257
281
  if: steps.prevalidate.outputs.iam-policy-count > 0
258
282
  working-directory: ${{ github.action_path }}
259
283
  env:
260
- GITHUB_TOKEN: ${{ github.token }}
284
+ GITHUB_TOKEN: ${{ inputs.github-token }}
261
285
  GITHUB_REPOSITORY: ${{ github.repository }}
262
- GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
286
+ GITHUB_WORKSPACE: ${{ github.workspace }}
287
+ # Try multiple ways to get PR number for different event types
288
+ GITHUB_PR_NUMBER: ${{ github.event.pull_request.number || github.event.number }}
263
289
  run: |
264
290
  set -e
265
291
 
@@ -412,6 +438,13 @@ runs:
412
438
  exit ${EXIT_CODE:-0}
413
439
  shell: bash
414
440
 
441
+ - name: Save AWS service definitions cache
442
+ if: always()
443
+ uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
444
+ with:
445
+ path: ~/.cache/iam-validator/aws_services
446
+ key: aws-services-${{ runner.os }}-${{ steps.week.outputs.week }}
447
+
415
448
  - name: Upload validation report
416
449
  if: always() && inputs.output-file != ''
417
450
  uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
@@ -134,6 +134,34 @@ settings:
134
134
  # - medium # Uncomment to fail on medium severity
135
135
  # - warning # Uncomment to fail on IAM validity warnings
136
136
 
137
+ # Template Variable Support (applies to all ARN validation checks)
138
+ #
139
+ # When enabled, the validator is POSITION-AWARE and supports ANY variable name
140
+ # in template variables, not just predefined ones. Variables are normalized based
141
+ # on their position in the ARN structure:
142
+ #
143
+ # Supported IaC Tools:
144
+ # - Terraform/Terragrunt: ${var.name}, ${local.value}, ${data.source.attr}
145
+ # - CloudFormation: ${AWS::AccountId}, ${AWS::Region}, ${MyParameter}
146
+ # - Pulumi: ${myVariable}, ${myStack.output}
147
+ # - AWS Policy Variables: ${aws:username}, ${aws:PrincipalTag/tag-key}
148
+ #
149
+ # Position-aware normalization examples:
150
+ # Partition: ${var.partition} → aws
151
+ # Service: ${var.service} → s3
152
+ # Region: ${var.region} → us-east-1
153
+ # Account ID: ${var.account_id} → 123456789012
154
+ # Resource: ${var.bucket_name} → placeholder
155
+ #
156
+ # Example ARNs that work:
157
+ # arn:aws:iam::${var.account}:role/MyRole ✓
158
+ # arn:aws:iam::${AWS::AccountId}:role/MyRole ✓
159
+ # arn:${local.partition}:s3:::${data.bucket.name}/* ✓
160
+ # arn:aws:s3:::${MY_CUSTOM_VAR}/* ✓
161
+ #
162
+ # Set to false to strictly validate ARN format without template support (default: true)
163
+ allow_template_variables: true
164
+
137
165
  # ============================================================================
138
166
  # BUILT-IN CHECKS - AWS Validation (17 checks total)
139
167
  # ============================================================================
@@ -259,9 +287,13 @@ resource_validation:
259
287
  enabled: true
260
288
  severity: error
261
289
  description: "Validates ARN format for resources"
262
- # Regex pattern for ARN validation
263
- # Pattern allows wildcards (*) in region and account fields
264
- arn_pattern: "^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f):[a-z0-9\\-]+:[a-z0-9\\-*]*:[0-9*]*:.+$"
290
+
291
+ # Regex pattern for ARN validation (optional - override default if needed)
292
+ # Default pattern defined in: iam_validator/core/constants.py (DEFAULT_ARN_VALIDATION_PATTERN)
293
+ # Pattern allows wildcards (*) in region and account fields for flexibility
294
+ # Only override if you need stricter or more lenient validation
295
+ # arn_pattern: "^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f):[a-z0-9\\-]+:[a-z0-9\\-*]*:[0-9*]*:.+$"
296
+
265
297
  # ignore_patterns available - see top of file for usage examples
266
298
 
267
299
  # ============================================================================
@@ -423,7 +455,7 @@ policy_type_validation:
423
455
  # - s3:ListBucket with object ARN (needs bucket ARN without /)
424
456
  action_resource_matching:
425
457
  enabled: true
426
- severity: error # IAM validity error - these policies won't work as expected
458
+ severity: error # IAM validity error - these policies won't work as expected
427
459
  description: "Validates that resources match required types for actions (including account-level actions)"
428
460
 
429
461
  # Example ignore patterns (commented out by default)
@@ -3,5 +3,5 @@
3
3
  This file is the single source of truth for the package version.
4
4
  """
5
5
 
6
- __version__ = "1.6.0"
6
+ __version__ = "1.7.0"
7
7
  __version_info__ = tuple(int(part) for part in __version__.split("."))
@@ -794,7 +794,7 @@ class ActionConditionEnforcementCheck(PolicyCheck):
794
794
 
795
795
  # Build example based on condition key type
796
796
  if example:
797
- parts.append(f"Example:\n{example}")
797
+ parts.append(f"Example:\n```json\n{example}\n```")
798
798
  else:
799
799
  # Auto-generate example
800
800
  example_lines = ['Add to "Condition" block:', f' "{operator}": {{']
@@ -27,6 +27,8 @@ from iam_validator.core.models import Statement, ValidationIssue
27
27
  from iam_validator.sdk.arn_matching import (
28
28
  arn_strictly_valid,
29
29
  convert_aws_pattern_to_wildcard,
30
+ has_template_variables,
31
+ normalize_template_variables,
30
32
  )
31
33
 
32
34
 
@@ -71,6 +73,13 @@ class ActionResourceMatchingCheck(PolicyCheck):
71
73
  """
72
74
  issues = []
73
75
 
76
+ # Check if template variable support is enabled (default: true)
77
+ # Try global settings first, then check-specific config
78
+ allow_template_variables = config.root_config.get("settings", {}).get(
79
+ "allow_template_variables",
80
+ config.config.get("allow_template_variables", True),
81
+ )
82
+
74
83
  # Get actions and resources
75
84
  actions = statement.get_actions()
76
85
  resources = statement.get_resources()
@@ -157,7 +166,13 @@ class ActionResourceMatchingCheck(PolicyCheck):
157
166
 
158
167
  # Check if any policy resource matches this ARN pattern
159
168
  for resource in resources:
160
- if arn_strictly_valid(wildcard_pattern, resource, resource_name):
169
+ # Normalize template variables (Terraform/CloudFormation) before matching
170
+ # This allows policies with ${aws_account_id}, ${AWS::AccountId}, etc.
171
+ validation_resource = resource
172
+ if allow_template_variables and has_template_variables(resource):
173
+ validation_resource = normalize_template_variables(resource)
174
+
175
+ if arn_strictly_valid(wildcard_pattern, validation_resource, resource_name):
161
176
  match_found = True
162
177
  break
163
178
 
@@ -185,8 +200,8 @@ class ActionResourceMatchingCheck(PolicyCheck):
185
200
  issues.append(
186
201
  self._create_mismatch_issue(
187
202
  action=action,
188
- required_format=required_formats[0]["format"] if required_formats else "",
189
- required_type=required_formats[0]["type"] if required_formats else "",
203
+ required_format=(required_formats[0]["format"] if required_formats else ""),
204
+ required_type=(required_formats[0]["type"] if required_formats else ""),
190
205
  provided_resources=resources,
191
206
  statement_idx=statement_idx,
192
207
  statement_sid=statement_sid,
@@ -236,9 +251,11 @@ class ActionResourceMatchingCheck(PolicyCheck):
236
251
  issue_type="resource_mismatch",
237
252
  message=message,
238
253
  action=action,
239
- resource=", ".join(provided_resources)
240
- if len(provided_resources) <= 3
241
- else f"{provided_resources[0]}...",
254
+ resource=(
255
+ ", ".join(provided_resources)
256
+ if len(provided_resources) <= 3
257
+ else f"{provided_resources[0]}..."
258
+ ),
242
259
  suggestion=suggestion,
243
260
  line_number=line_number,
244
261
  )
@@ -50,7 +50,11 @@ class FullWildcardCheck(PolicyCheck):
50
50
  example = config.config.get("example", "")
51
51
 
52
52
  # Combine suggestion + example
53
- suggestion = f"{suggestion_text}\nExample:\n{example}" if example else suggestion_text
53
+ suggestion = (
54
+ f"{suggestion_text}\nExample:\n```json\n{example}\n```"
55
+ if example
56
+ else suggestion_text
57
+ )
54
58
 
55
59
  issues.append(
56
60
  ValidationIssue(
@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING
16
16
 
17
17
  from iam_validator.core.aws_fetcher import AWSServiceFetcher
18
18
  from iam_validator.core.check_registry import CheckConfig, PolicyCheck
19
+ from iam_validator.core.constants import AWS_POLICY_SIZE_LIMITS
19
20
  from iam_validator.core.models import Statement, ValidationIssue
20
21
 
21
22
  if TYPE_CHECKING:
@@ -25,13 +26,8 @@ if TYPE_CHECKING:
25
26
  class PolicySizeCheck(PolicyCheck):
26
27
  """Validates that IAM policies don't exceed AWS size limits."""
27
28
 
28
- # AWS IAM policy size limits (in characters, excluding whitespace)
29
- DEFAULT_LIMITS = {
30
- "managed": 6144,
31
- "inline_user": 2048,
32
- "inline_group": 5120,
33
- "inline_role": 10240,
34
- }
29
+ # AWS IAM policy size limits (loaded from constants module)
30
+ DEFAULT_LIMITS = AWS_POLICY_SIZE_LIMITS
35
31
 
36
32
  @property
37
33
  def check_id(self) -> str:
@@ -71,6 +71,7 @@ async def execute_policy(
71
71
  line_number=statement.line_number,
72
72
  suggestion="Add a Principal element to specify who can access this resource.\n"
73
73
  "Example:\n"
74
+ "```json\n"
74
75
  "{\n"
75
76
  ' "Effect": "Allow",\n'
76
77
  ' "Principal": {\n'
@@ -78,7 +79,8 @@ async def execute_policy(
78
79
  " },\n"
79
80
  ' "Action": "s3:GetObject",\n'
80
81
  ' "Resource": "arn:aws:s3:::bucket/*"\n'
81
- "}",
82
+ "}\n"
83
+ "```",
82
84
  )
83
85
  )
84
86
 
@@ -101,11 +103,13 @@ async def execute_policy(
101
103
  line_number=statement.line_number,
102
104
  suggestion="Remove the Principal element from this identity policy statement.\n"
103
105
  "Example:\n"
106
+ "```json\n"
104
107
  "{\n"
105
108
  ' "Effect": "Allow",\n'
106
109
  ' "Action": "s3:GetObject",\n'
107
110
  ' "Resource": "arn:aws:s3:::bucket/*"\n'
108
- "}",
111
+ "}\n"
112
+ "```",
109
113
  )
110
114
  )
111
115
 
@@ -127,6 +131,7 @@ async def execute_policy(
127
131
  line_number=statement.line_number,
128
132
  suggestion="Remove the Principal element from this SCP statement.\n"
129
133
  "Example:\n"
134
+ "```json\n"
130
135
  "{\n"
131
136
  ' "Effect": "Deny",\n'
132
137
  ' "Action": "ec2:*",\n'
@@ -136,7 +141,8 @@ async def execute_policy(
136
141
  ' "ec2:Region": ["us-east-1", "us-west-2"]\n'
137
142
  " }\n"
138
143
  " }\n"
139
- "}",
144
+ "}\n"
145
+ "```",
140
146
  )
141
147
  )
142
148
 
@@ -668,7 +668,7 @@ class PrincipalValidationCheck(PolicyCheck):
668
668
 
669
669
  # Build example based on condition key type
670
670
  if example:
671
- parts.append(f"Example:\n{example}")
671
+ parts.append(f"Example:\n```json\n{example}\n```")
672
672
  else:
673
673
  # Auto-generate example
674
674
  example_lines = ['Add to "Condition" block:', f' "{operator}": {{']
@@ -0,0 +1,138 @@
1
+ """Resource validation check - validates ARN formats."""
2
+
3
+ import re
4
+
5
+ from iam_validator.core.aws_fetcher import AWSServiceFetcher
6
+ from iam_validator.core.check_registry import CheckConfig, PolicyCheck
7
+ from iam_validator.core.constants import DEFAULT_ARN_VALIDATION_PATTERN, MAX_ARN_LENGTH
8
+ from iam_validator.core.models import Statement, ValidationIssue
9
+ from iam_validator.sdk.arn_matching import (
10
+ has_template_variables,
11
+ normalize_template_variables,
12
+ )
13
+
14
+
15
+ class ResourceValidationCheck(PolicyCheck):
16
+ """Validates ARN format for resources."""
17
+
18
+ @property
19
+ def check_id(self) -> str:
20
+ return "resource_validation"
21
+
22
+ @property
23
+ def description(self) -> str:
24
+ return "Validates ARN format for resources"
25
+
26
+ @property
27
+ def default_severity(self) -> str:
28
+ return "error"
29
+
30
+ async def execute(
31
+ self,
32
+ statement: Statement,
33
+ statement_idx: int,
34
+ fetcher: AWSServiceFetcher,
35
+ config: CheckConfig,
36
+ ) -> list[ValidationIssue]:
37
+ """Execute resource ARN validation on a statement."""
38
+ issues = []
39
+
40
+ # Get resources from statement
41
+ resources = statement.get_resources()
42
+ statement_sid = statement.sid
43
+ line_number = statement.line_number
44
+
45
+ # Get ARN pattern from config, or use default
46
+ # Pattern allows wildcards (*) in region and account fields
47
+ arn_pattern_str = config.config.get("arn_pattern", DEFAULT_ARN_VALIDATION_PATTERN)
48
+
49
+ # Compile pattern
50
+ try:
51
+ arn_pattern = re.compile(arn_pattern_str)
52
+ except re.error:
53
+ # Fallback to default pattern if custom pattern is invalid
54
+ arn_pattern = re.compile(DEFAULT_ARN_VALIDATION_PATTERN)
55
+
56
+ # Check if template variable support is enabled (default: true)
57
+ # Try global settings first, then check-specific config
58
+ allow_template_variables = config.root_config.get("settings", {}).get(
59
+ "allow_template_variables",
60
+ config.config.get("allow_template_variables", True),
61
+ )
62
+
63
+ for resource in resources:
64
+ # Skip wildcard resources (handled by security checks)
65
+ if resource == "*":
66
+ continue
67
+
68
+ # Validate ARN length to prevent ReDoS attacks
69
+ if len(resource) > MAX_ARN_LENGTH:
70
+ issues.append(
71
+ ValidationIssue(
72
+ severity=self.get_severity(config),
73
+ statement_sid=statement_sid,
74
+ statement_index=statement_idx,
75
+ issue_type="invalid_resource",
76
+ message=f"Resource ARN exceeds maximum length ({len(resource)} > {MAX_ARN_LENGTH}): {resource[:100]}...",
77
+ resource=resource[:100] + "...",
78
+ suggestion="ARN is too long and may be invalid",
79
+ line_number=line_number,
80
+ )
81
+ )
82
+ continue
83
+
84
+ # Check if resource contains template variables
85
+ has_templates = has_template_variables(resource)
86
+
87
+ # If template variables are found and allowed, normalize them for validation
88
+ validation_resource = resource
89
+ if has_templates and allow_template_variables:
90
+ validation_resource = normalize_template_variables(resource)
91
+
92
+ # Validate ARN format
93
+ try:
94
+ if not arn_pattern.match(validation_resource):
95
+ # If original resource had templates and normalization didn't help,
96
+ # provide a more informative message
97
+ if has_templates and allow_template_variables:
98
+ issues.append(
99
+ ValidationIssue(
100
+ severity=self.get_severity(config),
101
+ statement_sid=statement_sid,
102
+ statement_index=statement_idx,
103
+ issue_type="invalid_resource",
104
+ message=f"Invalid ARN format even after normalizing template variables: {resource}",
105
+ resource=resource,
106
+ suggestion="ARN should follow format: arn:partition:service:region:account-id:resource (template variables like ${aws_account_id} are supported)",
107
+ line_number=line_number,
108
+ )
109
+ )
110
+ else:
111
+ issues.append(
112
+ ValidationIssue(
113
+ severity=self.get_severity(config),
114
+ statement_sid=statement_sid,
115
+ statement_index=statement_idx,
116
+ issue_type="invalid_resource",
117
+ message=f"Invalid ARN format: {resource}",
118
+ resource=resource,
119
+ suggestion="ARN should follow format: arn:partition:service:region:account-id:resource",
120
+ line_number=line_number,
121
+ )
122
+ )
123
+ except Exception:
124
+ # If regex matching fails (shouldn't happen with length check), treat as invalid
125
+ issues.append(
126
+ ValidationIssue(
127
+ severity=self.get_severity(config),
128
+ statement_sid=statement_sid,
129
+ statement_index=statement_idx,
130
+ issue_type="invalid_resource",
131
+ message=f"Could not validate ARN format: {resource}",
132
+ resource=resource,
133
+ suggestion="ARN validation failed - may contain unexpected characters",
134
+ line_number=line_number,
135
+ )
136
+ )
137
+
138
+ return issues
@@ -143,7 +143,11 @@ class SensitiveActionCheck(PolicyCheck):
143
143
  )
144
144
 
145
145
  # Combine suggestion + example
146
- suggestion = f"{suggestion_text}\n\nExample:\n{example}" if example else suggestion_text
146
+ suggestion = (
147
+ f"{suggestion_text}\n\nExample:\n```json\n{example}\n```"
148
+ if example
149
+ else suggestion_text
150
+ )
147
151
 
148
152
  # Determine severity based on the highest severity action in the list
149
153
  # If single action, use its category severity
@@ -69,7 +69,9 @@ class ServiceWildcardCheck(PolicyCheck):
69
69
 
70
70
  # Combine suggestion + example
71
71
  suggestion = (
72
- f"{suggestion_text}\nExample:\n{example}" if example else suggestion_text
72
+ f"{suggestion_text}\nExample:\n```json\n{example}\n```"
73
+ if example
74
+ else suggestion_text
73
75
  )
74
76
 
75
77
  issues.append(
@@ -40,12 +40,17 @@ class WildcardActionCheck(PolicyCheck):
40
40
  if "*" in actions:
41
41
  message = config.config.get("message", "Statement allows all actions (*)")
42
42
  suggestion_text = config.config.get(
43
- "suggestion", "Replace wildcard with specific actions needed for your use case"
43
+ "suggestion",
44
+ "Replace wildcard with specific actions needed for your use case",
44
45
  )
45
46
  example = config.config.get("example", "")
46
47
 
47
48
  # Combine suggestion + example
48
- suggestion = f"{suggestion_text}\nExample:\n{example}" if example else suggestion_text
49
+ suggestion = (
50
+ f"{suggestion_text}\nExample:\n```json\n{example}\n```"
51
+ if example
52
+ else suggestion_text
53
+ )
49
54
 
50
55
  issues.append(
51
56
  ValidationIssue(
@@ -69,7 +69,11 @@ class WildcardResourceCheck(PolicyCheck):
69
69
  example = config.config.get("example", "")
70
70
 
71
71
  # Combine suggestion + example
72
- suggestion = f"{suggestion_text}\nExample:\n{example}" if example else suggestion_text
72
+ suggestion = (
73
+ f"{suggestion_text}\nExample:\n```json\n{example}\n```"
74
+ if example
75
+ else suggestion_text
76
+ )
73
77
 
74
78
  issues.append(
75
79
  ValidationIssue(