<commit_before>fs           = require 'fs'
vm           = require 'vm'
path         = require 'path'
CoffeeScript = require 'coffee-script'

class CloudFormationTemplateContext
  constructor: ->
    @_resources   = {}
    @_parameters  = {}
    @_mappings    = null
    @_outputs     = {}
    @_description = null
    @_conditions  = null
    @Params       = {}
    @Resources    = {}
    @Mappings     = {}
    @Conditions   = {}
    @AWS =
      AutoScaling:
        AutoScalingGroup: null
        LaunchConfiguration: null
        ScalingPolicy: null
        LifecycleHook: null
        ScheduledAction: null
        Trigger: null
      CloudFormation:
        Authentication: null
        CustomResource: null
        Stack: null
        WaitCondition: null
        WaitConditionHandle: null
      CloudFront:
        Distribution: null
      CloudWatch:
        Alarm: null
      CodeDeploy:
        Application: null
        DeploymentConfig: null
        DeploymentGroup: null
      CloudTrail:
        Trail: null
      DataPipeline:
        Pipeline: null
      DynamoDB:
        Table: null
      EC2:
        CustomerGateway: null
        DHCPOptions: null
        EIP: null
        EIPAssociation: null
        Instance: null
        InternetGateway: null
        NetworkAcl: null
        NetworkAclEntry: null
        NetworkInterface: null
        Route: null
        RouteTable: null
        SecurityGroup: null
        SecurityGroupIngress: null
        SecurityGroupEgress: null
        Subnet: null
        SubnetNetworkAclAssociation: null
        SubnetRouteTableAssociation: null
        Volume: null
        VolumeAttachment: null
        VPC: null
        VPCDHCPOptionsAssociation: null
        VPCGatewayAttachment: null
        VPNConnection: null
        VPNGateway: null
      ECS:
        Cluser: null
        Service: null
        TaskDefinition: null
      ElastiCache:
        CacheCluster: null
        ParameterGroup: null
        SecurityGroup: null
        SecurityGroupIngress: null
      ElasticBeanstalk:
        Application: null
        ApplicationVersion: null
        Environment: null
        ConfigurationTemplate: null
      ElasticLoadBalancing:
        LoadBalancer: null
      EFS:
        FileSystem: null
        MountTarget: null
      IAM:
        AccessKey: null
        Group: null
        InstanceProfile: null
        Policy: null
        Role: null
        User: null
        UserToGroupAddition: null
      Kinesis:
        Stream: null
      Logs:
        LogGroup: null
        MetricFilter: null
      Lambda:
        Function: null
        Permission: null
        EventSourceMapping: null
      OpsWorks:
        App: null
        Instance: null
        Layer: null
        Stack: null
      Redshift:
        Cluster: null
        ClusterParameterGroup: null
        ClusterSecurityGroup: null
        ClusterSubnetGroup: null
      RDS:
        DBInstance: null
        DBParameterGroup: null
        DBSubnetGroup: null
        DBSecurityGroup: null
        DBSecurityGroupIngress: null
      Route53:
        RecordSet: null
        RecordSetGroup: null
        HostedZone: null
        HealthCheck: null
      SDB:
        Domain: null
      S3:
        Bucket: null
        BucketPolicy: null
      SNS:
        Topic: null
        TopicPolicy: null
      SQS:
        Queue: null
        QueuePolicy: null
    @Param =
      String: (name, arg1, arg2) =>             @_paramByType 'String', name, arg1, arg2
      Number: (name, arg1, arg2) =>             @_paramByType 'Number', name, arg1, arg2
      CommaDelimitedList: (name, arg1, arg2) => @_paramByType 'CommaDelimitedList', name, arg1, arg2
      AWS: (type, name, arg1, arg2) => @_paramByType "AWS::#{type}", name, arg1, arg2
      AWSList: (type, name, arg1, arg2) => @_paramByType "List<#{type}>", name, arg1, arg2
    @_buildCall null, null, 'AWS', @AWS

  _paramByType: (type, name, arg1, arg2) =>
    result = {}
    if not arg1?
      result[name] = {}<commit_msg>import updated src/coffin - new and missing resources from 12/3 cloudformation resource update<commit_after>fs           = require 'fs'
vm           = require 'vm'
path         = require 'path'
CoffeeScript = require 'coffee-script'

class CloudFormationTemplateContext
  constructor: ->
    @_resources   = {}
    @_parameters  = {}
    @_mappings    = null
    @_outputs     = {}
    @_description = null
    @_conditions  = null
    @Params       = {}
    @Resources    = {}
    @Mappings     = {}
    @Conditions   = {}
    @AWS =
      AutoScaling:
        AutoScalingGroup: null
        LaunchConfiguration: null
        ScalingPolicy: null
        LifecycleHook: null
        ScheduledAction: null
        Trigger: null
      CloudFormation:
        Authentication: null
        CustomResource: null
        Stack: null
        WaitCondition: null
        WaitConditionHandle: null
      CloudFront:
        Distribution: null
      CloudWatch:
        Alarm: null
      CodeDeploy:
        Application: null
        DeploymentConfig: null
        DeploymentGroup: null
      CodePipeline:
        Pipeline: null
        CustomActionType: null
      Config:
        ConfigRule: null
        ConfigurationRecorder: null
        DeliveryChannel: null
      DirectoryService:
        SimpleAD: null
      CloudTrail:
        Trail: null
      DataPipeline:
        Pipeline: null
      DynamoDB:
        Table: null
      EC2:
        CustomerGateway: null
        DHCPOptions: null
        EIP: null
        EIPAssociation: null
        Instance: null
        InternetGateway: null
        NetworkAcl: null
        NetworkAclEntry: null
        NetworkInterface: null
        PlacementGroup: null
        Route: null
        RouteTable: null
        SecurityGroup: null
        SecurityGroupIngress: null
        SecurityGroupEgress: null
        Subnet: null
        SubnetNetworkAclAssociation: null
        SubnetRouteTableAssociation: null
        SpotFleet: null
        Volume: null
        VolumeAttachment: null
        VPC: null
        VPCDHCPOptionsAssociation: null
        VPCEndpoint: null
        VPCGatewayAttachment: null
        VPNConnection: null
        VPNGateway: null
      ECS:
        Cluster: null
        Service: null
        TaskDefinition: null
      ElastiCache:
        CacheCluster: null
        ParameterGroup: null
        ReplicationGroup: null
        SecurityGroup: null
        SecurityGroupIngress: null
      ElasticBeanstalk:
        Application: null
        ApplicationVersion: null
        Environment: null
        ConfigurationTemplate: null
      ElasticLoadBalancing:
        LoadBalancer: null
      EFS:
        FileSystem: null
        MountTarget: null
      IAM:
        AccessKey: null
        Group: null
        InstanceProfile: null
        ManagedPolicy: null
        Policy: null
        Role: null
        User: null
        UserToGroupAddition: null
      Kinesis:
        Stream: null
      KMS:
        Key: null
      Logs:
        LogGroup: null
        MetricFilter: null
        SubscriptionFilter: null
      Lambda:
        EventSourceMapping: null
        Function: null
        Permission: null
      OpsWorks:
        App: null
        Instance: null
        Layer: null
        Stack: null
      Redshift:
        Cluster: null
        ClusterParameterGroup: null
        ClusterSecurityGroup: null
        ClusterSubnetGroup: null
      RDS:
        DBCluster: null
        DBClusterParameterGroup: null
        DBInstance: null
        DBParameterGroup: null
        DBSubnetGroup: null
        DBSecurityGroup: null
        DBSecurityGroupIngress: null
        EventSubscription: null
        OptionGroup: null
      Route53:
        RecordSet: null
        RecordSetGroup: null
        HostedZone: null
        HealthCheck: null
      SDB:
        Domain: null
      S3:
        Bucket: null
        BucketPolicy: null
      SNS:
        Topic: null
        TopicPolicy: null
      SQS:
        Queue: null
        QueuePolicy: null
      SSM:
        Document: null
      WorkSpaces:
        Workspace: null
    @Param =
      String: (name, arg1, arg2) =>             @_paramByType 'String', name, arg1, arg2
      Number: (name, arg1, arg2) =>             @_paramByType 'Number', name, arg1, arg2
      CommaDelimitedList: (name, arg1, arg2) => @_paramByType 'CommaDelimitedList', name, arg1, arg2
      AWS: (type, name, arg1, arg2) => @_paramByType "AWS::#{type}", name, arg1, arg2
      AWSList: (type, name, arg1, arg2) => @_paramByType "List<AWS::#{type}>", name, arg1, arg2
    @_buildCall null, null, 'AWS', @AWS

  _paramByType: (type, name, arg1, arg2) =>
    result = {}
    if not arg1?
      result[name] = {}
{'fraction_non_alphanumeric': 0.0673021706672792, 'fraction_numerical': 0.006546456873779718, 'mean_word_length': 1.8036059240180295, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2710740', 'n_tokens_mistral': 2450, 'n_tokens_neox': 2403, 'n_words': 667}