nmccready / cft-utils

AWS Cloud Formation Template Utilities

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cft-utils

This projects goal is to provide information and capabilities of what AWS Cloudformation actually provides. There are many missing gaps and this library intends to fill them. The original goal of this library is to identify all AWS Resources which are actually Taggable via a Cloudformation Template.

Note: the first time the library is run it processes the aws-cd-lib for taggable resources. This is then cached inside of ./src/cache/*.json .

install

npm i --save @znemz/cft-utils

SDK

const lib = require('@znemz/cft-utils');
(async () => 
  console.log(await lib.resources.taggable.getResources())
  console.log(await lib.resources.taggable.getResourceMap())

  await lib.resources.taggable.isTaggableResource('AWS::IAM::Role') // true
)();

CLI Tools

$ ./bin/taggableResourceMap.js
{"AWS::AccessAnalyzer::Analyzer":true,"AWS::ACMPCA::CertificateAuthority":true,"AWS::AmazonMQ::Broker":true,"AWS::AmazonMQ::Configuration":true,"AWS::Amplify::App":true,"AWS::Amplify::Branch":true,"AWS::AmplifyUIBuilder::Component":true,"AWS::AmplifyUIBuilder::Form":true,"AWS::AmplifyUIBuilder::Theme":true,"AWS::ApiGatewayV2::Api":true,"AWS::ApiGatewayV2::DomainName":true,"AWS::ApiGatewayV2::Stage":true,"AWS::ApiGatewayV2::VpcLink":true,"AWS::AppConfig::Extension":true,
... more items
$ ./bin/taggableResources.js
["AWS::AccessAnalyzer::Analyzer","AWS::ACMPCA::CertificateAuthority","AWS::AmazonMQ::Broker","AWS::AmazonMQ::Configuration","AWS::Amplify::App","AWS::Amplify::Branch","AWS::AmplifyUIBuilder::Component","AWS::AmplifyUIBuilder::Form","AWS::AmplifyUIBuilder::Theme",
... more items

About

AWS Cloud Formation Template Utilities

License:MIT License


Languages

Language:JavaScript 100.0%