link2aws 1.0.0 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +47 -5
  2. package/link2aws +11 -0
  3. package/link2aws.js +969 -943
  4. package/package.json +8 -4
package/link2aws.js CHANGED
@@ -4,22 +4,28 @@ class ARN {
4
4
  constructor(text) {
5
5
  text = text.trim();
6
6
 
7
+ // split into tokens; leaving resource-id with colons together
8
+ var firstTokens = text.split(':');
9
+ var tokens = firstTokens.splice(0, 6);
10
+ if (firstTokens.length > 0) {
11
+ tokens.push(firstTokens.join(':'));
12
+ }
13
+
7
14
  // arn:partition:service:region:account-id:...
8
- var tokens = text.split(":", 7);
9
15
  this.prefix = tokens[0];
10
16
  this.partition = tokens[1];
11
17
  this.service = tokens[2];
12
18
  this.region = tokens[3];
13
19
  this.account = tokens[4];
14
20
 
15
- // ...:resource-type:resource-id
21
+ // ...:resource-type:resource-id (resource-id can contain colons!)
16
22
  if (typeof (tokens[6]) != 'undefined') {
17
23
  this.resource_type = tokens[5];
18
24
  this.resource = tokens[6];
19
25
  this.hasPath = false;
20
26
  }
21
27
 
22
- // ...:resource-type/resource-id
28
+ // ...:resource-type/resource-id (resource-id can contain slashes!)
23
29
  else if (typeof (tokens[5]) != 'undefined' && tokens[5].indexOf('/') > 0) {
24
30
  this.resource_type = tokens[5].slice(0, tokens[5].indexOf('/'));
25
31
  this.resource = tokens[5].slice(tokens[5].indexOf('/') + 1, tokens[5].length);
@@ -37,6 +43,8 @@ class ARN {
37
43
  else {
38
44
  throw Error("Bad number of tokens");
39
45
  }
46
+
47
+ this._linkTemplates = this._getLinkTemplates();
40
48
  }
41
49
 
42
50
  get string() {
@@ -62,6 +70,10 @@ class ARN {
62
70
  }
63
71
  }
64
72
 
73
+ get qualifiers() {
74
+ return this.resource.split(':');
75
+ }
76
+
65
77
  get pathLast() {
66
78
  // Example: "aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport" -> "AWSServiceRoleForSupport"
67
79
  return this.resource.substr(this.resource.lastIndexOf('/') + 1, this.resource.length);
@@ -85,946 +97,960 @@ class ARN {
85
97
  return template(this);
86
98
  }
87
99
 
88
- _linkTemplates = {
89
- "a4b": { // Alexa for Business
90
- "address-book": null,
91
- "conference-provider": null,
92
- "contact": null,
93
- "device": null,
94
- "network-profile": null,
95
- "profile": null,
96
- "room": null,
97
- "schedule": null,
98
- "skill-group": null,
99
- "user": null,
100
- },
101
- "access-analyzer": { // IAM Access Analyzer
102
- "analyzer": null,
103
- },
104
- "acm": { // AWS Certificate Manager
105
- "certificate": () => `https://${this.console}/acm/home?region=${this.region}#/?id=${this.resource}`,
106
- },
107
- "acm-pca": { // AWS Certificate Manager Private Certificate Authority
108
- "certificate-authority": null,
109
- },
110
- "amplify": { // AWS Amplify
111
- "apps": null,
112
- },
113
- "apigateway": { // Manage Amazon API Gateway
114
- "": null,
115
- },
116
- "appconfig": { // AWS AppConfig
117
- "application": null,
118
- "deploymentstrategy": null,
119
- },
120
- "appflow": { // Amazon AppFlow
121
- "connectorprofile": null,
122
- "flow": null,
123
- },
124
- "appmesh": { // AWS App Mesh
125
- "mesh": null,
126
- },
127
- "appmesh-preview": { // AWS App Mesh Preview
128
- "mesh": null,
129
- },
130
- "appstream": { // Amazon AppStream 2.0
131
- "fleet": null,
132
- "image": null,
133
- "image-builder": null,
134
- "stack": null,
135
- },
136
- "appsync": { // AWS AppSync
137
- "apis": null,
138
- },
139
- "artifact": { // AWS Artifact
140
- "agreement": null,
141
- "customer-agreement": null,
142
- "report-package": null,
143
- },
144
- "athena": { // Amazon Athena
145
- "datacatalog": null,
146
- "workgroup": null,
147
- },
148
- "autoscaling": { // Amazon EC2 Auto Scaling
149
- "autoScalingGroup": null,
150
- "launchConfiguration": null,
151
- },
152
- "aws-marketplace": { // AWS Marketplace Catalog
153
- },
154
- "backup": { // AWS Backup
155
- "backup-plan": null,
156
- "backup-vault": null,
157
- },
158
- "batch": { // AWS Batch
159
- "job-definition": null,
160
- "job-queue": null,
161
- },
162
- "budgets": { // AWS Budget Service
163
- "budget": null,
164
- },
165
- "cassandra": { // Amazon Keyspaces (for Apache Cassandra)
166
- "": null,
167
- },
168
- "catalog": { // AWS Service Catalog
169
- "portfolio": null,
170
- "product": null,
171
- },
172
- "chatbot": { // AWS Chatbot
173
- },
174
- "chime": { // Amazon Chime
175
- "meeting": null,
176
- },
177
- "cloud9": { // AWS Cloud9
178
- "environment": null,
179
- },
180
- "clouddirectory": { // Amazon Cloud Directory
181
- "directory": null,
182
- "schema": null,
183
- },
184
- "cloudformation": { // AWS CloudFormation
185
- "changeSet": null,
186
- "stack": null,
187
- "stackset": null,
188
- },
189
- "cloudfront": { // Amazon CloudFront
190
- "distribution": null,
191
- "origin-access-identity": null,
192
- "streaming-distribution": null,
193
- },
194
- "cloudhsm": { // AWS CloudHSM
195
- "backup": null,
196
- "cluster": null,
197
- },
198
- "cloudsearch": { // Amazon CloudSearch
199
- "domain": null,
200
- },
201
- "cloudtrail": { // AWS CloudTrail
202
- "trail": null,
203
- },
204
- "cloudwatch": { // Amazon CloudWatch
205
- "alarm": null,
206
- "dashboard": null,
207
- "insight-rule": null,
208
- },
209
- "codeartifact": { // AWS CodeArtifact
210
- "domain": null,
211
- "package": null,
212
- "repository": null,
213
- },
214
- "codebuild": { // AWS CodeBuild
215
- "build": null,
216
- "project": null,
217
- "report": null,
218
- "report-group": null,
219
- },
220
- "codecommit": { // Amazon CodeGuru Reviewer
221
- },
222
- "codedeploy": { // AWS CodeDeploy
223
- "application": null,
224
- "deploymentconfig": null,
225
- "deploymentgroup": null,
226
- "instance": null,
227
- },
228
- "codeguru-profiler": { // Amazon CodeGuru Profiler
229
- "profilingGroup": null,
230
- },
231
- "codeguru-reviewer": { // Amazon CodeGuru Reviewer
232
- ".+": null,
233
- "association": null,
234
- },
235
- "codepipeline": { // AWS CodePipeline
236
- "actiontype": null,
237
- "webhook": null,
238
- },
239
- "codestar": { // AWS CodeStar
240
- "project": null,
241
- },
242
- "codestar-connections": { // AWS CodeStar Connections
243
- "connection": null,
244
- },
245
- "codestar-notifications": { // AWS CodeStar Notifications
246
- "notificationrule": null,
247
- },
248
- "cognito-identity": { // Amazon Cognito Identity
249
- "identitypool": null,
250
- },
251
- "cognito-idp": { // Amazon Cognito User Pools
252
- "userpool": null,
253
- },
254
- "cognito-sync": { // Amazon Cognito Sync
255
- "identitypool": null,
256
- },
257
- "comprehend": { // Amazon Comprehend
258
- "document-classifier": null,
259
- "document-classifier-endpoint": null,
260
- "entity-recognizer": null,
261
- },
262
- "config": { // AWS Config
263
- "aggregation-authorization": null,
264
- "config-aggregator": null,
265
- "config-rule": null,
266
- "conformance-pack": null,
267
- "organization-config-rule": null,
268
- "organization-conformance-pack": null,
269
- "remediation-configuration": null,
270
- },
271
- "connect": { // Amazon Connect
272
- "instance": null,
273
- },
274
- "cur": { // AWS Cost and Usage Report
275
- "definition": null,
276
- },
277
- "dataexchange": { // AWS Data Exchange
278
- "data-sets": null,
279
- "jobs": null,
280
- },
281
- "datasync": { // DataSync
282
- "agent": null,
283
- "location": null,
284
- "task": null,
285
- },
286
- "dax": { // Amazon DynamoDB Accelerator (DAX)
287
- "cache": null,
288
- },
289
- "deepcomposer": { // AWS DeepComposer
290
- "audio": null,
291
- "composition": null,
292
- "model": null,
293
- },
294
- "deeplens": { // AWS DeepLens
295
- "device": null,
296
- "model": null,
297
- "project": null,
298
- },
299
- "deepracer": { // AWS DeepRacer
300
- " evaluation_job": null,
301
- "leaderboard": null,
302
- "leaderboard_evaluation_job": null,
303
- "model": null,
304
- "track": null,
305
- "training_job": null,
306
- },
307
- "detective": { // Amazon Detective
308
- "graph": null,
309
- },
310
- "devicefarm": { // AWS Device Farm
311
- "artifact": null,
312
- "device": null,
313
- "deviceinstance": null,
314
- "devicepool": null,
315
- "instanceprofile": null,
316
- "job": null,
317
- "networkprofile": null,
318
- "project": null,
319
- "run": null,
320
- "sample": null,
321
- "session": null,
322
- "suite": null,
323
- "test": null,
324
- "testgrid-project": null,
325
- "testgrid-session": null,
326
- "upload": null,
327
- "vpceconfiguration": null,
328
- },
329
- "directconnect": { // AWS Direct Connect
330
- "dx-gateway": null,
331
- "dxcon": null,
332
- "dxlag": null,
333
- "dxvif": null,
334
- },
335
- "dlm": { // Amazon Data Lifecycle Manager
336
- "policy": null,
337
- },
338
- "dms": { // AWS Database Migration Service
339
- "cert": null,
340
- "endpoint": null,
341
- "es": null,
342
- "rep": null,
343
- "subgrp": null,
344
- "task": null,
345
- },
346
- "ds": { // AWS Directory Service
347
- "directory": null,
348
- },
349
- "dynamodb": { // Amazon DynamoDB
350
- "global-table": null,
351
- "table": null,
352
- },
353
- "ec2": { // AWS Systems Manager
354
- "capacity-reservation": null,
355
- "client-vpn-endpoint": null,
356
- "customer-gateway": null,
357
- "dedicated-host": null,
358
- "dhcp-options": null,
359
- "elastic-gpu": null,
360
- "fpga-image": null,
361
- "image": null,
362
- "instance": () => `https://${this.region}.${this.console}/ec2/v2/home`,
363
- "internet-gateway": null,
364
- "key-pair": null,
365
- "launch-template": null,
366
- "local-gateway": null,
367
- "local-gateway-route-table": null,
368
- "local-gateway-route-table-virtual-interface-group-association": null,
369
- "local-gateway-route-table-vpc-association": null,
370
- "local-gateway-virtual-interface": null,
371
- "local-gateway-virtual-interface-group": null,
372
- "network-acl": null,
373
- "network-interface": null,
374
- "placement-group": null,
375
- "reserved-instances": null,
376
- "route-table": null,
377
- "security-group": null,
378
- "snapshot": null,
379
- "spot-instances-request": null,
380
- "subnet": null,
381
- "traffic-mirror-filter": null,
382
- "traffic-mirror-filter-rule": null,
383
- "traffic-mirror-session": null,
384
- "traffic-mirror-target": null,
385
- "transit-gateway": null,
386
- "transit-gateway-attachment": null,
387
- "transit-gateway-multicast-domain": null,
388
- "transit-gateway-route-table": null,
389
- "volume": null,
390
- "vpc": null,
391
- "vpc-endpoint": null,
392
- "vpc-endpoint-service": null,
393
- "vpc-flow-log": null,
394
- "vpc-peering-connection": null,
395
- "vpn-connection": null,
396
- "vpn-gateway": null,
397
- },
398
- "ecr": { // Amazon Elastic Container Registry
399
- "repository": null,
400
- },
401
- "ecs": { // Amazon Elastic Container Service
402
- "cluster": null,
403
- "container-instance": null,
404
- "service": null,
405
- "task": null,
406
- "task-definition": null,
407
- "task-set": null,
408
- },
409
- "eks": { // Amazon Elastic Container Service for Kubernetes
410
- "cluster": null,
411
- "fargateprofile": null,
412
- "nodegroup": null,
413
- },
414
- "elastic-inference": { // Amazon Elastic Inference
415
- "elastic-inference-accelerator": null,
416
- },
417
- "elasticbeanstalk": { // AWS Elastic Beanstalk
418
- "application": null,
419
- "applicationversion": null,
420
- "configurationtemplate": null,
421
- "environment": null,
422
- "platform": null,
423
- "solutionstack": null,
424
- },
425
- "elasticfilesystem": { // Amazon Elastic File System
426
- "access-point": null,
427
- "file-system": null,
428
- },
429
- "elasticloadbalancing": { // AWS WAF V2
430
- "listener": null,
431
- "listener-rule": null,
432
- "loadbalancer": null,
433
- "targetgroup": null,
434
- },
435
- "elasticmapreduce": { // Amazon Elastic MapReduce
436
- "cluster": null,
437
- "editor": null,
438
- },
439
- "elastictranscoder": { // Amazon Elastic Transcoder
440
- "job": null,
441
- "pipeline": null,
442
- "preset": null,
443
- },
444
- "es": { // Amazon Elasticsearch Service
445
- "domain": null,
446
- },
447
- "events": { // Amazon EventBridge
448
- "event-bus": null,
449
- "event-source": null,
450
- "rule": null,
451
- },
452
- "execute-api": { // Amazon API Gateway
453
- },
454
- "firehose": { // Amazon Kinesis Firehose
455
- "deliverystream": null,
456
- },
457
- "fms": { // AWS Firewall Manager
458
- "policy": null,
459
- },
460
- "forecast": { // Amazon Forecast
461
- "algorithm": null,
462
- "dataset": null,
463
- "dataset-group": null,
464
- "dataset-import-job": null,
465
- "forecast": null,
466
- "forecast-export-job": null,
467
- "predictor": null,
468
- },
469
- "freertos": { // Amazon FreeRTOS
470
- "configuration": null,
471
- },
472
- "fsx": { // Amazon FSx
473
- "backup": null,
474
- "file-system": null,
475
- "task": null,
476
- },
477
- "gamelift": { // Amazon GameLift
478
- "alias": null,
479
- "build": null,
480
- "fleet": null,
481
- "gamesessionqueue": null,
482
- "matchmakingconfiguration": null,
483
- "matchmakingruleset": null,
484
- "script": null,
485
- },
486
- "glacier": { // Amazon Glacier
487
- "vaults": null,
488
- },
489
- "globalaccelerator": { // AWS Global Accelerator
490
- "accelerator": null,
491
- },
492
- "glue": { // AWS Glue
493
- "catalog": null,
494
- "connection": null,
495
- "crawler": null,
496
- "database": null,
497
- "devendpoint": null,
498
- "job": null,
499
- "mlTransform": null,
500
- "table": null,
501
- "tableVersion": null,
502
- "trigger": null,
503
- "userDefinedFunction": null,
504
- "workflow": null,
505
- },
506
- "greengrass": { // AWS IoT Greengrass
507
- "": null,
508
- },
509
- "groundstation": { // AWS Ground Station
510
- "config": null,
511
- "contact": null,
512
- "dataflow-endpoint-group": null,
513
- "groundstation": null,
514
- "mission-profile": null,
515
- "satellite": null,
516
- },
517
- "guardduty": { // Amazon GuardDuty
518
- "detector": null,
519
- },
520
- "health": { // AWS Health APIs and Notifications
521
- "event": null,
522
- },
523
- "honeycode": { // Amazon Honeycode
524
- "screen": null,
525
- "screen-automation": null,
526
- },
527
- "iam": { // AWS Security Token Service
528
- "access-report": null,
529
- "assumed-role": null,
530
- "federated-user": null,
531
- "group": null,
532
- "instance-profile": null,
533
- "mfa": null,
534
- "oidc-provider": () => `https://${this.console}/iam/home?#/providers/${this.string}`,
535
- "policy": () => `https://${this.console}/iam/home?#/policies/${this.string}`,
536
- "role": () => `https://${this.console}/iam/home?#/roles/${this.pathLast}`,
537
- "saml-provider": null,
538
- "server-certificate": null,
539
- "sms-mfa": null,
540
- "user": () => `https://${this.console}/iam/home?#/users/${this.resource}`,
541
- },
542
- "imagebuilder": { // Amazon EC2 Image Builder
543
- "component": null,
544
- "distribution-configuration": null,
545
- "image": null,
546
- "image-pipeline": null,
547
- "image-recipe": null,
548
- "infrastructure-configuration": null,
549
- },
550
- "iot": { // AWS IoT
551
- "authorizer": null,
552
- "billinggroup": null,
553
- "cacert": null,
554
- "cert": null,
555
- "client": null,
556
- "dimension": null,
557
- "index": null,
558
- "job": null,
559
- "mitigationaction": null,
560
- "otaupdate": null,
561
- "policy": null,
562
- "provisioningtemplate": null,
563
- "rolealias": null,
564
- "rule": null,
565
- "scheduledaudit": null,
566
- "securityprofile": null,
567
- "stream": null,
568
- "thing": null,
569
- "thinggroup": null,
570
- "thingtype": null,
571
- "topic": null,
572
- "topicfilter": null,
573
- "tunnel": null,
574
- },
575
- "iot1click": { // AWS IoT 1-Click
576
- "devices": null,
577
- "projects": null,
578
- },
579
- "iotanalytics": { // AWS IoT Analytics
580
- "channel": null,
581
- "dataset": null,
582
- "datastore": null,
583
- "pipeline": null,
584
- },
585
- "iotevents": { // AWS IoT Events
586
- "detectorModel": null,
587
- "input": null,
588
- },
589
- "iotsitewise": { // AWS IoT SiteWise
590
- "access-policy": null,
591
- "asset": null,
592
- "asset-model": null,
593
- "dashboard": null,
594
- "gateway": null,
595
- "portal": null,
596
- "project": null,
597
- },
598
- "iotthingsgraph": { // AWS IoT Things Graph
599
- "Deployment": null,
600
- "System": null,
601
- "Workflow": null,
602
- },
603
- "kafka": { // Amazon Managed Streaming for Kafka
604
- "cluster": null,
605
- },
606
- "kendra": { // Amazon Kendra
607
- "index": null,
608
- },
609
- "kinesis": { // Amazon Kinesis
610
- "stream": null,
611
- },
612
- "kinesisanalytics": { // Amazon Kinesis Analytics V2
613
- "application": null,
614
- },
615
- "kinesisvideo": { // Amazon Kinesis Video Streams
616
- "channel": null,
617
- "stream": null,
618
- },
619
- "kms": { // AWS Key Management Service
620
- "alias": null,
621
- "key": null,
622
- },
623
- "lambda": { // AWS Lambda
624
- "event-source-mapping": null,
625
- "function": null,
626
- "layer": null,
627
- },
628
- "lex": { // Amazon Lex
629
- "bot": null,
630
- "bot-channel": null,
631
- "intent": null,
632
- "slottype": null,
633
- },
634
- "license-manager": { // AWS License Manager
635
- "license-configuration": null,
636
- },
637
- "lightsail": { // Amazon Lightsail
638
- "CloudFormationStackRecord": null,
639
- "Disk": null,
640
- "DiskSnapshot": null,
641
- "Domain": null,
642
- "ExportSnapshotRecord": null,
643
- "Instance": null,
644
- "InstanceSnapshot": null,
645
- "KeyPair": null,
646
- "LoadBalancer": null,
647
- "LoadBalancerTlsCertificate": null,
648
- "PeeredVpc": null,
649
- "RelationalDatabase": null,
650
- "RelationalDatabaseSnapshot": null,
651
- "StaticIp": null,
652
- },
653
- "logs": { // Amazon CloudWatch Logs
654
- "log-group": null,
655
- },
656
- "machinelearning": { // Amazon Machine Learning
657
- "batchprediction": null,
658
- "datasource": null,
659
- "evaluation": null,
660
- "mlmodel": null,
661
- },
662
- "macie2": { // Amazon Macie
663
- "classification-job": null,
664
- "custom-data-identifier": null,
665
- "findings-filter": null,
666
- "member": null,
667
- },
668
- "managedblockchain": { // Amazon Managed Blockchain
669
- "invitations": null,
670
- "members": null,
671
- "networks": null,
672
- "nodes": null,
673
- "proposals": null,
674
- },
675
- "mediaconnect": { // AWS Elemental MediaConnect
676
- "entitlement": null,
677
- "flow": null,
678
- "output": null,
679
- "source": null,
680
- },
681
- "mediaconvert": { // AWS Elemental MediaConvert
682
- "certificates": null,
683
- "jobTemplates": null,
684
- "jobs": null,
685
- "presets": null,
686
- "queues": null,
687
- },
688
- "medialive": { // AWS Elemental MediaLive
689
- "channel": null,
690
- "input": null,
691
- "inputDevice": null,
692
- "inputSecurityGroup": null,
693
- "multiplex": null,
694
- "offering": null,
695
- "reservation": null,
696
- },
697
- "mediapackage": { // AWS Elemental MediaPackage
698
- "channels": null,
699
- "origin_endpoints": null,
700
- },
701
- "mediapackage-vod": { // AWS Elemental MediaPackage VOD
702
- "assets": null,
703
- "packaging-configurations": null,
704
- "packaging-groups": null,
705
- },
706
- "mediastore": { // AWS Elemental MediaStore
707
- "container": null,
708
- },
709
- "mediatailor": { // AWS Elemental MediaTailor
710
- "playbackConfiguration": null,
711
- },
712
- "mgh": { // AWS Migration Hub
713
- "progressUpdateStream": null,
714
- },
715
- "mobilehub": { // AWS Mobile Hub
716
- "project": null,
717
- },
718
- "mobiletargeting": { // Amazon Pinpoint
719
- "apps": null,
720
- "recommenders": null,
721
- "templates": null,
722
- },
723
- "mq": { // Amazon MQ
724
- "broker": null,
725
- "configuration": null,
726
- },
727
- "neptune-db": { // Amazon Neptune
728
- },
729
- "networkmanager": { // Network Manager
730
- "device": null,
731
- "global-network": null,
732
- "link": null,
733
- "site": null,
734
- },
735
- "opsworks": { // AWS OpsWorks
736
- "stack": null,
737
- },
738
- "organizations": { // AWS Organizations
739
- "account": null,
740
- "handshake": null,
741
- "organization": null,
742
- "ou": null,
743
- "policy": null,
744
- "root": null,
745
- },
746
- "outposts": { // AWS Outposts
747
- "order": null,
748
- "outpost": null,
749
- "site": null,
750
- },
751
- "personalize": { // Amazon Personalize
752
- "algorithm": null,
753
- "campaign": null,
754
- "dataset": null,
755
- "dataset-group": null,
756
- "dataset-import-job": null,
757
- "event-tracker": null,
758
- "feature-transformation": null,
759
- "recipe": null,
760
- "schema": null,
761
- "solution": null,
762
- },
763
- "pi": { // AWS Performance Insights
764
- "metrics": null,
765
- },
766
- "polly": { // Amazon Polly
767
- "lexicon": null,
768
- },
769
- "qldb": { // Amazon QLDB
770
- "ledger": null,
771
- "stream": null,
772
- },
773
- "quicksight": { // Amazon QuickSight
774
- "assignment": null,
775
- "dashboard": null,
776
- "group": null,
777
- "template": null,
778
- "user": null,
779
- },
780
- "ram": { // AWS Resource Access Manager
781
- "permission": null,
782
- "resource-share": null,
783
- "resource-share-invitation": null,
784
- },
785
- "rds": { // Amazon RDS
786
- "cluster": null,
787
- "cluster-endpoint": null,
788
- "cluster-pg": null,
789
- "cluster-snapshot": null,
790
- "db": null,
791
- "db-proxy": null,
792
- "es": null,
793
- "og": null,
794
- "pg": null,
795
- "ri": null,
796
- "secgrp": null,
797
- "snapshot": null,
798
- "subgrp": null,
799
- "target": null,
800
- "target-group": null,
801
- },
802
- "rds-db": { // Amazon RDS IAM Authentication
803
- "dbuser": null,
804
- },
805
- "redshift": { // Amazon Redshift
806
- "cluster": null,
807
- "dbgroup": null,
808
- "dbname": null,
809
- "dbuser": null,
810
- "eventsubscription": null,
811
- "hsmclientcertificate": null,
812
- "hsmconfiguration": null,
813
- "parametergroup": null,
814
- "securitygroup": null,
815
- "securitygroupingress": null,
816
- "snapshot": null,
817
- "snapshotcopygrant": null,
818
- "snapshotschedule": null,
819
- "subnetgroup": null,
820
- },
821
- "rekognition": { // Amazon Rekognition
822
- "collection": null,
823
- "project": null,
824
- "streamprocessor": null,
825
- },
826
- "resource-groups": { // AWS Resource Groups
827
- "group": null,
828
- },
829
- "robomaker": { // AWS RoboMaker
830
- "deployment-fleet": null,
831
- "deployment-job": null,
832
- "robot": null,
833
- "robot-application": null,
834
- "simulation-application": null,
835
- "simulation-job": null,
836
- "simulation-job-batch": null,
837
- },
838
- "route53": { // Amazon Route 53
839
- "change": null,
840
- "delegationset": null,
841
- "healthcheck": () => `https://${this.console}/route53/healthchecks/home`,
842
- "hostedzone": () => `https://${this.console}/route53/home?#resource-record-sets:${this.resource}`,
843
- "queryloggingconfig": null,
844
- "trafficpolicy": () => `https://${this.console}/route53/trafficflow/home#/policy/${this.resource}`,
845
- "trafficpolicyinstance": () => `https://${this.console}/route53/trafficflow/home#/modify-records/edit/${this.resource}`,
846
- },
847
- "route53resolver": { // Amazon Route 53 Resolver
848
- "resolver-endpoint": null,
849
- "resolver-rule": null,
850
- },
851
- "s3": { // Amazon S3
852
- "": () => `https://s3.${this.console}/s3/buckets/${this.resource}`,
853
- "accesspoint": null,
854
- "job": null,
855
- },
856
- "sagemaker": { // Amazon SageMaker
857
- "algorithm": null,
858
- "app": null,
859
- "automl-job": null,
860
- "code-repository": null,
861
- "compilation-job": null,
862
- "domain": null,
863
- "endpoint": null,
864
- "endpoint-config": null,
865
- "experiment": null,
866
- "experiment-trial": null,
867
- "experiment-trial-component": null,
868
- "flow-definition": null,
869
- "human-loop": null,
870
- "human-task-ui": null,
871
- "hyper-parameter-tuning-job": null,
872
- "labeling-job": null,
873
- "model": null,
874
- "model-package": null,
875
- "monitoring-schedule": null,
876
- "notebook-instance": null,
877
- "notebook-instance-lifecycle-config": null,
878
- "processing-job": null,
879
- "training-job": null,
880
- "transform-job": null,
881
- "user-profile": null,
882
- "workforce": null,
883
- "workteam": null,
884
- },
885
- "savingsplans": { // AWS Savings Plans
886
- "savingsplan": null,
887
- },
888
- "schemas": { // Amazon EventBridge Schemas
889
- "discoverer": null,
890
- "registry": null,
891
- "schema": null,
892
- },
893
- "sdb": { // Amazon SimpleDB
894
- "domain": null,
895
- },
896
- "secretsmanager": { // AWS Secrets Manager
897
- "secret": null,
898
- },
899
- "securityhub": { // AWS Security Hub
900
- "hub": null,
901
- "product": null,
902
- },
903
- "serverlessrepo": { // AWS Serverless Application Repository
904
- "applications": null,
905
- },
906
- "servicediscovery": { // AWS Cloud Map
907
- "namespace": null,
908
- "service": null,
909
- },
910
- "servicequotas": { // Service Quotas
911
- },
912
- "ses": { // Amazon SES
913
- "configuration-set": null,
914
- "custom-verification-email-template": null,
915
- "dedicated-ip-pool": null,
916
- "deliverability-test-report": null,
917
- "identity": null,
918
- "receipt-filter": null,
919
- "receipt-rule-set": null,
920
- "template": null,
921
- },
922
- "shield": { // AWS Shield
923
- "attack": null,
924
- "protection": null,
925
- },
926
- "signer": { // AWS Code Signing for Amazon FreeRTOS
927
- "": null,
928
- },
929
- "sns": { // Amazon SNS
930
- },
931
- "sqs": { // Amazon SQS
932
- },
933
- "ssm": { // AWS Systems Manager
934
- "association": null,
935
- "automation-definition": null,
936
- "automation-execution": null,
937
- "document": null,
938
- "maintenancewindow": null,
939
- "managed-instance": null,
940
- "managed-instance-inventory": null,
941
- "opsitem": null,
942
- "parameter": null,
943
- "patchbaseline": null,
944
- "resource-data-sync": null,
945
- "servicesetting": null,
946
- "session": null,
947
- "windowtarget": null,
948
- "windowtask": null,
949
- },
950
- "states": { // AWS Step Functions
951
- "activity": null,
952
- "execution": null,
953
- "stateMachine": null,
954
- },
955
- "storagegateway": { // Amazon Storage Gateway
956
- "gateway": null,
957
- "share": null,
958
- "tape": null,
959
- },
960
- "sumerian": { // Amazon Sumerian
961
- "project": null,
962
- },
963
- "swf": { // Amazon Simple Workflow Service
964
- "domain": null,
965
- },
966
- "synthetics": { // Amazon CloudWatch Synthetics
967
- "canary": null,
968
- },
969
- "transfer": { // AWS Transfer for SFTP
970
- "server": null,
971
- "user": null,
972
- },
973
- "trustedadvisor": { // AWS Trusted Advisor
974
- "checks": null,
975
- },
976
- "waf": { // AWS WAF
977
- "bytematchset": null,
978
- "geomatchset": null,
979
- "ipset": null,
980
- "ratebasedrule": null,
981
- "regexmatch": null,
982
- "regexpatternset": null,
983
- "rule": null,
984
- "rulegroup": null,
985
- "sizeconstraintset": null,
986
- "sqlinjectionset": null,
987
- "webacl": null,
988
- "xssmatchset": null,
989
- },
990
- "waf-regional": { // AWS WAF Regional
991
- "bytematchset": null,
992
- "geomatchset": null,
993
- "ipset": null,
994
- "ratebasedrule": null,
995
- "regexmatch": null,
996
- "regexpatternset": null,
997
- "rule": null,
998
- "rulegroup": null,
999
- "sizeconstraintset": null,
1000
- "sqlinjectionset": null,
1001
- "webacl": null,
1002
- "xssmatchset": null,
1003
- },
1004
- "wafv2": { // AWS WAF V2
1005
- },
1006
- "wellarchitected": { // AWS Well-Architected Tool
1007
- "workload": null,
1008
- },
1009
- "worklink": { // Amazon WorkLink
1010
- "fleet": null,
1011
- },
1012
- "workmail": { // Amazon WorkMail
1013
- "organization": null,
1014
- },
1015
- "workmailmessageflow": { // Amazon WorkMail Message Flow
1016
- "message": null,
1017
- },
1018
- "workspaces": { // Amazon WorkSpaces
1019
- "directory": null,
1020
- "workspace": null,
1021
- "workspacebundle": null,
1022
- "workspaceipgroup": null,
1023
- },
1024
- "xray": { // AWS X-Ray
1025
- "group": null,
1026
- "sampling-rule": null,
1027
- },
100
+ _getLinkTemplates() {
101
+ return {
102
+ "a4b": { // Alexa for Business
103
+ "address-book": null,
104
+ "conference-provider": null,
105
+ "contact": null,
106
+ "device": null,
107
+ "network-profile": null,
108
+ "profile": null,
109
+ "room": null,
110
+ "schedule": null,
111
+ "skill-group": null,
112
+ "user": null,
113
+ },
114
+ "access-analyzer": { // IAM Access Analyzer
115
+ "analyzer": () => `https://${this.region}.${this.console}/access-analyzer/home?region=${this.region}#/analyzer/${this.resource}`,
116
+ },
117
+ "acm": { // AWS Certificate Manager
118
+ "certificate": () => `https://${this.console}/acm/home?region=${this.region}#/?id=${this.resource}`,
119
+ },
120
+ "acm-pca": { // AWS Certificate Manager Private Certificate Authority
121
+ "certificate-authority": null,
122
+ },
123
+ "amplify": { // AWS Amplify
124
+ "apps": null,
125
+ },
126
+ "apigateway": { // Manage Amazon API Gateway
127
+ "": null,
128
+ },
129
+ "appconfig": { // AWS AppConfig
130
+ "application": null,
131
+ "deploymentstrategy": null,
132
+ },
133
+ "appflow": { // Amazon AppFlow
134
+ "connectorprofile": null,
135
+ "flow": null,
136
+ },
137
+ "appmesh": { // AWS App Mesh
138
+ "mesh": null,
139
+ },
140
+ "appmesh-preview": { // AWS App Mesh Preview
141
+ "mesh": null,
142
+ },
143
+ "appstream": { // Amazon AppStream 2.0
144
+ "fleet": null,
145
+ "image": null,
146
+ "image-builder": null,
147
+ "stack": null,
148
+ },
149
+ "appsync": { // AWS AppSync
150
+ "apis": null,
151
+ },
152
+ "artifact": { // AWS Artifact
153
+ "agreement": null,
154
+ "customer-agreement": null,
155
+ "report-package": null,
156
+ },
157
+ "athena": { // Amazon Athena
158
+ "datacatalog": null,
159
+ "workgroup": null,
160
+ },
161
+ "autoscaling": { // Amazon EC2 Auto Scaling
162
+ "autoScalingGroup": null,
163
+ "launchConfiguration": null,
164
+ },
165
+ "aws-marketplace": { // AWS Marketplace Catalog
166
+ },
167
+ "backup": { // AWS Backup
168
+ "backup-plan": null,
169
+ "backup-vault": null,
170
+ },
171
+ "batch": { // AWS Batch
172
+ "job-definition": null,
173
+ "job-queue": null,
174
+ },
175
+ "budgets": { // AWS Budget Service
176
+ "budget": null,
177
+ },
178
+ "cassandra": { // Amazon Keyspaces (for Apache Cassandra)
179
+ "": null,
180
+ },
181
+ "catalog": { // AWS Service Catalog
182
+ "portfolio": null,
183
+ "product": null,
184
+ },
185
+ "chatbot": { // AWS Chatbot
186
+ },
187
+ "chime": { // Amazon Chime
188
+ "meeting": null,
189
+ },
190
+ "cloud9": { // AWS Cloud9
191
+ "environment": null,
192
+ },
193
+ "clouddirectory": { // Amazon Cloud Directory
194
+ "directory": null,
195
+ "schema": null,
196
+ },
197
+ "cloudformation": { // AWS CloudFormation
198
+ "changeSet": null,
199
+ "stack": null,
200
+ "stackset": null,
201
+ },
202
+ "cloudfront": { // Amazon CloudFront
203
+ "distribution": null,
204
+ "origin-access-identity": null,
205
+ "streaming-distribution": null,
206
+ },
207
+ "cloudhsm": { // AWS CloudHSM
208
+ "backup": null,
209
+ "cluster": null,
210
+ },
211
+ "cloudsearch": { // Amazon CloudSearch
212
+ "domain": null,
213
+ },
214
+ "cloudtrail": { // AWS CloudTrail
215
+ "trail": null,
216
+ },
217
+ "cloudwatch": { // Amazon CloudWatch
218
+ "alarm": null,
219
+ "dashboard": null,
220
+ "insight-rule": null,
221
+ },
222
+ "codeartifact": { // AWS CodeArtifact
223
+ "domain": null,
224
+ "package": null,
225
+ "repository": null,
226
+ },
227
+ "codebuild": { // AWS CodeBuild
228
+ "build": null,
229
+ "project": null,
230
+ "report": null,
231
+ "report-group": null,
232
+ },
233
+ "codecommit": { // Amazon CodeGuru Reviewer
234
+ },
235
+ "codedeploy": { // AWS CodeDeploy
236
+ "application": null,
237
+ "deploymentconfig": null,
238
+ "deploymentgroup": null,
239
+ "instance": null,
240
+ },
241
+ "codeguru-profiler": { // Amazon CodeGuru Profiler
242
+ "profilingGroup": null,
243
+ },
244
+ "codeguru-reviewer": { // Amazon CodeGuru Reviewer
245
+ ".+": null,
246
+ "association": null,
247
+ },
248
+ "codepipeline": { // AWS CodePipeline
249
+ "actiontype": null,
250
+ "webhook": null,
251
+ },
252
+ "codestar": { // AWS CodeStar
253
+ "project": null,
254
+ },
255
+ "codestar-connections": { // AWS CodeStar Connections
256
+ "connection": null,
257
+ },
258
+ "codestar-notifications": { // AWS CodeStar Notifications
259
+ "notificationrule": null,
260
+ },
261
+ "cognito-identity": { // Amazon Cognito Identity
262
+ "identitypool": null,
263
+ },
264
+ "cognito-idp": { // Amazon Cognito User Pools
265
+ "userpool": null,
266
+ },
267
+ "cognito-sync": { // Amazon Cognito Sync
268
+ "identitypool": null,
269
+ },
270
+ "comprehend": { // Amazon Comprehend
271
+ "document-classifier": null,
272
+ "document-classifier-endpoint": null,
273
+ "entity-recognizer": null,
274
+ },
275
+ "config": { // AWS Config
276
+ "aggregation-authorization": null,
277
+ "config-aggregator": null,
278
+ "config-rule": null,
279
+ "conformance-pack": null,
280
+ "organization-config-rule": null,
281
+ "organization-conformance-pack": null,
282
+ "remediation-configuration": null,
283
+ },
284
+ "connect": { // Amazon Connect
285
+ "instance": null,
286
+ },
287
+ "cur": { // AWS Cost and Usage Report
288
+ "definition": null,
289
+ },
290
+ "dataexchange": { // AWS Data Exchange
291
+ "data-sets": null,
292
+ "jobs": null,
293
+ },
294
+ "datasync": { // DataSync
295
+ "agent": null,
296
+ "location": null,
297
+ "task": null,
298
+ },
299
+ "dax": { // Amazon DynamoDB Accelerator (DAX)
300
+ "cache": null,
301
+ },
302
+ "deepcomposer": { // AWS DeepComposer
303
+ "audio": null,
304
+ "composition": null,
305
+ "model": null,
306
+ },
307
+ "deeplens": { // AWS DeepLens
308
+ "device": null,
309
+ "model": null,
310
+ "project": null,
311
+ },
312
+ "deepracer": { // AWS DeepRacer
313
+ " evaluation_job": null,
314
+ "leaderboard": null,
315
+ "leaderboard_evaluation_job": null,
316
+ "model": null,
317
+ "track": null,
318
+ "training_job": null,
319
+ },
320
+ "detective": { // Amazon Detective
321
+ "graph": null,
322
+ },
323
+ "devicefarm": { // AWS Device Farm
324
+ "artifact": null,
325
+ "device": null,
326
+ "deviceinstance": null,
327
+ "devicepool": null,
328
+ "instanceprofile": null,
329
+ "job": null,
330
+ "networkprofile": null,
331
+ "project": null,
332
+ "run": null,
333
+ "sample": null,
334
+ "session": null,
335
+ "suite": null,
336
+ "test": null,
337
+ "testgrid-project": null,
338
+ "testgrid-session": null,
339
+ "upload": null,
340
+ "vpceconfiguration": null,
341
+ },
342
+ "directconnect": { // AWS Direct Connect
343
+ "dx-gateway": null,
344
+ "dxcon": null,
345
+ "dxlag": null,
346
+ "dxvif": null,
347
+ },
348
+ "dlm": { // Amazon Data Lifecycle Manager
349
+ "policy": null,
350
+ },
351
+ "dms": { // AWS Database Migration Service
352
+ "cert": null,
353
+ "endpoint": null,
354
+ "es": null,
355
+ "rep": null,
356
+ "subgrp": null,
357
+ "task": null,
358
+ },
359
+ "ds": { // AWS Directory Service
360
+ "directory": null,
361
+ },
362
+ "dynamodb": { // Amazon DynamoDB
363
+ "global-table": null,
364
+ "table": null,
365
+ },
366
+ "ec2": { // AWS Systems Manager
367
+ "capacity-reservation": null,
368
+ "client-vpn-endpoint": null,
369
+ "customer-gateway": null,
370
+ "dedicated-host": null,
371
+ "dhcp-options": null,
372
+ "elastic-gpu": null,
373
+ "fpga-image": null,
374
+ "image": null,
375
+ "instance": () => `https://${this.region}.${this.console}/ec2/v2/home`,
376
+ "internet-gateway": null,
377
+ "key-pair": null,
378
+ "launch-template": null,
379
+ "local-gateway": null,
380
+ "local-gateway-route-table": null,
381
+ "local-gateway-route-table-virtual-interface-group-association": null,
382
+ "local-gateway-route-table-vpc-association": null,
383
+ "local-gateway-virtual-interface": null,
384
+ "local-gateway-virtual-interface-group": null,
385
+ "network-acl": null,
386
+ "network-interface": null,
387
+ "placement-group": null,
388
+ "reserved-instances": null,
389
+ "route-table": null,
390
+ "security-group": null,
391
+ "snapshot": null,
392
+ "spot-instances-request": null,
393
+ "subnet": null,
394
+ "traffic-mirror-filter": null,
395
+ "traffic-mirror-filter-rule": null,
396
+ "traffic-mirror-session": null,
397
+ "traffic-mirror-target": null,
398
+ "transit-gateway": null,
399
+ "transit-gateway-attachment": null,
400
+ "transit-gateway-multicast-domain": null,
401
+ "transit-gateway-route-table": null,
402
+ "volume": null,
403
+ "vpc": null,
404
+ "vpc-endpoint": null,
405
+ "vpc-endpoint-service": null,
406
+ "vpc-flow-log": null,
407
+ "vpc-peering-connection": null,
408
+ "vpn-connection": null,
409
+ "vpn-gateway": null,
410
+ },
411
+ "ecr": { // Amazon Elastic Container Registry
412
+ "repository": null,
413
+ },
414
+ "ecs": { // Amazon Elastic Container Service
415
+ "cluster": null,
416
+ "container-instance": null,
417
+ "service": null,
418
+ "task": null,
419
+ "task-definition": null,
420
+ "task-set": null,
421
+ },
422
+ "eks": { // Amazon Elastic Container Service for Kubernetes
423
+ "cluster": null,
424
+ "fargateprofile": null,
425
+ "nodegroup": null,
426
+ },
427
+ "elastic-inference": { // Amazon Elastic Inference
428
+ "elastic-inference-accelerator": null,
429
+ },
430
+ "elasticbeanstalk": { // AWS Elastic Beanstalk
431
+ "application": null,
432
+ "applicationversion": null,
433
+ "configurationtemplate": null,
434
+ "environment": null,
435
+ "platform": null,
436
+ "solutionstack": null,
437
+ },
438
+ "elasticfilesystem": { // Amazon Elastic File System
439
+ "access-point": null,
440
+ "file-system": null,
441
+ },
442
+ "elasticloadbalancing": { // AWS WAF V2
443
+ "listener": null,
444
+ "listener-rule": null,
445
+ "loadbalancer": null,
446
+ "targetgroup": null,
447
+ },
448
+ "elasticmapreduce": { // Amazon Elastic MapReduce
449
+ "cluster": null,
450
+ "editor": null,
451
+ },
452
+ "elastictranscoder": { // Amazon Elastic Transcoder
453
+ "job": null,
454
+ "pipeline": null,
455
+ "preset": null,
456
+ },
457
+ "es": { // Amazon Elasticsearch Service
458
+ "domain": null,
459
+ },
460
+ "events": { // Amazon EventBridge
461
+ "event-bus": null,
462
+ "event-source": null,
463
+ "rule": null,
464
+ },
465
+ "execute-api": { // Amazon API Gateway
466
+ },
467
+ "firehose": { // Amazon Kinesis Firehose
468
+ "deliverystream": null,
469
+ },
470
+ "fms": { // AWS Firewall Manager
471
+ "policy": null,
472
+ },
473
+ "forecast": { // Amazon Forecast
474
+ "algorithm": null,
475
+ "dataset": null,
476
+ "dataset-group": null,
477
+ "dataset-import-job": null,
478
+ "forecast": null,
479
+ "forecast-export-job": null,
480
+ "predictor": null,
481
+ },
482
+ "freertos": { // Amazon FreeRTOS
483
+ "configuration": null,
484
+ },
485
+ "fsx": { // Amazon FSx
486
+ "backup": null,
487
+ "file-system": null,
488
+ "task": null,
489
+ },
490
+ "gamelift": { // Amazon GameLift
491
+ "alias": null,
492
+ "build": null,
493
+ "fleet": null,
494
+ "gamesessionqueue": null,
495
+ "matchmakingconfiguration": null,
496
+ "matchmakingruleset": null,
497
+ "script": null,
498
+ },
499
+ "glacier": { // Amazon Glacier
500
+ "vaults": null,
501
+ },
502
+ "globalaccelerator": { // AWS Global Accelerator
503
+ "accelerator": null,
504
+ },
505
+ "glue": { // AWS Glue
506
+ "catalog": null,
507
+ "connection": null,
508
+ "crawler": null,
509
+ "database": null,
510
+ "devendpoint": null,
511
+ "job": null,
512
+ "mlTransform": null,
513
+ "table": null,
514
+ "tableVersion": null,
515
+ "trigger": null,
516
+ "userDefinedFunction": null,
517
+ "workflow": null,
518
+ },
519
+ "greengrass": { // AWS IoT Greengrass
520
+ "": null,
521
+ },
522
+ "groundstation": { // AWS Ground Station
523
+ "config": null,
524
+ "contact": null,
525
+ "dataflow-endpoint-group": null,
526
+ "groundstation": null,
527
+ "mission-profile": null,
528
+ "satellite": null,
529
+ },
530
+ "guardduty": { // Amazon GuardDuty
531
+ "detector": null,
532
+ },
533
+ "health": { // AWS Health APIs and Notifications
534
+ "event": null,
535
+ },
536
+ "honeycode": { // Amazon Honeycode
537
+ "screen": null,
538
+ "screen-automation": null,
539
+ },
540
+ "iam": { // AWS Security Token Service
541
+ "access-report": null,
542
+ "assumed-role": null,
543
+ "federated-user": null,
544
+ "group": () => `https://${this.console}/iamv2/home#/groups/details/${this.pathLast}`,
545
+ "instance-profile": null,
546
+ "mfa": null,
547
+ "oidc-provider": () => `https://${this.console}/iam/home?#/providers/${this.string}`,
548
+ "policy": () => `https://${this.console}/iam/home?#/policies/${this.string}`,
549
+ "role": () => `https://${this.console}/iam/home?#/roles/${this.pathLast}`,
550
+ "saml-provider": null,
551
+ "server-certificate": null,
552
+ "sms-mfa": null,
553
+ "user": () => `https://${this.console}/iam/home?#/users/${this.resource}`,
554
+ },
555
+ "imagebuilder": { // Amazon EC2 Image Builder
556
+ "component": null,
557
+ "distribution-configuration": null,
558
+ "image": null,
559
+ "image-pipeline": null,
560
+ "image-recipe": null,
561
+ "infrastructure-configuration": null,
562
+ },
563
+ "iot": { // AWS IoT
564
+ "authorizer": null,
565
+ "billinggroup": null,
566
+ "cacert": null,
567
+ "cert": null,
568
+ "client": null,
569
+ "dimension": null,
570
+ "index": null,
571
+ "job": null,
572
+ "mitigationaction": null,
573
+ "otaupdate": null,
574
+ "policy": null,
575
+ "provisioningtemplate": null,
576
+ "rolealias": null,
577
+ "rule": null,
578
+ "scheduledaudit": null,
579
+ "securityprofile": null,
580
+ "stream": null,
581
+ "thing": null,
582
+ "thinggroup": null,
583
+ "thingtype": null,
584
+ "topic": null,
585
+ "topicfilter": null,
586
+ "tunnel": null,
587
+ },
588
+ "iot1click": { // AWS IoT 1-Click
589
+ "devices": null,
590
+ "projects": null,
591
+ },
592
+ "iotanalytics": { // AWS IoT Analytics
593
+ "channel": null,
594
+ "dataset": null,
595
+ "datastore": null,
596
+ "pipeline": null,
597
+ },
598
+ "iotevents": { // AWS IoT Events
599
+ "detectorModel": null,
600
+ "input": null,
601
+ },
602
+ "iotsitewise": { // AWS IoT SiteWise
603
+ "access-policy": null,
604
+ "asset": null,
605
+ "asset-model": null,
606
+ "dashboard": null,
607
+ "gateway": null,
608
+ "portal": null,
609
+ "project": null,
610
+ },
611
+ "iotthingsgraph": { // AWS IoT Things Graph
612
+ "Deployment": null,
613
+ "System": null,
614
+ "Workflow": null,
615
+ },
616
+ "kafka": { // Amazon Managed Streaming for Kafka
617
+ "cluster": null,
618
+ },
619
+ "kendra": { // Amazon Kendra
620
+ "index": null,
621
+ },
622
+ "kinesis": { // Amazon Kinesis
623
+ "stream": null,
624
+ },
625
+ "kinesisanalytics": { // Amazon Kinesis Analytics V2
626
+ "application": null,
627
+ },
628
+ "kinesisvideo": { // Amazon Kinesis Video Streams
629
+ "channel": null,
630
+ "stream": null,
631
+ },
632
+ "kms": { // AWS Key Management Service
633
+ "alias": null,
634
+ "key": null,
635
+ },
636
+ "lambda": { // AWS Lambda
637
+ "event-source-mapping": null,
638
+ "function": () => `https://${this.region}.${this.console}/lambda/home?region=${this.region}#/functions/${this.resource}`,
639
+ "layer": () => `https://${this.region}.${this.console}/lambda/home?region=${this.region}#/layers/${this.qualifiers[0]}/versions/${this.qualifiers[1] || 1}`,
640
+ },
641
+ "lex": { // Amazon Lex
642
+ "bot": null,
643
+ "bot-channel": null,
644
+ "intent": null,
645
+ "slottype": null,
646
+ },
647
+ "license-manager": { // AWS License Manager
648
+ "license-configuration": null,
649
+ },
650
+ "lightsail": { // Amazon Lightsail
651
+ "CloudFormationStackRecord": null,
652
+ "Disk": null,
653
+ "DiskSnapshot": null,
654
+ "Domain": null,
655
+ "ExportSnapshotRecord": null,
656
+ "Instance": null,
657
+ "InstanceSnapshot": null,
658
+ "KeyPair": null,
659
+ "LoadBalancer": null,
660
+ "LoadBalancerTlsCertificate": null,
661
+ "PeeredVpc": null,
662
+ "RelationalDatabase": null,
663
+ "RelationalDatabaseSnapshot": null,
664
+ "StaticIp": null,
665
+ },
666
+ "logs": { // Amazon CloudWatch Logs
667
+ "log-group": null,
668
+ },
669
+ "machinelearning": { // Amazon Machine Learning
670
+ "batchprediction": null,
671
+ "datasource": null,
672
+ "evaluation": null,
673
+ "mlmodel": null,
674
+ },
675
+ "macie2": { // Amazon Macie
676
+ "classification-job": null,
677
+ "custom-data-identifier": null,
678
+ "findings-filter": null,
679
+ "member": null,
680
+ },
681
+ "managedblockchain": { // Amazon Managed Blockchain
682
+ "invitations": null,
683
+ "members": null,
684
+ "networks": null,
685
+ "nodes": null,
686
+ "proposals": null,
687
+ },
688
+ "mediaconnect": { // AWS Elemental MediaConnect
689
+ "entitlement": null,
690
+ "flow": null,
691
+ "output": null,
692
+ "source": null,
693
+ },
694
+ "mediaconvert": { // AWS Elemental MediaConvert
695
+ "certificates": null,
696
+ "jobTemplates": null,
697
+ "jobs": null,
698
+ "presets": null,
699
+ "queues": null,
700
+ },
701
+ "medialive": { // AWS Elemental MediaLive
702
+ "channel": null,
703
+ "input": null,
704
+ "inputDevice": null,
705
+ "inputSecurityGroup": null,
706
+ "multiplex": null,
707
+ "offering": null,
708
+ "reservation": null,
709
+ },
710
+ "mediapackage": { // AWS Elemental MediaPackage
711
+ "channels": null,
712
+ "origin_endpoints": null,
713
+ },
714
+ "mediapackage-vod": { // AWS Elemental MediaPackage VOD
715
+ "assets": null,
716
+ "packaging-configurations": null,
717
+ "packaging-groups": null,
718
+ },
719
+ "mediastore": { // AWS Elemental MediaStore
720
+ "container": null,
721
+ },
722
+ "mediatailor": { // AWS Elemental MediaTailor
723
+ "playbackConfiguration": null,
724
+ },
725
+ "mgh": { // AWS Migration Hub
726
+ "progressUpdateStream": null,
727
+ },
728
+ "mobilehub": { // AWS Mobile Hub
729
+ "project": null,
730
+ },
731
+ "mobiletargeting": { // Amazon Pinpoint
732
+ "apps": null,
733
+ "recommenders": null,
734
+ "templates": null,
735
+ },
736
+ "mq": { // Amazon MQ
737
+ "broker": null,
738
+ "configuration": null,
739
+ },
740
+ "neptune-db": { // Amazon Neptune
741
+ },
742
+ "networkmanager": { // Network Manager
743
+ "device": null,
744
+ "global-network": null,
745
+ "link": null,
746
+ "site": null,
747
+ },
748
+ "opsworks": { // AWS OpsWorks
749
+ "stack": null,
750
+ },
751
+ "organizations": { // AWS Organizations
752
+ "account": null,
753
+ "handshake": null,
754
+ "organization": null,
755
+ "ou": null,
756
+ "policy": null,
757
+ "root": null,
758
+ },
759
+ "outposts": { // AWS Outposts
760
+ "order": null,
761
+ "outpost": null,
762
+ "site": null,
763
+ },
764
+ "personalize": { // Amazon Personalize
765
+ "algorithm": null,
766
+ "campaign": null,
767
+ "dataset": null,
768
+ "dataset-group": null,
769
+ "dataset-import-job": null,
770
+ "event-tracker": null,
771
+ "feature-transformation": null,
772
+ "recipe": null,
773
+ "schema": null,
774
+ "solution": null,
775
+ },
776
+ "pi": { // AWS Performance Insights
777
+ "metrics": null,
778
+ },
779
+ "polly": { // Amazon Polly
780
+ "lexicon": null,
781
+ },
782
+ "qldb": { // Amazon QLDB
783
+ "ledger": null,
784
+ "stream": null,
785
+ },
786
+ "quicksight": { // Amazon QuickSight
787
+ "assignment": null,
788
+ "dashboard": null,
789
+ "group": null,
790
+ "template": null,
791
+ "user": null,
792
+ },
793
+ "ram": { // AWS Resource Access Manager
794
+ "permission": null,
795
+ "resource-share": null,
796
+ "resource-share-invitation": null,
797
+ },
798
+ "rds": { // Amazon RDS
799
+ "cluster": null,
800
+ "cluster-endpoint": null,
801
+ "cluster-pg": null,
802
+ "cluster-snapshot": null,
803
+ "db": null,
804
+ "db-proxy": null,
805
+ "es": null,
806
+ "og": null,
807
+ "pg": null,
808
+ "ri": null,
809
+ "secgrp": null,
810
+ "snapshot": null,
811
+ "subgrp": null,
812
+ "target": null,
813
+ "target-group": null,
814
+ },
815
+ "rds-db": { // Amazon RDS IAM Authentication
816
+ "dbuser": null,
817
+ },
818
+ "redshift": { // Amazon Redshift
819
+ "cluster": null,
820
+ "dbgroup": null,
821
+ "dbname": null,
822
+ "dbuser": null,
823
+ "eventsubscription": null,
824
+ "hsmclientcertificate": null,
825
+ "hsmconfiguration": null,
826
+ "parametergroup": null,
827
+ "securitygroup": null,
828
+ "securitygroupingress": null,
829
+ "snapshot": null,
830
+ "snapshotcopygrant": null,
831
+ "snapshotschedule": null,
832
+ "subnetgroup": null,
833
+ },
834
+ "rekognition": { // Amazon Rekognition
835
+ "collection": null,
836
+ "project": null,
837
+ "streamprocessor": null,
838
+ },
839
+ "resource-groups": { // AWS Resource Groups
840
+ "group": null,
841
+ },
842
+ "robomaker": { // AWS RoboMaker
843
+ "deployment-fleet": null,
844
+ "deployment-job": null,
845
+ "robot": null,
846
+ "robot-application": null,
847
+ "simulation-application": null,
848
+ "simulation-job": null,
849
+ "simulation-job-batch": null,
850
+ },
851
+ "route53": { // Amazon Route 53
852
+ "change": null,
853
+ "delegationset": null,
854
+ "healthcheck": () => `https://${this.console}/route53/healthchecks/home`,
855
+ "hostedzone": () => `https://${this.console}/route53/home?#resource-record-sets:${this.resource}`,
856
+ "queryloggingconfig": null,
857
+ "trafficpolicy": () => `https://${this.console}/route53/trafficflow/home#/policy/${this.resource}`,
858
+ "trafficpolicyinstance": () => `https://${this.console}/route53/trafficflow/home#/modify-records/edit/${this.resource}`,
859
+ },
860
+ "route53resolver": { // Amazon Route 53 Resolver
861
+ "resolver-endpoint": null,
862
+ "resolver-rule": null,
863
+ },
864
+ "s3": { // Amazon S3
865
+ "": () => `https://s3.${this.console}/s3/buckets/${this.resource}`,
866
+ "accesspoint": null,
867
+ "job": null,
868
+ },
869
+ "sagemaker": { // Amazon SageMaker
870
+ "algorithm": null,
871
+ "app": null,
872
+ "automl-job": null,
873
+ "code-repository": null,
874
+ "compilation-job": null,
875
+ "domain": null,
876
+ "endpoint": null,
877
+ "endpoint-config": null,
878
+ "experiment": null,
879
+ "experiment-trial": null,
880
+ "experiment-trial-component": null,
881
+ "flow-definition": null,
882
+ "human-loop": null,
883
+ "human-task-ui": null,
884
+ "hyper-parameter-tuning-job": null,
885
+ "labeling-job": null,
886
+ "model": null,
887
+ "model-package": null,
888
+ "monitoring-schedule": null,
889
+ "notebook-instance": null,
890
+ "notebook-instance-lifecycle-config": null,
891
+ "processing-job": null,
892
+ "training-job": null,
893
+ "transform-job": null,
894
+ "user-profile": null,
895
+ "workforce": null,
896
+ "workteam": null,
897
+ },
898
+ "savingsplans": { // AWS Savings Plans
899
+ "savingsplan": null,
900
+ },
901
+ "schemas": { // Amazon EventBridge Schemas
902
+ "discoverer": null,
903
+ "registry": null,
904
+ "schema": null,
905
+ },
906
+ "sdb": { // Amazon SimpleDB
907
+ "domain": null,
908
+ },
909
+ "secretsmanager": { // AWS Secrets Manager
910
+ "secret": null,
911
+ },
912
+ "securityhub": { // AWS Security Hub
913
+ "hub": null,
914
+ "product": null,
915
+ },
916
+ "serverlessrepo": { // AWS Serverless Application Repository
917
+ "applications": null,
918
+ },
919
+ "servicediscovery": { // AWS Cloud Map
920
+ "namespace": null,
921
+ "service": null,
922
+ },
923
+ "servicequotas": { // Service Quotas
924
+ },
925
+ "ses": { // Amazon SES
926
+ "configuration-set": null,
927
+ "custom-verification-email-template": null,
928
+ "dedicated-ip-pool": null,
929
+ "deliverability-test-report": null,
930
+ "identity": null,
931
+ "receipt-filter": null,
932
+ "receipt-rule-set": null,
933
+ "template": null,
934
+ },
935
+ "shield": { // AWS Shield
936
+ "attack": null,
937
+ "protection": null,
938
+ },
939
+ "signer": { // AWS Code Signing for Amazon FreeRTOS
940
+ "": null,
941
+ },
942
+ "sns": { // Amazon SNS
943
+ },
944
+ "sqs": { // Amazon SQS
945
+ },
946
+ "ssm": { // AWS Systems Manager
947
+ "association": null,
948
+ "automation-definition": null,
949
+ "automation-execution": null,
950
+ "document": null,
951
+ "maintenancewindow": null,
952
+ "managed-instance": null,
953
+ "managed-instance-inventory": null,
954
+ "opsitem": null,
955
+ "parameter": null,
956
+ "patchbaseline": null,
957
+ "resource-data-sync": null,
958
+ "servicesetting": null,
959
+ "session": null,
960
+ "windowtarget": null,
961
+ "windowtask": null,
962
+ },
963
+ "states": { // AWS Step Functions
964
+ "activity": null,
965
+ "execution": null,
966
+ "stateMachine": () => `https://${this.region}.${this.console}/states/home?region=${this.region}#/statemachines/view/${this.string}`,
967
+ },
968
+ "storagegateway": { // Amazon Storage Gateway
969
+ "gateway": null,
970
+ "share": null,
971
+ "tape": null,
972
+ },
973
+ "sumerian": { // Amazon Sumerian
974
+ "project": null,
975
+ },
976
+ "swf": { // Amazon Simple Workflow Service
977
+ "domain": null,
978
+ },
979
+ "synthetics": { // Amazon CloudWatch Synthetics
980
+ "canary": null,
981
+ },
982
+ "transfer": { // AWS Transfer for SFTP
983
+ "server": null,
984
+ "user": null,
985
+ },
986
+ "trustedadvisor": { // AWS Trusted Advisor
987
+ "checks": null,
988
+ },
989
+ "waf": { // AWS WAF
990
+ "bytematchset": null,
991
+ "geomatchset": null,
992
+ "ipset": null,
993
+ "ratebasedrule": null,
994
+ "regexmatch": null,
995
+ "regexpatternset": null,
996
+ "rule": null,
997
+ "rulegroup": null,
998
+ "sizeconstraintset": null,
999
+ "sqlinjectionset": null,
1000
+ "webacl": null,
1001
+ "xssmatchset": null,
1002
+ },
1003
+ "waf-regional": { // AWS WAF Regional
1004
+ "bytematchset": null,
1005
+ "geomatchset": null,
1006
+ "ipset": null,
1007
+ "ratebasedrule": null,
1008
+ "regexmatch": null,
1009
+ "regexpatternset": null,
1010
+ "rule": null,
1011
+ "rulegroup": null,
1012
+ "sizeconstraintset": null,
1013
+ "sqlinjectionset": null,
1014
+ "webacl": null,
1015
+ "xssmatchset": null,
1016
+ },
1017
+ "wafv2": { // AWS WAF V2
1018
+ },
1019
+ "wellarchitected": { // AWS Well-Architected Tool
1020
+ "workload": null,
1021
+ },
1022
+ "worklink": { // Amazon WorkLink
1023
+ "fleet": null,
1024
+ },
1025
+ "workmail": { // Amazon WorkMail
1026
+ "organization": null,
1027
+ },
1028
+ "workmailmessageflow": { // Amazon WorkMail Message Flow
1029
+ "message": null,
1030
+ },
1031
+ "workspaces": { // Amazon WorkSpaces
1032
+ "directory": null,
1033
+ "workspace": null,
1034
+ "workspacebundle": null,
1035
+ "workspaceipgroup": null,
1036
+ },
1037
+ "xray": { // AWS X-Ray
1038
+ "group": null,
1039
+ "sampling-rule": null,
1040
+ },
1041
+ }
1042
+ }
1043
+ }
1044
+
1045
+ // Running as command line script? (not in browser, and not as library)
1046
+ /* istanbul ignore if */
1047
+ if (typeof (require) !== 'undefined' && require.main === module) {
1048
+ for (let i = 2; i < process.argv.length; i++) {
1049
+ try {
1050
+ console.log(new ARN(process.argv[i]).consoleLink);
1051
+ } catch (e) {
1052
+ console.error(e);
1053
+ }
1028
1054
  }
1029
1055
  }
1030
1056