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):
pystackqlis a python wrapper for StackQL, seepystackqlor 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)