Sha256: ca2548d46ab6284f4f58101c4c1f739699c9901a4ac06649bdb7c36e68965193

Contents?: true

Size: 811 Bytes

Versions: 9

Compression:

Stored size: 811 Bytes

Contents

require 'cloud_formation/bridge/names'

module CloudFormation
  module Bridge
    module Resources

      class Base
        include CloudFormation::Bridge::Names

        def require_fields(request, fields)
          empty_fields = fields.select do |field|
            request.resource_properties[field].nil? ||
              request.resource_properties[field].strip.empty?
          end

          unless empty_fields.empty?
            raise ArgumentError.new("The fields #{empty_fields.inspect} are required for this resource")
          end

        end

        def update(request)
          raise CloudFormation::Bridge::OperationNotImplementedError.new(
            "The resource #{self.class.name} does not implement the update operation - #{request.inspect}")
        end

      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cfn-bridge-0.0.9 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.8 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.7 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.6 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.5 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.4 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.3 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.2 lib/cloud_formation/bridge/resources/base.rb
cfn-bridge-0.0.1 lib/cloud_formation/bridge/resources/base.rb