-
Notifications
You must be signed in to change notification settings - Fork 8
/
data.py
4222 lines (4222 loc) · 182 KB
/
data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
aws_arn_data = {
"acm": {
"certificate": {
"arn_format": "arn:{partition}:acm:{region}:{account}:certificate/{resource_id}",
"id_name": "CertificateId",
"id_regexp": "([a-z0-9-]+)",
"asff_name": "AwsCertificateManagerCertificate",
"cloudformation": "AWS::CertificateManager::Certificate",
"terraform": "aws_acm_certificate",
}
},
"acm-pca": {
"certificate_authority": {
"arn_format": "arn:{partition}:acm-pca:{region}:{account}:certificate-authority/{resource_id}",
"id_name": "CertificateAuthorityId",
"id_regexp": "([a-z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::ACMPCA::CertificateAuthority",
"terraform": "aws_acm_certificate_authority",
}
},
"alexaforbusiness": {
"skill": {
"arn_format": "arn:{partition}:aplb:{region}:{account}:skill/{resource_id}",
"id_name": "SkillId",
"id_regexp": "([a-zA-Z0-9_\\-]+)",
"asff_name": "",
"cloudformation": "AWS::AlexaForBusiness::Skill",
"terraform": "aws_alexa_skill",
}
},
"apigateway": {
"api": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{resource_id}",
"id_name": "ApiId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "AwsApiGatewayV2Api",
"cloudformation": "AWS::ApiGateway::RestApi",
"terraform": "aws_api_gateway_rest_api",
},
"api_key": {
"arn_format": "arn:{partition}:apigateway:{region}::/apikeys/{resource_id}",
"id_name": "ApiKeyId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::ApiKey",
"terraform": "aws_api_gateway_api_key",
},
"authorizer": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{api_id}/authorizers/{resource_id}",
"id_name": "AuthorizerId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Authorizer",
"terraform": "aws_api_gateway_authorizer",
},
"base_path_mapping": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{api_id}/basepathmappings/{resource_id}",
"id_name": "BasePathMappingId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::BasePathMapping",
"terraform": "aws_api_gateway_base_path_mapping",
},
"client_certificate": {
"arn_format": "arn:{partition}:apigateway:{region}::/clientcertificates/{resource_id}",
"id_name": "ClientCertificateId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::ClientCertificate",
"terraform": "aws_api_gateway_client_certificate",
},
"deployment": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{api_id}/deployments/{resource_id}",
"id_name": "DeploymentId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Deployment",
"terraform": "aws_api_gateway_deployment",
},
"documentation_part": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{api_id}/documentation/parts/{resource_id}",
"id_name": "DocumentationPartId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::DocumentationPart",
"terraform": "aws_api_gateway_documentation_part",
},
"documentation_version": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{api_id}/documentation/versions/{resource_id}",
"id_name": "DocumentationVersion",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::DocumentationVersion",
"terraform": "aws_api_gateway_documentation_version",
},
"domain_name": {
"arn_format": "arn:{partition}:apigateway:{region}::/domainnames/{resource_id}",
"id_name": "DomainName",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::DomainName",
"terraform": "aws_api_gateway_domain_name",
},
"gateway_response": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/gatewayresponses/{resource_id}",
"id_name": "GatewayResponseId",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::GatewayResponse",
"terraform": "aws_api_gateway_gateway_response",
},
"integration": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/resources/{ResourceId}/methods/{HttpMethod}/integrations/{resource_id}",
"id_name": "IntegrationId",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Integration",
"terraform": "aws_api_gateway_integration",
},
"method": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/resources/{ResourceId}/methods/{resource_id}",
"id_name": "HttpMethod",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Method",
"terraform": "aws_api_gateway_method",
},
"model": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/models/{resource_id}",
"id_name": "ModelName",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Model",
"terraform": "aws_api_gateway_model",
},
"request_validator": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/requestvalidators/{resource_id}",
"id_name": "RequestValidatorId",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::RequestValidator",
"terraform": "aws_api_gateway_request_validator",
},
"resource": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{ApiId}/resources/{resource_id}",
"id_name": "ResourceId",
"id_regexp": "[a-zA-Z0-9\\.\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::Resource",
"terraform": "aws_api_gateway_resource",
},
"rest_api": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{resource_id}",
"id_name": "ApiId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::RestApi",
"terraform": "aws_api_gateway_rest_api",
},
"stage": {
"arn_format": "arn:{partition}:apigateway:{region}::/restapis/{rest_api_id}/stages/{resource_id}",
"id_name": "StageName",
"id_regexp": "[a-zA-Z0-9\\-_]+",
"asff_name": "AwsApiGatewayV2Stage",
"cloudformation": "AWS::ApiGateway::Stage",
"terraform": "aws_api_gateway_stage",
},
"usage_plan": {
"arn_format": "arn:{partition}:apigateway:{region}::/usageplans/{resource_id}",
"id_name": "UsagePlanId",
"id_regexp": "[a-zA-Z0-9\\-]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::UsagePlan",
"terraform": "aws_api_gateway_usage_plan",
},
"usage_plan_key": {
"arn_format": "arn:{partition}:apigateway:{region}::/usageplans/{usage_plan_id}/keys/{resource_id}",
"id_name": "KeyId",
"id_regexp": "[a-zA-Z0-9-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::UsagePlanKey",
"terraform": "aws_api_gateway_usage_plan_key",
},
"vpc_link": {
"arn_format": "arn:{partition}:apigateway:{region}::/vpclinks/{resource_id}",
"id_name": "VpcLinkId",
"id_regexp": "[a-zA-Z0-9\\-_]+",
"asff_name": "",
"cloudformation": "AWS::ApiGateway::VpcLink",
"terraform": "aws_api_gateway_vpc_link",
},
},
"appflow": {
"connector_profile": {
"arn_format": "arn:{partition}:appflow:{region}:{account}:connectorprofile/{resource_id}",
"id_name": "ConnectorProfileName",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppFlow::ConnectorProfile",
"terraform": "aws_appflow_connector_profile",
},
"flow": {
"arn_format": "arn:{partition}:appflow:{region}:{account}:flow/{resource_id}",
"id_name": "FlowName",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppFlow::Flow",
"terraform": "aws_appflow_flow",
},
},
"apprunner": {
"service": {
"arn_format": "arn:{partition}:apprunner:{region}:{account}:service/{resource_id}",
"id_name": "Service",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppRunner::Service",
"terraform": "aws_apprunner_service",
},
"connection": {
"arn_format": "arn:{partition}:apprunner:{region}:{account}:connection/{ConnectionName}/{resource_id}",
"id_name": "Connection",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "",
"terraform": "aws_apprunner_connection",
},
"auto_scaling_configuration": {
"arn_format": "arn:{partition}:apprunner:{region}:{account}:autoscalingconfiguration/{resource_name}/{AutoScalingConfigurationVersion}/{resource_id}",
"id_name": "AutoScalingConfiguration",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppRunner::AutoScalingConfiguration",
"terraform": "aws_apprunner_auto_scaling_configuration_version",
},
"observability_configuration": {
"arn_format": "arn:{Partition}:apprunner:{gegion}:{account}:observabilityconfiguration/{resource_name}/{ObservabilityConfigurationVersion}/{resource_id}",
"id_name": "ObservabilityConfiguration",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppRunner::ObservabilityConfiguration",
"terraform": "aws_apprunner_observability_configuration",
},
"vpc_connector": {
"arn_format": "arn:{partition}:apprunner:{gegion}:{account}:vpcconnector/{resource_name}/{VpcConnectorVersion}/{resource_id}",
"id_name": "VpcConnector",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppRunner::VpcConnector",
"terraform": "aws_apprunner_vpc_connector",
},
"vpc_ingress_connection": {
"arn_format": "arn:{partition}:apprunner:{region}:{account}:vpcingressconnection/{resource_name}/{resource_id}",
"id_name": "vpc_ingress_connection",
"id_regexp": "([a-zA-Z0-9-_]{1,256})",
"asff_name": "",
"cloudformation": "AWS::AppRunner::VpcIngressConnection",
"terraform": "aws_apprunner_vpc_ingress_connection",
},
},
"appstream": {
"directory_config": {
"arn_format": "arn:{partition}:appstream:{region}:{account}:directoryconfig/{resource_id}",
"id_name": "DirectoryConfigName",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::AppStream::DirectoryConfig",
"terraform": "aws_appstream_directory_config",
},
"fleet": {
"arn_format": "arn:{partition}:appstream:{region}:{account}:fleet/{resource_id}",
"id_name": "FleetName",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::AppStream::Fleet",
"terraform": "aws_appstream_fleet",
},
"image": {
"arn_format": "arn:{partition}:appstream:{region}:{account}:image/{resource_id}",
"id_name": "ImageName",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::AppStream::Image",
"terraform": "aws_appstream_image",
},
"image_builder": {
"arn_format": "arn:{partition}:appstream:{region}:{account}:imagebuilder/{resource_id}",
"id_name": "ImageBuilderName",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::AppStream::ImageBuilder",
"terraform": "aws_appstream_image_builder",
},
"stack": {
"arn_format": "arn:{partition}:appstream:{region}:{account}:stack/{resource_id}",
"id_name": "StackName",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::AppStream::Stack",
"terraform": "aws_appstream_stack",
},
},
"athena": {
"workgroup": {
"arn_format": "arn:{partition}:athena:{region}:{account}:workgroup/{resource_id}",
"id_name": "WorkGroupName",
"id_regexp": "([a-zA-Z0-9._-]+)",
"asff_name": "",
"cloudformation": "AWS::Athena::WorkGroup",
"terraform": "aws_athena_workgroup",
}
},
"augmentedairuntime": {
"human_loop": {
"arn_format": "arn:{partition}:sagemaker:{region}:{account}:human-loop/{resource_id}",
"id_name": "HumanLoopName",
"id_regexp": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*",
"asff_name": "",
"cloudformation": "AWS::SageMaker::HumanTaskUi",
"terraform": "aws_sagemaker_human_task_ui",
}
},
"autoscaling": {
"auto_scaling_group": {
"arn_format": "arn:{partition}:autoscaling:{region}:{account}:autoScalingGroup/{resource_id}",
"id_name": "AutoScalingGroupName",
"id_regexp": "[a-zA-Z0-9-]{1,255}",
"asff_name": "AwsAutoScalingAutoScalingGroup",
"cloudformation": "AWS::AutoScaling::AutoScalingGroup",
"terraform": "aws_autoscaling_group",
},
"launch_configuration": {
"arn_format": "arn:{partition}:autoscaling:{region}:{account}:launchConfiguration/{resource_id}",
"id_name": "LaunchConfigurationName",
"id_regexp": "[a-zA-Z0-9-]{1,255}",
"asff_name": "AwsAutoScalingLaunchConfiguration",
"cloudformation": "AWS::AutoScaling::LaunchConfiguration",
"terraform": "aws_launch_configuration",
},
},
"backup": {
"backup_plan": {
"arn_format": "arn:{partition}:backup:{region}:{account}:backup-plan/{resource_id}",
"id_name": "BackupPlanId",
"id_regexp": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"asff_name": "AwsBackupBackupPlan",
"cloudformation": "AWS::Backup::BackupPlan",
"terraform": "aws_backup_plan",
},
"backup_vault": {
"arn_format": "arn:{partition}:backup:{region}:{account}:backup-vault/{resource_id}",
"id_name": "BackupVaultName",
"id_regexp": "^[a-zA-Z0-9_-]{1,50}$",
"asff_name": "AwsBackupBackupVault",
"cloudformation": "AWS::Backup::BackupVault",
"terraform": "aws_backup_vault",
},
"recovery_plan": {
"arn_format": "arn:{partition}:backup:{region}:{account}:recoveryplan/{resource_id}",
"id_name": "RecoveryPlanName",
"id_regexp": "^[a-zA-Z0-9\\-\\_\\.]+$",
"asff_name": "AwsBackupRecoveryPoint",
"cloudformation": "AWS::Backup::RecoveryPlan",
"terraform": "aws_backup_recovery_point",
},
},
"batch": {
"compute_environment": {
"arn_format": "arn:{partition}:batch:{region}:{account}:compute-environment/{resource_id}",
"id_name": "ComputeEnvironmentName",
"id_regexp": "[a-zA-Z0-9_-]+",
"asff_name": "",
"cloudformation": "AWS::Batch::ComputeEnvironment",
"terraform": "aws_batch_compute_environment",
},
"job_definition": {
"arn_format": "arn:{partition}:batch:{region}:{account}:job-definition/{resource_id}:{version}",
"id_name": "JobDefinitionName",
"version_name": "JobDefinitionVersion",
"id_regexp": "[a-zA-Z0-9_-]+",
"version_regexp": "[a-zA-Z0-9_-]+",
"asff_name": "",
"cloudformation": "AWS::Batch::JobDefinition",
"terraform": "aws_batch_job_definition",
},
"job_queue": {
"arn_format": "arn:{partition}:batch:{region}:{account}:job-queue/{resource_id}",
"id_name": "JobQueueName",
"id_regexp": "[a-zA-Z0-9_-]+",
"asff_name": "",
"cloudformation": "AWS::Batch::JobQueue",
"terraform": "aws_batch_job_queue",
},
},
"budgets": {
"budget": {
"arn_format": "arn:{partition}:budgets:{region}:{account}:budget/{resource_id}",
"id_name": "BudgetName",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::Budgets::Budget",
"terraform": "aws_budgets_budget",
}
},
"cloud9": {
"environment": {
"arn_format": "arn:{partition}:cloud9:{region}:{account}:environment:{resource_id}",
"id_name": "EnvironmentId",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::Cloud9::EnvironmentEC2",
"terraform": "aws_cloud9_environment_ec2",
}
},
"cloudformation": {
"change_set": {
"arn_format": "arn:{partition}:cloudformation:{region}:{account}:changeSet/{resource_id}",
"id_name": "ChangeSetId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::CloudFormation::ChangeSet",
"terraform": "aws_cloudformation_change_set",
},
"stack": {
"arn_format": "arn:{partition}:cloudformation:{region}:{account}:stack/{resource_id}/{stack_id}",
"id_name": "StackName",
"id_regexp": "([a-zA-Z][-a-zA-Z0-9]*)",
"asff_name": "AwsCloudFormationStack",
"cloudformation": "AWS::CloudFormation::Stack",
"terraform": "aws_cloudformation_stack",
},
"stack_set": {
"arn_format": "arn:{partition}:cloudformation:{region}:{account}:stackset/{resource_id}/{stack_id}",
"id_name": "StackSetName",
"id_regexp": "([a-zA-Z][-a-zA-Z0-9]*)",
"asff_name": "",
"cloudformation": "AWS::CloudFormation::StackSet",
"terraform": "aws_cloudformation_stack_set",
},
},
"cloudfront": {
"distribution": {
"arn_format": "arn:{partition}:cloudfront::{account}:distribution/{resource_id}",
"id_name": "DistributionId",
"id_regexp": "[A-Z0-9]+",
"asff_name": "AwsCloudFrontDistribution",
"cloudformation": "AWS::CloudFront::Distribution",
"terraform": "aws_cloudfront_distribution",
},
"field_level_encryption_config": {
"arn_format": "arn:{partition}:cloudfront::{account}:field-level-encryption-config/{resource_id}",
"id_name": "FieldLevelEncryptionConfigId",
"id_regexp": "[A-Z0-9]+",
"asff_name": "",
"cloudformation": "AWS::CloudFront::FieldLevelEncryptionConfig",
"terraform": "aws_cloudfront_field_level_encryption_config",
},
"field_level_encryption_profile": {
"arn_format": "arn:{partition}:cloudfront::{account}:field-level-encryption-profile/{resource_id}",
"id_name": "FieldLevelEncryptionProfileId",
"id_regexp": "[A-Z0-9]+",
"asff_name": "",
"cloudformation": "AWS::CloudFront::FieldLevelEncryptionProfile",
"terraform": "aws_cloudfront_field_level_encryption_profile",
},
"realtime_log_config": {
"arn_format": "arn:{partition}:cloudfront::{account}:realtime-log-config/{resource_id}",
"id_name": "RealtimeLogConfigId",
"id_regexp": "[A-Z0-9]+",
"asff_name": "",
"cloudformation": "AWS::CloudFront::RealtimeLogConfig",
"terraform": "aws_cloudfront_realtime_log_config",
},
},
"cloudhsmv2": {
"cluster": {
"arn_format": "arn:{partition}:cloudhsmv2:{region}:{account}:cluster/{resource_id}",
"id_name": "ClusterId",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::CloudHSMV2::Cluster",
"terraform": "aws_cloudhsmv2_cluster",
},
"backup": {
"arn_format": "arn:{partition}:cloudhsmv2:{region}:{account}:backup/{resource_id}",
"id_name": "BackupId",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::CloudHSMV2::Backup",
"terraform": "aws_cloudhsmv2_backup",
},
"hsm": {
"arn_format": "arn:{partition}:cloudhsmv2:{region}:{account}:cluster/{resource_id}/hsm/{hsm_id}",
"id_name": "HsmId",
"id_regexp": "[a-zA-Z0-9-]+",
"asff_name": "",
"cloudformation": "AWS::CloudHSMV2::Hsm",
"terraform": "aws_cloudhsmv2_hsm",
},
},
"cloudtrail": {
"event_data_store": {
"arn_format": "arn:{partition}:cloudtrail:{region}:{account}:eventdatastore/{resource_id}",
"id_name": "EventDataStoreName",
"id_regexp": "[a-zA-Z0-9-_\\.]+",
"asff_name": "",
"cloudformation": "AWS::CloudTrail::EventDataStore",
"terraform": "aws_cloudtrail_event_data_store",
},
"trail": {
"arn_format": "arn:{partition}:cloudtrail:{region}:{account}:trail/{resource_id}",
"id_name": "TrailName",
"id_regexp": "[a-zA-Z0-9-_\\.]+",
"asff_name": "AwsCloudTrailTrail",
"cloudformation": "AWS::CloudTrail::Trail",
"terraform": "aws_cloudtrail",
}
},
"cloudwatch": {
"alarm": {
"arn_format": "arn:{partition}:cloudwatch:{region}:{account}:alarm:{resource_id}",
"id_name": "AlarmName",
"id_regexp": "^[a-zA-Z0-9\\-_]{1,255}$",
"asff_name": "AwsCloudWatchAlarm",
"cloudformation": "AWS::CloudWatch::Alarm",
"terraform": "aws_cloudwatch_metric_alarm",
},
"dashboard": {
"arn_format": "arn:{partition}:cloudwatch::{account}:dashboard/{resource_id}",
"id_name": "DashboardName",
"id_regexp": "^[a-zA-Z0-9-_ ]{3,255}$",
"asff_name": "",
"cloudformation": "AWS::CloudWatch::Dashboard",
"terraform": "aws_cloudwatch_dashboard",
},
},
"codeartifact": {
"domain": {
"arn_format": "arn:{partition}:codeartifact:{region}:{account}:domain/{resource_id}",
"id_name": "DomainName",
"id_regexp": "([a-zA-Z0-9._-]+)",
"asff_name": "",
"cloudformation": "AWS::CodeArtifact::Domain",
"terraform": "aws_codeartifact_domain",
},
"repository": {
"arn_format": "arn:{partition}:codeartifact:{region}:{account}:repository/{domain_name}/{resource_id}",
"id_name": "RepositoryName",
"id_regexp": "([a-zA-Z0-9._-]+)",
"asff_name": "",
"cloudformation": "AWS::CodeArtifact::Repository",
"terraform": "aws_codeartifact_repository",
},
"package": {
"arn_format": "arn:{partition}:codeartifact:{region}:{account}:repository/{domain_name}/{repository_name}/package/{package_format}/{resource_id}@{package_version}",
"id_name": "PackageName",
"id_regexp": "([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)",
"asff_name": "",
"cloudformation": "AWS::CodeArtifact::Package",
"terraform": "aws_codeartifact_package",
},
},
"codebuild": {
"project": {
"arn_format": "arn:{partition}:codebuild:{region}:{account}:project/{resource_id}",
"id_name": "ProjectName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "AwsCodeBuildProject",
"cloudformation": "AWS::CodeBuild::Project",
"terraform": "aws_codebuild_project",
}
},
"codecommit": {
"repository": {
"arn_format": "arn:{partition}:codecommit:{region}:{account}:{resource_id}",
"id_name": "RepositoryName",
"id_regexp": "([a-zA-Z0-9_.-]+)",
"asff_name": "",
"cloudformation": "AWS::CodeCommit::Repository",
"terraform": "aws_codecommit_repository",
}
},
"codedeploy": {
"application": {
"arn_format": "arn:{partition}:codedeploy:{region}:{account}:application:{resource_id}",
"id_name": "ApplicationName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::CodeDeploy::Application",
"terraform": "aws_codedeploy_app",
},
"deployment_config": {
"arn_format": "arn:{partition}:codedeploy:{region}:{account}:deploymentconfig:{resource_id}",
"id_name": "DeploymentConfigName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::CodeDeploy::DeploymentConfig",
"terraform": "aws_codedeploy_deployment_config",
},
"deployment_group": {
"arn_format": "arn:{partition}:codedeploy:{region}:{account}:deploymentgroup:{resource_id}",
"id_name": "ApplicationName/DeploymentGroupName",
"id_regexp": "([a-zA-Z0-9-_]+/[a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::CodeDeploy::DeploymentGroup",
"terraform": "aws_codedeploy_deployment_group",
},
},
"codepipeline": {
"pipeline": {
"arn_format": "arn:{partition}:codepipeline:{region}:{account}:{resource_type}/{resource_id}",
"id_name": "PipelineName",
"id_regexp": "([a-zA-Z0-9_\\-]+)",
"asff_name": "",
"cloudformation": "AWS::CodePipeline::Pipeline",
"terraform": "aws_codepipeline",
}
},
"codestar-connections": {
"connection": {
"arn_format": "arn:{partition}:codestar-connections:{region}:{account}:connection/{resource_id}",
"id_name": "ConnectionName",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::CodeStarConnections::Connection",
"terraform": "aws_codestarconnections_connection",
}
},
"codestar-notifications": {
"rule": {
"arn_format": "arn:{partition}:codestar-notifications:{region}:{account}:notificationrule/{resource_id}",
"id_name": "NotificationRuleId",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::CodeStarNotifications::NotificationRule",
"terraform": "aws_codestarnotifications_notification_rule",
}
},
"cognito-idp": {
"identity_provider": {
"arn_format": "arn:{partition}:cognito-idp:{region}:{account}:userpool/{user_pool_id}:identityprovider/{resource_id}",
"id_name": "IdentityProviderName",
"id_regexp": "([a-zA-Z0-9_\\.\\-]+)",
"asff_name": "",
"cloudformation": "AWS::Cognito::UserPoolIdentityProvider",
"terraform": "aws_cognito_identity_provider",
},
"resource_server": {
"arn_format": "arn:{partition}:cognito-idp:{region}:{account}:userpool/{user_pool_id}/resource-server/{resource_id}",
"id_name": "ResourceServerIdentifier",
"id_regexp": "([a-zA-Z0-9_\\.\\-]+)",
"asff_name": "",
"cloudformation": "AWS::Cognito::UserPoolResourceServer",
"terraform": "aws_cognito_user_pool_resource_server",
},
"user_pool": {
"arn_format": "arn:{partition}:cognito-idp:{region}:{account}:userpool/{resource_id}",
"id_name": "UserPoolId",
"id_regexp": "([a-zA-Z0-9_\\.\\-]+)",
"asff_name": "",
"cloudformation": "AWS::Cognito::UserPool",
"terraform": "aws_cognito_user_pool",
},
},
"comprehend": {
"document_classifier": {
"arn_format": "arn:{partition}:comprehend:{region}:{account}:document-classifier/{resource_id}",
"id_name": "DocumentClassifierName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Comprehend::DocumentClassifier",
"terraform": "aws_comprehend_document_classifier",
},
"entity_recognizer": {
"arn_format": "arn:{partition}:comprehend:{region}:{account}:entity-recognizer/{resource_id}",
"id_name": "EntityRecognizerName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Comprehend::EntityRecognizer",
"terraform": "aws_comprehend_entity_recognizer",
},
"key_phrases_detection_job": {
"arn_format": "arn:{partition}:comprehend:{region}:{account}:key-phrases-detection-job/{resource_id}",
"id_name": "KeyPhrasesDetectionJobName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Comprehend::KeyPhrasesDetectionJob",
"terraform": "aws_comprehend_key_phrases_detection_job",
},
"sentiment_detection_job": {
"arn_format": "arn:{partition}:comprehend:{region}:{account}:sentiment-detection-job/{resource_id}",
"id_name": "SentimentDetectionJobName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Comprehend::SentimentDetectionJob",
"terraform": "aws_comprehend_sentiment_detection_job",
},
"topic_detection_job": {
"arn_format": "arn:{partition}:comprehend:{region}:{account}:topic-detection-job/{resource_id}",
"id_name": "TopicDetectionJobName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Comprehend::TopicDetectionJob",
"terraform": "aws_comprehend_topic_detection_job",
},
},
"compute-optimizer": {
"recommendation_export_job": {
"arn_format": "arn:{partition}:compute-optimizer:{region}:{account}:recommendation-export-job/{resource_id}",
"id_name": "ExportJobId",
"id_regexp": "([a-z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::ComputeOptimizer::RecommendationExportJob",
"terraform": "aws_compute_optimizer_export_destination",
}
},
"config": {
"aggregator": {
"arn_format": "arn:{partition}:config:{region}:{account}:config-aggregator/{resource_id}",
"id_name": "ConfigAggregatorName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::Aggregator",
"terraform": "aws_config_configuration_aggregator",
},
"conformance_pack": {
"arn_format": "arn:{partition}:config:{region}:{account}:conformance-pack/{resource_id}",
"id_name": "ConformancePackName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::ConformancePack",
"terraform": "aws_config_conformance_pack",
},
"config_rule": {
"arn_format": "arn:{partition}:config:{region}:{account}:config-rule/{resource_id}",
"id_name": "ConfigRuleName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::ConfigRule",
"terraform": "aws_config_config_rule",
},
"organization_config_rule": {
"arn_format": "arn:{partition}:config:{region}:{account}:organization-config-rule/{resource_id}",
"id_name": "OrganizationConfigRuleName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::OrganizationConfigRule",
"terraform": "aws_config_organization_custom_rule",
},
"remediation_configuration": {
"arn_format": "arn:{partition}:config:{region}:{account}:remediation-configuration/{resource_id}",
"id_name": "RemediationConfigurationName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::RemediationConfiguration",
"terraform": "aws_config_remediation_configuration",
},
"config_recorder": {
"arn_format": "arn:{partition}:config:{region}:{account}:config_recorder/{resource_id}",
"id_name": "ConfigRecorderName",
"id_regexp": "([a-zA-Z0-9-_]+)",
"asff_name": "",
"cloudformation": "AWS::Config::ConfigurationRecorder",
"terraform": "aws_config_configuration_recorder",
},
},
"cur": {
"report_definition": {
"arn_format": "arn:{partition}:cur:{region}:{account}:{ReportName}-{YYYYMM}-{AdditionalArtifact}-{region}-{account}",
"id_name": "ReportName",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::CUR::ReportDefinition",
"terraform": "aws_cur_report_definition",
}
},
"dataexchange": {
"asset": {
"arn_format": "arn:{partition}:dataexchange:{region}:{account}:asset/{resource_id}",
"id_name": "AssetId",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DataExchange::Asset",
"terraform": "aws_dataexchange_asset",
},
"data_set": {
"arn_format": "arn:{partition}:dataexchange:{region}:{account}:data-sets/{resource_id}",
"id_name": "DataSetId",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DataExchange::DataSet",
"terraform": "aws_dataexchange_data_set",
},
"job": {
"arn_format": "arn:{partition}:dataexchange:{region}:{account}:job/{resource_id}",
"id_name": "JobId",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DataExchange::Job",
"terraform": "aws_dataexchange_job",
},
"revision": {
"arn_format": "arn:{partition}:dataexchange:{region}:{account}:revision/{resource_id}",
"id_name": "RevisionId",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DataExchange::Revision",
"terraform": "aws_dataexchange_revision",
},
},
"datapipeline": {
"pipeline": {
"arn_format": "arn:{partition}:datapipeline:{region}:{account}:{resource_type}/{resource_id}",
"id_name": "PipelineId",
"id_regexp": "([a-zA-Z0-9_-]+)",
"asff_name": "",
"cloudformation": "AWS::DataPipeline::Pipeline",
"terraform": "aws_datapipeline_pipeline",
}
},
"dax": {
"cluster": {
"arn_format": "arn:{partition}:dax:{region}:{account}:cluster:{resource_id}",
"id_name": "ClusterName",
"id_regexp": "([a-zA-Z0-9_.-]+)",
"asff_name": "",
"cloudformation": "AWS::DAX::Cluster",
"terraform": "aws_dax_cluster",
}
},
"devicefarm": {
"project": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:project:{resource_id}",
"id_name": "ProjectArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::Project",
"terraform": "aws_devicefarm_project",
},
"device_instance": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:device-instance:{resource_id}",
"id_name": "DeviceInstanceArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::DeviceInstance",
"terraform": "aws_devicefarm_device_instance",
},
"device_pool": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:devicepool:{resource_id}",
"id_name": "DevicePoolArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::DevicePool",
"terraform": "aws_devicefarm_device_pool",
},
"run": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:run:{resource_id}",
"id_name": "RunArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::Run",
"terraform": "aws_devicefarm_run",
},
"job": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:job:{resource_id}",
"id_name": "JobArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::Job",
"terraform": "aws_devicefarm_job",
},
"suite": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:suite:{resource_id}",
"id_name": "SuiteArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::Suite",
"terraform": "aws_devicefarm_suite",
},
"test": {
"arn_format": "arn:{partition}:devicefarm:{region}:{account}:test:{resource_id}",
"id_name": "TestArnSuffix",
"id_regexp": "([a-zA-Z0-9-_.]+)",
"asff_name": "",
"cloudformation": "AWS::DeviceFarm::Test",
"terraform": "aws_devicefarm_test",
},
},
"directconnect": {
"connection": {
"arn_format": "arn:{partition}:directconnect:{region}:{account}:dxcon:{resource_id}",
"id_name": "ConnectionId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectConnect::Connection",
"terraform": "aws_dx_connection",
},
"link_aggregation_group": {
"arn_format": "arn:{partition}:directconnect:{region}:{account}:linkaggregations:{resource_id}",
"id_name": "LagId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectConnect::LinkAggregationGroup",
"terraform": "aws_dx_lag",
},
"private_virtual_interface": {
"arn_format": "arn:{partition}:directconnect:{region}:{account}:dxvif:{resource_id}",
"id_name": "VirtualInterfaceId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectConnect::PrivateVirtualInterface",
"terraform": "aws_dx_private_virtual_interface",
},
"public_virtual_interface": {
"arn_format": "arn:{partition}:directconnect:{region}:{account}:dxvif:{resource_id}",
"id_name": "VirtualInterfaceId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectConnect::PublicVirtualInterface",
"terraform": "aws_dx_public_virtual_interface",
},
"transit_virtual_interface": {
"arn_format": "arn:{partition}:directconnect:{region}:{account}:dxvif:{resource_id}",
"id_name": "VirtualInterfaceId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectConnect::TransitVirtualInterface",
"terraform": "aws_dx_transit_virtual_interface",
},
},
"ds": {
"directory": {
"arn_format": "arn:{partition}:ds:{region}:{account}:directory/{resource_id}",
"id_name": "DirectoryId",
"id_regexp": "([a-zA-Z0-9-]+)",
"asff_name": "",
"cloudformation": "AWS::DirectoryService::MicrosoftAD",
"terraform": "aws_directory_service_directory",
},
},
"dynamodb": {
"table": {
"arn_format": "arn:{partition}:dynamodb:{region}:{account}:table/{resource_id}",
"id_name": "TableName",
"id_regexp": "([a-zA-Z0-9_.-]+)",
"asff_name": "AwsDynamoDbTable",
"cloudformation": "AWS::DynamoDB::Table",
"terraform": "aws_dynamodb_table",
}
},
"ec2": {
"customer_gateway": {
"arn_format": "arn:{partition}:ec2:{region}:{account}:customer-gateway/{resource_id}",
"id_name": "CustomerGatewayId",
"id_regexp": "^cgw-[a-f0-9]{8}$",
"asff_name": "AwsEc2CustomerGateway",
"cloudformation": "AWS::EC2::CustomerGateway",
"terraform": "aws_customer_gateway",
},
"dedicated_host": {
"arn_format": "arn:{partition}:ec2:{region}:{account}:host/{resource_id}",
"id_name": "DedicatedHostId",
"id_regexp": "^h-[0-9a-f]{17}$",
"asff_name": "AwsEc2DedicatedHost",
"cloudformation": "AWS::EC2::Host",
"terraform": "aws_ec2_host",
},
"dhcp_options": {
"arn_format": "arn:{partition}:ec2:{region}:{account}:dhcp-options/{resource_id}",
"id_name": "DhcpOptionsId",
"id_regexp": "^dopt-[0-9a-fA-F]{8,17}$",
"asff_name": "AwsEc2DhcpOptions",
"cloudformation": "AWS::EC2::DHCPOptions",
"terraform": "aws_dhcp_options",
},
"egress_only_internet_gateway": {
"arn_format": "arn:{partition}:ec2:{region}:{account}:egress-only-internet-gateway/{resource_id}",
"id_name": "EgressOnlyInternetGatewayId",
"id_regexp": "^egress-only-igw-[a-f0-9]{8,17}$",
"asff_name": "AwsEc2EgressOnlyInternetGateway",
"cloudformation": "AWS::EC2::EgressOnlyInternetGateway",
"terraform": "aws_egress_only_internet_gateway",
},
"elastic_gpu": {
"arn_format": "arn:{partition}:ec2:{region}:{account}:elastic-gpu/{resource_id}",
"id_name": "ElasticGpuId",
"id_regexp": "^egp-[0-9a-f]{8,17}$",
"asff_name": "AwsEc2ElasticGpu",
"cloudformation": "AWS::EC2::ElasticGpu",
"terraform": "",
},
"elastic_inference_accelerator": {
"arn_format": "arn:{partition}:elastic-inference:{region}:{account}:accelerator/{resource_id}",
"id_name": "AcceleratorId",
"id_regexp": "^eia-[0-9a-f]{17}$",
"asff_name": "AwsElasticInferenceAccelerator",
"cloudformation": "AWS::ElasticInference::Accelerator",
"terraform": "aws_eia_accelerator",
},