name: 'SDK: Refresh AWS Regions' on: schedule: - cron: '0 9 * * 1' # Every Monday at 09:00 UTC workflow_dispatch: concurrency: group: ${{ github.workflow }} cancel-in-progress: false env: PYTHON_VERSION: '3.12' AWS_REGION: 'us-east-1' permissions: {} jobs: refresh-aws-regions: if: github.repository == 'prowler-cloud/prowler' runs-on: ubuntu-latest timeout-minutes: 15 permissions: id-token: write pull-requests: write contents: write steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 with: egress-policy: audit - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: 'master' persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.PYTHON_VERSION }} cache: 'pip' - name: Install dependencies run: pip install boto3 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1 with: aws-region: ${{ env.AWS_REGION }} role-to-assume: ${{ secrets.DEV_IAM_ROLE_ARN }} role-session-name: prowler-refresh-aws-regions - name: Update AWS services regions run: python util/update_aws_services_regions.py - name: Create pull request id: create-pr uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 with: token: ${{ secrets.PROWLER_BOT_ACCESS_TOKEN }} author: 'prowler-bot <179230569+prowler-bot@users.noreply.github.com>' committer: 'github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>' commit-message: 'feat(aws): update regions for AWS services' branch: 'aws-regions-update-${{ github.run_number }}' title: 'feat(aws): Update regions for AWS services' labels: | status/waiting-for-revision severity/low provider/aws no-changelog body: | ### Description Automated update of AWS service regions from the official AWS IP ranges. **Trigger:** ${{ github.event_name == 'schedule' && 'Scheduled (weekly)' || github.event_name == 'workflow_dispatch' && 'Manual' || 'Workflow update' }} **Run:** [#${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) ### Checklist - [x] This is an automated update from AWS official sources - [x] No manual review of region data required ### License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. - name: PR creation result run: | if [[ "${STEPS_CREATE_PR_OUTPUTS_PULL_REQUEST_NUMBER}" ]]; then echo "✓ Pull request #${STEPS_CREATE_PR_OUTPUTS_PULL_REQUEST_NUMBER} created successfully" echo "URL: ${STEPS_CREATE_PR_OUTPUTS_PULL_REQUEST_URL}" else echo "✓ No changes detected - AWS regions are up to date" fi env: STEPS_CREATE_PR_OUTPUTS_PULL_REQUEST_NUMBER: ${{ steps.create-pr.outputs.pull-request-number }} STEPS_CREATE_PR_OUTPUTS_PULL_REQUEST_URL: ${{ steps.create-pr.outputs.pull-request-url }}