iam-policy-validator 1.9.0__tar.gz → 1.10.1__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 (755) hide show
  1. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/PKG-INFO +1 -1
  2. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/full-reference-config.yaml +39 -0
  3. iam_policy_validator-1.10.1/examples/configs/github-labels-config.yaml +116 -0
  4. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/__version__.py +1 -1
  5. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/validate.py +14 -4
  6. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/validators.py +5 -2
  7. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/defaults.py +10 -0
  8. iam_policy_validator-1.10.1/iam_validator/core/label_manager.py +197 -0
  9. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/models.py +6 -6
  10. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/pr_commenter.py +34 -7
  11. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/policy_utils.py +34 -8
  12. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/pyproject.toml +1 -1
  13. iam_policy_validator-1.10.1/tests/test_label_manager.py +401 -0
  14. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/uv.lock +1 -1
  15. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/dependabot.yml +0 -0
  16. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/ci.yml +0 -0
  17. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/cleanup-prereleases.yml +0 -0
  18. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/codeql.yml +0 -0
  19. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/pre-release.yml +0 -0
  20. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/release.yml +0 -0
  21. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.github/workflows/scorecard.yml +0 -0
  22. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.gitignore +0 -0
  23. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/.python-version +0 -0
  24. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/CONTRIBUTING.md +0 -0
  25. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/DOCS.md +0 -0
  26. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/LICENSE +0 -0
  27. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/Makefile +0 -0
  28. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/README.md +0 -0
  29. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/SECURITY.md +0 -0
  30. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/action.yaml +0 -0
  31. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/_manifest.json +0 -0
  32. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/_services.json +0 -0
  33. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/a2c.json +0 -0
  34. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/a4b.json +0 -0
  35. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/access-analyzer.json +0 -0
  36. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/account.json +0 -0
  37. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/acm-pca.json +0 -0
  38. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/acm.json +0 -0
  39. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/action-recommendations.json +0 -0
  40. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/activate.json +0 -0
  41. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aiops.json +0 -0
  42. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/airflow.json +0 -0
  43. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/amplify.json +0 -0
  44. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/amplifybackend.json +0 -0
  45. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/amplifyuibuilder.json +0 -0
  46. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aoss.json +0 -0
  47. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/apigateway.json +0 -0
  48. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/app-integrations.json +0 -0
  49. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appconfig.json +0 -0
  50. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appfabric.json +0 -0
  51. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appflow.json +0 -0
  52. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/application-autoscaling.json +0 -0
  53. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/application-signals.json +0 -0
  54. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/application-transformation.json +0 -0
  55. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/applicationinsights.json +0 -0
  56. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appmesh-preview.json +0 -0
  57. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appmesh.json +0 -0
  58. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/apprunner.json +0 -0
  59. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appstream.json +0 -0
  60. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appstudio.json +0 -0
  61. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/appsync.json +0 -0
  62. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/apptest.json +0 -0
  63. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aps.json +0 -0
  64. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/arc-region-switch.json +0 -0
  65. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/arc-zonal-shift.json +0 -0
  66. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/arsenal.json +0 -0
  67. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/artifact.json +0 -0
  68. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/athena.json +0 -0
  69. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/auditmanager.json +0 -0
  70. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/autoscaling-plans.json +0 -0
  71. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/autoscaling.json +0 -0
  72. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aws-marketplace-management.json +0 -0
  73. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aws-marketplace.json +0 -0
  74. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/aws-portal.json +0 -0
  75. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/awsconnector.json +0 -0
  76. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/b2bi.json +0 -0
  77. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/backup-gateway.json +0 -0
  78. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/backup-search.json +0 -0
  79. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/backup-storage.json +0 -0
  80. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/backup.json +0 -0
  81. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/batch.json +0 -0
  82. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bcm-dashboards.json +0 -0
  83. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bcm-data-exports.json +0 -0
  84. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bcm-pricing-calculator.json +0 -0
  85. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bcm-recommended-actions.json +0 -0
  86. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bedrock-agentcore.json +0 -0
  87. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bedrock.json +0 -0
  88. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/billing.json +0 -0
  89. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/billingconductor.json +0 -0
  90. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/braket.json +0 -0
  91. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/budgets.json +0 -0
  92. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/bugbust.json +0 -0
  93. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cases.json +0 -0
  94. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cassandra.json +0 -0
  95. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ce.json +0 -0
  96. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/chatbot.json +0 -0
  97. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/chime.json +0 -0
  98. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cleanrooms-ml.json +0 -0
  99. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cleanrooms.json +0 -0
  100. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloud9.json +0 -0
  101. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/clouddirectory.json +0 -0
  102. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudformation.json +0 -0
  103. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudfront-keyvaluestore.json +0 -0
  104. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudfront.json +0 -0
  105. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudhsm.json +0 -0
  106. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudsearch.json +0 -0
  107. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudshell.json +0 -0
  108. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudtrail-data.json +0 -0
  109. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudtrail.json +0 -0
  110. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cloudwatch.json +0 -0
  111. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeartifact.json +0 -0
  112. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codebuild.json +0 -0
  113. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codecatalyst.json +0 -0
  114. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codecommit.json +0 -0
  115. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeconnections.json +0 -0
  116. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codedeploy-commands-secure.json +0 -0
  117. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codedeploy.json +0 -0
  118. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeguru-profiler.json +0 -0
  119. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeguru-reviewer.json +0 -0
  120. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeguru-security.json +0 -0
  121. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codeguru.json +0 -0
  122. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codepipeline.json +0 -0
  123. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codestar-connections.json +0 -0
  124. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codestar-notifications.json +0 -0
  125. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codestar.json +0 -0
  126. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/codewhisperer.json +0 -0
  127. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cognito-identity.json +0 -0
  128. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cognito-idp.json +0 -0
  129. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cognito-sync.json +0 -0
  130. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/comprehend.json +0 -0
  131. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/comprehendmedical.json +0 -0
  132. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/compute-optimizer.json +0 -0
  133. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/config.json +0 -0
  134. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/connect-campaigns.json +0 -0
  135. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/connect.json +0 -0
  136. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/consoleapp.json +0 -0
  137. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/consolidatedbilling.json +0 -0
  138. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/controlcatalog.json +0 -0
  139. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/controltower.json +0 -0
  140. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cost-optimization-hub.json +0 -0
  141. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/cur.json +0 -0
  142. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/customer-verification.json +0 -0
  143. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/databrew.json +0 -0
  144. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dataexchange.json +0 -0
  145. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/datapipeline.json +0 -0
  146. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/datasync.json +0 -0
  147. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/datazone.json +0 -0
  148. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dax.json +0 -0
  149. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dbqms.json +0 -0
  150. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/deadline.json +0 -0
  151. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/deepcomposer.json +0 -0
  152. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/deepracer.json +0 -0
  153. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/detective.json +0 -0
  154. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/devicefarm.json +0 -0
  155. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/devops-guru.json +0 -0
  156. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/directconnect.json +0 -0
  157. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/discovery.json +0 -0
  158. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dlm.json +0 -0
  159. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dms.json +0 -0
  160. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/docdb-elastic.json +0 -0
  161. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/drs.json +0 -0
  162. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ds-data.json +0 -0
  163. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ds.json +0 -0
  164. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dsql.json +0 -0
  165. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/dynamodb.json +0 -0
  166. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ebs.json +0 -0
  167. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ec2-instance-connect.json +0 -0
  168. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ec2.json +0 -0
  169. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ec2messages.json +0 -0
  170. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ecr-public.json +0 -0
  171. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ecr.json +0 -0
  172. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ecs.json +0 -0
  173. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/eks-auth.json +0 -0
  174. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/eks.json +0 -0
  175. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elasticache.json +0 -0
  176. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elasticbeanstalk.json +0 -0
  177. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elasticfilesystem.json +0 -0
  178. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elasticloadbalancing.json +0 -0
  179. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elasticmapreduce.json +0 -0
  180. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elastictranscoder.json +0 -0
  181. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elemental-activations.json +0 -0
  182. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elemental-appliances-software.json +0 -0
  183. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elemental-support-cases.json +0 -0
  184. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/elemental-support-content.json +0 -0
  185. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/emr-containers.json +0 -0
  186. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/emr-serverless.json +0 -0
  187. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/entityresolution.json +0 -0
  188. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/es.json +0 -0
  189. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/events.json +0 -0
  190. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/evidently.json +0 -0
  191. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/evs.json +0 -0
  192. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/execute-api.json +0 -0
  193. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/finspace-api.json +0 -0
  194. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/finspace.json +0 -0
  195. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/firehose.json +0 -0
  196. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/fis.json +0 -0
  197. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/fms.json +0 -0
  198. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/forecast.json +0 -0
  199. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/frauddetector.json +0 -0
  200. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/freertos.json +0 -0
  201. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/freetier.json +0 -0
  202. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/fsx.json +0 -0
  203. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/gamelift.json +0 -0
  204. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/gameliftstreams.json +0 -0
  205. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/geo-maps.json +0 -0
  206. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/geo-places.json +0 -0
  207. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/geo-routes.json +0 -0
  208. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/geo.json +0 -0
  209. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/glacier.json +0 -0
  210. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/globalaccelerator.json +0 -0
  211. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/glue.json +0 -0
  212. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/grafana.json +0 -0
  213. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/greengrass.json +0 -0
  214. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/groundstation.json +0 -0
  215. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/groundtruthlabeling.json +0 -0
  216. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/guardduty.json +0 -0
  217. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/health.json +0 -0
  218. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/healthlake.json +0 -0
  219. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/honeycode.json +0 -0
  220. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iam.json +0 -0
  221. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/identity-sync.json +0 -0
  222. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/identitystore-auth.json +0 -0
  223. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/identitystore.json +0 -0
  224. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/imagebuilder.json +0 -0
  225. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/importexport.json +0 -0
  226. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/inspector-scan.json +0 -0
  227. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/inspector.json +0 -0
  228. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/inspector2.json +0 -0
  229. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/internetmonitor.json +0 -0
  230. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/invoicing.json +0 -0
  231. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iot-device-tester.json +0 -0
  232. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iot.json +0 -0
  233. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotanalytics.json +0 -0
  234. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotdeviceadvisor.json +0 -0
  235. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotevents.json +0 -0
  236. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotfleethub.json +0 -0
  237. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotfleetwise.json +0 -0
  238. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotjobsdata.json +0 -0
  239. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotmanagedintegrations.json +0 -0
  240. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotsitewise.json +0 -0
  241. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iottwinmaker.json +0 -0
  242. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iotwireless.json +0 -0
  243. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iq-permission.json +0 -0
  244. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/iq.json +0 -0
  245. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ivs.json +0 -0
  246. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ivschat.json +0 -0
  247. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kafka-cluster.json +0 -0
  248. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kafka.json +0 -0
  249. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kafkaconnect.json +0 -0
  250. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kendra-ranking.json +0 -0
  251. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kendra.json +0 -0
  252. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kinesis.json +0 -0
  253. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kinesisanalytics.json +0 -0
  254. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kinesisvideo.json +0 -0
  255. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/kms.json +0 -0
  256. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lakeformation.json +0 -0
  257. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lambda.json +0 -0
  258. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/launchwizard.json +0 -0
  259. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lex.json +0 -0
  260. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/license-manager-linux-subscriptions.json +0 -0
  261. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/license-manager-user-subscriptions.json +0 -0
  262. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/license-manager.json +0 -0
  263. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lightsail.json +0 -0
  264. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/logs.json +0 -0
  265. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lookoutequipment.json +0 -0
  266. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lookoutmetrics.json +0 -0
  267. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/lookoutvision.json +0 -0
  268. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/m2.json +0 -0
  269. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/machinelearning.json +0 -0
  270. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/macie2.json +0 -0
  271. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/managedblockchain-query.json +0 -0
  272. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/managedblockchain.json +0 -0
  273. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mapcredits.json +0 -0
  274. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/marketplacecommerceanalytics.json +0 -0
  275. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mechanicalturk.json +0 -0
  276. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediaconnect.json +0 -0
  277. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediaconvert.json +0 -0
  278. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediaimport.json +0 -0
  279. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/medialive.json +0 -0
  280. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediapackage-vod.json +0 -0
  281. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediapackage.json +0 -0
  282. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediapackagev2.json +0 -0
  283. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediastore.json +0 -0
  284. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mediatailor.json +0 -0
  285. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/medical-imaging.json +0 -0
  286. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/memorydb.json +0 -0
  287. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mgh.json +0 -0
  288. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mgn.json +0 -0
  289. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/migrationhub-orchestrator.json +0 -0
  290. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/migrationhub-strategy.json +0 -0
  291. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mobileanalytics.json +0 -0
  292. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mobiletargeting.json +0 -0
  293. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/monitron.json +0 -0
  294. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mpa.json +0 -0
  295. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/mq.json +0 -0
  296. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/neptune-db.json +0 -0
  297. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/neptune-graph.json +0 -0
  298. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/network-firewall.json +0 -0
  299. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/network-security-director.json +0 -0
  300. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/networkflowmonitor.json +0 -0
  301. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/networkmanager-chat.json +0 -0
  302. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/networkmanager.json +0 -0
  303. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/networkmonitor.json +0 -0
  304. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/nimble.json +0 -0
  305. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/notifications-contacts.json +0 -0
  306. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/notifications.json +0 -0
  307. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/oam.json +0 -0
  308. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/observabilityadmin.json +0 -0
  309. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/odb.json +0 -0
  310. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/omics.json +0 -0
  311. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/one.json +0 -0
  312. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/opensearch.json +0 -0
  313. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/opsworks-cm.json +0 -0
  314. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/opsworks.json +0 -0
  315. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/organizations.json +0 -0
  316. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/osis.json +0 -0
  317. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/outposts.json +0 -0
  318. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/panorama.json +0 -0
  319. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/partnercentral-account-management.json +0 -0
  320. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/partnercentral.json +0 -0
  321. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/payment-cryptography.json +0 -0
  322. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/payments.json +0 -0
  323. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pca-connector-ad.json +0 -0
  324. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pca-connector-scep.json +0 -0
  325. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pcs.json +0 -0
  326. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/personalize.json +0 -0
  327. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pi.json +0 -0
  328. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pipes.json +0 -0
  329. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/polly.json +0 -0
  330. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/pricing.json +0 -0
  331. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/private-networks.json +0 -0
  332. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/profile.json +0 -0
  333. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/proton.json +0 -0
  334. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/purchase-orders.json +0 -0
  335. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/q.json +0 -0
  336. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/qapps.json +0 -0
  337. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/qbusiness.json +0 -0
  338. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/qdeveloper.json +0 -0
  339. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/qldb.json +0 -0
  340. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/quicksight.json +0 -0
  341. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ram.json +0 -0
  342. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rbin.json +0 -0
  343. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rds-data.json +0 -0
  344. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rds-db.json +0 -0
  345. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rds.json +0 -0
  346. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/redshift-data.json +0 -0
  347. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/redshift-serverless.json +0 -0
  348. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/redshift.json +0 -0
  349. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/refactor-spaces.json +0 -0
  350. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rekognition.json +0 -0
  351. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/repostspace.json +0 -0
  352. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/resiliencehub.json +0 -0
  353. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/resource-explorer-2.json +0 -0
  354. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/resource-explorer.json +0 -0
  355. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/resource-groups.json +0 -0
  356. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rhelkb.json +0 -0
  357. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/robomaker.json +0 -0
  358. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rolesanywhere.json +0 -0
  359. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53-recovery-cluster.json +0 -0
  360. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53-recovery-control-config.json +0 -0
  361. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53-recovery-readiness.json +0 -0
  362. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53.json +0 -0
  363. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53domains.json +0 -0
  364. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53profiles.json +0 -0
  365. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/route53resolver.json +0 -0
  366. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rtbfabric.json +0 -0
  367. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/rum.json +0 -0
  368. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3-object-lambda.json +0 -0
  369. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3-outposts.json +0 -0
  370. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3.json +0 -0
  371. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3express.json +0 -0
  372. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3tables.json +0 -0
  373. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/s3vectors.json +0 -0
  374. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sagemaker-data-science-assistant.json +0 -0
  375. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sagemaker-geospatial.json +0 -0
  376. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sagemaker-mlflow.json +0 -0
  377. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sagemaker.json +0 -0
  378. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/savingsplans.json +0 -0
  379. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/scheduler.json +0 -0
  380. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/schemas.json +0 -0
  381. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/scn.json +0 -0
  382. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sdb.json +0 -0
  383. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/secretsmanager.json +0 -0
  384. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/security-ir.json +0 -0
  385. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/securityhub.json +0 -0
  386. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/securitylake.json +0 -0
  387. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/serverlessrepo.json +0 -0
  388. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/servicecatalog.json +0 -0
  389. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/servicediscovery.json +0 -0
  390. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/serviceextract.json +0 -0
  391. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/servicequotas.json +0 -0
  392. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ses.json +0 -0
  393. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/shield.json +0 -0
  394. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/signer.json +0 -0
  395. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/signin.json +0 -0
  396. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/simspaceweaver.json +0 -0
  397. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sms-voice.json +0 -0
  398. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sms.json +0 -0
  399. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/snow-device-management.json +0 -0
  400. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/snowball.json +0 -0
  401. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sns.json +0 -0
  402. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/social-messaging.json +0 -0
  403. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sqlworkbench.json +0 -0
  404. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sqs.json +0 -0
  405. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm-contacts.json +0 -0
  406. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm-guiconnect.json +0 -0
  407. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm-incidents.json +0 -0
  408. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm-quicksetup.json +0 -0
  409. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm-sap.json +0 -0
  410. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssm.json +0 -0
  411. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ssmmessages.json +0 -0
  412. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sso-directory.json +0 -0
  413. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sso-oauth.json +0 -0
  414. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sso.json +0 -0
  415. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/states.json +0 -0
  416. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/storagegateway.json +0 -0
  417. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sts.json +0 -0
  418. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/support-console.json +0 -0
  419. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/support.json +0 -0
  420. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/supportapp.json +0 -0
  421. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/supportplans.json +0 -0
  422. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/sustainability.json +0 -0
  423. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/swf.json +0 -0
  424. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/synthetics.json +0 -0
  425. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/tag.json +0 -0
  426. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/tax.json +0 -0
  427. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/textract.json +0 -0
  428. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/thinclient.json +0 -0
  429. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/timestream-influxdb.json +0 -0
  430. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/timestream.json +0 -0
  431. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/tiros.json +0 -0
  432. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/tnb.json +0 -0
  433. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/transcribe.json +0 -0
  434. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/transfer.json +0 -0
  435. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/transform.json +0 -0
  436. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/translate.json +0 -0
  437. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/trustedadvisor.json +0 -0
  438. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/ts.json +0 -0
  439. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/user-subscriptions.json +0 -0
  440. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/uxc.json +0 -0
  441. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/vendor-insights.json +0 -0
  442. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/verified-access.json +0 -0
  443. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/verifiedpermissions.json +0 -0
  444. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/voiceid.json +0 -0
  445. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/vpc-lattice-svcs.json +0 -0
  446. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/vpc-lattice.json +0 -0
  447. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/vpce.json +0 -0
  448. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/waf-regional.json +0 -0
  449. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/waf.json +0 -0
  450. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/wafv2.json +0 -0
  451. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/wam.json +0 -0
  452. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/wellarchitected.json +0 -0
  453. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/wickr.json +0 -0
  454. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/wisdom.json +0 -0
  455. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workdocs.json +0 -0
  456. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/worklink.json +0 -0
  457. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workmail.json +0 -0
  458. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workmailmessageflow.json +0 -0
  459. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workspaces-instances.json +0 -0
  460. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workspaces-web.json +0 -0
  461. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/workspaces.json +0 -0
  462. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/aws_services/xray.json +0 -0
  463. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/README.md +0 -0
  464. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/ROADMAP.md +0 -0
  465. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/SDK.md +0 -0
  466. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/aws-api-configuration.md +0 -0
  467. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/aws-services-backup.md +0 -0
  468. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/check-reference.md +0 -0
  469. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/condition-requirements.md +0 -0
  470. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/configuration.md +0 -0
  471. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/custom-checks.md +0 -0
  472. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/development/PUBLISHING.md +0 -0
  473. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/development/pre-release-guide.md +0 -0
  474. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/github-actions-examples.md +0 -0
  475. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/github-actions-workflows.md +0 -0
  476. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/modular-configuration.md +0 -0
  477. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/privilege-escalation.md +0 -0
  478. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/python-library-usage.md +0 -0
  479. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/docs/smart-filtering.md +0 -0
  480. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/README.md +0 -0
  481. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/access-analyzer/example1.json +0 -0
  482. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/access-analyzer/example2.json +0 -0
  483. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/README.md +0 -0
  484. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/basic-config.yaml +0 -0
  485. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/ci-cd-config.yaml +0 -0
  486. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/development-config.yaml +0 -0
  487. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/ignore-patterns-list-example.yaml +0 -0
  488. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/minimal-validation-config.yaml +0 -0
  489. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/offline-validation.yaml +0 -0
  490. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/policy-level-condition-enforcement-config.yaml +0 -0
  491. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/principal-condition-enforcement.yaml +0 -0
  492. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/principal-validation-public-with-conditions.yaml +0 -0
  493. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/principal-validation-relaxed.yaml +0 -0
  494. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/principal-validation-strict.yaml +0 -0
  495. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/privilege-escalation-focus-config.yaml +0 -0
  496. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/resource-policy-config.yaml +0 -0
  497. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/security-audit-config.yaml +0 -0
  498. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/configs/strict-security.yaml +0 -0
  499. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/README.md +0 -0
  500. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
  501. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/cross_account_external_id_check.py +0 -0
  502. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/domain_restriction_check.py +0 -0
  503. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/encryption_required_check.py +0 -0
  504. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/mfa_required_check.py +0 -0
  505. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/region_restriction_check.py +0 -0
  506. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/tag_enforcement_check.py +0 -0
  507. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/custom_checks/time_based_access_check.py +0 -0
  508. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/README.md +0 -0
  509. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/access-analyzer-only.yaml +0 -0
  510. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/basic-validation.yaml +0 -0
  511. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/custom-policy-checks.yaml +0 -0
  512. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/multi-region-validation.yaml +0 -0
  513. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/resource-policy-validation.yaml +0 -0
  514. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/sarif-code-scanning.yaml +0 -0
  515. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/sequential-validation.yaml +0 -0
  516. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/two-step-validation.yaml +0 -0
  517. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/github-actions/validate-changed-files.yaml +0 -0
  518. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/README.md +0 -0
  519. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/allowed-wildcard-resource.json +0 -0
  520. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/api_gateway_management.json +0 -0
  521. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/athena_query_access.json +0 -0
  522. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/backup_vault_access.json +0 -0
  523. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/cloudformation_deployer.json +0 -0
  524. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/cloudwatch_monitoring.json +0 -0
  525. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/cognito_user_pool.json +0 -0
  526. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/dynamodb_table_access.json +0 -0
  527. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/ecs_task_execution.json +0 -0
  528. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/eventbridge_rules.json +0 -0
  529. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/glue_etl_jobs.json +0 -0
  530. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/insecure_policy.json +0 -0
  531. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/insecure_policy.yaml +0 -0
  532. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/invalid-resource-constraint.json +0 -0
  533. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +0 -0
  534. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +0 -0
  535. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/invalid_policy.json +0 -0
  536. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/kms_encryption_keys.json +0 -0
  537. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/lambda_developer.json +0 -0
  538. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/lambda_developer.yaml +0 -0
  539. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/maximum_size_policy.json +0 -0
  540. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/policy_missing_required_tags.json +0 -0
  541. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/policy_tag_enforcement_example.json +0 -0
  542. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/policy_with_wildcard_resources.json +0 -0
  543. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/privilege_escalation_scattered.json +0 -0
  544. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/rds_database_admin.json +0 -0
  545. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/s3_bucket_access.yaml +0 -0
  546. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/sample_policy.json +0 -0
  547. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/sample_policy.yaml +0 -0
  548. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/secrets_manager_access.json +0 -0
  549. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/sensitive-action-wildcards.json +0 -0
  550. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/sns_sqs_messaging.json +0 -0
  551. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/step_functions_workflow.json +0 -0
  552. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/terraform-template-policy.json +0 -0
  553. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/test_none_of_valid.json +0 -0
  554. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/test_none_of_violations.json +0 -0
  555. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/valid-sid-formats.json +0 -0
  556. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/wildcard_examples.json +0 -0
  557. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/wildcard_examples.yaml +0 -0
  558. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/wrong-condition-key.json +0 -0
  559. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +0 -0
  560. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +0 -0
  561. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +0 -0
  562. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +0 -0
  563. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +0 -0
  564. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +0 -0
  565. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +0 -0
  566. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/README.md +0 -0
  567. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +0 -0
  568. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +0 -0
  569. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +0 -0
  570. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +0 -0
  571. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +0 -0
  572. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +0 -0
  573. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +0 -0
  574. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +0 -0
  575. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +0 -0
  576. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +0 -0
  577. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +0 -0
  578. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +0 -0
  579. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +0 -0
  580. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +0 -0
  581. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +0 -0
  582. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +0 -0
  583. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +0 -0
  584. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +0 -0
  585. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +0 -0
  586. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +0 -0
  587. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +0 -0
  588. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +0 -0
  589. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +0 -0
  590. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +0 -0
  591. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +0 -0
  592. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +0 -0
  593. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +0 -0
  594. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +0 -0
  595. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +0 -0
  596. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +0 -0
  597. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +0 -0
  598. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +0 -0
  599. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +0 -0
  600. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +0 -0
  601. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +0 -0
  602. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/service-control-policies/require-mfa.json +0 -0
  603. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/service-control-policies/restrict-regions.json +0 -0
  604. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/README.md +0 -0
  605. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/correct-condition-wrong-key.json +0 -0
  606. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/dynamodb-wrong-resources.json +0 -0
  607. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/ec2-wrong-resources.json +0 -0
  608. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/iam-wrong-resources.json +0 -0
  609. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/lambda-wrong-resources.json +0 -0
  610. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/s3-wrong-resources.json +0 -0
  611. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/sqs-sns-wrong-resources.json +0 -0
  612. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/iam-test-policies/wrong_actions_mismatch/typo-condition-field.json +0 -0
  613. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/README.md +0 -0
  614. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example1_basic_usage.py +0 -0
  615. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example1_basic_usage_new.py +0 -0
  616. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example2_config_file.py +0 -0
  617. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example2_context_manager.py +0 -0
  618. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example3_policy_manipulation.py +0 -0
  619. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example3_programmatic_config.py +0 -0
  620. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/example4_custom_condition_requirements.py +0 -0
  621. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/policies/my-policy.json +0 -0
  622. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/policies/policy1.json +0 -0
  623. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/policies/policy2.json +0 -0
  624. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/library-usage/quick_reference.py +0 -0
  625. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/INVALID-wrong-principal-type.json +0 -0
  626. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/README.md +0 -0
  627. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/cross-account-trust-policy.json +0 -0
  628. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/github-actions-oidc-trust-policy.json +0 -0
  629. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/lambda-service-role-trust-policy.json +0 -0
  630. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/examples/trust-policies/saml-federated-trust-policy.json +0 -0
  631. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/__init__.py +0 -0
  632. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/__main__.py +0 -0
  633. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/__init__.py +0 -0
  634. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/action_condition_enforcement.py +0 -0
  635. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/action_resource_matching.py +0 -0
  636. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/action_validation.py +0 -0
  637. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/condition_key_validation.py +0 -0
  638. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/condition_type_mismatch.py +0 -0
  639. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/full_wildcard.py +0 -0
  640. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/mfa_condition_check.py +0 -0
  641. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/policy_size.py +0 -0
  642. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/policy_structure.py +0 -0
  643. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/policy_type_validation.py +0 -0
  644. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/principal_validation.py +0 -0
  645. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/resource_validation.py +0 -0
  646. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/sensitive_action.py +0 -0
  647. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/service_wildcard.py +0 -0
  648. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/set_operator_validation.py +0 -0
  649. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/sid_uniqueness.py +0 -0
  650. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/trust_policy_validation.py +0 -0
  651. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/utils/__init__.py +0 -0
  652. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/utils/policy_level_checks.py +0 -0
  653. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/utils/sensitive_action_matcher.py +0 -0
  654. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/utils/wildcard_expansion.py +0 -0
  655. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/wildcard_action.py +0 -0
  656. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/checks/wildcard_resource.py +0 -0
  657. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/__init__.py +0 -0
  658. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/analyze.py +0 -0
  659. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/base.py +0 -0
  660. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/cache.py +0 -0
  661. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/download_services.py +0 -0
  662. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/commands/post_to_pr.py +0 -0
  663. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/__init__.py +0 -0
  664. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/access_analyzer.py +0 -0
  665. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/access_analyzer_report.py +0 -0
  666. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_fetcher.py +0 -0
  667. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/__init__.py +0 -0
  668. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/cache.py +0 -0
  669. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/client.py +0 -0
  670. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/fetcher.py +0 -0
  671. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/parsers.py +0 -0
  672. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/patterns.py +0 -0
  673. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/aws_service/storage.py +0 -0
  674. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/check_registry.py +0 -0
  675. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/cli.py +0 -0
  676. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/condition_validators.py +0 -0
  677. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/__init__.py +0 -0
  678. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/aws_api.py +0 -0
  679. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/aws_global_conditions.py +0 -0
  680. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/category_suggestions.py +0 -0
  681. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/condition_requirements.py +0 -0
  682. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/config_loader.py +0 -0
  683. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/principal_requirements.py +0 -0
  684. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/sensitive_actions.py +0 -0
  685. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/service_principals.py +0 -0
  686. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/config/wildcards.py +0 -0
  687. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/constants.py +0 -0
  688. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/__init__.py +0 -0
  689. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/base.py +0 -0
  690. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/console.py +0 -0
  691. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/csv.py +0 -0
  692. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/enhanced.py +0 -0
  693. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/html.py +0 -0
  694. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/json.py +0 -0
  695. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/markdown.py +0 -0
  696. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/formatters/sarif.py +0 -0
  697. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/ignore_patterns.py +0 -0
  698. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/policy_checks.py +0 -0
  699. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/policy_loader.py +0 -0
  700. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/core/report.py +0 -0
  701. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/integrations/__init__.py +0 -0
  702. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/integrations/github_integration.py +0 -0
  703. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/integrations/ms_teams.py +0 -0
  704. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/__init__.py +0 -0
  705. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/arn_matching.py +0 -0
  706. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/context.py +0 -0
  707. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/exceptions.py +0 -0
  708. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/helpers.py +0 -0
  709. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/sdk/shortcuts.py +0 -0
  710. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/utils/__init__.py +0 -0
  711. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/utils/cache.py +0 -0
  712. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/utils/regex.py +0 -0
  713. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/iam_validator/utils/terminal.py +0 -0
  714. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/scripts/download_aws_services.py +0 -0
  715. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/scripts/sync_defaults_from_yaml.py +0 -0
  716. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/README.md +0 -0
  717. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/__init__.py +0 -0
  718. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_action_condition_enforcement.py +0 -0
  719. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_action_condition_enforcement_policy_level.py +0 -0
  720. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_action_resource_matching.py +0 -0
  721. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_action_validation_check.py +0 -0
  722. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_aws_api_config.py +0 -0
  723. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_aws_fetcher_wildcards.py +0 -0
  724. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_aws_global_conditions.py +0 -0
  725. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_check_id_in_comments.py +0 -0
  726. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_check_id_injection.py +0 -0
  727. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_check_registry.py +0 -0
  728. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_comment_truncation.py +0 -0
  729. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_condition_key_validation_check.py +0 -0
  730. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_condition_type_mismatch.py +0 -0
  731. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_config_loader.py +0 -0
  732. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_custom_policy_checks.py +0 -0
  733. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_full_wildcard_check.py +0 -0
  734. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_ignore_patterns.py +0 -0
  735. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_mfa_condition_check.py +0 -0
  736. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_models.py +0 -0
  737. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_multipart_comments.py +0 -0
  738. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_policy_loader.py +0 -0
  739. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_policy_size_check.py +0 -0
  740. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_policy_type_validation.py +0 -0
  741. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_principal_validation_check.py +0 -0
  742. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_regex_utils.py +0 -0
  743. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_resource_validation_check.py +0 -0
  744. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_sensitive_action_wildcard_expansion.py +0 -0
  745. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_service_principal_wildcard.py +0 -0
  746. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_service_wildcard_check.py +0 -0
  747. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_set_operator_validation.py +0 -0
  748. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_sid_uniqueness_check.py +0 -0
  749. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_trust_policy_detection.py +0 -0
  750. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_trust_policy_detection.py.bak4 +0 -0
  751. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_trust_policy_multiple_statements.py +0 -0
  752. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_trust_policy_oidc_aud_required.py +0 -0
  753. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_trust_policy_validation.py +0 -0
  754. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/tests/test_wildcard_action_check.py +0 -0
  755. {iam_policy_validator-1.9.0 → iam_policy_validator-1.10.1}/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.9.0
