Sha256: 14dfdc76891983d56fd6049ca5faba87eddf09ce97dee3e8b5834e6ceb226531

Contents?: true

Size: 838 Bytes

Versions: 9

Compression:

Stored size: 838 Bytes

Contents

module Ufo::TaskDefinition::Helpers
  module Waf
    include Ufo::Utils::CallLine
    include Ufo::Utils::Pretty

    # Waf names are uniq within their scope. Tested with AWS console
    # Only use regional since this is for ELB support
    # Returns waf arn
    def waf(name, options={})
      resp = waf_client.list_web_acls(
        scope: "REGIONAL", # required, accepts CLOUDFRONT, REGIONAL
        # next_marker: "NextMarker",
        # limit: 1,
      )
      web_acl = resp.web_acls.find do |acl|
        acl.name == name
      end
      if web_acl
        web_acl.arn
      else
        # Logger causes infinite loop when waf helper used in .ufo/
        logger.warn "WARN: Web ACL not found: #{name}".color(:yellow)
        call_line = ufo_config_call_line
        DslEvaluator.print_code(call_line)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ufo-6.2.4 lib/ufo/task_definition/helpers/waf.rb
ufo-6.2.3 lib/ufo/task_definition/helpers/waf.rb
ufo-6.2.2 lib/ufo/task_definition/helpers/waf.rb
ufo-6.2.1 lib/ufo/task_definition/helpers/waf.rb
ufo-6.2.0 lib/ufo/task_definition/helpers/waf.rb
ufo-6.1.5 lib/ufo/task_definition/helpers/waf.rb
ufo-6.1.4 lib/ufo/task_definition/helpers/waf.rb
ufo-6.1.3 lib/ufo/task_definition/helpers/waf.rb
ufo-6.1.2 lib/ufo/task_definition/helpers/waf.rb