public async Task<IEnumerable<AutomationAccountInfo>> GetAutomationAccountsAsync()
{
var list = new List<AutomationAccountInfo>();
var tenants = await GetListAsync<Tenant>(default(Guid), Parameters.AZURE_API_VERSION, "tenants");
foreach (var t in tenants)
{
var subscriptions = await GetListAsync<Subscription>(t.TenantId, Parameters.AZURE_API_VERSION, "subscriptions");
foreach (var s in subscriptions)
{
var resourceGroups = await GetListAsync<ResourceGroup>(t.TenantId, Parameters.AZURE_API_VERSION, $"subscriptions/{s.SubscriptionId.ToString()}/resourcegroups");
foreach (var r in resourceGroups)
{
var automationAccounts = await GetListAsync<AutomationAccount>(t.TenantId, Parameters.AUTOMATION_API_VERSION, $"/subscriptions/{s.SubscriptionId}/resourceGroups/{r.Name}/providers/Microsoft.Automation/automationAccounts");
foreach (var a in automationAccounts)
{
list.Add(new AutomationAccountInfo()
{
TenantId = t.TenantId,
SubscriptionId = s.SubscriptionId,
SubscriptionName = s.DisplayName,
ResourceGroupName = r.Name,
AutomationAccountName = a.Name
});
}
}
}
}
return list;
}