3
+ Version: 1.10.1
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
@@ -154,6 +154,45 @@ settings:
154
154
  # - medium # Uncomment to fail on medium severity
155
155
  # - warning # Uncomment to fail on IAM validity warnings
156
156
 
157
+ # GitHub PR label mapping based on severity findings
158
+ # When issues with these severities are found, apply the corresponding labels to the PR
159
+ # If no issues with these severities exist, remove the labels if present
160
+ # This helps signal to reviewers if the PR is ready for final review
161
+ #
162
+ # Supports both single labels and lists of labels per severity:
163
+ #
164
+ # Single label per severity:
165
+ # severity_labels:
166
+ # error: "iam-validity-error"
167
+ # critical: "security-critical"
168
+ #
169
+ # Multiple labels per severity:
170
+ # severity_labels:
171
+ # error: ["iam-error", "needs-fix"]
172
+ # critical: ["security-critical", "needs-security-review"]
173
+ #
174
+ # Mixed (some single, some multiple):
175
+ # severity_labels:
176
+ # error: "iam-validity-error"
177
+ # critical: ["security-critical", "needs-security-review"]
178
+ #
179
+ # Example use cases:
180
+ # - Apply multiple labels for better categorization
181
+ # - Apply "needs-security-review" when critical/high issues are found
182
+ # - Apply "needs-fix" for any validation errors
183
+ # - Remove all labels when issues are fixed
184
+ #
185
+ # Note: Requires GitHub integration (--github-comment or --github-review flags)
186
+ # Default: [] (empty list = disabled)
187
+ severity_labels:
188
+ error: "iam-validity-error"
189
+ critical: "iam-security-critical"
190
+ high: "iam-security-high"
191
+ # medium: "security-medium" # Uncomment to label medium severity issues
192
+ # Multiple labels example:
193
+ # error: ["iam-validity-error", "needs-fix"]
194
+ # critical: ["security-critical", "needs-security-review"]
195
+
157
196
  # Template Variable Support (applies to all ARN validation checks)
