public async Task TestListUsages() { EnsureClientsInitialized(DefaultLocation); ImageReference imageRef = await GetPlatformVMImage(useWindowsImage : true); // Create resource group var rgName = Recording.GenerateAssetName(TestPrefix); string storageAccountName = Recording.GenerateAssetName(TestPrefix); string asName = Recording.GenerateAssetName("as"); VirtualMachine inputVM; try { // Create Storage Account, so that both the VMs can share it var storageAccountOutput = await CreateStorageAccount(rgName, storageAccountName); var returnTwoVM = await CreateVM(rgName, asName, storageAccountOutput, imageRef); var vm1 = returnTwoVM.Item1; inputVM = returnTwoVM.Item2; string inputVMName = returnTwoVM.Item3; // List Usages, and do weak validation to assure that some usages were returned. var luResponse = await(UsageClient.ListAsync(vm1.Location)).ToEnumerableAsync(); ValidateListUsageResponse(luResponse); await WaitForCompletionAsync(await VirtualMachinesOperations.StartDeleteAsync(rgName, inputVMName)); } catch (Exception e) { Assert.Null(e); } }
public static void Example(ClientConfig config) { var client = new UsageClient(config) { Region = Regions.AP_TOKYO_1 }; RequestSummarizedConfigurationsRequest configurationsRequest = new RequestSummarizedConfigurationsRequest { TenantId = config.TenancyId }; var configurations = client.RequestSummarizedConfigurations(configurationsRequest); RequestSummarizedUsagesRequest usagesRequest = new RequestSummarizedUsagesRequest { RequestSummarizedUsagesDetails = new OCISDK.Core.Usage.Model.RequestSummarizedUsagesDetails { TenantId = config.TenancyId, TimeUsageStarted = DateTime.UtcNow.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:ssZ"), TimeUsageEnded = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"), Granularity = GranularityParam.DAILY } }; Console.WriteLine("Daily cost info -----------------------------"); do { var consts = client.RequestSummarizedUsages(usagesRequest); foreach (var cost in consts.UsageAggregation.Items) { Console.WriteLine("start:" + cost.TimeUsageStarted + " - end:" + cost.TimeUsageEnded); Console.WriteLine("service:" + cost.Service); Console.WriteLine("resource:" + cost.ResourceName + "(" + cost.ResourceId + ")"); Console.WriteLine("amount:" + cost.ComputedAmount + "(" + cost.Currency + ")"); Console.WriteLine("overage:" + cost.Overage + "(" + cost.Currency + ")"); } if (string.IsNullOrEmpty(consts.OpcNextPage)) { break; } usagesRequest.Page = consts.OpcNextPage; } while (true); }