def each options = {}, &block
total_limit = options[:limit]
batch_size = options[:batch_size] || 100
received = 0
next_token = nil
begin
limit = total_limit ?
[total_limit - received, batch_size].min :
batch_size
list_options = { :limit => limit }
list_options[:next_token] = next_token if next_token
list = client.list_domains(list_options)
next_token = list.next_token
received += list.domain_names.length
list.domain_names.each do |name|
yield(domain_named(name))
end
end while next_token and (total_limit.nil? or received < total_limit)
nil
end