158
197
  #
159
198
  # When enabled, the validator is POSITION-AWARE and supports ANY variable name
@@ -0,0 +1,116 @@
1
+ # ============================================================================
2
+ # IAM Policy Validator - GitHub PR Labels Configuration
3
+ # ============================================================================
4
+ # This configuration demonstrates automatic GitHub PR label management based
5
+ # on validation severity findings.
6
+ #
7
+ # When validation finds issues with configured severities, it automatically
8
+ # applies the corresponding labels to the PR. When those issues are fixed,
9
+ # the labels are removed. This helps reviewers quickly understand the status
10
+ # of the PR without reading through all the validation comments.
11
+ # ============================================================================
12
+
13
+ settings:
14
+ # Define which severities should cause the build to fail
15
+ fail_on_severity:
16
+ - error # IAM validity errors (invalid actions, malformed ARNs, etc.)
17
+ - critical # Critical security risks (e.g., full wildcard policies)
18
+ - high # High severity security issues
19
+
20
+ # Map severity levels to GitHub PR labels
21
+ # When validation finds issues with these severities, it will:
22
+ # 1. Apply the corresponding label(s) to the PR
23
+ # 2. Remove the label(s) if no issues with that severity exist
24
+ #
25
+ # Supports both single labels and lists of labels per severity:
26
+ # - Single: error: "iam-validity-error"
27
+ # - Multiple: error: ["iam-validity-error", "needs-fix"]
28
+ #
29
+ # This provides visual feedback to reviewers about the PR status:
30
+ # - Labels present = issues need to be fixed
31
+ # - Labels removed = issues resolved, ready for review
32
+ severity_labels:
33
+ error: "iam-validity-error" # Applied when IAM validity errors found
34
+ critical: "security-critical" # Applied when critical security issues found
35
+ high: "security-high" # Applied when high severity issues found
36
+
37
+ # Example with multiple labels per severity:
38
+ # error: ["iam-validity-error", "needs-fix"]
39
+ # critical: ["security-critical", "needs-security-review", "high-priority"]
40
+ # high: ["security-high", "needs-review"]
41
+
42
+ # ============================================================================
43
+ # Example GitHub Actions Workflow
44
+ # ============================================================================
45
+ # To use this feature in GitHub Actions:
46
+ #
47
+ # name: Validate IAM Policies
48
+ #
49
+ # on:
50
+ # pull_request:
51
+ # paths:
52
+ # - 'policies/**/*.json'
53
+ #
54
+ # permissions:
55
+ # contents: read
56
+ # pull-requests: write # Required for labels
57
+ # issues: write # Required for labels
58
+ #
59
+ # jobs:
60
+ # validate:
61
+ # runs-on: ubuntu-latest
62
+ # steps:
63
+ # - uses: actions/checkout@v4
64
+ #
65
+ # - name: Validate IAM Policies
66
+ # env:
67
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68
+ # GITHUB_REPOSITORY: ${{ github.repository }}
69
+ # GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
70
+ # run: |
71
+ # pip install iam-policy-validator
72
+ # iam-validator validate \
73
+ # --path ./policies/ \
74
+ # --config examples/configs/github-labels-config.yaml \
75
+ # --github-comment \
76
+ # --github-review
77
+ # ============================================================================
78
+
79
+ # ============================================================================
80
+ # Label Behavior Examples
81
+ # ============================================================================
82
+ # Scenario 1: Initial validation finds issues
83
+ # - Policy has invalid action (severity: error)
84
+ # - Policy has wildcard resource (severity: high)
85
+ # → Labels applied: "iam-validity-error", "security-high"
86
+ # → Reviewer sees: This PR needs fixes before review
87
+ #
88
+ # Scenario 2: Developer fixes the invalid action
89
+ # - Only wildcard resource remains (severity: high)
90
+ # → Labels applied: "security-high"
91
+ # → Labels removed: "iam-validity-error"
92
+ # → Reviewer sees: IAM validity is good, but security issue remains
93
+ #
94
+ # Scenario 3: Developer fixes all issues
95
+ # - No issues found
96
+ # → All labels removed
97
+ # → Reviewer sees: Clean PR, ready for final review
98
+ # ============================================================================
99
+
100
+ # ============================================================================
101
+ # Additional Configuration
102
+ # ============================================================================
103
+ # You can customize individual checks below. For a comprehensive list of
104
+ # all available checks and options, see:
105
+ # - examples/configs/full-reference-config.yaml
106
+ # - examples/configs/basic-config.yaml
107
+ # - examples/configs/strict-security.yaml
108
+ # ============================================================================
109
+
110
+ # Example: Disable specific checks
111
+ # wildcard_resource:
112
+ # enabled: false
113
+
114
+ # Example: Adjust severity levels
115
+ # service_wildcard:
116
+ # severity: medium # Default is "high"
@@ -3,7 +3,7 @@
3
3
  This file is the single source of truth for the package version.
