diff --git a/lib/ironfan/provider/ec2/iam_server_certificate.rb b/lib/ironfan/provider/ec2/iam_server_certificate.rb index f7683498..0bb0946c 100644 --- a/lib/ironfan/provider/ec2/iam_server_certificate.rb +++ b/lib/ironfan/provider/ec2/iam_server_certificate.rb @@ -27,10 +27,19 @@ def name() # Discovery # def self.load!(cluster=nil) - Ec2.iam.list_server_certificates.body['Certificates'].each do |cert| - iss = new(:adaptee => cert) - remember(iss, { :id => cert['ServerCertificateName'] }) - remember(iss, { :id => "#{ARN_PREFIX}:#{cert['Arn']}" }) + opts = {} + while true do + res = Ec2.iam.list_server_certificates(opts) + res.body['Certificates'].each do |cert| + iss = new(:adaptee => cert) + remember(iss, { :id => cert['ServerCertificateName'] }) + remember(iss, { :id => "#{ARN_PREFIX}:#{cert['Arn']}" }) + end + if res.body['Marker'] + opts['Marker'] = res.body['Marker'] + else + break + end end end