Sha256: c2149fea77d60de153e53bab7d2fe0121867414ace5d299b0930d099e8e67f38

Contents?: true

Size: 1.33 KB

Versions: 31

Compression:

Stored size: 1.33 KB

Contents

require_relative '../resource'

module Convection
  module DSL
    module Template
      module Resource
        ## Role DSL
        module IAMUser
          def policy(policy_name, &block)
            add_policy = Model::Mixin::Policy.new(:name => policy_name, :template => @template)
            add_policy.instance_exec(&block) if block

            policies << add_policy
          end

          def with_key(serial = 0, &block)
            key = Model::Template::Resource::IAMAccessKey.new("#{ name }Key", @template)
            key.user_name = self
            key.serial = serial

            key.depends_on(self)

            key.with_output("#{ name }Id", key.reference)
            key.with_output("#{ name }Secret", get_att(key.name, 'SecretAccessKey'))

            key.instance_exec(&block) if block

            @template.resources[key.name] = key
          end
        end
      end
    end
  end

  module Model
    class Template
      class Resource
        ##
        # AWS::IAM::User
        ##
        class IAMUser < Resource
          include DSL::Template::Resource::IAMUser

          type 'AWS::IAM::User'
          property :path, 'Path'
          property :login_profile, 'LoginProfile'
          property :group, 'Groups', :type => :list
          property :policies, 'Policies', :type => :list
        end
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
convection-0.2.31 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.30 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.29 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.28 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.27 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.26 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.25 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.24 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.23 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.22 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.21 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.20 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.19 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.18 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.17 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.16 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.15 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.14 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.13 lib/convection/model/template/resource/aws_iam_user.rb
convection-0.2.12 lib/convection/model/template/resource/aws_iam_user.rb