Skip to content

Commit 5be68b2

Browse files
committed
feat(aws): add the ISO partitions to the AWS service region matrix
The region matrix only carried aws, aws-cn, aws-eusc and aws-us-gov, so asking for the regions of a service in an ISO partition had no data to answer with. That is the reason GovCloud works and the ISO partitions do not: the code paths are the same, only the data is missing. The generator now fills aws-iso, aws-iso-b, aws-iso-e and aws-iso-f from the endpoints data bundled with botocore, which needs no credentials and no network, so it also works for partitions the bot can never reach. The SSM pass is left untouched: it remains the only source with data for the existing partitions, and regenerating them yields no change at all. Services are keyed by endpoint prefix in the botocore data and by service name in the matrix, so the mapping is derived from the service models themselves instead of being written by hand. Cost Explorer is renamed explicitly, and the streaming endpoint of Transcribe is ignored because the service is already resolved through its own prefix. An endpoint prefix that resolves to neither aborts the run, so a service newly available in a partition is noticed instead of silently dropped. Every service keeps carrying every partition, empty where the service is not available, as it already did for the existing partitions. The bot install is pinned to the version in pyproject.toml, since the bundled endpoints data is now itself a source and has to be deterministic.
1 parent 1edcf6e commit 5be68b2

6 files changed

Lines changed: 2943 additions & 89 deletions

File tree

.github/workflows/sdk-refresh-aws-services-regions.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ jobs:
4444
cache: 'pip'
4545

4646
- name: Install dependencies
47-
run: pip install boto3
47+
# Pinned to the versions in pyproject.toml: the ISO partitions region
48+
# data comes from the endpoints.json bundled with botocore, so the
49+
# botocore version is itself a data source and must be deterministic
50+
run: pip install boto3==1.40.61 botocore==1.40.61
4851

4952
- name: Configure AWS credentials
5053
uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AWS ISO partitions (`aws-iso`, `aws-iso-b`, `aws-iso-e` and `aws-iso-f`) to the AWS service/region matrix, sourced from the endpoints data bundled with botocore, so services are now scanned in the ISO partitions instead of being silently skipped

0 commit comments

Comments
 (0)