Skip to content

Commit fd4b06a

Browse files
committed
Enhance server model to be able to detach more than one managed disk
1 parent 8549dad commit fd4b06a

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

lib/fog/azurerm/models/compute/server.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,13 @@ def attach_managed_disk(disk_name, disk_resource_group, async = false)
178178
async ? create_fog_async_response(response) : merge_attributes(Fog::Compute::AzureRM::Server.parse(response))
179179
end
180180

181+
# kept for backward compatibility
181182
def detach_managed_disk(disk_name, async = false)
182-
response = service.detach_data_disk_from_vm(resource_group, name, disk_name, async)
183+
detach_managed_disks(disk_name, async)
184+
end
185+
186+
def detach_managed_disks(disk_names, async = false)
187+
response = service.detach_data_disk_from_vm(resource_group, name, disk_names, async)
183188
async ? create_fog_async_response(response) : merge_attributes(Fog::Compute::AzureRM::Server.parse(response))
184189
end
185190

test/models/compute/test_server.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,16 @@ def test_detach_managed_disk_response
234234
assert_instance_of Fog::AzureRM::AsyncResponse, @server.detach_managed_disk('managed_disk_name', true)
235235
end
236236
end
237+
238+
def test_detach_managed_disks_response
239+
response = ApiStub::Models::Compute::Server.create_linux_virtual_machine_response(@compute_client)
240+
@service.stub :detach_data_disk_from_vm, response do
241+
assert_instance_of Fog::Compute::AzureRM::Server, @server.detach_managed_disks(%w(managed_disk_name1 managed_disk_name2))
242+
end
243+
244+
async_response = Concurrent::Promise.execute { 10 }
245+
@service.stub :detach_data_disk_from_vm, async_response do
246+
assert_instance_of Fog::AzureRM::AsyncResponse, @server.detach_managed_disks(%w(managed_disk_name1 managed_disk_name2), true)
247+
end
248+
end
237249
end

0 commit comments

Comments
 (0)