4
4
  """
5
5
 
6
- __version__ = "1.9.0"
6
+ __version__ = "1.10.1"
7
7
  # Parse version, handling pre-release suffixes like -rc, -alpha, -beta
8
8
  _version_base = __version__.split("-")[0] # Remove pre-release suffix if present
9
9
  __version_info__ = tuple(int(part) for part in _version_base.split("."))
@@ -302,12 +302,17 @@ Examples:
302
302
  from iam_validator.core.config.config_loader import ConfigLoader
303
303
  from iam_validator.core.pr_commenter import PRCommenter
304
304
 
305
- # Load config to get fail_on_severity setting
305
+ # Load config to get fail_on_severity and severity_labels settings
306
306
  config = ConfigLoader.load_config(config_path)
307
307
  fail_on_severities = config.get_setting("fail_on_severity", ["error", "critical"])
308
+ severity_labels = config.get_setting("severity_labels", {})
308
309
 
309
310
  async with GitHubIntegration() as github:
310
- commenter = PRCommenter(github, fail_on_severities=fail_on_severities)
311
+ commenter = PRCommenter(
312
+ github,
313
+ fail_on_severities=fail_on_severities,
314
+ severity_labels=severity_labels,
315
+ )
311
316
  success = await commenter.post_findings_to_pr(
312
317
  report,
313
318
  create_review=getattr(args, "github_review", False),
@@ -426,12 +431,17 @@ Examples:
426
431
  from iam_validator.core.config.config_loader import ConfigLoader
427
432
  from iam_validator.core.pr_commenter import PRCommenter
428
433
 
429
- # Load config to get fail_on_severity setting
434
+ # Load config to get fail_on_severity and severity_labels settings
430
435
  config = ConfigLoader.load_config(config_path)
431
436
  fail_on_severities = config.get_setting("fail_on_severity", ["error", "critical"])
437
+ severity_labels = config.get_setting("severity_labels", {})
432
438
 
433
439
  async with GitHubIntegration() as github:
434
- commenter = PRCommenter(github, fail_on_severities=fail_on_severities)
440
+ commenter = PRCommenter(
441
+ github,
442
+ fail_on_severities=fail_on_severities,
443
+ severity_labels=severity_labels,
444
+ )
435
445
  success = await commenter.post_findings_to_pr(
436
446
  report,
437
447
  create_review=False, # Already posted per-file reviews in streaming mode
@@ -280,9 +280,12 @@ class ServiceValidator:
280
280
  "- `aws:RequestedRegion`\n"
281
281
  "- `aws:SourceIp`\n"
282
282
  "- `aws:SourceVpce`\n"
283
- "- `aws:UserAgent`\n"
283
+ "- `aws:ResourceOrgID`\n"
284
+ "- `aws:PrincipalOrgID`\n"
285
+ "- `aws:SourceAccount`\n"
286
+ "- `aws:PrincipalAccount`\n"
284
287
  "- `aws:CurrentTime`\n"
285
- "- `aws:SecureTransport`\n"
288
+ "- `aws:ResourceAccount`\n"
286
289
  "- `aws:PrincipalArn`\n"
287
290
  "- And many others"
288
291
  )
@@ -75,6 +75,16 @@ DEFAULT_CONFIG = {
75
75
  # IAM Validity: error, warning, info
76
76
  # Security: critical, high, medium, low
77
77
  "fail_on_severity": list(constants.HIGH_SEVERITY_LEVELS),
78
+ # GitHub PR label mapping based on severity findings
79
+ # When issues with these severities are found, apply the corresponding labels
80
+ # If no issues with these severities exist, remove the labels if present
81
+ # Supports both single labels and lists of labels per severity
82
+ # Examples:
83
+ # Single label per severity: {"error": "iam-validity-error", "critical": "security-critical"}
84
+ # Multiple labels per severity: {"error": ["iam-error", "needs-fix"], "critical": ["security-critical", "needs-review"]}
85
+ # Mixed: {"error": "iam-validity-error", "critical": ["security-critical", "needs-review"]}
86
+ # Default: {} (disabled)
87
+ "severity_labels": {},
78
88
  },
79
89
  # ========================================================================
80
90
  # AWS IAM Validation Checks (17 checks total)
@@ -0,0 +1,197 @@
1
+ """Label Manager for GitHub PR Labels based on Severity Findings.
2
+
3
+ This module manages GitHub PR labels based on IAM policy validation severity findings.
4
+ When validation finds issues with specific severities, it applies corresponding labels.
5
+ When those severities are not found, it removes the labels if present.
6
+ """
7
+
8
+ import logging
9
+ from typing import TYPE_CHECKING
10
+
11
+ if TYPE_CHECKING:
12
+ from iam_validator.core.models import PolicyValidationResult, ValidationReport
13
+ from iam_validator.integrations.github_integration import GitHubIntegration
14
+
15
+ logger = logging.getLogger(__name__)
16
+
17
+
18
+ class LabelManager:
19
+ """Manages GitHub PR labels based on severity findings."""
20
+
21
+ def __init__(
22
+ self,
23
+ github: "GitHubIntegration",
24
+ severity_labels: dict[str, str | list[str]] | None = None,
25
+ ):
26
+ """Initialize label manager.
27
+
28
+ Args:
29
+ github: GitHubIntegration instance for API calls
30
+ severity_labels: Mapping of severity levels to label name(s)
31
+ Supports both single labels and lists of labels per severity.
32
+ Examples:
33
+ - Single label per severity:
34
+ {"error": "iam-validity-error", "critical": "security-critical"}
35
+ - Multiple labels per severity:
36
+ {"error": ["iam-error", "needs-fix"], "critical": ["security-critical", "needs-security-review"]}
37
+ - Mixed:
38
+ {"error": "iam-validity-error", "critical": ["security-critical", "needs-review"]}
39
+ """
40
+ self.github = github
41
+ self.severity_labels = severity_labels or {}
42
+
43
+ def is_enabled(self) -> bool:
44
+ """Check if label management is enabled.
45
+
46
+ Returns:
47
+ True if severity_labels is configured and GitHub is configured
48
+ """
49
+ return bool(self.severity_labels) and self.github.is_configured()
50
+
51
+ def _get_severities_in_results(self, results: list["PolicyValidationResult"]) -> set[str]:
52
+ """Extract all severity levels found in validation results.
53
+
54
+ Args:
55
+ results: List of PolicyValidationResult objects
56
+
57
+ Returns:
58
+ Set of severity levels found (e.g., {"error", "critical", "high"})
59
+ """
60
+ severities = set()
61
+ for result in results:
62
+ for issue in result.issues:
63
+ severities.add(issue.severity)
64
+ return severities
65
+
66
+ def _get_severities_in_report(self, report: "ValidationReport") -> set[str]:
67
+ """Extract all severity levels found in validation report.
68
+
69
+ Args:
70
+ report: ValidationReport object
71
+
72
+ Returns:
73
+ Set of severity levels found (e.g., {"error", "critical", "high"})
74
+ """
75
+ return self._get_severities_in_results(report.results)
76
+
77
+ def _determine_labels_to_apply(self, found_severities: set[str]) -> set[str]:
78
+ """Determine which labels should be applied based on found severities.
79
+
80
+ Args:
81
+ found_severities: Set of severity levels found in validation
82
+
83
+ Returns:
84
+ Set of label names to apply
85
+ """
86
+ labels_to_apply = set()
87
+ for severity, labels in self.severity_labels.items():
88
+ if severity in found_severities:
89
+ # Support both single labels and lists of labels
90
+ if isinstance(labels, list):
91
+ labels_to_apply.update(labels)
92
+ else:
93
+ labels_to_apply.add(labels)
94
+ return labels_to_apply
95
+
96
+ def _determine_labels_to_remove(self, found_severities: set[str]) -> set[str]:
97
+ """Determine which labels should be removed based on missing severities.
98
+
99
+ Args:
100
+ found_severities: Set of severity levels found in validation
101
+
102
+ Returns:
103
+ Set of label names to remove
104
+ """
105
+ labels_to_remove = set()
106
+ for severity, labels in self.severity_labels.items():
107
+ if severity not in found_severities:
108
+ # Support both single labels and lists of labels
109
+ if isinstance(labels, list):
110
+ labels_to_remove.update(labels)
111
+ else:
112
+ labels_to_remove.add(labels)
113
+ return labels_to_remove
114
+
115
+ async def manage_labels_from_results(
116
+ self, results: list["PolicyValidationResult"]
117
+ ) -> tuple[bool, int, int]:
118
+ """Manage PR labels based on validation results.
119
+
120
+ This method will:
121
+ 1. Determine which severity levels are present in the results
122
+ 2. Add labels for severities that are found
123
+ 3. Remove labels for severities that are not found
124
+
125
+ Args:
126
+ results: List of PolicyValidationResult objects
127
+
128
+ Returns:
129
+ Tuple of (success, labels_added, labels_removed)
130
+ """
131
+ if not self.is_enabled():
132
+ logger.debug("Label management not enabled (no severity_labels configured)")
133
+ return (True, 0, 0)
134
+
135
+ # Get all severities found in results
136
+ found_severities = self._get_severities_in_results(results)
137
+ logger.debug(f"Found severities in results: {found_severities}")
138
+
139
+ # Determine which labels to apply/remove
140
+ labels_to_apply = self._determine_labels_to_apply(found_severities)
141
+ labels_to_remove = self._determine_labels_to_remove(found_severities)
142
+
143
+ logger.debug(f"Labels to apply: {labels_to_apply}")
144
+ logger.debug(f"Labels to remove: {labels_to_remove}")
145
+
146
+ # Get current labels on PR
147
+ current_labels = set(await self.github.get_labels())
148
+ logger.debug(f"Current PR labels: {current_labels}")
149
+
150
+ # Filter: only add labels that aren't already present
151
+ labels_to_add = labels_to_apply - current_labels
152
+
153
+ # Filter: only remove labels that are currently present
154
+ labels_to_actually_remove = labels_to_remove & current_labels
155
+
156
+ success = True
157
+ added_count = 0
158
+ removed_count = 0
159
+
160
+ # Add new labels
161
+ if labels_to_add:
162
+ logger.info(f"Adding labels to PR: {labels_to_add}")
163
+ if await self.github.add_labels(list(labels_to_add)):
164
+ added_count = len(labels_to_add)
165
+ else:
166
+ logger.error("Failed to add labels to PR")
167
+ success = False
168
+
169
+ # Remove old labels
170
+ for label in labels_to_actually_remove:
171
+ logger.info(f"Removing label from PR: {label}")
172
+ if await self.github.remove_label(label):
173
+ removed_count += 1
174
+ else:
175
+ logger.error(f"Failed to remove label: {label}")
176
+ success = False
177
+
178
+ if added_count > 0 or removed_count > 0:
179
+ logger.info(f"Label management complete: added {added_count}, removed {removed_count}")
180
+ else:
181
+ logger.debug("No label changes needed")
182
+
183
+ return (success, added_count, removed_count)
184
+
185
+ async def manage_labels_from_report(self, report: "ValidationReport") -> tuple[bool, int, int]:
186
+ """Manage PR labels based on validation report.
187
+
188
+ This is a convenience method that extracts results from the report
189
+ and calls manage_labels_from_results().
190
+
191
+ Args:
192
+ report: ValidationReport object
193
+
194
+ Returns:
195
+ Tuple of (success, labels_added, labels_removed)
196
+ """
197
+ return await self.manage_labels_from_results(report.results)
@@ -31,7 +31,7 @@ class ServiceInfo(BaseModel):
31
31
  class ActionDetail(BaseModel):
32
32
  """Details about an AWS IAM action."""
33
33
 
34
- model_config = ConfigDict(populate_by_name=True)
34
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
35
35
 
36
36
  name: str = Field(alias="Name")
37
37
  action_condition_keys: list[str] | None = Field(
@@ -45,7 +45,7 @@ class ActionDetail(BaseModel):
45
45
  class ResourceType(BaseModel):
46
46
  """Details about an AWS resource type."""
47
47
 
48
- model_config = ConfigDict(populate_by_name=True)
48
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
49
49
 
50
50
  name: str = Field(alias="Name")
51
51
  arn_formats: list[str] | None = Field(default=None, alias="ARNFormats")
@@ -68,7 +68,7 @@ class ResourceType(BaseModel):
68
68
  class ConditionKey(BaseModel):
69
69
  """Details about an AWS condition key."""
70
70
 
71
- model_config = ConfigDict(populate_by_name=True)
71
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
72
72
 
73
73
  name: str = Field(alias="Name")
74
74
  description: str | None = Field(default=None, alias="Description")
@@ -78,7 +78,7 @@ class ConditionKey(BaseModel):
78
78
  class ServiceDetail(BaseModel):
79
79
  """Detailed information about an AWS service."""
80
80
 
81
- model_config = ConfigDict(populate_by_name=True)
81
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
82
82
 
83
83
  name: str = Field(alias="Name")
84
84
  prefix: str | None = None # Not always present in API response
@@ -106,7 +106,7 @@ class ServiceDetail(BaseModel):
106
106
  class Statement(BaseModel):
107
107
  """IAM policy statement."""
108
108
 
109
- model_config = ConfigDict(populate_by_name=True, extra="allow")
109
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True, extra="allow")
110
110
 
111
111
  sid: str | None = Field(default=None, alias="Sid")
112
112
  effect: str | None = Field(default=None, alias="Effect")
@@ -136,7 +136,7 @@ class Statement(BaseModel):
136
136
  class IAMPolicy(BaseModel):
137
137
  """IAM policy document."""
138
138
 
139
- model_config = ConfigDict(populate_by_name=True, extra="allow")
139
+ model_config = ConfigDict(validate_by_name=True, validate_by_alias=True, extra="allow")
140
140
 
141
141
  version: str | None = Field(default=None, alias="Version")
142
142
  statement: list[Statement] | None = Field(default=None, alias="Statement")
@@ -13,7 +13,9 @@ from iam_validator.core.constants import (
13
13
  REVIEW_IDENTIFIER,
14
14
  SUMMARY_IDENTIFIER,
15
15
  )
16
+ from iam_validator.core.label_manager import LabelManager
16
17
  from iam_validator.core.models import ValidationIssue, ValidationReport
18
+ from iam_validator.core.report import ReportGenerator
17
19
  from iam_validator.integrations.github_integration import GitHubIntegration, ReviewEvent
18
20
 
19
21
  logger = logging.getLogger(__name__)
@@ -32,6 +34,7 @@ class PRCommenter:
32
34
  github: GitHubIntegration | None = None,
33
35
  cleanup_old_comments: bool = True,
34
36
  fail_on_severities: list[str] | None = None,
37
+ severity_labels: dict[str, str | list[str]] | None = None,
35
38
  ):
36
39
  """Initialize PR commenter.
