Ejemplo n.º 1
0
        public static CmdResult Run(LoadOptions opts)
        {
            var subscription = opts.GetSubscription();

            var client = new AzureClient(subscription);

            var resources = new Resources();

            client.FillInExistingResourcesAsync(resources: resources).ConfigureAwait(false).GetAwaiter().GetResult();
            client.UpdateBillingResourcesAsync(resources: resources).ConfigureAwait(false).GetAwaiter().GetResult();

            Console.WriteLine();
            Console.WriteLine($"|{"Resource",-40}|{"Group",-40}|{"Type",-40}|{"Cost",10}|");

            foreach (var resource in resources.OrderByDescending(item => item.Cost))
            {
                Console.WriteLine($"|{resource.Name.Ellipsis(40),-40}|{resource.Group.Ellipsis(40),-40}|{resource.Type.Ellipsis(40),-40}|{resource.Cost,10:N6}|");
            }

            var totalCostPerHour = resources.Sum(resource => resource.Cost);

            Console.WriteLine($"|{"Total",-40}|{totalCostPerHour,40:N6}|{totalCostPerHour * 24 * 7,40:N6}|{totalCostPerHour * 24 * 30,10:N6}|");

            return(CmdResult.Default);
        }