aws / aws-cdk

The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
https://aws.amazon.com/cdk
Apache License 2.0
11.42k stars 3.8k forks source link

decdk: Can't apply intrinsic functions to raw CloudFormation #1986

Closed cohalz closed 5 years ago

cohalz commented 5 years ago

Therefore, it is not a can be used as-is condition as written in the document.

If this becomes possible, will it be possible to deploy existing CloudFormation templates with CDK?

eladb commented 5 years ago

Can you please provide a repro? I am not 100% sure I understand the issue.

cohalz commented 5 years ago

Code that uses intrinsic functions such as Ref: or Fn::Sub: will always fail. For example this short code.

Resources:
  MyLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName:
        Ref: AWS::AccountId
$ npx cdk -a "npx decdk sample.yml" synth
Error: Schema validation errors:
  "instance.Resources.MyLogGroup" is not any of <#/definitions/AWS::AmazonMQ::Broker>,<#/definitions/AWS::AmazonMQ::Configuration>,<#/definitions/AWS::ApiGateway::Account>,<#/definitions/AWS::ApiGateway::ApiKey>,<#/definitions/AWS::ApiGateway::Authorizer>,<#/definitions/AWS::ApiGateway::BasePathMapping>,<#/definitions/AWS::ApiGateway::ClientCertificate>,<#/definitions/AWS::ApiGateway::Deployment>,<#/definitions/AWS::ApiGateway::DocumentationPart>,<#/definitions/AWS::ApiGateway::DocumentationVersion>,<#/definitions/AWS::ApiGateway::DomainName>,<#/definitions/AWS::ApiGateway::GatewayResponse>,<#/definitions/AWS::ApiGateway::Method>,<#/definitions/AWS::ApiGateway::Model>,<#/definitions/AWS::ApiGateway::RequestValidator>,<#/definitions/AWS::ApiGateway::Resource>,<#/definitions/AWS::ApiGateway::RestApi>,<#/definitions/AWS::ApiGateway::Stage>,<#/definitions/AWS::ApiGateway::UsagePlan>,<#/definitions/AWS::ApiGateway::UsagePlanKey>,<#/definitions/AWS::ApiGateway::VpcLink>,<#/definitions/AWS::AppStream::DirectoryConfig>,<#/definitions/AWS::AppStream::Fleet>,<#/definitions/AWS::AppStream::ImageBuilder>,<#/definitions/AWS::AppStream::Stack>,<#/definitions/AWS::AppStream::StackFleetAssociation>,<#/definitions/AWS::AppStream::StackUserAssociation>,<#/definitions/AWS::AppStream::User>,<#/definitions/AWS::AppSync::ApiKey>,<#/definitions/AWS::AppSync::DataSource>,<#/definitions/AWS::AppSync::FunctionConfiguration>,<#/definitions/AWS::AppSync::GraphQLApi>,<#/definitions/AWS::AppSync::GraphQLSchema>,<#/definitions/AWS::AppSync::Resolver>,<#/definitions/AWS::ApplicationAutoScaling::ScalableTarget>,<#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy>,<#/definitions/AWS::Athena::NamedQuery>,<#/definitions/AWS::AutoScaling::AutoScalingGroup>,<#/definitions/AWS::AutoScaling::LaunchConfiguration>,<#/definitions/AWS::AutoScaling::LifecycleHook>,<#/definitions/AWS::AutoScaling::ScalingPolicy>,<#/definitions/AWS::AutoScaling::ScheduledAction>,<#/definitions/AWS::AutoScalingPlans::ScalingPlan>,<#/definitions/AWS::Batch::ComputeEnvironment>,<#/definitions/AWS::Batch::JobDefinition>,<#/definitions/AWS::Batch::JobQueue>,<#/definitions/AWS::Budgets::Budget>,<#/definitions/AWS::CertificateManager::Certificate>,<#/definitions/AWS::Cloud9::EnvironmentEC2>,<#/definitions/AWS::CloudFormation::CustomResource>,<#/definitions/AWS::CloudFormation::Macro>,<#/definitions/AWS::CloudFormation::Stack>,<#/definitions/AWS::CloudFormation::WaitCondition>,<#/definitions/AWS::CloudFormation::WaitConditionHandle>,<#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity>,<#/definitions/AWS::CloudFront::Distribution>,<#/definitions/AWS::CloudFront::StreamingDistribution>,<#/definitions/AWS::CloudTrail::Trail>,<#/definitions/AWS::CloudWatch::Alarm>,<#/definitions/AWS::CloudWatch::Dashboard>,<#/definitions/AWS::CodeBuild::Project>,<#/definitions/AWS::CodeCommit::Repository>,<#/definitions/AWS::CodeDeploy::Application>,<#/definitions/AWS::CodeDeploy::DeploymentConfig>,<#/definitions/AWS::CodeDeploy::DeploymentGroup>,<#/definitions/AWS::CodePipeline::CustomActionType>,<#/definitions/AWS::CodePipeline::Pipeline>,<#/definitions/AWS::CodePipeline::Webhook>,<#/definitions/AWS::Cognito::IdentityPool>,<#/definitions/AWS::Cognito::IdentityPoolRoleAttachment>,<#/definitions/AWS::Cognito::UserPool>,<#/definitions/AWS::Cognito::UserPoolClient>,<#/definitions/AWS::Cognito::UserPoolGroup>,<#/definitions/AWS::Cognito::UserPoolUser>,<#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment>,<#/definitions/AWS::Config::AggregationAuthorization>,<#/definitions/AWS::Config::ConfigRule>,<#/definitions/AWS::Config::ConfigurationAggregator>,<#/definitions/AWS::Config::ConfigurationRecorder>,<#/definitions/AWS::Config::DeliveryChannel>,<#/definitions/AWS::DAX::Cluster>,<#/definitions/AWS::DAX::ParameterGroup>,<#/definitions/AWS::DAX::SubnetGroup>,<#/definitions/AWS::DLM::LifecyclePolicy>,<#/definitions/AWS::DMS::Certificate>,<#/definitions/AWS::DMS::Endpoint>,<#/definitions/AWS::DMS::EventSubscription>,<#/definitions/AWS::DMS::ReplicationInstance>,<#/definitions/AWS::DMS::ReplicationSubnetGroup>,<#/definitions/AWS::DMS::ReplicationTask>,<#/definitions/AWS::DataPipeline::Pipeline>,<#/definitions/AWS::DirectoryService::MicrosoftAD>,<#/definitions/AWS::DirectoryService::SimpleAD>,<#/definitions/AWS::DynamoDB::Table>,<#/definitions/AWS::EC2::CustomerGateway>,<#/definitions/AWS::EC2::DHCPOptions>,<#/definitions/AWS::EC2::EC2Fleet>,<#/definitions/AWS::EC2::EIP>,<#/definitions/AWS::EC2::EIPAssociation>,<#/definitions/AWS::EC2::EgressOnlyInternetGateway>,<#/definitions/AWS::EC2::FlowLog>,<#/definitions/AWS::EC2::Host>,<#/definitions/AWS::EC2::Instance>,<#/definitions/AWS::EC2::InternetGateway>,<#/definitions/AWS::EC2::LaunchTemplate>,<#/definitions/AWS::EC2::NatGateway>,<#/definitions/AWS::EC2::NetworkAcl>,<#/definitions/AWS::EC2::NetworkAclEntry>,<#/definitions/AWS::EC2::NetworkInterface>,<#/definitions/AWS::EC2::NetworkInterfaceAttachment>,<#/definitions/AWS::EC2::NetworkInterfacePermission>,<#/definitions/AWS::EC2::PlacementGroup>,<#/definitions/AWS::EC2::Route>,<#/definitions/AWS::EC2::RouteTable>,<#/definitions/AWS::EC2::SecurityGroup>,<#/definitions/AWS::EC2::SecurityGroupEgress>,<#/definitions/AWS::EC2::SecurityGroupIngress>,<#/definitions/AWS::EC2::SpotFleet>,<#/definitions/AWS::EC2::Subnet>,<#/definitions/AWS::EC2::SubnetCidrBlock>,<#/definitions/AWS::EC2::SubnetNetworkAclAssociation>,<#/definitions/AWS::EC2::SubnetRouteTableAssociation>,<#/definitions/AWS::EC2::TransitGateway>,<#/definitions/AWS::EC2::TransitGatewayAttachment>,<#/definitions/AWS::EC2::TransitGatewayRoute>,<#/definitions/AWS::EC2::TransitGatewayRouteTable>,<#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation>,<#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation>,<#/definitions/AWS::EC2::TrunkInterfaceAssociation>,<#/definitions/AWS::EC2::VPC>,<#/definitions/AWS::EC2::VPCCidrBlock>,<#/definitions/AWS::EC2::VPCDHCPOptionsAssociation>,<#/definitions/AWS::EC2::VPCEndpoint>,<#/definitions/AWS::EC2::VPCEndpointConnectionNotification>,<#/definitions/AWS::EC2::VPCEndpointServicePermissions>,<#/definitions/AWS::EC2::VPCGatewayAttachment>,<#/definitions/AWS::EC2::VPCPeeringConnection>,<#/definitions/AWS::EC2::VPNConnection>,<#/definitions/AWS::EC2::VPNConnectionRoute>,<#/definitions/AWS::EC2::VPNGateway>,<#/definitions/AWS::EC2::VPNGatewayRoutePropagation>,<#/definitions/AWS::EC2::Volume>,<#/definitions/AWS::EC2::VolumeAttachment>,<#/definitions/AWS::ECR::Repository>,<#/definitions/AWS::ECS::Cluster>,<#/definitions/AWS::ECS::Service>,<#/definitions/AWS::ECS::TaskDefinition>,<#/definitions/AWS::EFS::FileSystem>,<#/definitions/AWS::EFS::MountTarget>,<#/definitions/AWS::EKS::Cluster>,<#/definitions/AWS::EMR::Cluster>,<#/definitions/AWS::EMR::InstanceFleetConfig>,<#/definitions/AWS::EMR::InstanceGroupConfig>,<#/definitions/AWS::EMR::SecurityConfiguration>,<#/definitions/AWS::EMR::Step>,<#/definitions/AWS::ElastiCache::CacheCluster>,<#/definitions/AWS::ElastiCache::ParameterGroup>,<#/definitions/AWS::ElastiCache::ReplicationGroup>,<#/definitions/AWS::ElastiCache::SecurityGroup>,<#/definitions/AWS::ElastiCache::SecurityGroupIngress>,<#/definitions/AWS::ElastiCache::SubnetGroup>,<#/definitions/AWS::ElasticBeanstalk::Application>,<#/definitions/AWS::ElasticBeanstalk::ApplicationVersion>,<#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate>,<#/definitions/AWS::ElasticBeanstalk::Environment>,<#/definitions/AWS::ElasticLoadBalancing::LoadBalancer>,<#/definitions/AWS::ElasticLoadBalancingV2::Listener>,<#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate>,<#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule>,<#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer>,<#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup>,<#/definitions/AWS::Elasticsearch::Domain>,<#/definitions/AWS::Events::EventBusPolicy>,<#/definitions/AWS::Events::Rule>,<#/definitions/AWS::GameLift::Alias>,<#/definitions/AWS::GameLift::Build>,<#/definitions/AWS::GameLift::Fleet>,<#/definitions/AWS::Glue::Classifier>,<#/definitions/AWS::Glue::Connection>,<#/definitions/AWS::Glue::Crawler>,<#/definitions/AWS::Glue::Database>,<#/definitions/AWS::Glue::DevEndpoint>,<#/definitions/AWS::Glue::Job>,<#/definitions/AWS::Glue::Partition>,<#/definitions/AWS::Glue::Table>,<#/definitions/AWS::Glue::Trigger>,<#/definitions/AWS::GuardDuty::Detector>,<#/definitions/AWS::GuardDuty::Filter>,<#/definitions/AWS::GuardDuty::IPSet>,<#/definitions/AWS::GuardDuty::Master>,<#/definitions/AWS::GuardDuty::Member>,<#/definitions/AWS::GuardDuty::ThreatIntelSet>,<#/definitions/AWS::IAM::AccessKey>,<#/definitions/AWS::IAM::Group>,<#/definitions/AWS::IAM::InstanceProfile>,<#/definitions/AWS::IAM::ManagedPolicy>,<#/definitions/AWS::IAM::Policy>,<#/definitions/AWS::IAM::Role>,<#/definitions/AWS::IAM::ServiceLinkedRole>,<#/definitions/AWS::IAM::User>,<#/definitions/AWS::IAM::UserToGroupAddition>,<#/definitions/AWS::Inspector::AssessmentTarget>,<#/definitions/AWS::Inspector::AssessmentTemplate>,<#/definitions/AWS::Inspector::ResourceGroup>,<#/definitions/AWS::IoT1Click::Device>,<#/definitions/AWS::IoT1Click::Placement>,<#/definitions/AWS::IoT1Click::Project>,<#/definitions/AWS::IoT::Certificate>,<#/definitions/AWS::IoT::Policy>,<#/definitions/AWS::IoT::PolicyPrincipalAttachment>,<#/definitions/AWS::IoT::Thing>,<#/definitions/AWS::IoT::ThingPrincipalAttachment>,<#/definitions/AWS::IoT::TopicRule>,<#/definitions/AWS::KMS::Alias>,<#/definitions/AWS::KMS::Key>,<#/definitions/AWS::Kinesis::Stream>,<#/definitions/AWS::Kinesis::StreamConsumer>,<#/definitions/AWS::KinesisAnalytics::Application>,<#/definitions/AWS::KinesisAnalytics::ApplicationOutput>,<#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource>,<#/definitions/AWS::KinesisFirehose::DeliveryStream>,<#/definitions/AWS::Lambda::Alias>,<#/definitions/AWS::Lambda::EventSourceMapping>,<#/definitions/AWS::Lambda::Function>,<#/definitions/AWS::Lambda::Permission>,<#/definitions/AWS::Lambda::Version>,<#/definitions/AWS::Logs::Destination>,<#/definitions/AWS::Logs::LogGroup>,<#/definitions/AWS::Logs::LogStream>,<#/definitions/AWS::Logs::MetricFilter>,<#/definitions/AWS::Logs::SubscriptionFilter>,<#/definitions/AWS::Neptune::DBCluster>,<#/definitions/AWS::Neptune::DBClusterParameterGroup>,<#/definitions/AWS::Neptune::DBInstance>,<#/definitions/AWS::Neptune::DBParameterGroup>,<#/definitions/AWS::Neptune::DBSubnetGroup>,<#/definitions/AWS::OpsWorks::App>,<#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment>,<#/definitions/AWS::OpsWorks::Instance>,<#/definitions/AWS::OpsWorks::Layer>,<#/definitions/AWS::OpsWorks::Stack>,<#/definitions/AWS::OpsWorks::UserProfile>,<#/definitions/AWS::OpsWorks::Volume>,<#/definitions/AWS::RDS::DBCluster>,<#/definitions/AWS::RDS::DBClusterParameterGroup>,<#/definitions/AWS::RDS::DBInstance>,<#/definitions/AWS::RDS::DBParameterGroup>,<#/definitions/AWS::RDS::DBSecurityGroup>,<#/definitions/AWS::RDS::DBSecurityGroupIngress>,<#/definitions/AWS::RDS::DBSubnetGroup>,<#/definitions/AWS::RDS::EventSubscription>,<#/definitions/AWS::RDS::OptionGroup>,<#/definitions/AWS::Redshift::Cluster>,<#/definitions/AWS::Redshift::ClusterParameterGroup>,<#/definitions/AWS::Redshift::ClusterSecurityGroup>,<#/definitions/AWS::Redshift::ClusterSecurityGroupIngress>,<#/definitions/AWS::Redshift::ClusterSubnetGroup>,<#/definitions/AWS::Route53::HealthCheck>,<#/definitions/AWS::Route53::HostedZone>,<#/definitions/AWS::Route53::RecordSet>,<#/definitions/AWS::Route53::RecordSetGroup>,<#/definitions/AWS::Route53Resolver::ResolverEndpoint>,<#/definitions/AWS::Route53Resolver::ResolverRule>,<#/definitions/AWS::S3::Bucket>,<#/definitions/AWS::S3::BucketPolicy>,<#/definitions/AWS::SDB::Domain>,<#/definitions/AWS::SES::ConfigurationSet>,<#/definitions/AWS::SES::ConfigurationSetEventDestination>,<#/definitions/AWS::SES::ReceiptFilter>,<#/definitions/AWS::SES::ReceiptRule>,<#/definitions/AWS::SES::ReceiptRuleSet>,<#/definitions/AWS::SES::Template>,<#/definitions/AWS::SNS::Subscription>,<#/definitions/AWS::SNS::Topic>,<#/definitions/AWS::SNS::TopicPolicy>,<#/definitions/AWS::SQS::Queue>,<#/definitions/AWS::SQS::QueuePolicy>,<#/definitions/AWS::SSM::Association>,<#/definitions/AWS::SSM::Document>,<#/definitions/AWS::SSM::MaintenanceWindow>,<#/definitions/AWS::SSM::MaintenanceWindowTask>,<#/definitions/AWS::SSM::Parameter>,<#/definitions/AWS::SSM::PatchBaseline>,<#/definitions/AWS::SSM::ResourceDataSync>,<#/definitions/AWS::SageMaker::Endpoint>,<#/definitions/AWS::SageMaker::EndpointConfig>,<#/definitions/AWS::SageMaker::Model>,<#/definitions/AWS::SageMaker::NotebookInstance>,<#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig>,<#/definitions/AWS::SecretsManager::ResourcePolicy>,<#/definitions/AWS::SecretsManager::RotationSchedule>,<#/definitions/AWS::SecretsManager::Secret>,<#/definitions/AWS::SecretsManager::SecretTargetAttachment>,<#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare>,<#/definitions/AWS::ServiceCatalog::CloudFormationProduct>,<#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct>,<#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint>,<#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint>,<#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint>,<#/definitions/AWS::ServiceCatalog::Portfolio>,<#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation>,<#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation>,<#/definitions/AWS::ServiceCatalog::PortfolioShare>,<#/definitions/AWS::ServiceCatalog::TagOption>,<#/definitions/AWS::ServiceCatalog::TagOptionAssociation>,<#/definitions/AWS::ServiceDiscovery::HttpNamespace>,<#/definitions/AWS::ServiceDiscovery::Instance>,<#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace>,<#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace>,<#/definitions/AWS::ServiceDiscovery::Service>,<#/definitions/AWS::StepFunctions::Activity>,<#/definitions/AWS::StepFunctions::StateMachine>,<#/definitions/AWS::WAF::ByteMatchSet>,<#/definitions/AWS::WAF::IPSet>,<#/definitions/AWS::WAF::Rule>,<#/definitions/AWS::WAF::SizeConstraintSet>,<#/definitions/AWS::WAF::SqlInjectionMatchSet>,<#/definitions/AWS::WAF::WebACL>,<#/definitions/AWS::WAF::XssMatchSet>,<#/definitions/AWS::WAFRegional::ByteMatchSet>,<#/definitions/AWS::WAFRegional::IPSet>,<#/definitions/AWS::WAFRegional::Rule>,<#/definitions/AWS::WAFRegional::SizeConstraintSet>,<#/definitions/AWS::WAFRegional::SqlInjectionMatchSet>,<#/definitions/AWS::WAFRegional::WebACL>,<#/definitions/AWS::WAFRegional::WebACLAssociation>,<#/definitions/AWS::WAFRegional::XssMatchSet>,<#/definitions/AWS::WorkSpaces::Workspace>,<#/definitions/Alexa::ASK::Skill>,<#/definitions/@aws-cdk.aws-events.EventRule>,<#/definitions/@aws-cdk.aws-iam.Group>,<#/definitions/@aws-cdk.aws-iam.LazyRole>,<#/definitions/@aws-cdk.aws-iam.Policy>,<#/definitions/@aws-cdk.aws-iam.Role>,<#/definitions/@aws-cdk.aws-iam.User>,<#/definitions/@aws-cdk.cdk.Condition>,<#/definitions/@aws-cdk.cdk.DynamicReference>,<#/definitions/@aws-cdk.cdk.Include>,<#/definitions/@aws-cdk.cdk.Mapping>,<#/definitions/@aws-cdk.cdk.Output>,<#/definitions/@aws-cdk.cdk.Parameter>,<#/definitions/@aws-cdk.cdk.Rule>,<#/definitions/@aws-cdk.cdk.SecretParameter>,<#/definitions/@aws-cdk.cdk.Stack>,<#/definitions/@aws-cdk.cdk.StringListOutput>,<#/definitions/@aws-cdk.aws-lambda.Alias>,<#/definitions/@aws-cdk.aws-lambda.EventSourceMapping>,<#/definitions/@aws-cdk.aws-lambda.Function>,<#/definitions/@aws-cdk.aws-lambda.ImportedFunction>,<#/definitions/@aws-cdk.aws-lambda.LayerVersion>,<#/definitions/@aws-cdk.aws-lambda.SingletonFunction>,<#/definitions/@aws-cdk.aws-lambda.SingletonLayerVersion>,<#/definitions/@aws-cdk.aws-lambda.Version>,<#/definitions/@aws-cdk.assets.Asset>,<#/definitions/@aws-cdk.assets.FileAsset>,<#/definitions/@aws-cdk.assets.ZipDirectoryAsset>,<#/definitions/@aws-cdk.aws-s3.Bucket>,<#/definitions/@aws-cdk.aws-s3.BucketPolicy>,<#/definitions/@aws-cdk.aws-kms.EncryptionKey>,<#/definitions/@aws-cdk.aws-kms.EncryptionKeyAlias>,<#/definitions/@aws-cdk.aws-cloudwatch.Alarm>,<#/definitions/@aws-cdk.aws-cloudwatch.Dashboard>,<#/definitions/@aws-cdk.aws-ec2.SecurityGroup>,<#/definitions/@aws-cdk.aws-ec2.VpcNetwork>,<#/definitions/@aws-cdk.aws-ec2.VpcPrivateSubnet>,<#/definitions/@aws-cdk.aws-ec2.VpcPublicSubnet>,<#/definitions/@aws-cdk.aws-ec2.VpcSubnet>,<#/definitions/@aws-cdk.aws-ec2.VpnConnection>,<#/definitions/@aws-cdk.aws-logs.CrossAccountDestination>,<#/definitions/@aws-cdk.aws-logs.LogGroup>,<#/definitions/@aws-cdk.aws-logs.LogStream>,<#/definitions/@aws-cdk.aws-logs.MetricFilter>,<#/definitions/@aws-cdk.aws-logs.SubscriptionFilter>,<#/definitions/@aws-cdk.aws-sqs.Queue>,<#/definitions/@aws-cdk.aws-sqs.QueuePolicy>,<#/definitions/@aws-cdk.aws-stepfunctions.Activity>,<#/definitions/@aws-cdk.aws-stepfunctions.Choice>,<#/definitions/@aws-cdk.aws-stepfunctions.Fail>,<#/definitions/@aws-cdk.aws-stepfunctions.Parallel>,<#/definitions/@aws-cdk.aws-stepfunctions.Pass>,<#/definitions/@aws-cdk.aws-stepfunctions.StateMachine>,<#/definitions/@aws-cdk.aws-stepfunctions.Succeed>,<#/definitions/@aws-cdk.aws-stepfunctions.Task>,<#/definitions/@aws-cdk.aws-stepfunctions.Wait>,<#/definitions/@aws-cdk.aws-sns.Subscription>,<#/definitions/@aws-cdk.aws-sns.Topic>,<#/definitions/@aws-cdk.aws-sns.TopicPolicy>,<#/definitions/@aws-cdk.aws-codebuild.PipelineProject>,<#/definitions/@aws-cdk.aws-codebuild.Project>,<#/definitions/@aws-cdk.assets-docker.DockerImageAsset>,<#/definitions/@aws-cdk.aws-ecr.Repository>,<#/definitions/@aws-cdk.aws-codecommit.Repository>,<#/definitions/@aws-cdk.aws-apigateway.Deployment>,<#/definitions/@aws-cdk.aws-apigateway.LambdaRestApi>,<#/definitions/@aws-cdk.aws-apigateway.Method>,<#/definitions/@aws-cdk.aws-apigateway.ProxyResource>,<#/definitions/@aws-cdk.aws-apigateway.Resource>,<#/definitions/@aws-cdk.aws-apigateway.RestApi>,<#/definitions/@aws-cdk.aws-apigateway.Stage>,<#/definitions/@aws-cdk.aws-apigateway.VpcLink>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.ApplicationListener>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.ApplicationListenerCertificate>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.ApplicationListenerRule>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.ApplicationLoadBalancer>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.ApplicationTargetGroup>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.NetworkListener>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.NetworkLoadBalancer>,<#/definitions/@aws-cdk.aws-elasticloadbalancingv2.NetworkTargetGroup>,<#/definitions/@aws-cdk.aws-route53.AliasRecord>,<#/definitions/@aws-cdk.aws-route53.CnameRecord>,<#/definitions/@aws-cdk.aws-route53.HostedZone>,<#/definitions/@aws-cdk.aws-route53.PrivateHostedZone>,<#/definitions/@aws-cdk.aws-route53.PublicHostedZone>,<#/definitions/@aws-cdk.aws-route53.TxtRecord>,<#/definitions/@aws-cdk.aws-route53.ZoneDelegationRecord>,<#/definitions/@aws-cdk.aws-applicationautoscaling.ScalableTarget>,<#/definitions/@aws-cdk.aws-applicationautoscaling.StepScalingAction>,<#/definitions/@aws-cdk.aws-applicationautoscaling.StepScalingPolicy>,<#/definitions/@aws-cdk.aws-applicationautoscaling.TargetTrackingScalingPolicy>,<#/definitions/@aws-cdk.aws-autoscaling.AutoScalingGroup>,<#/definitions/@aws-cdk.aws-autoscaling.ScheduledAction>,<#/definitions/@aws-cdk.aws-autoscaling.StepScalingAction>,<#/definitions/@aws-cdk.aws-autoscaling.StepScalingPolicy>,<#/definitions/@aws-cdk.aws-autoscaling.TargetTrackingScalingPolicy>,<#/definitions/@aws-cdk.aws-elasticloadbalancing.LoadBalancer>,<#/definitions/@aws-cdk.aws-certificatemanager.Certificate>,<#/definitions/@aws-cdk.aws-cloudfront.CloudFrontWebDistribution>,<#/definitions/@aws-cdk.aws-cloudtrail.CloudTrail>,<#/definitions/@aws-cdk.aws-codedeploy.LambdaApplication>,<#/definitions/@aws-cdk.aws-codedeploy.LambdaDeploymentGroup>,<#/definitions/@aws-cdk.aws-codedeploy.ServerApplication>,<#/definitions/@aws-cdk.aws-codedeploy.ServerDeploymentConfig>,<#/definitions/@aws-cdk.aws-codedeploy.ServerDeploymentGroup>,<#/definitions/@aws-cdk.aws-codepipeline.JenkinsProvider>,<#/definitions/@aws-cdk.aws-codepipeline.Pipeline>,<#/definitions/@aws-cdk.aws-cognito.UserPool>,<#/definitions/@aws-cdk.aws-cognito.UserPoolClient>,<#/definitions/@aws-cdk.aws-dynamodb.Table>,<#/definitions/@aws-cdk.aws-ecs.AwsLogDriver>,<#/definitions/@aws-cdk.aws-ecs.Cluster>,<#/definitions/@aws-cdk.aws-ecs.ContainerDefinition>,<#/definitions/@aws-cdk.aws-ecs.Ec2EventRuleTarget>,<#/definitions/@aws-cdk.aws-ecs.Ec2Service>,<#/definitions/@aws-cdk.aws-ecs.Ec2TaskDefinition>,<#/definitions/@aws-cdk.aws-ecs.FargateService>,<#/definitions/@aws-cdk.aws-ecs.FargateTaskDefinition>,<#/definitions/@aws-cdk.aws-ecs.LoadBalancedEc2Service>,<#/definitions/@aws-cdk.aws-ecs.LoadBalancedFargateService>,<#/definitions/@aws-cdk.aws-ecs.LoadBalancedFargateServiceApplet>,<#/definitions/@aws-cdk.aws-ecs.ScalableTaskCount>,<#/definitions/@aws-cdk.aws-ecs.TaskDefinition>,<#/definitions/@aws-cdk.aws-eks.Cluster>,<#/definitions/@aws-cdk.aws-kinesis.Stream>,<#/definitions/@aws-cdk.aws-quickstarts.RemoteDesktopGateway>,<#/definitions/@aws-cdk.aws-quickstarts.SqlServer>,<#/definitions/@aws-cdk.aws-rds.ClusterParameterGroup>,<#/definitions/@aws-cdk.aws-rds.DatabaseCluster>,<#/definitions/@aws-cdk.aws-secretsmanager.Secret>,<#/definitions/@aws-cdk.aws-secretsmanager.SecretString>,<#/definitions/@aws-cdk.aws-ssm.ParameterStoreSecureString>,<#/definitions/@aws-cdk.aws-ssm.ParameterStoreString>,<#/definitions/@aws-cdk.aws-ssm.StringListParameter>,<#/definitions/@aws-cdk.aws-ssm.StringParameter>,<#/definitions/@aws-cdk.runtime-values.RuntimeValue>
    at new DeclarativeStack (/Users/cohalz/sandbox/decdktest/node_modules/decdk/lib/declarative-stack.js:16:19)
    at main (/Users/cohalz/sandbox/decdktest/node_modules/decdk/bin/decdk.js:17:5)

If you do not use Ref it will succeed.

Resources:
  MyLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName: hoge
$ npx cdk -a "npx decdk sample.yml" synth
Resources:
  MyLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName: hoge
  CDKMetadata:
    Type: AWS::CDK::Metadata
    Properties:
      Modules: aws-cdk=0.25.2,@aws-cdk/cdk=0.25.2,@aws-cdk/cx-api=0.25.2,jsii-runtime=node.js/v10.15.2

In reality, CloudFormation that does not use intrinsic functions is rare, so it is often an error.

eladb commented 5 years ago

@cohalz thanks. The schema is broken. Thanks for the clarification.