37
40
 
@@ -40,16 +43,24 @@ class PRCommenter:
40
43
  cleanup_old_comments: Whether to clean up old bot comments before posting new ones
41
44
  fail_on_severities: List of severity levels that should trigger REQUEST_CHANGES
42
45
  (e.g., ["error", "critical", "high"])
46
+ severity_labels: Mapping of severity levels to label name(s) for automatic label management
47
+ Supports both single labels and lists of labels per severity.
48
+ Examples:
49
+ - Single: {"error": "iam-validity-error", "critical": "security-critical"}
50
+ - Multiple: {"error": ["iam-error", "needs-fix"], "critical": ["security-critical", "needs-review"]}
51
+ - Mixed: {"error": "iam-validity-error", "critical": ["security-critical", "needs-review"]}
43
52
  """
44
53
  self.github = github
45
54
  self.cleanup_old_comments = cleanup_old_comments
46
55
  self.fail_on_severities = fail_on_severities or ["error", "critical"]
56
+ self.severity_labels = severity_labels or {}
47
57
 
48
58
  async def post_findings_to_pr(
49
59
  self,
50
60
  report: ValidationReport,
51
61
  create_review: bool = True,
52
62
  add_summary_comment: bool = True,
63
+ manage_labels: bool = True,
53
64
  ) -> bool:
54
65
  """Post validation findings to a PR.
55
66
 
@@ -57,6 +68,7 @@ class PRCommenter:
57
68
  report: Validation report with findings
58
69
  create_review: Whether to create a PR review with line comments
59
70
  add_summary_comment: Whether to add a summary comment
71
+ manage_labels: Whether to manage PR labels based on severity findings
60
72
 
61
73
  Returns:
62
74
  True if successful, False otherwise
@@ -81,8 +93,6 @@ class PRCommenter:
81
93
 
82
94
  # Post summary comment (potentially as multiple parts)
83
95
  if add_summary_comment:
84
- from iam_validator.core.report import ReportGenerator
85
-
86
96
  generator = ReportGenerator()
87
97
  comment_parts = generator.generate_github_comment_parts(report)
88
98
 
@@ -104,6 +114,18 @@ class PRCommenter:
104
114
  logger.error("Failed to post review comments")
105
115
  success = False
106
116
 
117
+ # Manage PR labels based on severity findings
118
+ if manage_labels and self.severity_labels:
119
+ label_manager = LabelManager(self.github, self.severity_labels)
120
+ label_success, added, removed = await label_manager.manage_labels_from_report(report)
121
+
122
+ if not label_success:
123
+ logger.error("Failed to manage PR labels")
124
+ success = False
125
+ else:
126
+ if added > 0 or removed > 0:
127
+ logger.info(f"Label management: added {added}, removed {removed}")
128
+
107
129
  return success
