Sha256: 72f84d1117bcfa551801ab6ce193b083e6aa7266e248bfd9e9d640dafc4d7d44

Contents?: true

Size: 923 Bytes

Versions: 4

Compression:

Stored size: 923 Bytes

Contents

module Lono::Builder::Configset::Definition::Dsl::Syntax
  module Auth
    def authentication(data=nil, force: false)
      if data.nil?
        authentication_reader
      else
        authentication_setter(data, force)
      end
    end

    # data can be either:
    #
    #     1. logical id - String
    #     2. Full AWS::CloudFormation::Authentication value structure
    #
    def authentication_reader
      # AWS::CloudFormation::Authentication
      case @authentication
      when String
        logical_id = @authentication
        {
          rolebased: {
            type: "S3",
            buckets: [lono_bucket_name],
            roleName: {Ref: logical_id}, # currently ref meth is not available
          }
        }
      when Hash
        @authentication
      end
    end

    def authentication_setter(data, force=false)
      @authentication = data unless @authentication || force
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lono-8.0.0.pre.rc6 lib/lono/builder/configset/definition/dsl/syntax/auth.rb
lono-8.0.0.pre.rc5 lib/lono/builder/configset/definition/dsl/syntax/auth.rb
lono-8.0.0.pre.rc4 lib/lono/builder/configset/definition/dsl/syntax/auth.rb
lono-8.0.0.pre.rc3 lib/lono/builder/configset/definition/dsl/syntax/auth.rb