2011-05-11 12:27:27 -07:00
|
|
|
require 'fog/aws/models/elb/policy'
|
2011-05-02 18:17:19 -04:00
|
|
|
module Fog
|
|
|
|
module AWS
|
|
|
|
class ELB
|
|
|
|
class Policies < Fog::Collection
|
2011-05-04 18:29:07 -04:00
|
|
|
|
2011-05-02 18:17:19 -04:00
|
|
|
model Fog::AWS::ELB::Policy
|
|
|
|
|
|
|
|
attr_accessor :data, :load_balancer
|
|
|
|
|
|
|
|
def all
|
|
|
|
load(munged_data)
|
|
|
|
end
|
|
|
|
|
|
|
|
def get(id)
|
|
|
|
all.detect{|policy| id == policy.id}
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def munged_data
|
2013-08-02 18:21:42 -04:00
|
|
|
data.inject([]){|m,e|
|
|
|
|
m << {
|
|
|
|
:id => e["PolicyName"],
|
|
|
|
:type_name => e["PolicyTypeName"],
|
|
|
|
:policy_attributes => policy_attributes(e["PolicyAttributeDescriptions"])
|
|
|
|
}
|
|
|
|
m
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
def policy_attributes(policy_attribute_descriptions)
|
|
|
|
policy_attribute_descriptions.inject({}){|m,e|
|
|
|
|
m[e["AttributeName"]] = e["AttributeValue"]
|
|
|
|
m
|
|
|
|
}
|
2011-05-02 18:17:19 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|