public async Task Run(string apiKey) { if (string.IsNullOrWhiteSpace(apiKey)) { throw new ArgumentException("Cannot be null, empty or whitespace", nameof(apiKey)); } using (MerakiDashboardClient merakiDashboardClient = MerakiDashboardClientFactory.Create(mcs => mcs.ApiKey = apiKey)) { System.Console.WriteLine("By organization by network:"); foreach (Organization organization in await merakiDashboardClient.GetOrganizationsAsync()) { System.Console.WriteLine($"{organization.Name} ({organization.Id}):"); foreach (Network network in await merakiDashboardClient.GetOrganizationNetworksAsync(organization)) { System.Console.WriteLine($" {network.Name} ({network.Id}):"); foreach (Device device in await merakiDashboardClient.GetNetworkDevicesAsync(network)) { System.Console.WriteLine($" {device.Serial} ({device.Model}, {device.Mac})"); } } } System.Console.WriteLine(); System.Console.WriteLine("By organization inventory:"); foreach (Organization organization in await merakiDashboardClient.GetOrganizationsAsync()) { System.Console.WriteLine($"{organization.Name} ({organization.Id}):"); foreach (InventoryEntry inventory in await merakiDashboardClient.GetOrganizationInventoryAsync( organization)) { System.Console.WriteLine( $" {inventory.Serial} ({inventory.Model}) claimed at {inventory.ClaimedAt}"); } } } }
/// <summary> /// Get the devices in all networks in all organizations the current API key can access. /// </summary> /// <param name="merakiDashboardClient"> /// The <see cref="MerakiDashboardClient"/> to access the device swith. /// </param> /// <returns> /// The <see cref="Device"/>s discovered. /// </returns> private async Task <IEnumerable <Device> > GetDevicesInAnOrganization(MerakiDashboardClient merakiDashboardClient) { List <Device> result = new List <Device>(); foreach (Organization organization in await merakiDashboardClient.GetOrganizationsAsync()) { foreach (Network network in await merakiDashboardClient.GetOrganizationNetworksAsync(organization)) { foreach (Device device in await merakiDashboardClient.GetNetworkDevicesAsync(network)) { result.Add(device); } } } return(result); }
public async Task Run(string apiKey) { if (string.IsNullOrWhiteSpace(apiKey)) { throw new ArgumentException("Cannot be null, empty or whitespace", nameof(apiKey)); } using (MerakiDashboardClient merakiDashboardClient = MerakiDashboardClientFactory.Create(mcs => mcs.ApiKey = apiKey)) using (new MerakiHttpApiDebugContext()) { string organizationId = merakiDashboardClient.GetOrganizationsAsync().Result.First().Id; await GetSnmpSettings(organizationId, merakiDashboardClient); await PutSnmpSettings(organizationId, merakiDashboardClient); } }
public static async Task <string> GetOrganizationId(MerakiDashboardClient merakiDashboardClient, string organizationName) { Organization[] organizations = await merakiDashboardClient.GetOrganizationsAsync(); return(organizations.First(o => o.Name == organizationName).Id); }