108
130
 
109
131
  async def _post_review_comments(self, report: ValidationReport) -> bool:
@@ -288,7 +310,7 @@ class PRCommenter:
288
310
 
289
311
  return mapping
290
312
 
291
- except Exception as e:
313
+ except Exception as e: # pylint: disable=broad-exception-caught
292
314
  logger.warning(f"Could not parse {policy_file} for line mapping: {e}")
293
315
  return {}
294
316
 
@@ -369,7 +391,7 @@ class PRCommenter:
369
391
 
370
392
  return None
371
393
 
372
- except Exception as e:
394
+ except Exception as e: # pylint: disable=broad-exception-caught
373
395
  logger.debug(f"Could not search {policy_file}: {e}")
374
396
  return None
375
397
 
@@ -398,15 +420,20 @@ async def post_report_to_pr(
398
420
 
399
421
  report = ValidationReport.model_validate(report_data)
400
422
 
401
- # Load config to get fail_on_severity setting
423
+ # Load config to get fail_on_severity and severity_labels settings
402
424
  from iam_validator.core.config.config_loader import ConfigLoader
403
425
 
404
426
  config = ConfigLoader.load_config(config_path)
405
427
  fail_on_severities = config.get_setting("fail_on_severity", ["error", "critical"])
428
+ severity_labels = config.get_setting("severity_labels", {})
406
429
 
407
430
  # Post to PR
408
431
  async with GitHubIntegration() as github:
409
- commenter = PRCommenter(github, fail_on_severities=fail_on_severities)
432
+ commenter = PRCommenter(
433
+ github,
434
+ fail_on_severities=fail_on_severities,
435
+ severity_labels=severity_labels,
436
+ )
410
437
  return await commenter.post_findings_to_pr(
411
438
  report,
412
439
  create_review=create_review,
@@ -419,6 +446,6 @@ async def post_report_to_pr(
419
446
  except json.JSONDecodeError as e:
420
447
  logger.error(f"Invalid JSON in report file: {e}")
421
448
  return False
422
- except Exception as e:
449
+ except Exception as e: # pylint: disable=broad-exception-caught
423
450
  logger.error(f"Failed to post report to PR: {e}")
424
451
  return False