Sha256: 575652da1ea651986b1ec7831b56eb54952c85e24817e1cd46189ee6629ea75d
Contents?: true
Size: 1.63 KB
Versions: 12
Compression:
Stored size: 1.63 KB
Contents
module Fog module Compute class Google class Mock def list_aggregated_servers(options = {}) # Create a Hash of unique zones from the servers Array previously filled when servers are created zones = Hash[self.data[:servers].values.map { |server| ["zones/#{server['zone'].split('/')[-1]}", {'instances' => [] }] }] if options[:filter] # Look up for the server name server = self.data[:servers][options[:filter].gsub(/name eq \.\*/, '')] # Fill the zones Hash with the server (if it's found) zones["zones/#{server['zone'].split('/')[-1]}"]['instances'].concat([server]) if server else # Fill the zones Hash with the servers attached to each zone self.data[:servers].values.each { |server| zones["zones/#{server['zone'].split('/')[-1]}"]['instances'].concat([server]) } end build_response(:body => { "kind" => "compute#instanceAggregatedList", "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/instances", "id" => "projects/#{@project}/aggregated/instances", "items" => zones }) end end class Real def list_aggregated_servers(options = {}) api_method = @compute.instances.aggregated_list parameters = { 'project' => @project, } parameters['filter'] = options[:filter] if options[:filter] result = self.build_result(api_method, parameters) response = self.build_response(result) end end end end end
Version data entries
12 entries across 12 versions & 3 rubygems