class RenderCFN::Role

Public Class Methods

new( name) click to toggle source
# File lib/renderCFN/role.rb, line 5
def initialize( name)
  @name = "#{name}Role"
  @awsObject = { 
    @name => {
      'Type' => 'AWS::IAM::Role',
      'Properties' => {
        'AssumeRolePolicyDocument' => {
          'Statement' => [
            'Effect' => 'Allow',
            'Principal' => {
              'Service' => [
                'ec2.amazonaws.com'
              ]
            },
            'Action' => [
              'sts:AssumeRole'
            ]
          ]
        },
        'Path' => '/',
        'Policies' => []
      }
    }
  }
end

Public Instance Methods

addPolicy( name, action = Array.new, resource = Array.new) click to toggle source
# File lib/renderCFN/role.rb, line 31
def addPolicy( name, action = Array.new, resource = Array.new)
  @awsObject[@name]['Properties']['Policies'].push( 
    'PolicyName' => name,
    'PolicyDocument' => {
      'Statement' => [
        'Effect' => 'Allow',
        'Action' => action,
        'Resource' => resource
      ]
    }
  )
end