 
   _resourceByType: (type, name, props) =>
     result = {}
-    if props?.Metadata? or props?.Properties? or props?.DependsOn? or props?.UpdatePolicy? or props?.CreationPolicy?
+    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

        Description: args[0]
        Value: args[1]
    @_set result, @_outputs

  Description: (d) => @_description = d


    '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]
  And: (condition, conditions...) ->
    if conditions.length is 1 and (conditions[0] instanceof Array)
      'Fn::And': [condition, conditions[0]]
    else
      'Fn::And': [condition, conditions]
  Equals: (value_1, value_2) ->
    'Fn::Equals': [ value_1, value_2 ]
  If: (condition, value_if_true, value_if_false) ->
    'Fn::If': [condition, value_if_true, value_if_false]
  Not: (condition) ->
    'Fn::Not': [condition]
  Or: (condition, conditions...) ->
    if conditions.length is 1 and (conditions[0] instanceof Array)
      'Fn::Or': [condition, conditions[0]]
    else
      'Fn::Or': [condition, conditions]
  AccountId: Ref: 'AWS::AccountId'
  NotificationARNs: Ref: 'AWS::NotificationARNs'
  NoValue: Ref: 'AWS::NoValue'
