1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
require 'fog/aws/models/iam/role'
module Fog
module AWS
class IAM
class Roles < Fog::AWS::IAM::PagedCollection
model Fog::AWS::IAM::Role
def all(options={})
body = service.list_roles(page_params(options)).body
merge_attributes(body)
load(body["Roles"])
end
def get(identity)
new(service.get_role(identity).body["Role"])
rescue Excon::Errors::NotFound, Fog::AWS::IAM::NotFound
nil
end
def new(attributes = {})
unless attributes.key?(:assume_role_policy_document)
attributes[:assume_role_policy_document] = Fog::AWS::IAM::EC2_ASSUME_ROLE_POLICY.to_s
end
super
end
end
end
end
end
|