class Fog::AWS::IAM::Role

Public Instance Methods

attach(policy_or_arn) click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 23
def attach(policy_or_arn)
  requires :rolename

  arn = if policy_or_arn.respond_to?(:arn)
          policy_or_arn.arn
        else
          policy_or_arn
        end

  service.attach_role_policy(self.rolename, arn)
end
attached_policies() click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 47
def attached_policies
  requires :rolename

  service.managed_policies(:role_name => self.rolename)
end
destroy() click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 58
def destroy
  requires :rolename

  service.delete_role(rolename)
  true
end
detach(policy_or_arn) click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 35
def detach(policy_or_arn)
  requires :rolename

  arn = if policy_or_arn.respond_to?(:arn)
          policy_or_arn.arn
        else
          policy_or_arn
        end

  service.detach_role_policy(self.rolename, arn)
end
instance_profiles() click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 53
def instance_profiles
  requires :rolename
  service.instance_profiles.load(service.list_instance_profiles_for_role(self.rolename).body["InstanceProfiles"])
end
save() click to toggle source
# File lib/fog/aws/models/iam/role.rb, line 13
def save
  raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
  requires :rolename
  requires :assume_role_policy_document

  data = service.create_role(rolename, assume_role_policy_document, path).body["Role"]
  merge_attributes(data)
  true
end