diff --git a/lib/fog/google/models/compute/flavors.rb b/lib/fog/google/models/compute/flavors.rb index 3ae5ba697..124ee347b 100644 --- a/lib/fog/google/models/compute/flavors.rb +++ b/lib/fog/google/models/compute/flavors.rb @@ -15,8 +15,8 @@ module Fog load(data) end - def get(identity) - data = connection.get_machine_type(identity).body + def get(identity, zone_name = nil) + data = connection.get_machine_type(identity, zone_name).body new(data) rescue Excon::Errors::NotFound nil diff --git a/lib/fog/google/requests/compute/get_machine_type.rb b/lib/fog/google/requests/compute/get_machine_type.rb index 9cd37a0c1..4574447d0 100644 --- a/lib/fog/google/requests/compute/get_machine_type.rb +++ b/lib/fog/google/requests/compute/get_machine_type.rb @@ -4,7 +4,7 @@ module Fog class Mock - def get_machine_type(machine_type_name) + def get_machine_type(machine_type_name, zone_name = nil) Fog::Mock.not_implemented end @@ -12,9 +12,14 @@ module Fog class Real - def get_machine_type(machine_type_name) + def get_machine_type(machine_type_name, zone_name = nil) + zone_name = list_zones.body['items'].first['name'] if zone_name.nil? + if zone_name.start_with? 'http' + zone_name = zone_name.split('/')[-1] + end api_method = @compute.machine_types.get parameters = { + 'zone' => zone_name, 'project' => 'google', 'machineType' => machine_type_name }