Sha256: 8f772dd6973edbf9a014cfb3af31c5662b37b0a0c06591607b6aecddf618e161

Contents?: true

Size: 1.37 KB

Versions: 43

Compression:

Stored size: 1.37 KB

Contents

module Convection
  module DSL
    ##
    # Formatting helpers for Intrinsic Functions
    module IntrinsicFunctions
      def base64(content)
        {
          'Fn::Base64' => content
        }
      end

      def fn_and(*conditions)
        {
          'Fn::And' => conditions
        }
      end

      def fn_equals(value_1, value_2)
        {
          'Fn::Equals' => [value_1, value_2]
        }
      end

      def fn_if(condition, value_true, value_false)
        {
          'Fn::If' => [condition, value_true, value_false]
        }
      end

      def fn_not(condition)
        {
          'Fn::Not' => [condition]
        }
      end

      def fn_or(*conditions)
        {
          'Fn::Or' => conditions
        }
      end

      def find_in_map(map_name, key_1, key_2)
        {
          'Fn::FindInMap' => [map_name, key_1, key_2]
        }
      end

      def get_att(resource, attr_name)
        {
          'Fn::GetAtt' => [resource, attr_name]
        }
      end

      def get_azs(region)
        {
          'Fn::GetAZs' => region
        }
      end

      def join(delimiter, *values)
        {
          'Fn::Join' => [delimiter, values]
        }
      end

      def select(index, *objects)
        {
          'Fn::Select' => [index, objects]
        }
      end

      def fn_ref(resource)
        {
          'Ref' => resource
        }
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
convection-0.4.3 lib/convection/dsl/intrinsic_functions.rb
convection-0.4.2 lib/convection/dsl/intrinsic_functions.rb
convection-0.4.1 lib/convection/dsl/intrinsic_functions.rb
convection-0.4.0 lib/convection/dsl/intrinsic_functions.rb
convection-0.3.3.pre.beta.1 lib/convection/dsl/intrinsic_functions.rb
convection-0.3.2 lib/convection/dsl/intrinsic_functions.rb
convection-0.3.1 lib/convection/dsl/intrinsic_functions.rb
convection-0.3.0 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.34.pre.beta.1 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.33 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.32 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.31 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.30 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.29 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.28 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.27 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.26 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.25 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.24 lib/convection/dsl/intrinsic_functions.rb
convection-0.2.23 lib/convection/dsl/intrinsic_functions.rb