@altostra/core
Version:
Core library for shared types and logic
1 lines • 6.45 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.isValidCustomResourceData=exports.awsServiceToMetadataMap=exports.iconByType=void 0;const Iterable_1=require("../../common/Iterable"),from_1=require("@reactivex/ix-es2015-cjs/iterable/from"),filter_1=require("@reactivex/ix-es2015-cjs/iterable/operators/filter"),map_1=require("@reactivex/ix-es2015-cjs/iterable/operators/map"),take_1=require("@reactivex/ix-es2015-cjs/iterable/operators/take"),serviceToIconMap={"AWS::ACMPCA":"ACMPCA","AWS::Amplify":"Amplify","AWS::ApiGateway::RestApi":"RestAPI","AWS::ApiGatewayV2::Api":"RestAPI","AWS::AppConfig":"AppConfig","AWS::AppMesh":"AppMesh","AWS::AppStream":"AppStream","AWS::AppSync":"AppSync","Alexa::ASK":"ASK","AWS::Athena":"Athena","AWS::AuditManager":"AuditManager","AWS::Backup":"Backup","AWS::CertificateManager":"CertificateManager","AWS::Chatbot":"Chatbot","AWS::CloudTrail":"CloudTrail","AWS::CloudWatch":"CloudWatch","AWS::Cognito":"Cognito","AWS::Logs":"CloudWatchLogs","AWS::Config":"Config","AWS::DataBrew":"DataBrew","AWS::DataPipeline":"DataPipeline","AWS::DataSync":"DataSync","AWS::DAX":"DAX","AWS::DocDB":"DocumentDB","AWS::ECR":"ECR","AWS::EC2":"EC2","AWS::EC2::VPC":"VPC","AWS::ECS":"ECS","AWS::EFS":"EFS","AWS::EKS":"EKS","AWS::ElastiCache":"ElastiCache","AWS::Elasticsearch":"ElasticsearchService","AWS::ElasticLoadBalancing":"ELB","AWS::ElasticLoadBalancingV2":"ELB","AWS::Events":"EventBridge","AWS::EMR":"EMR","AWS::Glue":"Glue","AWS::GuardDuty":"GuardDuty","AWS::IAM::Policy":"IAMPolicy","AWS::IAM::ManagedPolicy":"IAMPolicy","AWS::IAM::Role":"IAMRole","AWS::IoT":"Iot","AWS::Kendra":"Kendra","AWS::Kinesis":"KinesisDataAnalytics","AWS::KinesisAnalyticsV2":"KinesisDataAnalytics","AWS::KMS":"KMS","AWS::LakeFormation":"LakeFormation","AWS::AmazonMQ":"MQ","AWS::Neptune":"Neptune","AWS::QLDB":"QLDB","AWS::Redshift":"Redshift","AWS::SageMaker":"SageMaker","AWS::SecretsManager":"SecretsManager","AWS::SES":"SES","AWS::StepFunctions":"StepFunction","AWS::Timestream":"Timestream"};function iconByType(e){if(e in serviceToIconMap)return serviceToIconMap[e];const a=(0,Iterable_1.join)((0,from_1.from)(e.split("::")).pipe((0,take_1.take)(2)),"::");return serviceToIconMap[a]}function isValidCustomResourceData(e){const a=[...(0,from_1.from)(Object.entries(e)).pipe((0,filter_1.filter)(([,e])=>e.Type in exports.awsServiceToMetadataMap&&!exports.awsServiceToMetadataMap[e.Type].optionalProperties&&(!e.Properties||Object.values(e.Properties).every(e=>void 0===e))),(0,map_1.map)(([e])=>e))];return{invalidResourceKeys:a,isValid:0===a.length}}exports.default=serviceToIconMap,exports.iconByType=iconByType,exports.awsServiceToMetadataMap={"AWS::Amplify::App":{displayName:"Amplify",color:"#ff5252"},"AWS::AppConfig::Application":{displayName:"App Config",color:"#ff4f8b"},"AWS::AppMesh::Mesh":{displayName:"AppMesh",color:"#a166ff",optionalProperties:!0},"AWS::AppStream::Stack":{displayName:"AppStream",color:"#56c0a7",optionalProperties:!0},"AWS::AppSync::GraphQLApi":{displayName:"AppSync",color:"#ff5252"},"AWS::CertificateManager::Certificate":{displayName:"CA Certificate",color:"#ff5252"},"AWS::ACMPCA::Certificate":{displayName:"Private CA Certificate",color:"#ff5252"},"Alexa::ASK::Skill":{displayName:"Ask",color:"#ff5252"},"AWS::Athena::NamedQuery":{displayName:"Athena",color:"#a166ff"},"AWS::AuditManager::Assessment":{displayName:"Audit Manager",color:"#FF5252"},"AWS::Backup::BackupPlan":{displayName:"Backup",color:"#6cae3e"},"AWS::Chatbot::SlackChannelConfiguration":{displayName:"Chatbot",color:"#FF4F8B"},"AWS::CloudTrail::Trail":{displayName:"CloudTrail",color:"#ff4f8b"},"AWS::CloudWatch::Dashboard":{displayName:"CloudWatch",color:"#ff4f8b"},"AWS::Logs::LogGroup":{displayName:"CloudWatch Logs",color:"#ff4f8b",optionalProperties:!0},"AWS::ECR::Repository":{displayName:"Container Registry (ECR)",color:"#ff9900",optionalProperties:!0},"AWS::Cognito::UserPool":{displayName:"Cognito Users Pool",color:"#ff5252"},"AWS::Config::ConfigRule":{displayName:"Config",color:"#ff4f8b"},"AWS::DataBrew::Project":{displayName:"DataBrew",color:"#a166ff"},"AWS::DataPipeline::Pipeline":{displayName:"Data Pipeline",color:"#a166ff"},"AWS::DataSync::Task":{displayName:"DataSync",color:"#56c0a7"},"AWS::DAX::Cluster":{displayName:"DAX",color:"#527FFF"},"AWS::DocDB::DBCluster":{displayName:"DocumentDB",color:"#527fff"},"AWS::ECS::TaskDefinition":{displayName:"Docker Container (ECS)",color:"#ff9900"},"AWS::EFS::FileSystem":{displayName:"EFS",color:"#6cae3e",optionalProperties:!0},"AWS::EKS::Cluster":{displayName:"EKS",color:"#ff9900"},"AWS::EC2::Instance":{displayName:"EC2",color:"#ff9900"},"AWS::ElastiCache::CacheCluster":{displayName:"Elastic Cache",color:"#527fff"},"AWS::Elasticsearch::Domain":{displayName:"Elasticsearch Service",color:"#a166ff",optionalProperties:!0},"AWS::ElasticLoadBalancingV2::LoadBalancer":{displayName:"ELB",color:"#a166ff"},"AWS::EMR::Cluster":{displayName:"EMR",color:"#a166ff"},"AWS::Events::EventBus":{displayName:"EventBridge Bus"},"AWS::Glue::Job":{displayName:"Glue",color:"#a166ff"},"AWS::GuardDuty::Detector":{displayName:"GuardDuty",color:"#ff5252"},"AWS::IAM::Role":{displayName:"IAM Role",color:"#ff5252"},"AWS::IoT::Thing":{displayName:"Iot",color:"#6cae3e",optionalProperties:!0},"AWS::Kendra::Index":{displayName:"Kendra",color:"#56c0a7"},"AWS::KinesisAnalyticsV2::Application":{displayName:"Kinesis Data Analytics",color:"#a166ff"},"AWS::KMS::Key":{displayName:"KMS",color:"#ff5252"},"AWS::LakeFormation::Resource":{displayName:"LakeFormation",color:"#a166ff"},"AWS::AmazonMQ::Broker":{displayName:"MQ",color:"#ff4f8b"},"AWS::Neptune::DBInstance":{displayName:"Neptune",color:"#527fff"},"AWS::QLDB::Ledger":{displayName:"QLDB",color:"#f90"},"AWS::Redshift::Cluster":{displayName:"Redshift",color:"#a166ff"},"AWS::SecretsManager::Secret":{displayName:"Secrets Manager",color:"#ff5252",optionalProperties:!0},"AWS::SES::Template":{displayName:"SES",color:"#527fff"},"AWS::Timestream::Database":{displayName:"Timestream",color:"#527fff",optionalProperties:!0},"AWS::ApiGatewayV2::Api":{displayName:"WebSocket API",color:"#ff5252"},"AWS::EC2::VPC":{displayName:"VPC",color:"#a166ff"},"AWS::ApiGateway::RestApi":{displayName:"REST API",color:"#ff5252"},"AWS::SageMaker::Endpoint":{displayName:"SageMaker Endpoint",color:"#56c0a7"},"AWS::StepFunctions::StateMachine":{displayName:"State Machine"}},exports.isValidCustomResourceData=isValidCustomResourceData;