Sha256: 389681a9e5f2d94867bb70664f4bfb8ea4ef868cd900924af959a52314647130
Contents?: true
Size: 1.77 KB
Versions: 24
Compression:
Stored size: 1.77 KB
Contents
module Fog module Compute class Google class Mock def get_zone_operation(zone_name, operation) operation = self.data[:operations][operation] if operation case operation["status"] when Fog::Compute::Google::Operation::PENDING_STATE operation["status"] = Fog::Compute::Google::Operation::RUNNING_STATE operation["progress"] = 50 else operation["status"] = Fog::Compute::Google::Operation::DONE_STATE operation["progress"] = 100 end else operation = { "error" => { "errors" => [ { "domain" => "global", "reason" => "notFound", "message" => "The resource 'projects/#{project}/zones/#{zone_name}/operations/#{operation}' was not found" } ], "code" => 404, "message" => "The resource 'projects/#{project}/zones/#{zone_name}/operations/#{operation}' was not found" } } end build_response(:body => operation) end end class Real # https://developers.google.com/compute/docs/reference/latest/zoneOperations def get_zone_operation(zone_name, operation) if zone_name.start_with? 'http' zone_name = zone_name.split('/')[-1] end api_method = @compute.zone_operations.get parameters = { 'project' => @project, 'zone' => zone_name, 'operation' => operation } result = self.build_result(api_method, parameters) response = self.build_response(result) end end end end end
Version data entries
24 entries across 24 versions & 2 rubygems