aws-cloudformation/cloudformation-coverage-roadmap

CloudFormation console link resource type coverage

Ricapar opened this issue ยท 8 comments

2. Scope of request

When CloudFormation provisions resources for you, you can check what it has created via the "Resources" tab on the stack.

The table lists out the Logical ID, Physical ID, Type, Status, etc.

On certain resources, the Physical ID will be a link that takes you to the page within the AWS Console that represents that resource.

One would expect that if the resource is not click-able that it doesn't exist as something viewable within the console, but this is not the case. There doesn't appear to be consistency between which resources are click-able and which ones are not.

Being able to click on the Physical ID and jump to the section of the console that describes that resource makes for quick drill-downs into what you're dealing with when looking at a stack.

3. Expected behavior

Any resource that can be linked to directly within the console should be linked to via CloudFormation.

Resources that don't have a presence within the console or are sub-sections of other resources should continue to behave as-is and not be linked.

4. Suggest specific test cases

  • If you create a resource of AWS::S3::Bucket, the Physical ID column will be the name of the bucket as link to the S3 bucket within the AWS Console. ๐Ÿ‘
  • If you create a resource of AWS::ECS::Cluster, the Physical ID will be the name of the ECS Cluster, but it is not clickable even though it is possible to hotlink directly to a page for the ECS Cluster. ๐Ÿ‘Ž

Supported resource types:

deepLinkResourceSpecification.json


Couldn't find links using PHYSICALID but could link closer:

AWS::Amplify::App
https://console.aws.amazon.com/amplify/home
AWS::AppMesh::Mesh
https://console.aws.amazon.com/appmesh/meshes
AWS::AppStream::ImageBuilder
https://console.aws.amazon.com/appstream2/home#/images?topTab=image-builders
AWS::AppStream::User
https://console.aws.amazon.com/appstream2/home#/users
AWS::AppSync::GraphQLApi
https://console.aws.amazon.com/appsync/home#/apis
AWS::Athena::NamedQuery
https://console.aws.amazon.com/athena/saved-queries/home
AWS::Batch::JobDefinition
https://console.aws.amazon.com/batch/home#/job-definitions
AWS::CloudFront::CloudFrontOriginAccessIdentity
https://console.aws.amazon.com/cloudfront/home#oai:
AWS::CodeCommit::Repository
https://console.aws.amazon.com/codesuite/codecommit/repositories
AWS::CodeDeploy::DeploymentConfig
https://console.aws.amazon.com/codesuite/codedeploy/deployment-configs
AWS::ECS::TaskDefinition
https://console.aws.amazon.com/ecs/home#/taskDefinitions
AWS::EFS::FileSystem
https://console.aws.amazon.com/efs/home#/filesystems
AWS::ElastiCache::ParameterGroup
https://console.aws.amazon.com/elasticache/home#param-groups
AWS::GameLift::Alias
https://console.aws.amazon.com/gamelift/home#/r/aliases
AWS::GameLift::Build
https://console.aws.amazon.com/gamelift/home#/r/builds
AWS::Glue::Classifier
https://console.aws.amazon.com/glue/home#catalog:tab=classifiers
AWS::Glue::Workflow
https://console.aws.amazon.com/glue/home#etl:tab=workflows
AWS::Inspector::AssessmentTarget
https://console.aws.amazon.com/inspector/home#/target
AWS::RoboMaker::Fleet
https://console.aws.amazon.com/robomaker/home#fleets
AWS::SageMaker::CodeRepository
https://console.aws.amazon.com/sagemaker/home#/notebook-git-repositories
AWS::SageMaker::NotebookInstanceLifecycleConfig
https://console.aws.amazon.com/sagemaker/home#/notebook-instance-lifecycles/
AWS::SQS:Queue
https://console.aws.amazon.com/sqs/home

100+ resource type support rolling out regionally now

Still adding more resource type deeplink support


some percent-encoding issues with some characters in some other services' consoles (SNS, SSM, ECR, etc)

Also issues when physical resource IDs are dynamic references

Any ETA? Would be nice!

Is it also possible to leverage this functionality with Custom Resources? For example adding a link to the Log Group of the Lambda function?

@gruebel If you are using a Resource Provider, you can add "resourceLink" to the schema, like the AWS implementation does;

In the mean time before this gets fixed i've created a google chrome extension that adds links to ALB's, Listeners & TargetGroups - https://chrome.google.com/webstore/detail/aws-ui-helper/mphfofmlanhmdaldkcidkpgnnihimadm?hl=en&authuser=0 . If there is a list of resources with link patterns i can add more resources.

@challapradyumna open source anywhere for contributions?