The AWS docs provide a list of services for each region as seen here, unfortunately this requires you to select a region in a drop down to see the services available for that region.
Using stackql
and the AWS Cloud Control API (using the awscc
provider) , I was able to generate a consolidated list by testing a resource from each service for each region, here it is:
Service | us-east-1 (N. Virginia) |
us-east-2 (Ohio) |
us-west-1 (N. California) |
us-west-2 (Oregon) |
ap-south-1 (Mumbai) |
ap-northeast-3 (Osaka) |
ap-northeast-2 (Seoul) |
ap-southeast-1 (Singapore) |
ap-southeast-2 (Sydney) |
ap-northeast-1 (Tokyo) |
ca-central-1 (Canada) |
eu-central-1 (Frankfurt) |
eu-west-1 (Ireland) |
eu-west-2 (London) |
eu-west-3 (Paris) |
eu-north-1 (Stockholm) |
sa-east-1 (São Paulo) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accessanalyzer | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
acmpca | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
amplify | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
apigateway | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
apigatewayv2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
appconfig | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
appflow | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
applicationinsights | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
apprunner | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
appstream | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
appsync | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
aps | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
arczonalshift | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
athena | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ |
autoscaling | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
backup | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
backupgateway | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
batch | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
budgets | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
cassandra | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ce | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
chatbot | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
cleanrooms | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
cloudformation | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
cloudfront | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
cloudtrail | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
cloudwatch | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
codeartifact | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
codebuild | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
codedeploy | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
codeguruprofiler | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
codegurureviewer | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
codepipeline | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
codestarconnections | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
codestarnotifications | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
cognito | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
comprehend | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
config | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
connect | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
databrew | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
datapipeline | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
datasync | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
detective | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
devopsguru | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
directoryservice | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
dms | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
dynamodb | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
ec2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
ecr | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
ecs | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
efs | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
eks | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
elasticache | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
elasticbeanstalk | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
elasticloadbalancingv2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
emr | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
emrcontainers | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
emrserverless | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
events | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
eventschemas | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
fis | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
forecast | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
frauddetector | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
fsx | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
gamelift | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
globalaccelerator | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
grafana | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
greengrassv2 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
groundstation | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
guardduty | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
healthlake | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
iam | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
imagebuilder | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
inspector | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
inspectorv2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
internetmonitor | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
iot | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
iotanalytics | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
iotevents | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
iotfleethub | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
iotfleetwise | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
iotsitewise | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
iotwireless | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
ivs | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
ivschat | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
kafkaconnect | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
kendra | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
kinesis | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
kinesisanalyticsv2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
kinesisfirehose | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
kms | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
lakeformation | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
lambda | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
lex | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
lightsail | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
logs | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
lookoutequipment | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
lookoutmetrics | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
lookoutvision | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
m2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
macie | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
mediaconnect | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
medialive | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
mediapackage | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
mediapackagev2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
memorydb | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
msk | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
mwaa | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
neptune | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
networkfirewall | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
networkmanager | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
nimblestudio | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
oam | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
omics | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
opensearchserverless | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
opsworkscm | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
organizations | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
osis | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
pcaconnectorad | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
personalize | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
pinpoint | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
pipes | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
proton | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
ram | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
rds | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
redshift | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
refactorspaces | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
rekognition | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
resiliencehub | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
resourceexplorer2 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
resourcegroups | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
robomaker | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
route53 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
route53recoverycontrol | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
route53recoveryreadiness | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
route53resolver | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
rum | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
s3 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
s3objectlambda | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
sagemaker | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
scheduler | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
secretsmanager | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
securityhub | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
servicecatalog | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
servicecatalogappregistry | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
ses | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
signer | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
sns | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
sqs | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
ssm | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
ssmcontacts | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ssmincidents | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
stepfunctions | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
synthetics | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
timestream | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
transfer | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
verifiedpermissions | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
vpclattice | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
wafv2 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
workspacesweb | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Here is the output as a python object:
supported_regions = {
'accessanalyzer': ['global'],
'acmpca': ['global'],
'amplify': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'apigateway': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'apigatewayv2': ['global'],
'appconfig': ['global'],
'appflow': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'sa-east-1'],
'applicationinsights': ['global'],
'apprunner': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3'],
'appstream': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'sa-east-1'],
'appsync': ['global'],
'aps': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'arczonalshift': ['global'],
'athena': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-west-1', 'eu-north-1'],
'autoscaling': ['global'],
'backup': ['global'],
'backupgateway': ['global'],
'batch': ['global'],
'budgets': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'sa-east-1'],
'cassandra': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'ce': ['global'],
'chatbot': ['global'],
'cleanrooms': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-north-1'],
'cloudformation': ['global'],
'cloudfront': ['us-east-1'],
'cloudtrail': ['global'],
'cloudwatch': ['global'],
'codeartifact': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1'],
'codebuild': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'sa-east-1'],
'codedeploy': ['global'],
'codeguruprofiler': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1', 'eu-west-2', 'eu-north-1'],
'codegurureviewer': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1', 'eu-west-2', 'eu-north-1'],
'codepipeline': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'codestarconnections': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'codestarnotifications': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2',
'eu-west-3', 'eu-north-1', 'sa-east-1'],
'cognito': ['global'],
'comprehend': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2'],
'config': ['global'],
'connect': ['us-east-1', 'us-west-2', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1', 'eu-central-1',
'eu-west-2'],
'databrew': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'datapipeline': ['us-east-1', 'us-west-2', 'ap-southeast-2', 'ap-northeast-1',
'eu-west-1'],
'datasync': ['global'],
'detective': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'devopsguru': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'directoryservice': ['us-east-1', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-west-1'],
'dms': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1', 'eu-west-1',
'eu-north-1'],
'dynamodb': ['global'],
'ec2': ['global'],
'ecr': ['us-east-1'],
'ecs': ['global'],
'efs': ['global'],
'eks': ['global'],
'elasticache': ['global'],
'elasticbeanstalk': ['global'],
'elasticloadbalancingv2': ['global'],
'emr': ['global'],
'emrcontainers': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2'],
'emrserverless': ['global'],
'events': ['global'],
'eventschemas': ['global'],
'fis': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'forecast': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'frauddetector': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'eu-west-1'],
'fsx': ['global'],
'gamelift': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'sa-east-1'],
'globalaccelerator': ['us-east-1'],
'grafana': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'eu-west-2'],
'greengrassv2': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2'],
'groundstation': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'eu-central-1',
'eu-west-1', 'eu-north-1', 'sa-east-1'],
'guardduty': ['global'],
'healthlake': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1'],
'iam': ['us-east-1'],
'imagebuilder': ['global'],
'inspector': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-north-1'],
'inspectorv2': ['global'],
'internetmonitor': ['global'],
'iot': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1'],
'iotanalytics': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1'],
'iotevents': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2'],
'iotfleethub': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-north-1'],
'iotfleetwise': ['us-east-1', 'eu-central-1'],
'iotsitewise': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1',
'eu-west-1'],
'iotwireless': ['us-east-1', 'us-west-2', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1', 'sa-east-1'],
'ivs': ['us-east-1', 'us-west-2', 'ap-south-1', 'ap-northeast-2',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'ivschat': ['us-east-1', 'us-west-2', 'ap-south-1', 'ap-northeast-2',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'kafkaconnect': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'kendra': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'ca-central-1', 'eu-west-1', 'eu-west-2'],
'kinesis': ['global'],
'kinesisanalyticsv2': ['global'],
'kinesisfirehose': ['global'],
'kms': ['global'],
'lakeformation': ['global'],
'lambda': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'lex': ['us-east-1', 'us-west-2', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1', 'eu-central-1',
'eu-west-1', 'eu-west-2'],
'lightsail': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1'],
'logs': ['global'],
'lookoutequipment': ['us-east-1', 'ap-northeast-2', 'eu-west-1'],
'lookoutmetrics': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1', 'eu-north-1'],
'lookoutvision': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-northeast-2',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'm2': ['global'],
'macie': ['global'],
'mediaconnect': ['global'],
'medialive': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-3', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'mediapackage': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1',
'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-north-1',
'sa-east-1'],
'mediapackagev2': ['global'],
'memorydb': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-north-1', 'sa-east-1'],
'msk': ['global'],
'mwaa': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-north-1',
'sa-east-1'],
'neptune': ['global'],
'networkfirewall': ['global'],
'networkmanager': ['global'],
'nimblestudio': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-north-1'],
'oam': ['global'],
'omics': ['us-east-1', 'us-west-2', 'ap-southeast-1', 'eu-central-1',
'eu-west-1', 'eu-west-2'],
'opensearchserverless': ['us-east-1', 'us-east-2', 'us-west-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1'],
'opsworkscm': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'eu-central-1', 'eu-west-1'],
'organizations': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-3', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2',
'eu-west-3', 'eu-north-1', 'sa-east-1'],
'osis': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-north-1', 'sa-east-1'],
'pcaconnectorad': ['global'],
'personalize': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1',
'eu-west-1'],
'pinpoint': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2'],
'pipes': ['global'],
'proton': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2'],
'ram': ['global'],
'rds': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-south-1', 'ap-northeast-2',
'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-north-1', 'sa-east-1'],
'redshift': ['global'],
'refactorspaces': ['global'],
'rekognition': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2'],
'resiliencehub': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'resourceexplorer2': ['global'],
'resourcegroups': ['global'],
'robomaker': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'route53': ['us-east-1'],
'route53recoverycontrol': ['us-east-1', 'us-west-2'],
'route53recoveryreadiness': ['us-east-1', 'us-west-2'],
'route53resolver': ['global'],
'rum': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-north-1'],
's3': ['global'],
's3objectlambda': ['global'],
'sagemaker': ['global'],
'scheduler': ['global'],
'secretsmanager': ['global'],
'securityhub': ['ap-southeast-2'],
'servicecatalog': ['global'],
'servicecatalogappregistry': ['global'],
'ses': ['global'],
'signer': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1',
'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2',
'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1',
'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1'],
'sns': ['global'],
'sqs': ['global'],
'ssm': ['global'],
'ssmcontacts': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'ssmincidents': ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2',
'ap-south-1', 'ap-northeast-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3',
'eu-north-1', 'sa-east-1'],
'stepfunctions': ['global'],
'synthetics': ['global'],
'timestream': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-2',
'ap-northeast-1', 'eu-central-1', 'eu-west-1'],
'transfer': ['global'],
'verifiedpermissions': ['global'],
'vpclattice': ['us-east-1', 'us-east-2', 'us-west-2', 'ap-southeast-1',
'ap-southeast-2', 'ap-northeast-1', 'ca-central-1',
'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-north-1'],
'wafv2': ['us-east-1'],
'workspacesweb': ['us-east-1', 'us-west-2', 'ap-south-1', 'ap-southeast-1',
'ap-northeast-1', 'ca-central-1', 'eu-central-1',
'eu-west-1', 'eu-west-2']
}
Here's the code used to generate this (all you need to do is pip install pystackql
):
pystackql
is a python wrapper for StackQL, seepystackql
or Read the Docs
from pystackql import StackQL
# Initialize StackQL
stackql = StackQL(output='pandas', execution_concurrency_limit=-1)
# pull the latest stackql providers for aws
stackql.executeStmt("REGISTRY PULL aws")
stackql.executeStmt("REGISTRY PULL awscc")
# Predefined regions to check
regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-south-1', 'ap-northeast-3', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-north-1', 'sa-east-1']
# Initialize the supported regions dictionary
supported_regions = {}
def execute_query_for_region(service, resource, region):
query = f"SELECT COUNT(*) FROM awscc.{service}.{resource} WHERE region = '{region}'"
df = stackql.execute(query)
if 'error' in df.columns:
return False
else:
return True
def enumerate_services_and_test_resources():
services_df = stackql.execute("SHOW SERVICES IN awscc")
services = services_df['name'].tolist()
for service in services:
resources_df = stackql.execute(f"SHOW RESOURCES IN awscc.{service}")
plural_resources = [resource for resource in resources_df['name'].tolist() if resource.endswith('s')]
# If plural resources are found, test the first one
# plural awscc resources implement the Cloud Control list method if supported
if plural_resources:
resource = plural_resources[0]
print(f"Checking {service}...")
# Query across ALL AWS regions
all_regions_in_clause = ", ".join([f"'{region}'" for region in regions])
resource_df = stackql.execute(f"SELECT COUNT(*) as total FROM awscc.{service}.{resource} WHERE region IN ({all_regions_in_clause})")
if 'error' in resource_df.columns:
# query each region individually to determine availability
supported_regions[service] = []
for region in regions:
print(f"Checking {service} in {region}...")
if execute_query_for_region(service, resource, region):
supported_regions[service].append(region)
if not supported_regions[service]:
# additional parameters required aside from region
del supported_regions[service]
else:
supported_regions[service] = ['global']
else:
supported_regions[service] = ['check manually']
enumerate_services_and_test_resources()
print(supported_regions)
And here is an application using the output of this program (The 5 Minute Global AWS Inventory).
Top comments (0)