aws_arn/
known.rs

1/*!
2Provides enums that represent known values for ARN partition, region, and service identifiers.
3*/
4
5use crate::{Identifier, IdentifierLike};
6
7// ------------------------------------------------------------------------------------------------
8// Public Types
9// ------------------------------------------------------------------------------------------------
10
11///
12/// A list of known partition identifiers from
13/// [docs.aws](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
14///
15#[derive(Debug, Clone, PartialEq, Eq, Hash)]
16pub enum Partition {
17    /// Corresponds to the partition "aws": AWS regions
18    Aws,
19
20    /// Corresponds to the partition "aws-cn": AWS China regions
21    AwsChina,
22
23    /// Corresponds to the partition "aws-us-gov": AWS GovCloud (US) regions
24    AwsUsGov,
25}
26
27///
28/// A list of known region identifiers from
29/// [docs.aws](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html).
30///
31#[derive(Debug, Clone, PartialEq, Eq, Hash)]
32pub enum Region {
33    /// Corresponds to the region "af-south-1": Africa (Cape Town)
34    AfSouth1,
35
36    /// Corresponds to the region "ap-east-1": Asia Pacific (Hong Kong)
37    ApEast1,
38
39    /// Corresponds to the region "ap-northeast-1": Asia Pacific (Tokyo)
40    ApNortheast1,
41
42    /// Corresponds to the region "ap-northeast-2": Asia Pacific (Seoul)
43    ApNortheast2,
44
45    /// Corresponds to the region "ap-northeast-3": Asia Pacific (Osaka)
46    ApNortheast3,
47
48    /// Corresponds to the region "ap-southeast-1": Asia Pacific (Singapore)
49    ApSoutheast1,
50
51    /// Corresponds to the region "ap-southeast-2": Asia Pacific (Sydney)
52    ApSoutheast2,
53
54    /// Corresponds to the region "ap-south-1": Asia Pacific (Mumbai)
55    ApSouth1,
56
57    /// Corresponds to the region "ca-central-1": Canada (Central)
58    CaCentral1,
59
60    /// Corresponds to the region "eu-central-1": Europe (Frankfurt)
61    EuCentral1,
62
63    /// Corresponds to the region "eu-north-1": Europe (Stockholm)
64    EuNorth1,
65
66    /// Corresponds to the region "eu-south-1": Europe (Milan)
67    EuSouth1,
68
69    /// Corresponds to the region "eu-west-1": Europe (Ireland)
70    EuWest1,
71
72    /// Corresponds to the region "eu-west-2": Europe (London)
73    EuWest2,
74
75    /// Corresponds to the region "eu-west-3": Europe (Paris)
76    EuWest3,
77
78    /// Corresponds to the region "me-south-1": Europe (Bahrain)
79    MeSouth1,
80
81    /// Corresponds to the region "sa-east-1": South America (São Paulo)
82    SaEast1,
83
84    /// Corresponds to the region "us-east-1": US East (N. Virginia)
85    UsEast1,
86
87    /// Corresponds to the region "us-east-2": US East (Ohio)
88    UsEast2,
89
90    /// Corresponds to the region "us-west-1": US West (N. California)
91    UsWest1,
92
93    /// Corresponds to the region "us-west-2": US West (Oregon)
94    UsWest2,
95}
96
97///
98/// A list of known service identifiers.
99///
100#[derive(Debug, Clone, PartialEq, Eq, Hash)]
101pub enum Service {
102    /// Corresponds to the service "accessanalyzer"
103    AccessAnalyzer,
104
105    /// Corresponds to the service "acm"
106    CertificateManager,
107
108    /// Corresponds to the service "acm-pca"
109    CertificateManagerPrivateCa,
110
111    /// Corresponds to the service "alexaforbusiness"
112    AlexaForBusiness,
113
114    /// Corresponds to the service "amp"
115    Prometheus,
116
117    /// Corresponds to the service "amplify"
118    Amplify,
119
120    /// Corresponds to the service "amplifybackend"
121    AmplifyBackend,
122
123    /// Corresponds to the service "apigateway"
124    ApiGateway,
125
126    /// Corresponds to the service "apigatewaymanagementapi"
127    ApiGatewayManagementApi,
128
129    /// Corresponds to the service "apigatewayv2"
130    ApiGatewayV2,
131
132    /// Corresponds to the service "appconfig"
133    AppConfig,
134
135    /// Corresponds to the service "appflow"
136    AppFlow,
137
138    /// Corresponds to the service "appintegrations"
139    AppIntegrations,
140
141    /// Corresponds to the service "application-autoscaling"
142    ApplicationAutoscaling,
143
144    /// Corresponds to the service "application-insights"
145    ApplicationInsights,
146
147    /// Corresponds to the service "appmesh"
148    AppMesh,
149
150    /// Corresponds to the service "appstream"
151    AppStream,
152
153    /// Corresponds to the service "appsync"
154    AppSync,
155
156    /// Corresponds to the service "athena"
157    Athena,
158
159    /// Corresponds to the service "auditmanager"
160    AuditManager,
161
162    /// Corresponds to the service "autoscaling"
163    AutoScaling,
164
165    /// Corresponds to the service "autoscaling-plans"
166    AutoScalingPlans,
167
168    /// Corresponds to the service "backup"
169    Backup,
170
171    /// Corresponds to the service "batch"
172    Batch,
173
174    /// Corresponds to the service "braket"
175    Braket,
176
177    /// Corresponds to the service "budgets"
178    Budgets,
179
180    /// Corresponds to the service "ce"
181    CostExplorer,
182
183    /// Corresponds to the service "chime"
184    Chime,
185
186    /// Corresponds to the service "cloud9"
187    Cloud9,
188
189    /// Corresponds to the service "clouddirectory"
190    CloudDirectory,
191
192    /// Corresponds to the service "cloudformation"
193    CloudFormation,
194
195    /// Corresponds to the service "cloudhsm"
196    CloudHsm,
197
198    /// Corresponds to the service "cloudhsmv2"
199    CloudHsmV2,
200
201    /// Corresponds to the service "cloudsearch"
202    CloudSearch,
203
204    /// Corresponds to the service "cloudsearchdomain"
205    CloudSearchDomain,
206
207    /// Corresponds to the service "cloudtrail"
208    CloudTrail,
209
210    /// Corresponds to the service "cloudwatch"
211    CloudWatch,
212
213    /// Corresponds to the service "codeartifact"
214    CodeArtifact,
215
216    /// Corresponds to the service "codebuild"
217    CodeBuild,
218
219    /// Corresponds to the service "codecommit"
220    CodeCommit,
221
222    /// Corresponds to the service "codedeploy"
223    CodeDeploy,
224
225    /// Corresponds to the service "codeguru-reviewer"
226    CodeGuruReviewer,
227
228    /// Corresponds to the service "codeguruprofiler"
229    CodeGuruProfiler,
230
231    /// Corresponds to the service "codepipeline"
232    CodePipeline,
233
234    /// Corresponds to the service "codestar"
235    CodeStar,
236
237    /// Corresponds to the service "codestar-connections"
238    CodeStarConnections,
239
240    /// Corresponds to the service "codestar-notifications"
241    CodeStarNotifications,
242
243    /// Corresponds to the service "cognito-identity"
244    CognitoIdentity,
245
246    /// Corresponds to the service "cognito-idp"
247    CognitoIdentityProvider,
248
249    /// Corresponds to the service "cognito-sync"
250    CognitoSync,
251
252    /// Corresponds to the service "comprehend"
253    Comprehend,
254
255    /// Corresponds to the service "comprehendmedical"
256    ComprehendMedical,
257
258    /// Corresponds to the service "compute-optimizer"
259    ComputeOptimizer,
260
261    /// Corresponds to the service "config"
262    Config,
263
264    /// Corresponds to the service "connect"
265    Connect,
266
267    /// Corresponds to the service "connect-contact-lens"
268    ConnectContactLens,
269
270    /// Corresponds to the service "connectparticipant"
271    ConnectParticipant,
272
273    /// Corresponds to the service "cur"
274    CostUsageReport,
275
276    /// Corresponds to the service "customer-profiles"
277    CustomerProfiles,
278
279    /// Corresponds to the service "databrew"
280    GlueDataBrew,
281
282    /// Corresponds to the service "dataexchange"
283    DataExchange,
284
285    /// Corresponds to the service "datapipeline"
286    DataPipeline,
287
288    /// Corresponds to the service "datasync"
289    DataSync,
290
291    /// Corresponds to the service "dax"
292    DynamoDbAccelerator,
293
294    /// Corresponds to the service "detective"
295    Detective,
296
297    /// Corresponds to the service "devicefarm"
298    DeviceFarm,
299
300    /// Corresponds to the service "devops-guru"
301    DevOpsGuru,
302
303    /// Corresponds to the service "directconnect"
304    DirectConnect,
305
306    /// Corresponds to the service "discovery"
307    Discovery,
308
309    /// Corresponds to the service "dlm"
310    DataLifecycleManager,
311
312    /// Corresponds to the service "dms"
313    DatabaseMigration,
314
315    /// Corresponds to the service "docdb"
316    DocumentDb,
317
318    /// Corresponds to the service "dynamodb"
319    DynamoDb,
320
321    /// Corresponds to the service "dynamodbstreams"
322    DynamoDbStreams,
323
324    /// Corresponds to the service "ebs"
325    ElasticBlockStore,
326
327    /// Corresponds to the service "ec2"
328    Ec2,
329
330    /// Corresponds to the service "ec2-instance-connect"
331    Ec2InstanceConnect,
332
333    /// Corresponds to the service "ecr"
334    Ec2ContainerRegistry,
335
336    /// Corresponds to the service "ecr-public"
337    Ec2containerRegistryPublic,
338
339    /// Corresponds to the service "ecs"
340    Ec2ContainerService,
341
342    /// Corresponds to the service "efs"
343    ElasticFileSystem,
344
345    /// Corresponds to the service "eks"
346    ElasticKubernetes,
347
348    /// Corresponds to the service "elastic-inference"
349    ElasticInference,
350
351    /// Corresponds to the service "elasticache"
352    Elasticache,
353
354    /// Corresponds to the service "elasticbeanstalk"
355    ElasticBeanstalk,
356
357    /// Corresponds to the service "elastictranscoder"
358    ElasticTranscoder,
359
360    /// Corresponds to the service "elb"
361    ElasticLoadBalancing,
362
363    /// Corresponds to the service "elbv2"
364    ElasticLoadBalancingV2,
365
366    /// Corresponds to the service "emr"
367    ElasticMapReduce,
368
369    /// Corresponds to the service "emr-containers"
370    ElasticMapReduceContainers,
371
372    /// Corresponds to the service "es"
373    ElasticsearchService,
374
375    /// Corresponds to the service "events"
376    EventBridge,
377
378    /// Corresponds to the service "firehose"
379    Firehose,
380
381    /// Corresponds to the service "fis"
382    FaultInjectionSimulator,
383
384    /// Corresponds to the service "fms"
385    FirewallManagementService,
386
387    /// Corresponds to the service "forecast"
388    ForecastService,
389
390    /// Corresponds to the service "forecastquery"
391    ForecastQueryService,
392
393    /// Corresponds to the service "frauddetector"
394    FraudDetector,
395
396    /// Corresponds to the service "fsx"
397    Fsx,
398
399    /// Corresponds to the service "gamelift"
400    GameLift,
401
402    /// Corresponds to the service "glacier"
403    Glacier,
404
405    /// Corresponds to the service "globalaccelerator"
406    GlobalAccelerator,
407
408    /// Corresponds to the service "glue"
409    Glue,
410
411    /// Corresponds to the service "greengrass"
412    Greengrass,
413
414    /// Corresponds to the service "greengrassv2"
415    GreengrassV2,
416
417    /// Corresponds to the service "groundstation"
418    GroundStation,
419
420    /// Corresponds to the service "guardduty"
421    GuardDuty,
422
423    /// Corresponds to the service "health"
424    Health,
425
426    /// Corresponds to the service "healthlake"
427    HealthLake,
428
429    /// Corresponds to the service "honeycode"
430    Honeycode,
431
432    /// Corresponds to the service "iam"
433    IdentityAccessManagement,
434
435    /// Corresponds to the service "identitystore"
436    IdentityStore,
437
438    /// Corresponds to the service "imagebuilder"
439    ImageBuilder,
440
441    /// Corresponds to the service "importexport"
442    ImportExport,
443
444    /// Corresponds to the service "inspector"
445    Inspector,
446
447    /// Corresponds to the service "iot"
448    IoT,
449
450    /// Corresponds to the service "iot-data"
451    IoTData,
452
453    /// Corresponds to the service "iot-jobs-data"
454    IoTJobsData,
455
456    /// Corresponds to the service "iot1click-devices"
457    IoT1clickDevices,
458
459    /// Corresponds to the service "iot1click-projects"
460    IoT1clickProjects,
461
462    /// Corresponds to the service "iotanalytics"
463    IoTAnalytics,
464
465    /// Corresponds to the service "iotdeviceadvisor"
466    IoTDeviceAdvisor,
467
468    /// Corresponds to the service "iotevents"
469    IoTEvents,
470
471    /// Corresponds to the service "iotevents-data"
472    IoTEventsData,
473
474    /// Corresponds to the service "iotfleethub"
475    IoTFleetHub,
476
477    /// Corresponds to the service "iotsecuretunneling"
478    IoTSecureTunneling,
479
480    /// Corresponds to the service "iotsitewise"
481    IoTSitewise,
482
483    /// Corresponds to the service "iotthingsgraph"
484    IoTThingsGraph,
485
486    /// Corresponds to the service "iotwireless"
487    IoTWireless,
488
489    /// Corresponds to the service "ivs"
490    InteractiveVideo,
491
492    /// Corresponds to the service "kafka"
493    Kafka,
494
495    /// Corresponds to the service "kendra"
496    Kendra,
497
498    /// Corresponds to the service "kinesis"
499    Kinesis,
500
501    /// Corresponds to the service "kinesis-video-archived-media"
502    KinesisVideoArchivedMedia,
503
504    /// Corresponds to the service "kinesis-video-media"
505    KinesisVideoMedia,
506
507    /// Corresponds to the service "kinesis-video-signaling"
508    KinesisVideoSignaling,
509
510    /// Corresponds to the service "kinesisanalytics"
511    KinesisAnalytics,
512
513    /// Corresponds to the service "kinesisanalyticsv2"
514    KinesisAnalyticsV2,
515
516    /// Corresponds to the service "kinesisvideo"
517    KinesisVideo,
518
519    /// Corresponds to the service "kms"
520    KeyManagement,
521
522    /// Corresponds to the service "lakeformation"
523    LakeFormation,
524
525    /// Corresponds to the service "lambda"
526    Lambda,
527
528    /// Corresponds to the service "lex-models"
529    LexModels,
530
531    /// Corresponds to the service "lex-runtime"
532    LexRuntime,
533
534    /// Corresponds to the service "lexv2-models"
535    LexV2Models,
536
537    /// Corresponds to the service "lexv2-runtime"
538    LexV2Runtime,
539
540    /// Corresponds to the service "license-manager"
541    LicenseManager,
542
543    /// Corresponds to the service "lightsail"
544    Lightsail,
545
546    /// Corresponds to the service "location"
547    Location,
548
549    /// Corresponds to the service "logs"
550    CloudWatchLogs,
551
552    /// Corresponds to the service "lookoutequipment"
553    LookoutEquipment,
554
555    /// Corresponds to the service "lookoutmetrics"
556    LookoutMetrics,
557
558    /// Corresponds to the service "lookoutvision"
559    LookoutVision,
560
561    /// Corresponds to the service "machinelearning"
562    MachineLearning,
563
564    /// Corresponds to the service "macie"
565    Macie,
566
567    /// Corresponds to the service "macie2"
568    Macie2,
569
570    /// Corresponds to the service "managedblockchain"
571    ManagedBlockchain,
572
573    /// Corresponds to the service "marketplace-catalog"
574    MarketplaceCatalog,
575
576    /// Corresponds to the service "marketplace-entitlement"
577    MarketplaceEntitlement,
578
579    /// Corresponds to the service "marketplacecommerceanalytics"
580    MarketplaceCommerceAnalytics,
581
582    /// Corresponds to the service "mediaconnect"
583    MediaConnect,
584
585    /// Corresponds to the service "mediaconvert"
586    MediaConvert,
587
588    /// Corresponds to the service "medialive"
589    MediaLive,
590
591    /// Corresponds to the service "mediapackage"
592    MediaPackage,
593
594    /// Corresponds to the service "mediapackage-vod"
595    MediaPackageVod,
596
597    /// Corresponds to the service "mediastore"
598    MediaStore,
599
600    /// Corresponds to the service "mediastore-data"
601    MediaStoreData,
602
603    /// Corresponds to the service "mediatailor"
604    MediaTailor,
605
606    /// Corresponds to the service "meteringmarketplace"
607    MarketplaceMetering,
608
609    /// Corresponds to the service "mgh"
610    MigrationHub,
611
612    /// Corresponds to the service "mgn"
613    ApplicationMigration,
614
615    /// Corresponds to the service "migrationhub-config"
616    MigrationHubConfig,
617
618    /// Corresponds to the service "mobile"
619    Mobile,
620
621    /// Corresponds to the service "mq"
622    Mq,
623
624    /// Corresponds to the service "mturk"
625    MechanicalTurk,
626
627    /// Corresponds to the service "mwaa"
628    ManagedWorkflowsForApacheAirflow,
629
630    /// Corresponds to the service "neptune"
631    Neptune,
632
633    /// Corresponds to the service "network-firewall"
634    NetworkFirewall,
635
636    /// Corresponds to the service "networkmanager"
637    NetworkManager,
638
639    /// Corresponds to the service "opsworks"
640    OpsWorks,
641
642    /// Corresponds to the service "opsworkscm"
643    OpsWorksCm,
644
645    /// Corresponds to the service "organizations"
646    Organizations,
647
648    /// Corresponds to the service "outposts"
649    Outposts,
650
651    /// Corresponds to the service "personalize"
652    Personalize,
653
654    /// Corresponds to the service "personalize-events"
655    PersonalizeEvents,
656
657    /// Corresponds to the service "personalize-runtime"
658    PersonalizeRuntime,
659
660    /// Corresponds to the service "pi"
661    PerformanceInsights,
662
663    /// Corresponds to the service "pinpoint"
664    Pinpoint,
665
666    /// Corresponds to the service "pinpoint-email"
667    PinpointEmail,
668
669    /// Corresponds to the service "pinpoint-sms-voice"
670    PinpointSmsVoice,
671
672    /// Corresponds to the service "polly"
673    Polly,
674
675    /// Corresponds to the service "pricing"
676    Pricing,
677
678    /// Corresponds to the service "qldb"
679    Qldb,
680
681    /// Corresponds to the service "qldb-session"
682    QldbSession,
683
684    /// Corresponds to the service "quicksight"
685    QuickSight,
686
687    /// Corresponds to the service "ram"
688    ResourceAccessManager,
689
690    /// Corresponds to the service "rds"
691    RelationalDatabaseService,
692
693    /// Corresponds to the service "rds-data"
694    RdsDataService,
695
696    /// Corresponds to the service "redshift"
697    Redshift,
698
699    /// Corresponds to the service "redshift-data"
700    RedshiftDataApiService,
701
702    /// Corresponds to the service "rekognition"
703    Rekognition,
704
705    /// Corresponds to the service "resource-groups"
706    ResourceGroups,
707
708    /// Corresponds to the service "resourcegroupstaggingapi"
709    ResourceGroupsTaggingApi,
710
711    /// Corresponds to the service "robomaker"
712    RoboMaker,
713
714    /// Corresponds to the service "route53"
715    Route53,
716
717    /// Corresponds to the service "route53domains"
718    Route53Domains,
719
720    /// Corresponds to the service "route53resolver"
721    Route53Resolver,
722
723    /// Corresponds to the service "s3"
724    S3,
725
726    /// Corresponds to the service "s3control"
727    S3Control,
728
729    /// Corresponds to the service "s3outposts"
730    S3Outposts,
731
732    /// Corresponds to the service "sagemaker"
733    SageMaker,
734
735    /// Corresponds to the service "sagemaker-a2i-runtime"
736    AugmentedAiRuntime,
737
738    /// Corresponds to the service "sagemaker-edge"
739    SagemakerEdgeManager,
740
741    /// Corresponds to the service "sagemaker-featurestore-runtime"
742    SageMakerFeatureStoreRuntime,
743
744    /// Corresponds to the service "sagemaker-runtime"
745    SageMakerRuntime,
746
747    /// Corresponds to the service "savingsplans"
748    SavingsPlans,
749
750    /// Corresponds to the service "schemas"
751    EventBridgeSchemaRegistry,
752
753    /// Corresponds to the service "sdb"
754    SimpleDb,
755
756    /// Corresponds to the service "secretsmanager"
757    SecretsManager,
758
759    /// Corresponds to the service "securityhub"
760    SecurityHub,
761
762    /// Corresponds to the service "serverlessrepo"
763    ServerlessApplicationRepository,
764
765    /// Corresponds to the service "service-quotas"
766    ServiceQuotas,
767
768    /// Corresponds to the service "servicecatalog"
769    ServiceCatalog,
770
771    /// Corresponds to the service "servicecatalog-appregistry"
772    ServiceCatalogAppRegistry,
773
774    /// Corresponds to the service "servicediscovery"
775    ServiceDiscovery,
776
777    /// Corresponds to the service "ses"
778    SimpleEmail,
779
780    /// Corresponds to the service "sesv2"
781    SimpleEmailV2,
782
783    /// Corresponds to the service "shield"
784    Shield,
785
786    /// Corresponds to the service "signer"
787    Signer,
788
789    /// Corresponds to the service "sms"
790    ServerMigration,
791
792    /// Corresponds to the service "snowball"
793    Snowball,
794
795    /// Corresponds to the service "sns"
796    SimpleNotification,
797
798    /// Corresponds to the service "sqs"
799    SimpleQueue,
800
801    /// Corresponds to the service "ssm"
802    SimpleSystemsManager,
803
804    /// Corresponds to the service "sso"
805    SingleSignOn,
806
807    /// Corresponds to the service "sso-admin"
808    SingleSignOnAdmin,
809
810    /// Corresponds to the service "sso-oidc"
811    SingleSignOnOpenIdConnect,
812
813    /// Corresponds to the service "stepfunctions"
814    StepFunctions,
815
816    /// Corresponds to the service "storagegateway"
817    StorageGateway,
818
819    /// Corresponds to the service "sts"
820    SecurityToken,
821
822    /// Corresponds to the service "support"
823    Support,
824
825    /// Corresponds to the service "swf"
826    SimpleWorkflow,
827
828    /// Corresponds to the service "synthetics"
829    CloudWatchSynthetics,
830
831    /// Corresponds to the service "textract"
832    Textract,
833
834    /// Corresponds to the service "timestream-query"
835    TimestreamQuery,
836
837    /// Corresponds to the service "timestream-write"
838    TimestreamWrite,
839
840    /// Corresponds to the service "transcribe"
841    Transcribe,
842
843    /// Corresponds to the service "transfer"
844    Transfer,
845
846    /// Corresponds to the service "translate"
847    Translate,
848
849    /// Corresponds to the service "waf"
850    WebApplicationFirewall,
851
852    /// Corresponds to the service "waf-regional"
853    WebApplicationFirewallRegional,
854
855    /// Corresponds to the service "wafv2"
856    WebApplicationFirewallV2,
857
858    /// Corresponds to the service "wellarchitected"
859    WellArchitected,
860
861    /// Corresponds to the service "workdocs"
862    WorkDocs,
863
864    /// Corresponds to the service "worklink"
865    WorkLink,
866
867    /// Corresponds to the service "workmail"
868    WorkMail,
869
870    /// Corresponds to the service "workmailmessageflow"
871    WorkMailMessageFlow,
872
873    /// Corresponds to the service "workspaces"
874    WorkSpaces,
875
876    /// Corresponds to the service "xray"
877    XRay,
878}
879
880// ------------------------------------------------------------------------------------------------
881// Implementations
882// ------------------------------------------------------------------------------------------------
883
884impl Default for Partition {
885    fn default() -> Self {
886        Self::Aws
887    }
888}
889
890// ------------------------------------------------------------------------------------------------
891
892impl From<Partition> for Identifier {
893    fn from(p: Partition) -> Self {
894        match p {
895            Partition::Aws => Identifier::new_unchecked("aws"),
896            Partition::AwsChina => Identifier::new_unchecked("aws-cn"),
897            Partition::AwsUsGov => Identifier::new_unchecked("aws-us-gov"),
898        }
899    }
900}
901
902impl From<Region> for Identifier {
903    fn from(r: Region) -> Self {
904        match r {
905            Region::AfSouth1 => Identifier::new_unchecked("af-south-1"),
906            Region::ApEast1 => Identifier::new_unchecked("ap-east-1"),
907            Region::ApNortheast1 => Identifier::new_unchecked("ap-northeast-1"),
908            Region::ApNortheast2 => Identifier::new_unchecked("ap-northeast-2"),
909            Region::ApNortheast3 => Identifier::new_unchecked("ap-northeast-3"),
910            Region::ApSoutheast1 => Identifier::new_unchecked("ap-southeast-1"),
911            Region::ApSoutheast2 => Identifier::new_unchecked("ap-southeast-2"),
912            Region::ApSouth1 => Identifier::new_unchecked("ap-south-1"),
913            Region::CaCentral1 => Identifier::new_unchecked("ca-central-1"),
914            Region::EuCentral1 => Identifier::new_unchecked("eu-central-1"),
915            Region::EuNorth1 => Identifier::new_unchecked("eu-north-1"),
916            Region::EuSouth1 => Identifier::new_unchecked("eu-south-1"),
917            Region::EuWest1 => Identifier::new_unchecked("eu-west-1"),
918            Region::EuWest2 => Identifier::new_unchecked("eu-west-2"),
919            Region::EuWest3 => Identifier::new_unchecked("eu-west-3"),
920            Region::MeSouth1 => Identifier::new_unchecked("me-south-1"),
921            Region::SaEast1 => Identifier::new_unchecked("sa-east-1"),
922            Region::UsEast1 => Identifier::new_unchecked("us-east-1"),
923            Region::UsEast2 => Identifier::new_unchecked("us-east-2"),
924            Region::UsWest1 => Identifier::new_unchecked("us-west-1"),
925            Region::UsWest2 => Identifier::new_unchecked("us-west-2"),
926        }
927    }
928}
929
930// ------------------------------------------------------------------------------------------------
931
932impl From<Service> for Identifier {
933    fn from(s: Service) -> Self {
934        match s {
935            Service::AccessAnalyzer => Identifier::new_unchecked("accessanalyzer"),
936            Service::CertificateManager => Identifier::new_unchecked("acm"),
937            Service::CertificateManagerPrivateCa => Identifier::new_unchecked("acm-pca"),
938            Service::AlexaForBusiness => Identifier::new_unchecked("alexaforbusiness"),
939            Service::Prometheus => Identifier::new_unchecked("amp"),
940            Service::Amplify => Identifier::new_unchecked("amplify"),
941            Service::AmplifyBackend => Identifier::new_unchecked("amplifybackend"),
942            Service::ApiGateway => Identifier::new_unchecked("apigateway"),
943            Service::ApiGatewayManagementApi => {
944                Identifier::new_unchecked("apigatewaymanagementapi")
945            }
946            Service::ApiGatewayV2 => Identifier::new_unchecked("apigatewayv2"),
947            Service::AppConfig => Identifier::new_unchecked("appconfig"),
948            Service::AppFlow => Identifier::new_unchecked("appflow"),
949            Service::AppIntegrations => Identifier::new_unchecked("appintegrations"),
950            Service::ApplicationAutoscaling => Identifier::new_unchecked("application-autoscaling"),
951            Service::ApplicationInsights => Identifier::new_unchecked("application-insights"),
952            Service::AppMesh => Identifier::new_unchecked("appmesh"),
953            Service::AppStream => Identifier::new_unchecked("appstream"),
954            Service::AppSync => Identifier::new_unchecked("appsync"),
955            Service::Athena => Identifier::new_unchecked("athena"),
956            Service::AuditManager => Identifier::new_unchecked("auditmanager"),
957            Service::AutoScaling => Identifier::new_unchecked("autoscaling"),
958            Service::AutoScalingPlans => Identifier::new_unchecked("autoscaling-plans"),
959            Service::Backup => Identifier::new_unchecked("backup"),
960            Service::Batch => Identifier::new_unchecked("batch"),
961            Service::Braket => Identifier::new_unchecked("braket"),
962            Service::Budgets => Identifier::new_unchecked("budgets"),
963            Service::CostExplorer => Identifier::new_unchecked("ce"),
964            Service::Chime => Identifier::new_unchecked("chime"),
965            Service::Cloud9 => Identifier::new_unchecked("cloud9"),
966            Service::CloudDirectory => Identifier::new_unchecked("clouddirectory"),
967            Service::CloudFormation => Identifier::new_unchecked("cloudformation"),
968            Service::CloudHsm => Identifier::new_unchecked("cloudhsm"),
969            Service::CloudHsmV2 => Identifier::new_unchecked("cloudhsmv2"),
970            Service::CloudSearch => Identifier::new_unchecked("cloudsearch"),
971            Service::CloudSearchDomain => Identifier::new_unchecked("cloudsearchdomain"),
972            Service::CloudTrail => Identifier::new_unchecked("cloudtrail"),
973            Service::CloudWatch => Identifier::new_unchecked("cloudwatch"),
974            Service::CodeArtifact => Identifier::new_unchecked("codeartifact"),
975            Service::CodeBuild => Identifier::new_unchecked("codebuild"),
976            Service::CodeCommit => Identifier::new_unchecked("codecommit"),
977            Service::CodeDeploy => Identifier::new_unchecked("codedeploy"),
978            Service::CodeGuruReviewer => Identifier::new_unchecked("codeguru-reviewer"),
979            Service::CodeGuruProfiler => Identifier::new_unchecked("codeguruprofiler"),
980            Service::CodePipeline => Identifier::new_unchecked("codepipeline"),
981            Service::CodeStar => Identifier::new_unchecked("codestar"),
982            Service::CodeStarConnections => Identifier::new_unchecked("codestar-connections"),
983            Service::CodeStarNotifications => Identifier::new_unchecked("codestar-notifications"),
984            Service::CognitoIdentity => Identifier::new_unchecked("cognito-identity"),
985            Service::CognitoIdentityProvider => Identifier::new_unchecked("cognito-idp"),
986            Service::CognitoSync => Identifier::new_unchecked("cognito-sync"),
987            Service::Comprehend => Identifier::new_unchecked("comprehend"),
988            Service::ComprehendMedical => Identifier::new_unchecked("comprehendmedical"),
989            Service::ComputeOptimizer => Identifier::new_unchecked("compute-optimizer"),
990            Service::Config => Identifier::new_unchecked("config"),
991            Service::Connect => Identifier::new_unchecked("connect"),
992            Service::ConnectContactLens => Identifier::new_unchecked("connect-contact-lens"),
993            Service::ConnectParticipant => Identifier::new_unchecked("connectparticipant"),
994            Service::CostUsageReport => Identifier::new_unchecked("cur"),
995            Service::CustomerProfiles => Identifier::new_unchecked("customer-profiles"),
996            Service::GlueDataBrew => Identifier::new_unchecked("databrew"),
997            Service::DataExchange => Identifier::new_unchecked("dataexchange"),
998            Service::DataPipeline => Identifier::new_unchecked("datapipeline"),
999            Service::DataSync => Identifier::new_unchecked("datasync"),
1000            Service::DynamoDbAccelerator => Identifier::new_unchecked("dax"),
1001            Service::Detective => Identifier::new_unchecked("detective"),
1002            Service::DeviceFarm => Identifier::new_unchecked("devicefarm"),
1003            Service::DevOpsGuru => Identifier::new_unchecked("devops-guru"),
1004            Service::DirectConnect => Identifier::new_unchecked("directconnect"),
1005            Service::Discovery => Identifier::new_unchecked("discovery"),
1006            Service::DataLifecycleManager => Identifier::new_unchecked("dlm"),
1007            Service::DatabaseMigration => Identifier::new_unchecked("dms"),
1008            Service::DocumentDb => Identifier::new_unchecked("docdb"),
1009            Service::DynamoDb => Identifier::new_unchecked("dynamodb"),
1010            Service::DynamoDbStreams => Identifier::new_unchecked("dynamodbstreams"),
1011            Service::ElasticBlockStore => Identifier::new_unchecked("ebs"),
1012            Service::Ec2 => Identifier::new_unchecked("ec2"),
1013            Service::Ec2InstanceConnect => Identifier::new_unchecked("ec2-instance-connect"),
1014            Service::Ec2ContainerRegistry => Identifier::new_unchecked("ecr"),
1015            Service::Ec2containerRegistryPublic => Identifier::new_unchecked("ecr-public"),
1016            Service::Ec2ContainerService => Identifier::new_unchecked("ecs"),
1017            Service::ElasticFileSystem => Identifier::new_unchecked("efs"),
1018            Service::ElasticKubernetes => Identifier::new_unchecked("eks"),
1019            Service::ElasticInference => Identifier::new_unchecked("elastic-inference"),
1020            Service::Elasticache => Identifier::new_unchecked("elasticache"),
1021            Service::ElasticBeanstalk => Identifier::new_unchecked("elasticbeanstalk"),
1022            Service::ElasticTranscoder => Identifier::new_unchecked("elastictranscoder"),
1023            Service::ElasticLoadBalancing => Identifier::new_unchecked("elb"),
1024            Service::ElasticLoadBalancingV2 => Identifier::new_unchecked("elbv2"),
1025            Service::ElasticMapReduce => Identifier::new_unchecked("emr"),
1026            Service::ElasticMapReduceContainers => Identifier::new_unchecked("emr-containers"),
1027            Service::ElasticsearchService => Identifier::new_unchecked("es"),
1028            Service::EventBridge => Identifier::new_unchecked("events"),
1029            Service::Firehose => Identifier::new_unchecked("firehose"),
1030            Service::FaultInjectionSimulator => Identifier::new_unchecked("fis"),
1031            Service::FirewallManagementService => Identifier::new_unchecked("fms"),
1032            Service::ForecastService => Identifier::new_unchecked("forecast"),
1033            Service::ForecastQueryService => Identifier::new_unchecked("forecastquery"),
1034            Service::FraudDetector => Identifier::new_unchecked("frauddetector"),
1035            Service::Fsx => Identifier::new_unchecked("fsx"),
1036            Service::GameLift => Identifier::new_unchecked("gamelift"),
1037            Service::Glacier => Identifier::new_unchecked("glacier"),
1038            Service::GlobalAccelerator => Identifier::new_unchecked("globalaccelerator"),
1039            Service::Glue => Identifier::new_unchecked("glue"),
1040            Service::Greengrass => Identifier::new_unchecked("greengrass"),
1041            Service::GreengrassV2 => Identifier::new_unchecked("greengrassv2"),
1042            Service::GroundStation => Identifier::new_unchecked("groundstation"),
1043            Service::GuardDuty => Identifier::new_unchecked("guardduty"),
1044            Service::Health => Identifier::new_unchecked("health"),
1045            Service::HealthLake => Identifier::new_unchecked("healthlake"),
1046            Service::Honeycode => Identifier::new_unchecked("honeycode"),
1047            Service::IdentityAccessManagement => Identifier::new_unchecked("iam"),
1048            Service::IdentityStore => Identifier::new_unchecked("identitystore"),
1049            Service::ImageBuilder => Identifier::new_unchecked("imagebuilder"),
1050            Service::ImportExport => Identifier::new_unchecked("importexport"),
1051            Service::Inspector => Identifier::new_unchecked("inspector"),
1052            Service::IoT => Identifier::new_unchecked("iot"),
1053            Service::IoTData => Identifier::new_unchecked("iot-data"),
1054            Service::IoTJobsData => Identifier::new_unchecked("iot-jobs-data"),
1055            Service::IoT1clickDevices => Identifier::new_unchecked("iot1click-devices"),
1056            Service::IoT1clickProjects => Identifier::new_unchecked("iot1click-projects"),
1057            Service::IoTAnalytics => Identifier::new_unchecked("iotanalytics"),
1058            Service::IoTDeviceAdvisor => Identifier::new_unchecked("iotdeviceadvisor"),
1059            Service::IoTEvents => Identifier::new_unchecked("iotevents"),
1060            Service::IoTEventsData => Identifier::new_unchecked("iotevents-data"),
1061            Service::IoTFleetHub => Identifier::new_unchecked("iotfleethub"),
1062            Service::IoTSecureTunneling => Identifier::new_unchecked("iotsecuretunneling"),
1063            Service::IoTSitewise => Identifier::new_unchecked("iotsitewise"),
1064            Service::IoTThingsGraph => Identifier::new_unchecked("iotthingsgraph"),
1065            Service::IoTWireless => Identifier::new_unchecked("iotwireless"),
1066            Service::InteractiveVideo => Identifier::new_unchecked("ivs"),
1067            Service::Kafka => Identifier::new_unchecked("kafka"),
1068            Service::Kendra => Identifier::new_unchecked("kendra"),
1069            Service::Kinesis => Identifier::new_unchecked("kinesis"),
1070            Service::KinesisVideoArchivedMedia => {
1071                Identifier::new_unchecked("kinesis-video-archived-media")
1072            }
1073            Service::KinesisVideoMedia => Identifier::new_unchecked("kinesis-video-media"),
1074            Service::KinesisVideoSignaling => Identifier::new_unchecked("kinesis-video-signaling"),
1075            Service::KinesisAnalytics => Identifier::new_unchecked("kinesisanalytics"),
1076            Service::KinesisAnalyticsV2 => Identifier::new_unchecked("kinesisanalyticsv2"),
1077            Service::KinesisVideo => Identifier::new_unchecked("kinesisvideo"),
1078            Service::KeyManagement => Identifier::new_unchecked("kms"),
1079            Service::LakeFormation => Identifier::new_unchecked("lakeformation"),
1080            Service::Lambda => Identifier::new_unchecked("lambda"),
1081            Service::LexModels => Identifier::new_unchecked("lex-models"),
1082            Service::LexRuntime => Identifier::new_unchecked("lex-runtime"),
1083            Service::LexV2Models => Identifier::new_unchecked("lexv2-models"),
1084            Service::LexV2Runtime => Identifier::new_unchecked("lexv2-runtime"),
1085            Service::LicenseManager => Identifier::new_unchecked("license-manager"),
1086            Service::Lightsail => Identifier::new_unchecked("lightsail"),
1087            Service::Location => Identifier::new_unchecked("location"),
1088            Service::CloudWatchLogs => Identifier::new_unchecked("logs"),
1089            Service::LookoutEquipment => Identifier::new_unchecked("lookoutequipment"),
1090            Service::LookoutMetrics => Identifier::new_unchecked("lookoutmetrics"),
1091            Service::LookoutVision => Identifier::new_unchecked("lookoutvision"),
1092            Service::MachineLearning => Identifier::new_unchecked("machinelearning"),
1093            Service::Macie => Identifier::new_unchecked("macie"),
1094            Service::Macie2 => Identifier::new_unchecked("macie2"),
1095            Service::ManagedBlockchain => Identifier::new_unchecked("managedblockchain"),
1096            Service::MarketplaceCatalog => Identifier::new_unchecked("marketplace-catalog"),
1097            Service::MarketplaceEntitlement => Identifier::new_unchecked("marketplace-entitlement"),
1098            Service::MarketplaceCommerceAnalytics => {
1099                Identifier::new_unchecked("marketplacecommerceanalytics")
1100            }
1101            Service::MediaConnect => Identifier::new_unchecked("mediaconnect"),
1102            Service::MediaConvert => Identifier::new_unchecked("mediaconvert"),
1103            Service::MediaLive => Identifier::new_unchecked("medialive"),
1104            Service::MediaPackage => Identifier::new_unchecked("mediapackage"),
1105            Service::MediaPackageVod => Identifier::new_unchecked("mediapackage-vod"),
1106            Service::MediaStore => Identifier::new_unchecked("mediastore"),
1107            Service::MediaStoreData => Identifier::new_unchecked("mediastore-data"),
1108            Service::MediaTailor => Identifier::new_unchecked("mediatailor"),
1109            Service::MarketplaceMetering => Identifier::new_unchecked("meteringmarketplace"),
1110            Service::MigrationHub => Identifier::new_unchecked("mgh"),
1111            Service::ApplicationMigration => Identifier::new_unchecked("mgn"),
1112            Service::MigrationHubConfig => Identifier::new_unchecked("migrationhub-config"),
1113            Service::Mobile => Identifier::new_unchecked("mobile"),
1114            Service::Mq => Identifier::new_unchecked("mq"),
1115            Service::MechanicalTurk => Identifier::new_unchecked("mturk"),
1116            Service::ManagedWorkflowsForApacheAirflow => Identifier::new_unchecked("mwaa"),
1117            Service::Neptune => Identifier::new_unchecked("neptune"),
1118            Service::NetworkFirewall => Identifier::new_unchecked("network-firewall"),
1119            Service::NetworkManager => Identifier::new_unchecked("networkmanager"),
1120            Service::OpsWorks => Identifier::new_unchecked("opsworks"),
1121            Service::OpsWorksCm => Identifier::new_unchecked("opsworkscm"),
1122            Service::Organizations => Identifier::new_unchecked("organizations"),
1123            Service::Outposts => Identifier::new_unchecked("outposts"),
1124            Service::Personalize => Identifier::new_unchecked("personalize"),
1125            Service::PersonalizeEvents => Identifier::new_unchecked("personalize-events"),
1126            Service::PersonalizeRuntime => Identifier::new_unchecked("personalize-runtime"),
1127            Service::PerformanceInsights => Identifier::new_unchecked("pi"),
1128            Service::Pinpoint => Identifier::new_unchecked("pinpoint"),
1129            Service::PinpointEmail => Identifier::new_unchecked("pinpoint-email"),
1130            Service::PinpointSmsVoice => Identifier::new_unchecked("pinpoint-sms-voice"),
1131            Service::Polly => Identifier::new_unchecked("polly"),
1132            Service::Pricing => Identifier::new_unchecked("pricing"),
1133            Service::Qldb => Identifier::new_unchecked("qldb"),
1134            Service::QldbSession => Identifier::new_unchecked("qldb-session"),
1135            Service::QuickSight => Identifier::new_unchecked("quicksight"),
1136            Service::ResourceAccessManager => Identifier::new_unchecked("ram"),
1137            Service::RelationalDatabaseService => Identifier::new_unchecked("rds"),
1138            Service::RdsDataService => Identifier::new_unchecked("rds-data"),
1139            Service::Redshift => Identifier::new_unchecked("redshift"),
1140            Service::RedshiftDataApiService => Identifier::new_unchecked("redshift-data"),
1141            Service::Rekognition => Identifier::new_unchecked("rekognition"),
1142            Service::ResourceGroups => Identifier::new_unchecked("resource-groups"),
1143            Service::ResourceGroupsTaggingApi => {
1144                Identifier::new_unchecked("resourcegroupstaggingapi")
1145            }
1146            Service::RoboMaker => Identifier::new_unchecked("robomaker"),
1147            Service::Route53 => Identifier::new_unchecked("route53"),
1148            Service::Route53Domains => Identifier::new_unchecked("route53domains"),
1149            Service::Route53Resolver => Identifier::new_unchecked("route53resolver"),
1150            Service::S3 => Identifier::new_unchecked("s3"),
1151            Service::S3Control => Identifier::new_unchecked("s3control"),
1152            Service::S3Outposts => Identifier::new_unchecked("s3outposts"),
1153            Service::SageMaker => Identifier::new_unchecked("sagemaker"),
1154            Service::AugmentedAiRuntime => Identifier::new_unchecked("sagemaker-a2i-runtime"),
1155            Service::SagemakerEdgeManager => Identifier::new_unchecked("sagemaker-edge"),
1156            Service::SageMakerFeatureStoreRuntime => {
1157                Identifier::new_unchecked("sagemaker-featurestore-runtime")
1158            }
1159            Service::SageMakerRuntime => Identifier::new_unchecked("sagemaker-runtime"),
1160            Service::SavingsPlans => Identifier::new_unchecked("savingsplans"),
1161            Service::EventBridgeSchemaRegistry => Identifier::new_unchecked("schemas"),
1162            Service::SimpleDb => Identifier::new_unchecked("sdb"),
1163            Service::SecretsManager => Identifier::new_unchecked("secretsmanager"),
1164            Service::SecurityHub => Identifier::new_unchecked("securityhub"),
1165            Service::ServerlessApplicationRepository => Identifier::new_unchecked("serverlessrepo"),
1166            Service::ServiceQuotas => Identifier::new_unchecked("service-quotas"),
1167            Service::ServiceCatalog => Identifier::new_unchecked("servicecatalog"),
1168            Service::ServiceCatalogAppRegistry => {
1169                Identifier::new_unchecked("servicecatalog-appregistry")
1170            }
1171            Service::ServiceDiscovery => Identifier::new_unchecked("servicediscovery"),
1172            Service::SimpleEmail => Identifier::new_unchecked("ses"),
1173            Service::SimpleEmailV2 => Identifier::new_unchecked("sesv2"),
1174            Service::Shield => Identifier::new_unchecked("shield"),
1175            Service::Signer => Identifier::new_unchecked("signer"),
1176            Service::ServerMigration => Identifier::new_unchecked("sms"),
1177            Service::Snowball => Identifier::new_unchecked("snowball"),
1178            Service::SimpleNotification => Identifier::new_unchecked("sns"),
1179            Service::SimpleQueue => Identifier::new_unchecked("sqs"),
1180            Service::SimpleSystemsManager => Identifier::new_unchecked("ssm"),
1181            Service::SingleSignOn => Identifier::new_unchecked("sso"),
1182            Service::SingleSignOnAdmin => Identifier::new_unchecked("sso-admin"),
1183            Service::SingleSignOnOpenIdConnect => Identifier::new_unchecked("sso-oidc"),
1184            Service::StepFunctions => Identifier::new_unchecked("stepfunctions"),
1185            Service::StorageGateway => Identifier::new_unchecked("storagegateway"),
1186            Service::SecurityToken => Identifier::new_unchecked("sts"),
1187            Service::Support => Identifier::new_unchecked("support"),
1188            Service::SimpleWorkflow => Identifier::new_unchecked("swf"),
1189            Service::CloudWatchSynthetics => Identifier::new_unchecked("synthetics"),
1190            Service::Textract => Identifier::new_unchecked("textract"),
1191            Service::TimestreamQuery => Identifier::new_unchecked("timestream-query"),
1192            Service::TimestreamWrite => Identifier::new_unchecked("timestream-write"),
1193            Service::Transcribe => Identifier::new_unchecked("transcribe"),
1194            Service::Transfer => Identifier::new_unchecked("transfer"),
1195            Service::Translate => Identifier::new_unchecked("translate"),
1196            Service::WebApplicationFirewall => Identifier::new_unchecked("waf"),
1197            Service::WebApplicationFirewallRegional => Identifier::new_unchecked("waf-regional"),
1198            Service::WebApplicationFirewallV2 => Identifier::new_unchecked("wafv2"),
1199            Service::WellArchitected => Identifier::new_unchecked("wellarchitected"),
1200            Service::WorkDocs => Identifier::new_unchecked("workdocs"),
1201            Service::WorkLink => Identifier::new_unchecked("worklink"),
1202            Service::WorkMail => Identifier::new_unchecked("workmail"),
1203            Service::WorkMailMessageFlow => Identifier::new_unchecked("workmailmessageflow"),
1204            Service::WorkSpaces => Identifier::new_unchecked("workspaces"),
1205            Service::XRay => Identifier::new_unchecked("xray"),
1206        }
1207    }
1208}