File tree Expand file tree Collapse file tree
upload-ami/src/upload_ami Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -126,7 +126,11 @@ jobs:
126126 role-to-assume : arn:aws:iam::${{ vars.AWS_ACCOUNT_ID }}:role/github-pages
127127 aws-region : ${{ vars.AWS_REGION }}
128128 - name : Describe images
129- run : nix run .#describe-images > ./site/images.json
129+ run : |
130+ nix run .#describe-images -- \
131+ --best-effort-region me-central-1 \
132+ --best-effort-region me-south-1 \
133+ > ./site/images.json
130134 - name : Upload pages
131135 uses : actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
132136 with :
Original file line number Diff line number Diff line change 1+ import argparse
12import logging
23import boto3
34import json
67
78
89def main () -> None :
10+ parser = argparse .ArgumentParser ()
11+ parser .add_argument (
12+ "--best-effort-region" ,
13+ help = "Regions where failures are logged as warnings instead of errors" ,
14+ action = "append" ,
15+ default = [],
16+ )
17+ args = parser .parse_args ()
18+
919 logging .basicConfig (level = logging .INFO )
1020 ec2 : EC2Client = boto3 .client ("ec2" )
1121 regions = ec2 .describe_regions ()["Regions" ]
@@ -14,13 +24,22 @@ def main() -> None:
1424
1525 for region in regions :
1626 assert "RegionName" in region
17- ec2r = boto3 .client ("ec2" , region_name = region ["RegionName" ])
18-
19- result = ec2r .describe_images (
20- Owners = ["self" ],
21- ExecutableUsers = ["all" ],
22- )
23- images [region ["RegionName" ]] = result
27+ region_name = region ["RegionName" ]
28+ ec2r = boto3 .client ("ec2" , region_name = region_name )
29+
30+ try :
31+ result = ec2r .describe_images (
32+ Owners = ["self" ],
33+ ExecutableUsers = ["all" ],
34+ )
35+ except Exception as e :
36+ if region_name not in args .best_effort_region :
37+ raise
38+ logging .warning (
39+ f"Describing images in { region_name } failed (best-effort, ignoring): { e } "
40+ )
41+ continue
42+ images [region_name ] = result
2443
2544 print (json .dumps (images , indent = 2 ))
2645
You can’t perform that action at this time.
0 commit comments