Sha256: 443ddbc5043fba5db64e9de05ac25378265669748ffc8e7ec48f8ec02b46822f

Contents?: true

Size: 587 Bytes

Versions: 8

Compression:

Stored size: 587 Bytes

Contents

module Ufo::Role
  class DSL
    def initialize(path)
      @path = path # IE: .ufo/iam_roles/task_role.rb
    end

    def evaluate
      instance_eval(IO.read(@path), @path)
    end

    def iam_policy(policy_name, statements)
      role_type = File.basename(@path).sub('.rb','') # task_role or execution_role
      Registry.register_policy(role_type, policy_name, statements)
    end

    def managed_iam_policy(*policies)
      role_type = File.basename(@path).sub('.rb','') # task_role or execution_role
      Registry.register_managed_policy(role_type, policies)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ufo-5.0.7 lib/ufo/role/dsl.rb
ufo-5.0.6 lib/ufo/role/dsl.rb
ufo-5.0.5 lib/ufo/role/dsl.rb
ufo-5.0.4 lib/ufo/role/dsl.rb
ufo-5.0.3 lib/ufo/role/dsl.rb
ufo-5.0.2 lib/ufo/role/dsl.rb
ufo-5.0.1 lib/ufo/role/dsl.rb
ufo-5.0.0 lib/ufo/role/dsl.rb