mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Mock stop_instances
Not perfect, but looks like it works for me
This commit is contained in:
parent
74e7efdae3
commit
f7b4c40c74
2 changed files with 30 additions and 0 deletions
|
@ -183,6 +183,9 @@ module Fog
|
||||||
end
|
end
|
||||||
when 'rebooting'
|
when 'rebooting'
|
||||||
instance['instanceState'] = { 'code' => 16, 'name' => 'running' }
|
instance['instanceState'] = { 'code' => 16, 'name' => 'running' }
|
||||||
|
when 'stopping'
|
||||||
|
instance['instanceState'] = { 'code' => 0, 'name' => 'stopping' }
|
||||||
|
instance['stateReason'] = { 'code' => 0 }
|
||||||
when 'shutting-down'
|
when 'shutting-down'
|
||||||
if Time.now - self.data[:deleted_at][instance['instanceId']] >= Fog::Mock.delay * 2
|
if Time.now - self.data[:deleted_at][instance['instanceId']] >= Fog::Mock.delay * 2
|
||||||
self.data[:deleted_at].delete(instance['instanceId'])
|
self.data[:deleted_at].delete(instance['instanceId'])
|
||||||
|
|
|
@ -28,6 +28,33 @@ module Fog
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Mock
|
||||||
|
def stop_instances(instance_id, force = false)
|
||||||
|
instance_ids = Array(instance_id)
|
||||||
|
|
||||||
|
instance_set = self.data[:instances].values
|
||||||
|
instance_set = apply_tag_filters(instance_set, {'instance_id' => instance_ids}, 'instanceId')
|
||||||
|
|
||||||
|
if instance_set.empty?
|
||||||
|
raise Fog::Compute::AWS::NotFound.new("The instance ID '#{instance_ids.first}' does not exist")
|
||||||
|
else
|
||||||
|
response = Excon::Response.new
|
||||||
|
response.status = 200
|
||||||
|
|
||||||
|
response.body = {
|
||||||
|
'instancesSet' => instance_set.inject([]) do |ia, instance|
|
||||||
|
ia << {'currentState' => { 'code' => 0, 'name' => 'stopping' },
|
||||||
|
'previousState' => instance['instanceState'],
|
||||||
|
'instanceId' => instance['instanceId'] }
|
||||||
|
instance['instanceState'] = {'code'=>0, 'name'=>'stopping'}
|
||||||
|
ia
|
||||||
|
end
|
||||||
|
}
|
||||||
|
response
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue