lib/fog/azurerm/requests/storage/list_storage_accounts.rb
module Fog
module Storage
class AzureRM
# This class provides the actual implementation for service calls.
class Real
def list_storage_accounts
msg = 'Listing Storage Accounts.'
Fog::Logger.debug msg
begin
result = @storage_mgmt_client.storage_accounts.list
rescue MsRestAzure::AzureOperationError => ex
raise_azure_exception(ex, msg)
end
result.value
end
end
# This class provides the mock implementation for unit tests.
class Mock
def list_storage_accounts
[
{
'id' => '/subscriptions/{subscriptionId}/resourceGroups/mock_test_resource_group/providers/Microsoft.Storage/storageAccounts/mock_test_storage_account',
'name' => 'mock_test_storage_account',
'type' => 'Microsoft.Storage/storageAccounts',
'location' => 'westus',
'tags' => {},
'properties' =>
{
'provisioningState' => 'Succeeded',
'accountType' => 'Standard_LRS',
'primaryEndpoints' =>
{
'blob' => 'https://mock_test_storage_account.blob.core.windows.net/',
'queue' => 'https://mock_test_storage_account.queue.core.windows.net/',
'table' => 'https://mock_test_storage_account.table.core.windows.net/',
'file' => 'https://mock_test_storage_account.file.core.windows.net/'
},
'primaryLocation' => 'westus',
'statusOfPrimary' => 'available',
'lastGeoFailoverTime' => '2016-05-19T09:49:07Z',
'creationTime' => '2016-05-19T05:24:36Z'
}
}
]
end
end
end
end
end