     @_mappings    = null
     @_outputs     = {}
     @_description = null
+    @_conditions  = null
     @Params       = {}
     @Resources    = {}
     @Mappings     = {}
+    @Conditions   = {}
     @AWS =
       AutoScaling:
         AutoScalingGroup: null

    'Fn::GetAZs': arg
  Select: (index, args...) ->
    if args.length is 1 and (args[0] instanceof Array)
      'Fn::Select': [ index, args[0] ]
    else
      'Fn::Select': [ index, args ]
  AccountId: Ref: 'AWS::AccountId'
  NotificationARNs: Ref: 'AWS::NotificationARNs'
  NoValue: Ref: 'AWS::NoValue'


  _resourceByType: (type, name, props) =>
    result = {}
    if props?.Metadata? or props?.Properties? or props?.DependsOn? or props?.UpdatePolicy? or props?.CreationPolicy? or props?.Condition?
      result[name] = props
      result[name].Type = type
    else
