From b890e2bf2155714c045dc57bef4e0c53c7ca0162 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 28 Jun 2021 05:51:17 +0000 Subject: [PATCH] CodeGen from PR 15007 in Azure/azure-rest-api-specs Merge d55179ef97c8eb24664ad3e916b7d7b5369307ba into 4017737e3dfb6b7dc329c9a8e2c59e1b521e2688 --- sdk/consumption/arm-consumption/README.md | 18 +- sdk/consumption/arm-consumption/package.json | 2 +- .../arm-consumption/rollup.config.js | 10 +- .../src/consumptionManagementClient.ts | 31 +- .../src/consumptionManagementClientContext.ts | 21 +- .../src/models/aggregatedCostMappers.ts | 28 +- .../src/models/balancesMappers.ts | 28 +- .../src/models/budgetsMappers.ts | 28 +- .../src/models/chargesMappers.ts | 28 +- .../{tenantsMappers.ts => creditsMappers.ts} | 29 +- .../src/models/eventsOperationsMappers.ts | 62 + .../src/models/forecastsMappers.ts | 28 +- .../arm-consumption/src/models/index.ts | 5402 +++++++++-------- .../src/models/lotsOperationsMappers.ts | 62 + .../arm-consumption/src/models/mappers.ts | 4205 ++++++++++--- .../src/models/marketplacesMappers.ts | 28 +- .../src/models/operationsMappers.ts | 1 + .../arm-consumption/src/models/parameters.ts | 162 +- .../src/models/priceSheetMappers.ts | 28 +- ...reservationRecommendationDetailsMappers.ts | 61 + .../reservationRecommendationsMappers.ts | 7 +- .../models/reservationTransactionsMappers.ts | 63 + .../src/models/reservationsDetailsMappers.ts | 28 +- .../models/reservationsSummariesMappers.ts | 28 +- .../arm-consumption/src/models/tagsMappers.ts | 28 +- .../src/models/usageDetailsMappers.ts | 28 +- .../src/operations/aggregatedCost.ts | 90 +- .../src/operations/balances.ts | 85 +- .../arm-consumption/src/operations/budgets.ts | 709 +-- .../arm-consumption/src/operations/charges.ts | 348 +- .../arm-consumption/src/operations/credits.ts | 85 + .../src/operations/eventsOperations.ts | 266 + .../src/operations/forecasts.ts | 32 +- .../arm-consumption/src/operations/index.ts | 12 +- .../src/operations/lotsOperations.ts | 250 + .../src/operations/marketplaces.ts | 1420 +---- .../src/operations/operations.ts | 58 +- .../src/operations/priceSheet.ts | 78 +- .../reservationRecommendationDetails.ts | 130 + .../operations/reservationRecommendations.ts | 97 +- .../src/operations/reservationTransactions.ts | 244 + .../src/operations/reservationsDetails.ts | 312 +- .../src/operations/reservationsSummaries.ts | 326 +- .../arm-consumption/src/operations/tags.ts | 75 +- .../arm-consumption/src/operations/tenants.ts | 98 - .../src/operations/usageDetails.ts | 1508 +---- 46 files changed, 9242 insertions(+), 7425 deletions(-) rename sdk/consumption/arm-consumption/src/models/{tenantsMappers.ts => creditsMappers.ts} (51%) create mode 100644 sdk/consumption/arm-consumption/src/models/eventsOperationsMappers.ts create mode 100644 sdk/consumption/arm-consumption/src/models/lotsOperationsMappers.ts create mode 100644 sdk/consumption/arm-consumption/src/models/reservationRecommendationDetailsMappers.ts create mode 100644 sdk/consumption/arm-consumption/src/models/reservationTransactionsMappers.ts create mode 100644 sdk/consumption/arm-consumption/src/operations/credits.ts create mode 100644 sdk/consumption/arm-consumption/src/operations/eventsOperations.ts create mode 100644 sdk/consumption/arm-consumption/src/operations/lotsOperations.ts create mode 100644 sdk/consumption/arm-consumption/src/operations/reservationRecommendationDetails.ts create mode 100644 sdk/consumption/arm-consumption/src/operations/reservationTransactions.ts delete mode 100644 sdk/consumption/arm-consumption/src/operations/tenants.ts diff --git a/sdk/consumption/arm-consumption/README.md b/sdk/consumption/arm-consumption/README.md index f89dec55ae63..b7e09d98951e 100644 --- a/sdk/consumption/arm-consumption/README.md +++ b/sdk/consumption/arm-consumption/README.md @@ -1,11 +1,11 @@ ## Azure ConsumptionManagementClient SDK for JavaScript -This package contains an isomorphic SDK (runs both in Node.js and in browsers) for ConsumptionManagementClient. +This package contains an isomorphic SDK (runs both in node.js and in browsers) for ConsumptionManagementClient. ### Currently supported environments - [LTS versions of Node.js](https://nodejs.org/about/releases/) -- Latest versions of Safari, Chrome, Edge, and Firefox. +- Latest versions of Safari, Chrome, Edge and Firefox. ### Prerequisites @@ -21,7 +21,6 @@ Install both packages using the below command: ```bash npm install --save @azure/arm-consumption @azure/identity ``` - > **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features. If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options. @@ -37,7 +36,6 @@ If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/ In the below samples, we pass the credential and the Azure subscription id to instantiate the client. Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started. - #### nodejs - Authentication, client creation, and list usageDetails as an example written in JavaScript. ##### Sample code @@ -51,12 +49,13 @@ const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; // Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead. const creds = new DefaultAzureCredential(); const client = new ConsumptionManagementClient(creds, subscriptionId); +const scope = "testscope"; const expand = "testexpand"; const filter = "testfilter"; const skiptoken = "testskiptoken"; const top = 1; -const apply = "testapply"; -client.usageDetails.list(expand, filter, skiptoken, top, apply).then((result) => { +const metric = "actualcost"; +client.usageDetails.list(scope, expand, filter, skiptoken, top, metric).then((result) => { console.log("The result is:"); console.log(result); }).catch((err) => { @@ -90,15 +89,16 @@ In browser applications, we recommend using the `InteractiveBrowserCredential` t const credential = new InteractiveBrowserCredential( { clientId: "", - tenantId: "" + tenant: "" }); const client = new Azure.ArmConsumption.ConsumptionManagementClient(creds, subscriptionId); + const scope = "testscope"; const expand = "testexpand"; const filter = "testfilter"; const skiptoken = "testskiptoken"; const top = 1; - const apply = "testapply"; - client.usageDetails.list(expand, filter, skiptoken, top, apply).then((result) => { + const metric = "actualcost"; + client.usageDetails.list(scope, expand, filter, skiptoken, top, metric).then((result) => { console.log("The result is:"); console.log(result); }).catch((err) => { diff --git a/sdk/consumption/arm-consumption/package.json b/sdk/consumption/arm-consumption/package.json index b1ebe75e9646..d1928028ae1c 100644 --- a/sdk/consumption/arm-consumption/package.json +++ b/sdk/consumption/arm-consumption/package.json @@ -27,7 +27,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/consumption/arm-consumption", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/consumption/arm-consumption", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" diff --git a/sdk/consumption/arm-consumption/rollup.config.js b/sdk/consumption/arm-consumption/rollup.config.js index 9cdb9c96cbb5..ed6d8f92fcd2 100644 --- a/sdk/consumption/arm-consumption/rollup.config.js +++ b/sdk/consumption/arm-consumption/rollup.config.js @@ -7,7 +7,10 @@ import sourcemaps from "rollup-plugin-sourcemaps"; */ const config = { input: "./esm/consumptionManagementClient.js", - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-consumption.js", format: "umd", @@ -25,7 +28,10 @@ const config = { * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, - plugins: [nodeResolve({ mainFields: ["module", "main"] }), sourcemaps()] + plugins: [ + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() + ] }; export default config; diff --git a/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts b/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts index d9b9c1705ca0..c2d8b3402f0a 100644 --- a/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts +++ b/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts @@ -14,22 +14,27 @@ import * as Mappers from "./models/mappers"; import * as operations from "./operations"; import { ConsumptionManagementClientContext } from "./consumptionManagementClientContext"; + class ConsumptionManagementClient extends ConsumptionManagementClientContext { // Operation groups usageDetails: operations.UsageDetails; marketplaces: operations.Marketplaces; + budgets: operations.Budgets; + tags: operations.Tags; + charges: operations.Charges; balances: operations.Balances; reservationsSummaries: operations.ReservationsSummaries; reservationsDetails: operations.ReservationsDetails; reservationRecommendations: operations.ReservationRecommendations; - budgets: operations.Budgets; + reservationRecommendationDetails: operations.ReservationRecommendationDetails; + reservationTransactions: operations.ReservationTransactions; priceSheet: operations.PriceSheet; - tags: operations.Tags; forecasts: operations.Forecasts; operations: operations.Operations; aggregatedCost: operations.AggregatedCost; - charges: operations.Charges; - tenants: operations.Tenants; + events: operations.EventsOperations; + lots: operations.LotsOperations; + credits: operations.Credits; /** * Initializes a new instance of the ConsumptionManagementClient class. @@ -42,26 +47,26 @@ class ConsumptionManagementClient extends ConsumptionManagementClientContext { * @param subscriptionId Azure Subscription ID. * @param [options] The parameter options */ - constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, - subscriptionId: string, - options?: Models.ConsumptionManagementClientOptions - ) { + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ConsumptionManagementClientOptions) { super(credentials, subscriptionId, options); this.usageDetails = new operations.UsageDetails(this); this.marketplaces = new operations.Marketplaces(this); + this.budgets = new operations.Budgets(this); + this.tags = new operations.Tags(this); + this.charges = new operations.Charges(this); this.balances = new operations.Balances(this); this.reservationsSummaries = new operations.ReservationsSummaries(this); this.reservationsDetails = new operations.ReservationsDetails(this); this.reservationRecommendations = new operations.ReservationRecommendations(this); - this.budgets = new operations.Budgets(this); + this.reservationRecommendationDetails = new operations.ReservationRecommendationDetails(this); + this.reservationTransactions = new operations.ReservationTransactions(this); this.priceSheet = new operations.PriceSheet(this); - this.tags = new operations.Tags(this); this.forecasts = new operations.Forecasts(this); this.operations = new operations.Operations(this); this.aggregatedCost = new operations.AggregatedCost(this); - this.charges = new operations.Charges(this); - this.tenants = new operations.Tenants(this); + this.events = new operations.EventsOperations(this); + this.lots = new operations.LotsOperations(this); + this.credits = new operations.Credits(this); } } diff --git a/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts b/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts index 072c5c28af97..be5794ab3745 100644 --- a/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts +++ b/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts @@ -9,8 +9,8 @@ import * as Models from "./models"; import * as msRest from "@azure/ms-rest-js"; -import { TokenCredential } from "@azure/core-auth"; import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; const packageName = "@azure/arm-consumption"; const packageVersion = "7.1.0"; @@ -31,16 +31,12 @@ export class ConsumptionManagementClientContext extends msRestAzure.AzureService * @param subscriptionId Azure Subscription ID. * @param [options] The parameter options */ - constructor( - credentials: msRest.ServiceClientCredentials | TokenCredential, - subscriptionId: string, - options?: Models.ConsumptionManagementClientOptions - ) { + constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ConsumptionManagementClientOptions) { if (credentials == undefined) { - throw new Error("'credentials' cannot be null."); + throw new Error('\'credentials\' cannot be null.'); } if (subscriptionId == undefined) { - throw new Error("'subscriptionId' cannot be null."); + throw new Error('\'subscriptionId\' cannot be null.'); } if (!options) { @@ -53,8 +49,8 @@ export class ConsumptionManagementClientContext extends msRestAzure.AzureService super(credentials, options); - this.apiVersion = "2018-10-01"; - this.acceptLanguage = "en-US"; + this.apiVersion = '2021-05-01'; + this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; this.requestContentType = "application/json; charset=utf-8"; @@ -64,10 +60,7 @@ export class ConsumptionManagementClientContext extends msRestAzure.AzureService if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { this.acceptLanguage = options.acceptLanguage; } - if ( - options.longRunningOperationRetryTimeout !== null && - options.longRunningOperationRetryTimeout !== undefined - ) { + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; } } diff --git a/sdk/consumption/arm-consumption/src/models/aggregatedCostMappers.ts b/sdk/consumption/arm-consumption/src/models/aggregatedCostMappers.ts index 70a8fb00f854..b7125b2b0484 100644 --- a/sdk/consumption/arm-consumption/src/models/aggregatedCostMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/aggregatedCostMappers.ts @@ -7,31 +7,55 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/balancesMappers.ts b/sdk/consumption/arm-consumption/src/models/balancesMappers.ts index 70a8fb00f854..b7125b2b0484 100644 --- a/sdk/consumption/arm-consumption/src/models/balancesMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/balancesMappers.ts @@ -7,31 +7,55 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/budgetsMappers.ts b/sdk/consumption/arm-consumption/src/models/budgetsMappers.ts index fb151b3d3890..fb1f5d5fa4a7 100644 --- a/sdk/consumption/arm-consumption/src/models/budgetsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/budgetsMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetsListResult, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/chargesMappers.ts b/sdk/consumption/arm-consumption/src/models/chargesMappers.ts index fc3a7b3f6d3b..8f62d3c1ceb5 100644 --- a/sdk/consumption/arm-consumption/src/models/chargesMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/chargesMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargesListResult, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/tenantsMappers.ts b/sdk/consumption/arm-consumption/src/models/creditsMappers.ts similarity index 51% rename from sdk/consumption/arm-consumption/src/models/tenantsMappers.ts rename to sdk/consumption/arm-consumption/src/models/creditsMappers.ts index f8edf5d24d07..b7125b2b0484 100644 --- a/sdk/consumption/arm-consumption/src/models/tenantsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/creditsMappers.ts @@ -7,32 +7,55 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, - TenantListResult, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/eventsOperationsMappers.ts b/sdk/consumption/arm-consumption/src/models/eventsOperationsMappers.ts new file mode 100644 index 000000000000..296045cbb5e4 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/models/eventsOperationsMappers.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Amount, + AmountWithExchangeRate, + Balance, + BalancePropertiesAdjustmentDetailsItem, + BalancePropertiesNewPurchasesDetailsItem, + BaseResource, + Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, + BudgetTimePeriod, + ChargeSummary, + CreditBalanceSummary, + CreditSummary, + CurrentSpend, + ErrorDetails, + ErrorResponse, + Events, + EventSummary, + Forecast, + ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, + ManagementGroupAggregatedCostResult, + Marketplace, + MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, + Notification, + PriceSheetProperties, + PriceSheetResult, + ProxyResource, + Reseller, + ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, + ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, + Resource, + Tag, + TagsResult, + UsageDetail +} from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/forecastsMappers.ts b/sdk/consumption/arm-consumption/src/models/forecastsMappers.ts index 6ad088786be4..f2e46bb5ce69 100644 --- a/sdk/consumption/arm-consumption/src/models/forecastsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/forecastsMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, ForecastsListResult, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/index.ts b/sdk/consumption/arm-consumption/src/models/index.ts index 452029932107..8086fb828d2f 100644 --- a/sdk/consumption/arm-consumption/src/models/index.ts +++ b/sdk/consumption/arm-consumption/src/models/index.ts @@ -67,12 +67,12 @@ export interface MeterDetails { */ export interface Resource extends BaseResource { /** - * Resource Id. + * The full qualified ARM ID of an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * Resource name. + * The ID that uniquely identifies an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; @@ -81,6 +81,11 @@ export interface Resource extends BaseResource { * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; + /** + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; /** * Resource tags. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -88,1992 +93,3048 @@ export interface Resource extends BaseResource { readonly tags?: { [propertyName: string]: string }; } +/** + * Contains the possible cases for UsageDetail. + */ +export type UsageDetailUnion = UsageDetail | LegacyUsageDetail | ModernUsageDetail; + /** * An usage detail resource. */ -export interface UsageDetail extends Resource { +export interface UsageDetail { /** - * The id of the billing period resource that the usage belongs to. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Polymorphic Discriminator */ - readonly billingPeriodId?: string; + kind: "UsageDetail"; /** - * The id of the invoice resource that the usage belongs to. + * The full qualified ARM ID of an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly invoiceId?: string; + readonly id?: string; /** - * The start of the date time range covered by the usage detail. + * The ID that uniquely identifies an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageStart?: Date; + readonly name?: string; /** - * The end of the date time range covered by the usage detail. + * Resource type. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageEnd?: Date; + readonly type?: string; /** - * The name of the resource instance that the usage is about. + * The etag for the resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceName?: string; + readonly etag?: string; /** - * The uri of the resource instance that the usage is about. + * Resource tags. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceId?: string; + readonly tags?: { [propertyName: string]: string }; +} + +/** + * The properties of the meter detail. + */ +export interface MeterDetailsResponse { /** - * The location of the resource instance that the usage is about. + * The name of the meter, within the given meter category * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceLocation?: string; + readonly meterName?: string; /** - * The ISO currency in which the meter is charged, for example, USD. + * The category of the meter, for example, 'Cloud services', 'Networking', etc.. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currency?: string; + readonly meterCategory?: string; /** - * The quantity of usage. + * The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc.. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageQuantity?: number; + readonly meterSubCategory?: string; /** - * The billable usage quantity. + * The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billableQuantity?: number; + readonly unitOfMeasure?: string; /** - * The amount of cost before tax. + * The service family. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly pretaxCost?: number; + readonly serviceFamily?: string; +} + +/** + * Legacy usage detail. + */ +export interface LegacyUsageDetail { /** - * The estimated usage is subject to change. + * Polymorphic Discriminator + */ + kind: "legacy"; + /** + * The full qualified ARM ID of an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly isEstimated?: boolean; + readonly id?: string; /** - * The meter id (GUID). + * The ID that uniquely identifies an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterId?: string; + readonly name?: string; /** - * The details about the meter. By default this is not populated, unless it's specified in - * $expand. + * Resource type. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterDetails?: MeterDetails; + readonly type?: string; /** - * Subscription guid. + * The etag for the resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly subscriptionGuid?: string; + readonly etag?: string; /** - * Subscription name. + * Resource tags. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly subscriptionName?: string; + readonly tags?: { [propertyName: string]: string }; /** - * Account name. + * Billing Account identifier. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly accountName?: string; + readonly billingAccountId?: string; /** - * Department name. + * Billing Account Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly departmentName?: string; + readonly billingAccountName?: string; /** - * Product name. + * The billing period start date. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly product?: string; + readonly billingPeriodStartDate?: Date; /** - * Consumed service name. + * The billing period end date. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly consumedService?: string; + readonly billingPeriodEndDate?: Date; /** - * The cost center of this department if it is a department and a costcenter exists + * Billing Profile identifier. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly costCenter?: string; + readonly billingProfileId?: string; /** - * Part Number + * Billing Profile Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly partNumber?: string; + readonly billingProfileName?: string; /** - * Resource Guid + * Account Owner Id. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly resourceGuid?: string; + readonly accountOwnerId?: string; /** - * Offer Id + * Account Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly offerId?: string; + readonly accountName?: string; /** - * Charges billed separately + * Subscription guid. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly chargesBilledSeparately?: boolean; + readonly subscriptionId?: string; /** - * Resource Location + * Subscription name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly location?: string; + readonly subscriptionName?: string; /** - * Additional details of this usage item. By default this is not populated, unless it's specified - * in $expand. + * Date for the usage record. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly additionalProperties?: string; -} - -/** - * An marketplace resource. - */ -export interface Marketplace extends Resource { + readonly date?: Date; /** - * The id of the billing period resource that the usage belongs to. + * Product name for the consumed service or purchase. Not available for Marketplace. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingPeriodId?: string; + readonly product?: string; /** - * The start of the date time range covered by the usage detail. + * Part Number of the service used. Can be used to join with the price sheet. Not available for + * marketplace. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageStart?: Date; + readonly partNumber?: string; /** - * The end of the date time range covered by the usage detail. + * The meter id (GUID). Not available for marketplace. For reserved instance this represents the + * primary meter for which the reservation was purchased. For the actual VM Size for which the + * reservation is purchased see productOrderName. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageEnd?: Date; + readonly meterId?: string; /** - * The marketplace resource rate. + * The details about the meter. By default this is not populated, unless it's specified in + * $expand. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly resourceRate?: number; + readonly meterDetails?: MeterDetailsResponse; /** - * The type of offer. + * The usage quantity. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly offerName?: string; + readonly quantity?: number; /** - * The name of resource group. + * Effective Price that's charged for the usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly resourceGroup?: string; + readonly effectivePrice?: number; /** - * The order number. + * The amount of cost before tax. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly orderNumber?: string; + readonly cost?: number; /** - * The name of the resource instance that the usage is about. + * Unit Price is the price applicable to you. (your EA or other contract price). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceName?: string; + readonly unitPrice?: number; /** - * The uri of the resource instance that the usage is about. + * Billing Currency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceId?: string; + readonly billingCurrency?: string; /** - * The ISO currency in which the meter is charged, for example, USD. + * Resource Location. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currency?: string; + readonly resourceLocation?: string; /** - * The quantity of usage. + * Consumed service name. Name of the azure resource provider that emits the usage or was + * purchased. This value is not provided for marketplace usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly consumedQuantity?: number; + readonly consumedService?: string; /** - * The unit of measure. + * Unique identifier of the Azure Resource Manager usage detail resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly unitOfMeasure?: string; + readonly resourceId?: string; /** - * The amount of cost before tax. + * Resource Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly pretaxCost?: number; + readonly resourceName?: string; /** - * The estimated usage is subject to change. + * Service-specific metadata. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly isEstimated?: boolean; + readonly serviceInfo1?: string; /** - * The meter id (GUID). + * Legacy field with optional service-specific metadata. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterId?: string; + readonly serviceInfo2?: string; /** - * Subscription guid. + * Additional details of this usage item. By default this is not populated, unless it's specified + * in $expand. Use this field to get usage line item specific details such as the actual VM Size + * (ServiceType) or the ratio in which the reservation discount is applied. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly subscriptionGuid?: string; + readonly additionalInfo?: string; /** - * Subscription name. + * Invoice Section Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly subscriptionName?: string; + readonly invoiceSection?: string; /** - * Account name. + * The cost center of this department if it is a department and a cost center is provided. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly accountName?: string; + readonly costCenter?: string; /** - * Department name. + * Resource Group Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly departmentName?: string; + readonly resourceGroup?: string; /** - * Consumed service name. + * ARM resource id of the reservation. Only applies to records relevant to reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly consumedService?: string; + readonly reservationId?: string; /** - * The cost center of this department if it is a department and a costcenter exists + * User provided display name of the reservation. Last known name for a particular day is + * populated in the daily data. Only applies to records relevant to reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly costCenter?: string; + readonly reservationName?: string; /** - * Additional details of this usage item. By default this is not populated, unless it's specified - * in $expand. + * Product Order Id. For reservations this is the Reservation Order ID. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly additionalProperties?: string; + readonly productOrderId?: string; /** - * The name of publisher. + * Product Order Name. For reservations this is the SKU that was purchased. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly publisherName?: string; + readonly productOrderName?: string; /** - * The name of plan. + * Offer Id. Ex: MS-AZR-0017P, MS-AZR-0148P. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly planName?: string; + readonly offerId?: string; /** - * Flag indicating whether this is a recurring charge or not. + * Is Azure Credit Eligible. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly isRecurringCharge?: boolean; -} - -/** - * An tenant detail resource. - */ -export interface Tenant extends Resource { + readonly isAzureCreditEligible?: boolean; /** - * The Billing Profile name. + * Term (in months). 1 month for monthly recurring purchase. 12 months for a 1 year reservation. + * 36 months for a 3 year reservation. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingProfileName?: string; + readonly term?: string; /** - * The Billing AccountId. + * Publisher Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingAccountId?: string; + readonly publisherName?: string; /** - * The TenantId. + * Publisher Type. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly tenantId?: string; + readonly publisherType?: string; /** - * The Billing Account Name. + * Plan Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingAccountName?: string; -} - -/** - * A Tenant properties Resource - */ -export interface TenantListResult { + readonly planName?: string; /** - * The list of tenant details. + * Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a + * refund. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly value?: Tenant[]; + readonly chargeType?: string; /** - * The link (url) to the next page of results. + * Indicates how frequently this charge will occur. OneTime for purchases which only happen once, + * Monthly for fees which recur every month, and UsageBased for charges based on how much a + * service is used. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly nextLink?: string; + readonly frequency?: string; } /** - * An interface representing BalancePropertiesNewPurchasesDetailsItem. + * Modern usage detail. */ -export interface BalancePropertiesNewPurchasesDetailsItem { +export interface ModernUsageDetail { /** - * the name of new purchase. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * Polymorphic Discriminator */ - readonly name?: string; + kind: "modern"; /** - * the value of new purchase. + * The full qualified ARM ID of an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly value?: number; -} - -/** - * An interface representing BalancePropertiesAdjustmentDetailsItem. - */ -export interface BalancePropertiesAdjustmentDetailsItem { + readonly id?: string; /** - * the name of new adjustment. + * The ID that uniquely identifies an event. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * the value of new adjustment. + * Resource type. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly value?: number; -} - -/** - * A balance resource. - */ -export interface Balance extends Resource { + readonly type?: string; /** - * The ISO currency in which the meter is charged, for example, USD. + * The etag for the resource. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currency?: string; + readonly etag?: string; /** - * The beginning balance for the billing period. + * Resource tags. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly beginningBalance?: number; + readonly tags?: { [propertyName: string]: string }; /** - * The ending balance for the billing period (for open periods this will be updated daily). + * Billing Account identifier. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly endingBalance?: number; + readonly billingAccountId?: string; /** - * Total new purchase amount. + * Name of the Billing Account. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly newPurchases?: number; + readonly billingAccountName?: string; /** - * Total adjustment amount. + * Billing Period Start Date as in the invoice. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly adjustments?: number; + readonly billingPeriodStartDate?: Date; /** - * Total Commitment usage. + * Billing Period End Date as in the invoice. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly utilized?: number; + readonly billingPeriodEndDate?: Date; /** - * Overage for Azure services. + * Identifier for the billing profile that groups costs across invoices in the a singular billing + * currency across across the customers who have onboarded the Microsoft customer agreement and + * the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly serviceOverage?: number; + readonly billingProfileId?: string; /** - * Charges Billed separately. + * Name of the billing profile that groups costs across invoices in the a singular billing + * currency across across the customers who have onboarded the Microsoft customer agreement and + * the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly chargesBilledSeparately?: number; + readonly billingProfileName?: string; /** - * serviceOverage + chargesBilledSeparately. + * Unique Microsoft generated identifier for the Azure Subscription. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly totalOverage?: number; + readonly subscriptionGuid?: string; /** - * Azure service commitment + total Overage. + * Name of the Azure Subscription. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly totalUsage?: number; + readonly subscriptionName?: string; /** - * Total charges for Azure Marketplace. + * Date for the usage record. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly azureMarketplaceServiceCharges?: number; + readonly date?: Date; /** - * The billing frequency. Possible values include: 'Month', 'Quarter', 'Year' + * Name of the product that has accrued charges by consumption or purchase as listed in the + * invoice. Not available for Marketplace. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - billingFrequency?: BillingFrequency; + readonly product?: string; /** - * Price is hidden or not. + * The meter id (GUID). Not available for marketplace. For reserved instance this represents the + * primary meter for which the reservation was purchased. For the actual VM Size for which the + * reservation is purchased see productOrderName. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly priceHidden?: boolean; + readonly meterId?: string; /** - * List of new purchases. + * Identifies the name of the meter against which consumption is measured. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly newPurchasesDetails?: BalancePropertiesNewPurchasesDetailsItem[]; + readonly meterName?: string; /** - * List of Adjustments (Promo credit, SIE credit etc.). + * Identifies the location of the datacenter for certain services that are priced based on + * datacenter location. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly adjustmentDetails?: BalancePropertiesAdjustmentDetailsItem[]; -} - -/** - * reservation summary resource. - */ -export interface ReservationSummary extends Resource { + readonly meterRegion?: string; /** - * The reservation order ID is the identifier for a reservation purchase. Each reservation order - * ID represents a single purchase transaction. A reservation order contains reservations. The - * reservation order specifies the VM size and region for the reservations. + * Identifies the top-level service for the usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservationOrderId?: string; + readonly meterCategory?: string; /** - * The reservation ID is the identifier of a reservation within a reservation order. Each - * reservation is the grouping for applying the benefit scope and also specifies the number of - * instances to which the reservation benefit can be applied to. + * Defines the type or sub-category of Azure service that can affect the rate. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservationId?: string; + readonly meterSubCategory?: string; /** - * This is the ARM Sku name. It can be used to join with the serviceType field in additional info - * in usage records. + * List the service family for the product purchased or charged (Example: Storage ; Compute). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly skuName?: string; + readonly serviceFamily?: string; /** - * This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this - * will be 11 hours for that day and 24 hours from subsequent days + * Measure the quantity purchased or consumed.The amount of the meter used during the billing + * period. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservedHours?: number; + readonly quantity?: number; /** - * Data corresponding to the utilization record. If the grain of data is monthly, it will be - * first day of month. + * Identifies the Unit that the service is charged in. For example, GB, hours, 10,000 s. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageDate?: Date; + readonly unitOfMeasure?: string; /** - * Total used hours by the reservation + * Instance Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usedHours?: number; + readonly instanceName?: string; /** - * This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record - * corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will - * return 10% for that day + * Estimated extendedCost or blended cost before tax in USD. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly minUtilizationPercentage?: number; + readonly costInUSD?: number; /** - * This is average utilization for the entire time range. (day or month depending on the grain) + * Unit Price is the price applicable to you. (your EA or other contract price). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly avgUtilizationPercentage?: number; + readonly unitPrice?: number; /** - * This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record - * corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will - * return 100% for that day. + * The currency defining the billed cost. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly maxUtilizationPercentage?: number; -} - -/** - * reservation detail resource. - */ -export interface ReservationDetail extends Resource { + readonly billingCurrencyCode?: string; /** - * The reservation order ID is the identifier for a reservation purchase. Each reservation order - * ID represents a single purchase transaction. A reservation order contains reservations. The - * reservation order specifies the VM size and region for the reservations. + * Name of the resource location. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservationOrderId?: string; + readonly resourceLocation?: string; /** - * The reservation ID is the identifier of a reservation within a reservation order. Each - * reservation is the grouping for applying the benefit scope and also specifies the number of - * instances to which the reservation benefit can be applied to. + * Consumed service name. Name of the azure resource provider that emits the usage or was + * purchased. This value is not provided for marketplace usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservationId?: string; + readonly consumedService?: string; /** - * This is the ARM Sku name. It can be used to join with the serviceType field in additional info - * in usage records. + * Service-specific metadata. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly skuName?: string; + readonly serviceInfo1?: string; /** - * This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 - * PM, this will be 11 hours for that day and 24 hours from subsequent days. + * Legacy field with optional service-specific metadata. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly reservedHours?: number; + readonly serviceInfo2?: string; /** - * The date on which consumption occurred. + * Additional details of this usage item. Use this field to get usage line item specific details + * such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is + * applied. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageDate?: Date; + readonly additionalInfo?: string; /** - * This is the total hours used by the instance. + * Identifier of the project that is being charged in the invoice. Not applicable for Microsoft + * Customer Agreements onboarded by partners. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usedHours?: number; + readonly invoiceSectionId?: string; /** - * This identifier is the name of the resource or the fully qualified Resource ID. + * Name of the project that is being charged in the invoice. Not applicable for Microsoft + * Customer Agreements onboarded by partners. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly instanceId?: string; + readonly invoiceSectionName?: string; /** - * This is the total count of instances that are reserved for the reservationId. + * The cost center of this department if it is a department and a cost center is provided. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly totalReservedQuantity?: number; -} - -/** - * Reservation recommendation resource. - */ -export interface ReservationRecommendation { + readonly costCenter?: string; /** - * Resource Id. + * Name of the Azure resource group used for cohesive lifecycle management of resources. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly id?: string; + readonly resourceGroup?: string; /** - * Resource name. + * ARM resource id of the reservation. Only applies to records relevant to reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly name?: string; + readonly reservationId?: string; /** - * Resource type. + * User provided display name of the reservation. Last known name for a particular day is + * populated in the daily data. Only applies to records relevant to reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly type?: string; + readonly reservationName?: string; /** - * Resource tags. + * The identifier for the asset or Azure plan name that the subscription belongs to. For example: + * Azure Plan. For reservations this is the Reservation Order ID. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly tags?: { [propertyName: string]: string }; + readonly productOrderId?: string; /** - * Resource location + * Product Order Name. For reservations this is the SKU that was purchased. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly location?: string; + readonly productOrderName?: string; /** - * Resource sku + * Determines if the cost is eligible to be paid for using Azure credits. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly sku?: string; + readonly isAzureCreditEligible?: boolean; /** - * The number of days of usage to look back for recommendation. + * Term (in months). Displays the term for the validity of the offer. For example. In case of + * reserved instances it displays 12 months for yearly term of reserved instance. For one time + * purchases or recurring purchases, the terms displays 1 month; This is not applicable for Azure + * consumption. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly lookBackPeriod?: string; + readonly term?: string; /** - * The meter id (GUID) + * Name of the publisher of the service including Microsoft or Third Party publishers. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterId?: string; + readonly publisherName?: string; /** - * RI recommendations in one or three year terms. + * Type of publisher that identifies if the publisher is first party, third party reseller or + * third party agency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly term?: string; + readonly publisherType?: string; /** - * The total amount of cost without reserved instances. + * Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a + * refund. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly costWithNoReservedInstances?: number; + readonly chargeType?: string; /** - * Recommended quality for reserved instances. + * Indicates how frequently this charge will occur. OneTime for purchases which only happen once, + * Monthly for fees which recur every month, and UsageBased for charges based on how much a + * service is used. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly recommendedQuantity?: number; + readonly frequency?: string; /** - * The total amount of cost with reserved instances. + * ExtendedCost or blended cost before tax in billed currency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly totalCostWithReservedInstances?: number; + readonly costInBillingCurrency?: number; /** - * Total estimated savings with reserved instances. + * ExtendedCost or blended cost before tax in pricing currency to correlate with prices. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly netSavings?: number; + readonly costInPricingCurrency?: number; /** - * The usage date for looking back. + * Exchange rate used in conversion from pricing currency to billing currency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly firstUsageDate?: Date; + readonly exchangeRate?: string; /** - * Shared or single recommendation. + * Date on which exchange rate used in conversion from pricing currency to billing currency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly scope?: string; -} - -/** - * The tag resource. - */ -export interface Tag { + readonly exchangeRateDate?: Date; /** - * Tag key. + * Invoice ID as on the invoice where the specific transaction appears. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - key?: string; -} - -/** - * The Resource model definition. - */ -export interface ProxyResource extends BaseResource { + readonly invoiceId?: string; /** - * Resource Id. + * Reference to an original invoice there is a refund (negative cost). This is populated only + * when there is a refund. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly id?: string; + readonly previousInvoiceId?: string; /** - * Resource name. + * Pricing Billing Currency. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly name?: string; + readonly pricingCurrencyCode?: string; /** - * Resource type. + * Identifier for the product that has accrued charges by consumption or purchase . This is the + * concatenated key of productId and SkuId in partner center. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly type?: string; + readonly productIdentifier?: string; /** - * eTag of the resource. To handle concurrent update scenario, this field will be used to - * determine whether the user is updating the latest version or not. + * Resource Location Normalized. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - eTag?: string; -} - -/** - * A resource listing all tags. - */ -export interface TagsResult extends ProxyResource { + readonly resourceLocationNormalized?: string; /** - * A list of Tag. + * Start date for the rating period when the service usage was rated for charges. The prices for + * Azure services are determined for the rating period. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - tags?: Tag[]; -} - -/** - * The start and end date for a budget. - */ -export interface BudgetTimePeriod { + readonly servicePeriodStartDate?: Date; /** - * The start date for the budget. + * End date for the period when the service usage was rated for charges. The prices for Azure + * services are determined based on the rating period. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - startDate: Date; + readonly servicePeriodEndDate?: Date; /** - * The end date for the budget. If not provided, we default this to 10 years from the start date. + * Identifier of the customer's AAD tenant. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - endDate?: Date; -} - -/** - * May be used to filter budgets by resource group, resource, or meter. - */ -export interface Filters { + readonly customerTenantId?: string; /** - * The list of filters on resource groups, allowed at subscription level only. + * Name of the customer's AAD tenant. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - resourceGroups?: string[]; + readonly customerName?: string; /** - * The list of filters on resources. + * Identifier for the partner's AAD tenant. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - resources?: string[]; + readonly partnerTenantId?: string; /** - * The list of filters on meters (GUID), mandatory for budgets of usage category. + * Name of the partner' AAD tenant. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - meters?: string[]; + readonly partnerName?: string; /** - * The dictionary of filters on tags. + * MPNId for the reseller associated with the subscription. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - tags?: { [propertyName: string]: string[] }; -} - -/** - * The current amount of cost which is being tracked for a budget. - */ -export interface CurrentSpend { + readonly resellerMpnId?: string; /** - * The total amount of cost which is being tracked by the budget. + * Reseller Name. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly amount?: number; + readonly resellerName?: string; /** - * The unit of measure for the budget amount. + * Publisher Id. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly unit?: string; -} - -/** - * The notification associated with a budget. - */ -export interface Notification { + readonly publisherId?: string; /** - * The notification is enabled or not. + * Market Price that's charged for the usage. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - enabled: boolean; + readonly marketPrice?: number; /** - * The comparison operator. Possible values include: 'EqualTo', 'GreaterThan', - * 'GreaterThanOrEqualTo' + * Exchange Rate from pricing currency to billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - operator: OperatorType; + readonly exchangeRatePricingToBilling?: number; /** - * Threshold value associated with a notification. Notification is sent when the cost exceeded - * the threshold. It is always percent and has to be between 0 and 1000. + * The amount of PayG cost before tax in billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - threshold: number; + readonly paygCostInBillingCurrency?: number; /** - * Email addresses to send the budget notification to when the threshold is exceeded. + * The amount of PayG cost before tax in US Dollar currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - contactEmails: string[]; + readonly paygCostInUSD?: number; /** - * Contact roles to send the budget notification to when the threshold is exceeded. + * Rate of discount applied if there is a partner earned credit (PEC) based on partner admin link + * access. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - contactRoles?: string[]; + readonly partnerEarnedCreditRate?: number; + /** + * Flag to indicate if partner earned credit has been applied or not. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly partnerEarnedCreditApplied?: string; /** - * Action groups to send the budget notification to when the threshold is exceeded. + * Retail price for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - contactGroups?: string[]; + readonly payGPrice?: number; } /** - * A budget resource. + * A marketplace resource. */ -export interface Budget extends ProxyResource { +export interface Marketplace extends Resource { /** - * The category of the budget, whether the budget tracks cost or usage. Possible values include: - * 'Cost', 'Usage' + * The id of the billing period resource that the usage belongs to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - category: CategoryType; + readonly billingPeriodId?: string; /** - * The total amount of cost to track with the budget + * The start of the date time range covered by the usage detail. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - amount: number; + readonly usageStart?: Date; /** - * The time covered by a budget. Tracking of the amount will be reset based on the time grain. - * Possible values include: 'Monthly', 'Quarterly', 'Annually' + * The end of the date time range covered by the usage detail. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - timeGrain: TimeGrainType; + readonly usageEnd?: Date; /** - * Has start and end date of the budget. The start date must be first of the month and should be - * less than the end date. Budget start date must be on or after June 1, 2017. Future start date - * should not be more than three months. Past start date should be selected within the timegrain - * period. There are no restrictions on the end date. + * The marketplace resource rate. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - timePeriod: BudgetTimePeriod; + readonly resourceRate?: number; /** - * May be used to filter budgets by resource group, resource, or meter. + * The type of offer. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filters?: Filters; + readonly offerName?: string; /** - * The current amount of cost which is being tracked for a budget. + * The name of resource group. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currentSpend?: CurrentSpend; + readonly resourceGroup?: string; /** - * Dictionary of notifications associated with the budget. Budget can have up to five - * notifications. + * Additional information. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - notifications?: { [propertyName: string]: Notification }; -} - -/** - * The properties of the price sheet. - */ -export interface PriceSheetProperties { + readonly additionalInfo?: string; /** - * The id of the billing period resource that the usage belongs to. + * The order number. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingPeriodId?: string; + readonly orderNumber?: string; /** - * The meter id (GUID) + * The name of the resource instance that the usage is about. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterId?: string; + readonly instanceName?: string; /** - * The details about the meter. By default this is not populated, unless it's specified in - * $expand. + * The uri of the resource instance that the usage is about. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly meterDetails?: MeterDetails; + readonly instanceId?: string; /** - * Unit of measure + * The ISO currency in which the meter is charged, for example, USD. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly unitOfMeasure?: string; + readonly currency?: string; /** - * Included quality for an offer + * The quantity of usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly includedQuantity?: number; + readonly consumedQuantity?: number; /** - * Part Number + * The unit of measure. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly partNumber?: string; + readonly unitOfMeasure?: string; /** - * Unit Price + * The amount of cost before tax. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly unitPrice?: number; + readonly pretaxCost?: number; /** - * Currency Code + * The estimated usage is subject to change. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currencyCode?: string; + readonly isEstimated?: boolean; /** - * Offer Id + * The meter id (GUID). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly offerId?: string; + readonly meterId?: string; + /** + * Subscription guid. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly subscriptionGuid?: string; + /** + * Subscription name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly subscriptionName?: string; + /** + * Account name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountName?: string; + /** + * Department name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly departmentName?: string; + /** + * Consumed service name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly consumedService?: string; + /** + * The cost center of this department if it is a department and a costcenter exists + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly costCenter?: string; + /** + * Additional details of this usage item. By default this is not populated, unless it's specified + * in $expand. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly additionalProperties?: string; + /** + * The name of publisher. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly publisherName?: string; + /** + * The name of plan. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly planName?: string; + /** + * Flag indicating whether this is a recurring charge or not. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isRecurringCharge?: boolean; } /** - * An pricesheet resource. + * An interface representing BalancePropertiesNewPurchasesDetailsItem. */ -export interface PriceSheetResult extends Resource { +export interface BalancePropertiesNewPurchasesDetailsItem { /** - * Price sheet + * the name of new purchase. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly pricesheets?: PriceSheetProperties[]; + readonly name?: string; /** - * The link (url) to the next page of results. + * the value of new purchase. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly nextLink?: string; + readonly value?: number; } /** - * An interface representing ForecastPropertiesConfidenceLevelsItem. + * An interface representing BalancePropertiesAdjustmentDetailsItem. */ -export interface ForecastPropertiesConfidenceLevelsItem { +export interface BalancePropertiesAdjustmentDetailsItem { /** - * The percentage level of the confidence + * the name of new adjustment. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly percentage?: number; - /** - * The boundary of the percentage, values could be 'Upper' or 'Lower'. Possible values include: - * 'Upper', 'Lower' - */ - bound?: Bound; + readonly name?: string; /** - * The amount of forecast within the percentage level + * the value of new adjustment. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly value?: number; } /** - * A forecast resource. + * A balance resource. */ -export interface Forecast extends Resource { +export interface Balance extends Resource { /** - * The usage date of the forecast. + * The ISO currency in which the meter is charged, for example, USD. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageDate?: string; - /** - * The granularity of forecast. Possible values include: 'Daily', 'Monthly', 'Yearly' - */ - grain?: Grain; + readonly currency?: string; /** - * The amount of charge + * The beginning balance for the billing period. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly charge?: number; + readonly beginningBalance?: number; /** - * The ISO currency in which the meter is charged, for example, USD. + * The ending balance for the billing period (for open periods this will be updated daily). * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currency?: string; + readonly endingBalance?: number; /** - * The type of the charge. Could be actual or forecast. Possible values include: 'Actual', - * 'Forecast' + * Total new purchase amount. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - chargeType?: ChargeType; + readonly newPurchases?: number; /** - * The details about the forecast confidence levels. This is populated only when chargeType is - * Forecast. + * Total adjustment amount. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly confidenceLevels?: ForecastPropertiesConfidenceLevelsItem[]; -} - -/** - * A management group aggregated cost resource. - */ -export interface ManagementGroupAggregatedCostResult extends Resource { + readonly adjustments?: number; /** - * The id of the billing period resource that the aggregated cost belongs to. + * Total Commitment usage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingPeriodId?: string; + readonly utilized?: number; /** - * The start of the date time range covered by aggregated cost. + * Overage for Azure services. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageStart?: Date; + readonly serviceOverage?: number; /** - * The end of the date time range covered by the aggregated cost. + * Charges Billed separately. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageEnd?: Date; + readonly chargesBilledSeparately?: number; /** - * Azure Charges. + * serviceOverage + chargesBilledSeparately. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly azureCharges?: number; + readonly totalOverage?: number; /** - * Marketplace Charges. + * Azure service commitment + total Overage. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly marketplaceCharges?: number; + readonly totalUsage?: number; /** - * Charges Billed Separately. + * Total charges for Azure Marketplace. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly chargesBilledSeparately?: number; + readonly azureMarketplaceServiceCharges?: number; /** - * The ISO currency in which the meter is charged, for example, USD. - * **NOTE: This property will not be serialized. It can only be populated by the server.** + * The billing frequency. Possible values include: 'Month', 'Quarter', 'Year' */ - readonly currency?: string; + billingFrequency?: BillingFrequency; /** - * Children of a management group + * Price is hidden or not. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - children?: ManagementGroupAggregatedCostResult[]; + readonly priceHidden?: boolean; /** - * List of subscription Guids included in the calculation of aggregated cost + * List of new purchases. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - includedSubscriptions?: string[]; + readonly newPurchasesDetails?: BalancePropertiesNewPurchasesDetailsItem[]; /** - * List of subscription Guids excluded from the calculation of aggregated cost + * List of Adjustments (Promo credit, SIE credit etc.). + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - excludedSubscriptions?: string[]; + readonly adjustmentDetails?: BalancePropertiesAdjustmentDetailsItem[]; } /** - * A charge summary resource. + * reservation summary resource. */ -export interface ChargeSummary extends Resource { +export interface ReservationSummary extends Resource { /** - * The id of the billing period resource that the charge belongs to. + * The reservation order ID is the identifier for a reservation purchase. Each reservation order + * ID represents a single purchase transaction. A reservation order contains reservations. The + * reservation order specifies the VM size and region for the reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly billingPeriodId?: string; + readonly reservationOrderId?: string; /** - * Usage start date. + * The reservation ID is the identifier of a reservation within a reservation order. Each + * reservation is the grouping for applying the benefit scope and also specifies the number of + * instances to which the reservation benefit can be applied to. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageStart?: string; + readonly reservationId?: string; /** - * Usage end date. + * This is the ARM Sku name. It can be used to join with the serviceType field in additional info + * in usage records. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly usageEnd?: string; + readonly skuName?: string; /** - * Azure Charges. + * This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this + * will be 11 hours for that day and 24 hours from subsequent days * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly azureCharges?: number; + readonly reservedHours?: number; /** - * Charges Billed separately. + * Data corresponding to the utilization record. If the grain of data is monthly, it will be + * first day of month. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly chargesBilledSeparately?: number; + readonly usageDate?: Date; /** - * Marketplace Charges. + * Total used hours by the reservation * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly marketplaceCharges?: number; + readonly usedHours?: number; /** - * Currency Code + * This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record + * corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will + * return 10% for that day * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly currency?: string; -} - -/** - * Result of listing charge summary. - */ -export interface ChargesListResult { + readonly minUtilizationPercentage?: number; /** - * The list of charge summary + * This is average utilization for the entire time range. (day or month depending on the grain) * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly value?: ChargeSummary[]; -} - -/** - * The details of the error. - */ -export interface ErrorDetails { + readonly avgUtilizationPercentage?: number; /** - * Error code. + * This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record + * corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will + * return 100% for that day. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly code?: string; + readonly maxUtilizationPercentage?: number; /** - * Error message indicating why the operation failed. + * The reservation kind. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly message?: string; -} - -/** - * Error response indicates that the service is not able to process the incoming request. The - * reason is provided in the error message. - */ -export interface ErrorResponse { + readonly kind?: string; /** - * The details of the error. + * This is the purchased quantity for the reservationId. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - error?: ErrorDetails; -} - -/** - * The object that represents the operation. - */ -export interface OperationDisplay { + readonly purchasedQuantity?: number; /** - * Service provider: Microsoft.Consumption. + * This is the remaining quantity for the reservationId. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly provider?: string; + readonly remainingQuantity?: number; /** - * Resource on which the operation is performed: UsageDetail, etc. + * This is the total count of instances that are reserved for the reservationId. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly resource?: string; + readonly totalReservedQuantity?: number; /** - * Operation type: Read, write, delete, etc. + * This is the used quantity for the reservationId. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly operation?: string; + readonly usedQuantity?: number; + /** + * This is the utilized percentage for the reservation Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly utilizedPercentage?: number; } /** - * A Consumption REST API operation. + * reservation detail resource. */ -export interface Operation { +export interface ReservationDetail extends Resource { /** - * Operation name: {provider}/{resource}/{operation}. + * The reservation order ID is the identifier for a reservation purchase. Each reservation order + * ID represents a single purchase transaction. A reservation order contains reservations. The + * reservation order specifies the VM size and region for the reservations. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly name?: string; + readonly reservationOrderId?: string; /** - * The object that represents the operation. + * The instance Flexibility Ratio. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - display?: OperationDisplay; -} - -/** - * The Resource model definition. - */ -export interface ResourceAttributes { + readonly instanceFlexibilityRatio?: string; /** - * Resource location + * The instance Flexibility Group. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly location?: string; + readonly instanceFlexibilityGroup?: string; /** - * Resource sku + * The reservation ID is the identifier of a reservation within a reservation order. Each + * reservation is the grouping for applying the benefit scope and also specifies the number of + * instances to which the reservation benefit can be applied to. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly sku?: string; -} - -/** - * Additional parameters for a set of operations. - */ -export interface QueryOptions { + readonly reservationId?: string; /** - * OData apply expression to aggregate usageDetails by tags or (tags and properties/usageStart) + * This is the ARM Sku name. It can be used to join with the serviceType field in additional info + * in usage records. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - apply?: string; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListOptionalParams extends msRest.RequestOptionsBase { + readonly skuName?: string; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 + * PM, this will be 11 hours for that day and 24 hours from subsequent days. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly reservedHours?: number; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * The date on which consumption occurred. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly usageDate?: Date; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * This is the total hours used by the instance. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly usedHours?: number; /** - * May be used to limit the number of results to the most recent N usageDetails. + * This identifier is the name of the resource or the fully qualified Resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly instanceId?: string; + /** + * This is the total count of instances that are reserved for the reservationId. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalReservedQuantity?: number; /** - * Additional parameters for the operation + * The reservation kind. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly kind?: string; } /** - * Optional Parameters. + * Details of the resource. */ -export interface UsageDetailsListByBillingPeriodOptionalParams extends msRest.RequestOptionsBase { +export interface ReservationRecommendationDetailsResourceProperties { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * List of subscriptions for which the reservation is applied. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly appliedScopes?: string[]; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * On demand rate of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly onDemandRate?: number; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Azure product ex: Standard_E8s_v3 etc. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly product?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Azure resource region ex:EastUS, WestUS etc. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly region?: string; + /** + * Reservation rate of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reservationRate?: number; /** - * Additional parameters for the operation + * The azure resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly resourceType?: string; } /** - * Optional Parameters. + * Details of estimated savings. */ -export interface UsageDetailsListByBillingAccountOptionalParams extends msRest.RequestOptionsBase { +export interface ReservationRecommendationDetailsCalculatedSavingsProperties { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The cost without reservation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly onDemandCost?: number; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * The difference between total reservation cost and reservation cost. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly overageCost?: number; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The quantity for calculated savings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly quantity?: number; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The exact cost of the estimated usage using reservation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly reservationCost?: number; + /** + * The cost of the suggested quantity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalReservationCost?: number; + /** + * The number of reserved units used to calculate savings. Always 1 for virtual machines. + */ + reservedUnitCount?: number; /** - * Additional parameters for the operation + * The amount saved by purchasing the recommended quantity of reservation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly savings?: number; } /** - * Optional Parameters. + * Details of the estimated savings. */ -export interface UsageDetailsListForBillingPeriodByBillingAccountOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationRecommendationDetailsSavingsProperties { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * List of calculated savings. */ - expand?: string; + calculatedSavings?: ReservationRecommendationDetailsCalculatedSavingsProperties[]; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * Number of days of usage to look back used for computing the recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly lookBackPeriod?: number; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Number of recommended units of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly recommendedQuantity?: number; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Term period of the reservation, ex: P1Y or P3Y. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly reservationOrderTerm?: string; + /** + * Type of savings, ex: instance. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly savingsType?: string; /** - * Additional parameters for the operation + * Measurement unit ex: hour etc. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly unitOfMeasure?: string; } /** - * Optional Parameters. + * Details about historical usage data that has been used for computing the recommendation. */ -export interface UsageDetailsListByDepartmentOptionalParams extends msRest.RequestOptionsBase { +export interface ReservationRecommendationDetailsUsageProperties { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The first usage date used for looking back for computing the recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly firstConsumptionDate?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * The last usage date used for looking back for computing the recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly lastConsumptionDate?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * What the usage data values represent ex: virtual machine instance. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly lookBackUnitType?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The breakdown of historical resource usage. The values are in the order of usage between the + * firstConsumptionDate and the lastConsumptionDate. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly usageData?: number[]; /** - * Additional parameters for the operation + * The grain of the values represented in the usage data ex: hourly. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly usageGrain?: string; } /** - * Optional Parameters. + * Reservation recommendation details. */ -export interface UsageDetailsListForBillingPeriodByDepartmentOptionalParams - extends msRest.RequestOptionsBase { - /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. - */ - expand?: string; - /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). - */ - filter?: string; +export interface ReservationRecommendationDetailsModel extends Resource { /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Resource Location. */ - skiptoken?: string; + location?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Resource sku */ - top?: number; + sku?: string; /** - * Additional parameters for the operation + * An ISO 4217 currency code identifier for the costs and savings + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListByEnrollmentAccountOptionalParams - extends msRest.RequestOptionsBase { + readonly currency?: string; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Resource specific properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly resource?: ReservationRecommendationDetailsResourceProperties; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Resource Group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly resourceGroup?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Savings information for the recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly savings?: ReservationRecommendationDetailsSavingsProperties; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Scope of the reservation, ex: Single or Shared. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly scope?: string; /** - * Additional parameters for the operation + * Historical usage details used to calculate the estimated savings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly usage?: ReservationRecommendationDetailsUsageProperties; } /** - * Optional Parameters. + * Contains the possible cases for ReservationRecommendation. + */ +export type ReservationRecommendationUnion = ReservationRecommendation | LegacyReservationRecommendation | ModernReservationRecommendation; + +/** + * A reservation recommendation resource. */ -export interface UsageDetailsListForBillingPeriodByEnrollmentAccountOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationRecommendation { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Polymorphic Discriminator */ - expand?: string; + kind: "ReservationRecommendation"; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly id?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly name?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly type?: string; /** - * Additional parameters for the operation + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListByManagementGroupOptionalParams extends msRest.RequestOptionsBase { + readonly etag?: string; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly tags?: { [propertyName: string]: string }; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Resource location + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly location?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Resource sku + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly sku?: string; +} + +/** + * The Sku property + */ +export interface SkuProperty { /** - * May be used to limit the number of results to the most recent N usageDetails. + * The name of sku property. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly name?: string; /** - * Additional parameters for the operation + * The value of sku property. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; + readonly value?: string; } /** - * Optional Parameters. + * Legacy reservation recommendation. */ -export interface UsageDetailsListForBillingPeriodByManagementGroupOptionalParams - extends msRest.RequestOptionsBase { +export interface LegacyReservationRecommendation { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Polymorphic Discriminator */ - expand?: string; + kind: "legacy"; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly id?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly name?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly type?: string; /** - * Additional parameters for the operation + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - queryOptions?: QueryOptions; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListNextOptionalParams extends msRest.RequestOptionsBase { + readonly etag?: string; + /** + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tags?: { [propertyName: string]: string }; + /** + * Resource location + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly location?: string; + /** + * Resource sku + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sku?: string; + /** + * The number of days of usage to look back for recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lookBackPeriod?: string; + /** + * The instance Flexibility Ratio. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly instanceFlexibilityRatio?: number; + /** + * The instance Flexibility Group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly instanceFlexibilityGroup?: string; + /** + * The normalized Size. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly normalizedSize?: string; + /** + * The recommended Quantity Normalized. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly recommendedQuantityNormalized?: number; + /** + * The meter id (GUID) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly meterId?: string; + /** + * The azure resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resourceType?: string; + /** + * RI recommendations in one or three year terms. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly term?: string; + /** + * The total amount of cost without reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly costWithNoReservedInstances?: number; + /** + * Recommended quality for reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly recommendedQuantity?: number; + /** + * The total amount of cost with reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalCostWithReservedInstances?: number; + /** + * Total estimated savings with reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly netSavings?: number; + /** + * The usage date for looking back. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly firstUsageDate?: Date; + /** + * Shared or single recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly scope?: string; + /** + * List of sku properties + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly skuProperties?: SkuProperty[]; +} + +/** + * The amount plus currency . + */ +export interface Amount { + /** + * Amount currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; + /** + * Amount. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: number; +} + +/** + * Modern reservation recommendation. + */ +export interface ModernReservationRecommendation { + /** + * Polymorphic Discriminator + */ + kind: "modern"; + /** + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; + /** + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tags?: { [propertyName: string]: string }; + /** + * Resource location + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly location?: string; + /** + * Resource sku + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sku?: string; + /** + * Resource Location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly modernReservationRecommendationLocation?: string; + /** + * The number of days of usage to look back for recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lookBackPeriod?: number; + /** + * The instance Flexibility Ratio. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly instanceFlexibilityRatio?: number; + /** + * The instance Flexibility Group. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly instanceFlexibilityGroup?: string; + /** + * The normalized Size. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly normalizedSize?: string; + /** + * The recommended Quantity Normalized. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly recommendedQuantityNormalized?: number; + /** + * The meter id (GUID) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly meterId?: string; + /** + * RI recommendations in one or three year terms. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly term?: string; + /** + * The total amount of cost without reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly costWithNoReservedInstances?: Amount; + /** + * Recommended quality for reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly recommendedQuantity?: number; + /** + * The total amount of cost with reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalCostWithReservedInstances?: Amount; + /** + * Total estimated savings with reserved instances. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly netSavings?: Amount; + /** + * The usage date for looking back. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly firstUsageDate?: Date; + /** + * Shared or single recommendation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly scope?: string; + /** + * List of sku properties + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly skuProperties?: SkuProperty[]; + /** + * This is the ARM Sku name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly skuName?: string; +} + +/** + * The Resource model definition. + */ +export interface ReservationTransactionResource extends BaseResource { + /** + * Resource Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tags?: string[]; +} + +/** + * Modern Reservation transaction resource. + */ +export interface ModernReservationTransaction extends ReservationTransactionResource { + /** + * The charge of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly amount?: number; + /** + * This is the ARM Sku name. It can be used to join with the serviceType field in additional info + * in usage records. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly armSkuName?: string; + /** + * The billing frequency, which can be either one-time or recurring. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingFrequency?: string; + /** + * Billing profile Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingProfileId?: string; + /** + * Billing profile name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingProfileName?: string; + /** + * The ISO currency in which the transaction is charged, for example, USD. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; + /** + * The description of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; + /** + * The date of the transaction + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventDate?: Date; + /** + * The type of the transaction (Purchase, Cancel, etc.) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventType?: string; + /** + * Invoice Number + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invoice?: string; + /** + * Invoice Id as on the invoice where the specific transaction appears. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invoiceId?: string; + /** + * Invoice Section Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invoiceSectionId?: string; + /** + * Invoice Section Name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invoiceSectionName?: string; + /** + * The subscription guid that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly purchasingSubscriptionGuid?: string; + /** + * The subscription name that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly purchasingSubscriptionName?: string; + /** + * The quantity of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly quantity?: number; + /** + * The region of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly region?: string; + /** + * The reservation order ID is the identifier for a reservation purchase. Each reservation order + * ID represents a single purchase transaction. A reservation order contains reservations. The + * reservation order specifies the VM size and region for the reservations. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reservationOrderId?: string; + /** + * The name of the reservation order. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reservationOrderName?: string; + /** + * This is the term of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly term?: string; +} + +/** + * Reservation transaction resource. + */ +export interface ReservationTransaction extends ReservationTransactionResource { + /** + * The date of the transaction + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventDate?: Date; + /** + * The reservation order ID is the identifier for a reservation purchase. Each reservation order + * ID represents a single purchase transaction. A reservation order contains reservations. The + * reservation order specifies the VM size and region for the reservations. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reservationOrderId?: string; + /** + * The description of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly description?: string; + /** + * The type of the transaction (Purchase, Cancel, etc.) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventType?: string; + /** + * The quantity of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly quantity?: number; + /** + * The charge of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly amount?: number; + /** + * The ISO currency in which the transaction is charged, for example, USD. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; + /** + * The name of the reservation order. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reservationOrderName?: string; + /** + * The purchasing enrollment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly purchasingEnrollment?: string; + /** + * The subscription guid that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly purchasingSubscriptionGuid?: string; + /** + * The subscription name that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly purchasingSubscriptionName?: string; + /** + * This is the ARM Sku name. It can be used to join with the serviceType field in additional info + * in usage records. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly armSkuName?: string; + /** + * This is the term of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly term?: string; + /** + * The region of the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly region?: string; + /** + * The name of the account that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountName?: string; + /** + * The email of the account owner that makes the transaction. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly accountOwnerEmail?: string; + /** + * The department name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly departmentName?: string; + /** + * The cost center of this department if it is a department and a cost center is provided. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly costCenter?: string; + /** + * The current enrollment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currentEnrollment?: string; + /** + * The billing frequency, which can be either one-time or recurring. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingFrequency?: string; +} + +/** + * Legacy Reservation transaction resource. + */ +export interface LegacyReservationTransaction extends ReservationTransaction { +} + +/** + * The tag resource. + */ +export interface Tag { + /** + * Tag key. + */ + key?: string; + /** + * Tag values. + */ + value?: string[]; +} + +/** + * The Resource model definition. + */ +export interface ProxyResource extends BaseResource { + /** + * Resource Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * eTag of the resource. To handle concurrent update scenario, this field will be used to + * determine whether the user is updating the latest version or not. + */ + eTag?: string; +} + +/** + * A resource listing all tags. + */ +export interface TagsResult extends ProxyResource { + /** + * A list of Tag. + */ + tags?: Tag[]; + /** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; + /** + * The link (url) to the previous page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly previousLink?: string; +} + +/** + * The start and end date for a budget. + */ +export interface BudgetTimePeriod { + /** + * The start date for the budget. + */ + startDate: Date; + /** + * The end date for the budget. If not provided, we default this to 10 years from the start date. + */ + endDate?: Date; +} + +/** + * The comparison expression to be used in the budgets. + */ +export interface BudgetComparisonExpression { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * Array of values to use for comparison + */ + values: string[]; +} + +/** + * The Dimensions or Tags to filter a budget by. + */ +export interface BudgetFilterProperties { + /** + * Has comparison expression for a dimension + */ + dimensions?: BudgetComparisonExpression; + /** + * Has comparison expression for a tag + */ + tags?: BudgetComparisonExpression; +} + +/** + * May be used to filter budgets by resource group, resource, or meter. + */ +export interface BudgetFilter { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: BudgetFilterProperties[]; + /** + * The logical "NOT" expression. + */ + not?: BudgetFilterProperties; + /** + * Has comparison expression for a dimension + */ + dimensions?: BudgetComparisonExpression; + /** + * Has comparison expression for a tag + */ + tags?: BudgetComparisonExpression; +} + +/** + * The current amount of cost which is being tracked for a budget. + */ +export interface CurrentSpend { + /** + * The total amount of cost which is being tracked by the budget. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly amount?: number; + /** + * The unit of measure for the budget amount. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly unit?: string; +} + +/** + * The notification associated with a budget. + */ +export interface Notification { + /** + * The notification is enabled or not. + */ + enabled: boolean; + /** + * The comparison operator. Possible values include: 'EqualTo', 'GreaterThan', + * 'GreaterThanOrEqualTo' + */ + operator: OperatorType; + /** + * Threshold value associated with a notification. Notification is sent when the cost exceeded + * the threshold. It is always percent and has to be between 0 and 1000. + */ + threshold: number; + /** + * Email addresses to send the budget notification to when the threshold is exceeded. Must have + * at least one contact email or contact group specified at the Subscription or Resource Group + * scopes. All other scopes must have at least one contact email specified. + */ + contactEmails: string[]; + /** + * Contact roles to send the budget notification to when the threshold is exceeded. + */ + contactRoles?: string[]; + /** + * Action groups to send the budget notification to when the threshold is exceeded. Must be + * provided as a fully qualified Azure resource id. Only supported at Subscription or Resource + * Group scopes. + */ + contactGroups?: string[]; + /** + * The type of threshold. Possible values include: 'Actual'. Default value: 'Actual'. + */ + thresholdType?: ThresholdType; +} + +/** + * The forecasted cost which is being tracked for a budget. + */ +export interface ForecastSpend { + /** + * The forecasted cost for the total time period which is being tracked by the budget. This value + * is only provided if the budget contains a forecast alert type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly amount?: number; + /** + * The unit of measure for the budget amount. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly unit?: string; +} + +/** + * A budget resource. + */ +export interface Budget extends ProxyResource { + /** + * The total amount of cost to track with the budget + */ + amount: number; + /** + * The time covered by a budget. Tracking of the amount will be reset based on the time grain. + * BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. Possible + * values include: 'Monthly', 'Quarterly', 'Annually', 'BillingMonth', 'BillingQuarter', + * 'BillingAnnual' + */ + timeGrain: TimeGrainType; + /** + * Has start and end date of the budget. The start date must be first of the month and should be + * less than the end date. Budget start date must be on or after June 1, 2017. Future start date + * should not be more than twelve months. Past start date should be selected within the + * timegrain period. There are no restrictions on the end date. + */ + timePeriod: BudgetTimePeriod; + /** + * May be used to filter budgets by user-specified dimensions and/or tags. + */ + filter?: BudgetFilter; + /** + * The current amount of cost which is being tracked for a budget. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currentSpend?: CurrentSpend; + /** + * Dictionary of notifications associated with the budget. Budget can have up to five + * notifications. + */ + notifications?: { [propertyName: string]: Notification }; + /** + * The forecasted cost which is being tracked for a budget. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly forecastSpend?: ForecastSpend; +} + +/** + * The properties of the price sheet. + */ +export interface PriceSheetProperties { + /** + * The id of the billing period resource that the usage belongs to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingPeriodId?: string; + /** + * The meter id (GUID) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly meterId?: string; + /** + * The details about the meter. By default this is not populated, unless it's specified in + * $expand. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly meterDetails?: MeterDetails; + /** + * Unit of measure + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly unitOfMeasure?: string; + /** + * Included quality for an offer + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly includedQuantity?: number; + /** + * Part Number + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly partNumber?: string; + /** + * Unit Price + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly unitPrice?: number; + /** + * Currency Code + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currencyCode?: string; + /** + * Offer Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly offerId?: string; +} + +/** + * An pricesheet resource. + */ +export interface PriceSheetResult extends Resource { + /** + * Price sheet + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly pricesheets?: PriceSheetProperties[]; + /** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; + /** + * Pricesheet download details. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly download?: MeterDetails; +} + +/** + * The properties of the price sheet download. + */ +export interface DownloadProperties { + /** + * The link (url) to download the pricesheet. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly downloadUrl?: string; + /** + * Download link validity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validTill?: string; +} + +/** + * An interface representing ForecastPropertiesConfidenceLevelsItem. + */ +export interface ForecastPropertiesConfidenceLevelsItem { + /** + * The percentage level of the confidence + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly percentage?: number; + /** + * The boundary of the percentage, values could be 'Upper' or 'Lower'. Possible values include: + * 'Upper', 'Lower' + */ + bound?: Bound; + /** + * The amount of forecast within the percentage level + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: number; +} + +/** + * A forecast resource. + */ +export interface Forecast extends Resource { + /** + * The usage date of the forecast. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly usageDate?: string; + /** + * The granularity of forecast. Please note that Yearly is not currently supported in this API. + * The API will provide responses in the Monthly grain if Yearly is selected. To get yearly grain + * data, please use our newer Forecast API. Possible values include: 'Daily', 'Monthly', 'Yearly' + */ + grain?: Grain; + /** + * The amount of charge + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly charge?: number; + /** + * The ISO currency in which the meter is charged, for example, USD. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; + /** + * The type of the charge. Could be actual or forecast. Possible values include: 'Actual', + * 'Forecast' + */ + chargeType?: ChargeType; + /** + * The details about the forecast confidence levels. This is populated only when chargeType is + * Forecast. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly confidenceLevels?: ForecastPropertiesConfidenceLevelsItem[]; +} + +/** + * A management group aggregated cost resource. + */ +export interface ManagementGroupAggregatedCostResult extends Resource { + /** + * The id of the billing period resource that the aggregated cost belongs to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingPeriodId?: string; + /** + * The start of the date time range covered by aggregated cost. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly usageStart?: Date; + /** + * The end of the date time range covered by the aggregated cost. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly usageEnd?: Date; + /** + * Azure Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly azureCharges?: number; + /** + * Marketplace Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly marketplaceCharges?: number; + /** + * Charges Billed Separately. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly chargesBilledSeparately?: number; + /** + * The ISO currency in which the meter is charged, for example, USD. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; + /** + * Children of a management group + */ + children?: ManagementGroupAggregatedCostResult[]; + /** + * List of subscription Guids included in the calculation of aggregated cost + */ + includedSubscriptions?: string[]; + /** + * List of subscription Guids excluded from the calculation of aggregated cost + */ + excludedSubscriptions?: string[]; +} + +/** + * Contains the possible cases for ChargeSummary. + */ +export type ChargeSummaryUnion = ChargeSummary | LegacyChargeSummary | ModernChargeSummary; + +/** + * A charge summary resource. + */ +export interface ChargeSummary { + /** + * Polymorphic Discriminator + */ + kind: "ChargeSummary"; + /** + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; + /** + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** + * Result of listing charge summary. + */ +export interface ChargesListResult { + /** + * The list of charge summary + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: ChargeSummaryUnion[]; +} + +/** + * Legacy charge summary. + */ +export interface LegacyChargeSummary { + /** + * Polymorphic Discriminator + */ + kind: "legacy"; + /** + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; + /** + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tags?: { [propertyName: string]: string }; + /** + * The id of the billing period resource that the charge belongs to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingPeriodId?: string; + /** + * Usage start date. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly usageStart?: string; + /** + * Usage end date. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly usageEnd?: string; + /** + * Azure Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly azureCharges?: number; + /** + * Charges Billed separately. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly chargesBilledSeparately?: number; + /** + * Marketplace Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly marketplaceCharges?: number; + /** + * Currency Code + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly currency?: string; +} + +/** + * Modern charge summary. + */ +export interface ModernChargeSummary { + /** + * Polymorphic Discriminator + */ + kind: "modern"; + /** + * The full qualified ARM ID of an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The ID that uniquely identifies an event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The etag for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly etag?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Resource tags. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly tags?: { [propertyName: string]: string }; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The id of the billing period resource that the charge belongs to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly billingPeriodId?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Usage start date. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListByBillingPeriodNextOptionalParams - extends msRest.RequestOptionsBase { + readonly usageStart?: string; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Usage end date. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly usageEnd?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * Azure Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly azureCharges?: Amount; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Charges Billed separately. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly chargesBilledSeparately?: Amount; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Marketplace Charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListByBillingAccountNextOptionalParams - extends msRest.RequestOptionsBase { + readonly marketplaceCharges?: Amount; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Billing Account Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly billingAccountId?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Billing Profile Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly billingProfileId?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Invoice Section Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly invoiceSectionId?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Customer Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly customerId?: string; + /** + * Is charge Invoiced + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isInvoiced?: boolean; } /** - * Optional Parameters. + * The details of the error. */ -export interface UsageDetailsListForBillingPeriodByBillingAccountNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. - */ - expand?: string; - /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). - */ - filter?: string; +export interface ErrorDetails { /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Error code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly code?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Error message indicating why the operation failed. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly message?: string; } /** - * Optional Parameters. + * The details of the error. */ -export interface UsageDetailsListByDepartmentNextOptionalParams extends msRest.RequestOptionsBase { +export interface HighCasedErrorDetails { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Error code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly code?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Error message indicating why the operation failed. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly message?: string; +} + +/** + * Error response indicates that the service is not able to process the incoming request. The + * reason is provided in the error message. + * + * Some Error responses: + * + * * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the + * "x-ms-ratelimit-microsoft.consumption-retry-after" header. + * + * * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time + * specified in the "Retry-After" header. + */ +export interface HighCasedErrorResponse { /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The details of the error. */ - skiptoken?: string; + error?: HighCasedErrorDetails; +} + +/** + * Error response indicates that the service is not able to process the incoming request. The + * reason is provided in the error message. + * + * Some Error responses: + * + * * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the + * "x-ms-ratelimit-microsoft.consumption-retry-after" header. + * + * * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time + * specified in the "Retry-After" header. + */ +export interface ErrorResponse { /** - * May be used to limit the number of results to the most recent N usageDetails. + * The details of the error. */ - top?: number; + error?: ErrorDetails; } /** - * Optional Parameters. + * The object that represents the operation. */ -export interface UsageDetailsListForBillingPeriodByDepartmentNextOptionalParams - extends msRest.RequestOptionsBase { +export interface OperationDisplay { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * Service provider: Microsoft.Consumption. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly provider?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * Resource on which the operation is performed: UsageDetail, etc. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly resource?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Operation type: Read, write, delete, etc. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly operation?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * Description of the operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly description?: string; } /** - * Optional Parameters. + * A Consumption REST API operation. */ -export interface UsageDetailsListByEnrollmentAccountNextOptionalParams - extends msRest.RequestOptionsBase { - /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. - */ - expand?: string; +export interface Operation { /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * Operation Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly id?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Operation name: {provider}/{resource}/{operation}. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly name?: string; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The object that represents the operation. */ - top?: number; + display?: OperationDisplay; } /** - * Optional Parameters. + * The reseller properties. */ -export interface UsageDetailsListForBillingPeriodByEnrollmentAccountNextOptionalParams - extends msRest.RequestOptionsBase { +export interface Reseller { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The reseller property ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly resellerId?: string; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * The reseller property description. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly resellerDescription?: string; +} + +/** + * The amount with exchange rate. + */ +export interface AmountWithExchangeRate { /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The exchange rate. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly exchangeRate?: number; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The exchange rate month. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly exchangeRateMonth?: number; } /** - * Optional Parameters. + * An event summary resource. */ -export interface UsageDetailsListByManagementGroupNextOptionalParams - extends msRest.RequestOptionsBase { +export interface EventSummary extends Resource { /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The date of the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly transactionDate?: Date; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName, properties/instanceId or tags. - * The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support - * 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated - * by a colon (:). + * The description of the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly description?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The amount of new credit or commitment for NewCredit or SettleCharges event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly newCredit?: Amount; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The amount of balance adjustment. The property is not available for ConsumptionCommitment + * lots. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; -} - -/** - * Optional Parameters. - */ -export interface UsageDetailsListForBillingPeriodByManagementGroupNextOptionalParams - extends msRest.RequestOptionsBase { + readonly adjustments?: Amount; + /** + * The amount of expired credit or commitment for NewCredit or SettleCharges event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly creditExpired?: Amount; /** - * May be used to expand the properties/additionalProperties or properties/meterDetails within a - * list of usage details. By default, these fields are not included when listing usage details. + * The amount of charges for events of type SettleCharges and PendingEligibleCharges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - expand?: string; + readonly charges?: Amount; /** - * May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a - * colon (:). + * The balance after the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly closedBalance?: Amount; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Identifies the type of the event. Possible values include: 'SettledCharges', 'PendingCharges', + * 'PendingAdjustments', 'PendingNewCredit', 'PendingExpiredCredit', 'UnKnown', 'NewCredit' + */ + eventType?: EventType; + /** + * The number which uniquely identifies the invoice on which the event was billed. This will be + * empty for unbilled events. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly invoiceNumber?: string; + /** + * The ID that uniquely identifies the billing profile for which the event happened. The property + * is only available for billing account of type MicrosoftCustomerAgreement. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingProfileId?: string; + /** + * The display name of the billing profile for which the event happened. The property is only + * available for billing account of type MicrosoftCustomerAgreement. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingProfileDisplayName?: string; + /** + * The ID that uniquely identifies the lot for which the event happened. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lotId?: string; + /** + * Identifies the source of the lot for which the event happened. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lotSource?: string; + /** + * Amount of canceled credit. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly canceledCredit?: Amount; + /** + * The credit currency of the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly creditCurrency?: string; + /** + * The billing currency of the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly billingCurrency?: string; + /** + * The reseller of the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reseller?: Reseller; + /** + * The amount of expired credit or commitment for NewCredit or SettleCharges event in billing + * currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly creditExpiredInBillingCurrency?: AmountWithExchangeRate; + /** + * The amount of new credit or commitment for NewCredit or SettleCharges event in billing + * currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly newCreditInBillingCurrency?: AmountWithExchangeRate; + /** + * The amount of balance adjustment in billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly adjustmentsInBillingCurrency?: AmountWithExchangeRate; + /** + * The amount of charges for events of type SettleCharges and PendingEligibleCharges in billing + * currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly chargesInBillingCurrency?: AmountWithExchangeRate; /** - * May be used to limit the number of results to the most recent N usageDetails. + * The balance in billing currency after the event. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly closedBalanceInBillingCurrency?: AmountWithExchangeRate; } /** - * Optional Parameters. + * A lot summary resource. */ -export interface MarketplacesListOptionalParams extends msRest.RequestOptionsBase { +export interface LotSummary extends Resource { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * The original amount of a lot. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly originalAmount?: Amount; /** - * May be used to limit the number of results to the most recent N marketplaces. + * The balance as of the last invoice. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly closedBalance?: Amount; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The source of the lot. Possible values include: 'PurchasedCredit', 'PromotionalCredit', + * 'ConsumptionCommitment' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; -} - -/** - * Optional Parameters. - */ -export interface MarketplacesListByBillingPeriodOptionalParams extends msRest.RequestOptionsBase { + readonly source?: LotSource; /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * The date when the lot became effective. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly startDate?: Date; /** - * May be used to limit the number of results to the most recent N marketplaces. + * The expiration date of a lot. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly expirationDate?: Date; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The po number of the invoice on which the lot was added. This property is not available for + * ConsumptionCommitment lots. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; -} - -/** - * Optional Parameters. - */ -export interface MarketplacesListByBillingAccountOptionalParams extends msRest.RequestOptionsBase { + readonly poNumber?: string; /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * The date when the lot was added. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly purchaseDate?: Date; /** - * May be used to limit the number of results to the most recent N marketplaces. + * The status of the lot. Possible values include: 'None', 'Active', 'Inactive', 'Expired', + * 'Complete', 'Canceled' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly status?: Status; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The currency of the lot. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; -} - -/** - * Optional Parameters. - */ -export interface MarketplacesListForBillingPeriodByBillingAccountOptionalParams - extends msRest.RequestOptionsBase { + readonly creditCurrency?: string; /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * The billing currency of the lot. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly billingCurrency?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * The original amount of a lot in billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly originalAmountInBillingCurrency?: AmountWithExchangeRate; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The balance as of the last invoice in billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly closedBalanceInBillingCurrency?: AmountWithExchangeRate; + /** + * The reseller of the lot. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reseller?: Reseller; } /** - * Optional Parameters. + * Summary of credit balances. */ -export interface MarketplacesListByDepartmentOptionalParams extends msRest.RequestOptionsBase { +export interface CreditBalanceSummary { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Estimated balance. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly estimatedBalance?: Amount; /** - * May be used to limit the number of results to the most recent N marketplaces. + * Current balance. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly currentBalance?: Amount; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Estimated balance in billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly estimatedBalanceInBillingCurrency?: AmountWithExchangeRate; } /** - * Optional Parameters. + * A credit summary resource. */ -export interface MarketplacesListForBillingPeriodByDepartmentOptionalParams - extends msRest.RequestOptionsBase { +export interface CreditSummary extends Resource { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Summary of balances associated with this credit summary. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly balanceSummary?: CreditBalanceSummary; /** - * May be used to limit the number of results to the most recent N marketplaces. + * Pending credit adjustments. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly pendingCreditAdjustments?: Amount; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Expired credit. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; -} - -/** - * Optional Parameters. - */ -export interface MarketplacesListByEnrollmentAccountOptionalParams - extends msRest.RequestOptionsBase { + readonly expiredCredit?: Amount; /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Pending eligible charges. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - filter?: string; + readonly pendingEligibleCharges?: Amount; /** - * May be used to limit the number of results to the most recent N marketplaces. + * The credit currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly creditCurrency?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * The billing currency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly billingCurrency?: string; + /** + * Credit's reseller. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reseller?: Reseller; } /** - * Optional Parameters. + * The Resource model definition. */ -export interface MarketplacesListForBillingPeriodByEnrollmentAccountOptionalParams - extends msRest.RequestOptionsBase { - /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. - */ - filter?: string; +export interface ResourceAttributes { /** - * May be used to limit the number of results to the most recent N marketplaces. + * Resource location + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - top?: number; + readonly location?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Resource sku + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - skiptoken?: string; + readonly sku?: string; } /** * Optional Parameters. */ -export interface MarketplacesListByManagementGroupOptionalParams extends msRest.RequestOptionsBase { +export interface UsageDetailsListOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * May be used to expand the properties/additionalInfo or properties/meterDetails within a list + * of usage details. By default, these fields are not included when listing usage details. */ - filter?: string; + expand?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, + * properties/resourceId, properties/chargeType, properties/reservationId, + * properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + * It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string + * where key and value is separated by a colon (:). PublisherType Filter accepts two values azure + * and marketplace and it is currently supported for Web Direct Offer Type */ - top?: number; + filter?: string; /** * Skiptoken is only used if a previous operation returned a partial result. If a previous * response contains a nextLink element, the value of the nextLink element will include a * skiptoken parameter that specifies a starting point to use for subsequent calls. */ skiptoken?: string; + /** + * May be used to limit the number of results to the most recent N usageDetails. + */ + top?: number; + /** + * Allows to select different type of cost/usage records. Possible values include: + * 'ActualCostMetricType', 'AmortizedCostMetricType', 'UsageMetricType' + */ + metric?: Metrictype; } /** * Optional Parameters. */ -export interface MarketplacesListForBillingPeriodByManagementGroupOptionalParams - extends msRest.RequestOptionsBase { +export interface UsageDetailsListNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * May be used to expand the properties/additionalInfo or properties/meterDetails within a list + * of usage details. By default, these fields are not included when listing usage details. */ - filter?: string; + expand?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, + * properties/resourceId, properties/chargeType, properties/reservationId, + * properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + * It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string + * where key and value is separated by a colon (:). PublisherType Filter accepts two values azure + * and marketplace and it is currently supported for Web Direct Offer Type */ - top?: number; + filter?: string; /** * Skiptoken is only used if a previous operation returned a partial result. If a previous * response contains a nextLink element, the value of the nextLink element will include a * skiptoken parameter that specifies a starting point to use for subsequent calls. */ skiptoken?: string; + /** + * May be used to limit the number of results to the most recent N usageDetails. + */ + top?: number; + /** + * Allows to select different type of cost/usage records. Possible values include: + * 'ActualCostMetricType', 'AmortizedCostMetricType', 'UsageMetricType' + */ + metric?: Metrictype; } /** * Optional Parameters. */ -export interface MarketplacesListNextOptionalParams extends msRest.RequestOptionsBase { +export interface MarketplacesListOptionalParams extends msRest.RequestOptionsBase { /** * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The @@ -2096,8 +3157,7 @@ export interface MarketplacesListNextOptionalParams extends msRest.RequestOption /** * Optional Parameters. */ -export interface MarketplacesListByBillingPeriodNextOptionalParams - extends msRest.RequestOptionsBase { +export interface MarketplacesListNextOptionalParams extends msRest.RequestOptionsBase { /** * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The @@ -2120,202 +3180,202 @@ export interface MarketplacesListByBillingPeriodNextOptionalParams /** * Optional Parameters. */ -export interface MarketplacesListByBillingAccountNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ChargesListOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Start date */ - filter?: string; + startDate?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * End date */ - top?: number; + endDate?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc + * time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently + * support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is + * separated by a colon (:). */ - skiptoken?: string; + filter?: string; + /** + * May be used to group charges for billingAccount scope by properties/billingProfileId, + * properties/invoiceSectionId, properties/customerId (specific for Partner Led), or for + * billingProfile scope by properties/invoiceSectionId. + */ + apply?: string; } /** * Optional Parameters. */ -export interface MarketplacesListForBillingPeriodByBillingAccountNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsSummariesListByReservationOrderOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge' */ filter?: string; - /** - * May be used to limit the number of results to the most recent N marketplaces. - */ - top?: number; - /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. - */ - skiptoken?: string; } /** * Optional Parameters. */ -export interface MarketplacesListByDepartmentNextOptionalParams extends msRest.RequestOptionsBase { +export interface ReservationsSummariesListByReservationOrderAndReservationOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge' */ filter?: string; - /** - * May be used to limit the number of results to the most recent N marketplaces. - */ - top?: number; - /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. - */ - skiptoken?: string; } /** * Optional Parameters. */ -export interface MarketplacesListForBillingPeriodByDepartmentNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsSummariesListOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Start date. Only applicable when querying with billing profile */ - filter?: string; + startDate?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * End date. Only applicable when querying with billing profile */ - top?: number; + endDate?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge'. Not applicable when querying with billing profile + */ + filter?: string; + /** + * Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific + * reservation */ - skiptoken?: string; + reservationId?: string; + /** + * Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific + * reservation order + */ + reservationOrderId?: string; } /** * Optional Parameters. */ -export interface MarketplacesListByEnrollmentAccountNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsSummariesListByReservationOrderNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge' */ filter?: string; +} + +/** + * Optional Parameters. + */ +export interface ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to limit the number of results to the most recent N marketplaces. - */ - top?: number; - /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge' */ - skiptoken?: string; + filter?: string; } /** * Optional Parameters. */ -export interface MarketplacesListForBillingPeriodByEnrollmentAccountNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsSummariesListNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Start date. Only applicable when querying with billing profile + */ + startDate?: string; + /** + * End date. Only applicable when querying with billing profile + */ + endDate?: string; + /** + * Required only for daily grain. The properties/UsageDate for start date and end date. The + * filter supports 'le' and 'ge'. Not applicable when querying with billing profile */ filter?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific + * reservation */ - top?: number; + reservationId?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific + * reservation order */ - skiptoken?: string; + reservationOrderId?: string; } /** * Optional Parameters. */ -export interface MarketplacesListByManagementGroupNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsDetailsListOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Start date. Only applicable when querying with billing profile + */ + startDate?: string; + /** + * End date. Only applicable when querying with billing profile + */ + endDate?: string; + /** + * Filter reservation details by date range. The properties/UsageDate for start date and end + * date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile */ filter?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific + * reservation */ - top?: number; + reservationId?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific + * reservation order */ - skiptoken?: string; + reservationOrderId?: string; } /** * Optional Parameters. */ -export interface MarketplacesListForBillingPeriodByManagementGroupNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationsDetailsListNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart - * (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The - * filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', - * 'or', or 'not'. + * Start date. Only applicable when querying with billing profile + */ + startDate?: string; + /** + * End date. Only applicable when querying with billing profile + */ + endDate?: string; + /** + * Filter reservation details by date range. The properties/UsageDate for start date and end + * date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile */ filter?: string; /** - * May be used to limit the number of results to the most recent N marketplaces. + * Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific + * reservation */ - top?: number; + reservationId?: string; /** - * Skiptoken is only used if a previous operation returned a partial result. If a previous - * response contains a nextLink element, the value of the nextLink element will include a - * skiptoken parameter that specifies a starting point to use for subsequent calls. + * Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific + * reservation order */ - skiptoken?: string; + reservationOrderId?: string; } /** * Optional Parameters. */ -export interface ReservationsSummariesListByReservationOrderOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationRecommendationsListOptionalParams extends msRest.RequestOptionsBase { /** - * Required only for daily grain. The properties/UsageDate for start date and end date. The - * filter supports 'le' and 'ge' + * May be used to filter reservationRecommendations by: properties/scope with allowed values + * ['Single', 'Shared'] and default value 'Single'; properties/resourceType with allowed values + * ['VirtualMachines', 'SQLDatabases', 'PostgreSQL', 'ManagedDisk', 'MySQL', 'RedHat', 'MariaDB', + * 'RedisCache', 'CosmosDB', 'SqlDataWarehouse', 'SUSELinux', 'AppService', 'BlockBlob', + * 'AzureDataExplorer', 'VMwareCloudSimple'] and default value 'VirtualMachines'; and + * properties/lookBackPeriod with allowed values ['Last7Days', 'Last30Days', 'Last60Days'] and + * default value 'Last7Days'. */ filter?: string; } @@ -2323,11 +3383,15 @@ export interface ReservationsSummariesListByReservationOrderOptionalParams /** * Optional Parameters. */ -export interface ReservationsSummariesListByReservationOrderAndReservationOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationRecommendationsListNextOptionalParams extends msRest.RequestOptionsBase { /** - * Required only for daily grain. The properties/UsageDate for start date and end date. The - * filter supports 'le' and 'ge' + * May be used to filter reservationRecommendations by: properties/scope with allowed values + * ['Single', 'Shared'] and default value 'Single'; properties/resourceType with allowed values + * ['VirtualMachines', 'SQLDatabases', 'PostgreSQL', 'ManagedDisk', 'MySQL', 'RedHat', 'MariaDB', + * 'RedisCache', 'CosmosDB', 'SqlDataWarehouse', 'SUSELinux', 'AppService', 'BlockBlob', + * 'AzureDataExplorer', 'VMwareCloudSimple'] and default value 'VirtualMachines'; and + * properties/lookBackPeriod with allowed values ['Last7Days', 'Last30Days', 'Last60Days'] and + * default value 'Last7Days'. */ filter?: string; } @@ -2335,11 +3399,10 @@ export interface ReservationsSummariesListByReservationOrderAndReservationOption /** * Optional Parameters. */ -export interface ReservationsSummariesListByReservationOrderNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationTransactionsListOptionalParams extends msRest.RequestOptionsBase { /** - * Required only for daily grain. The properties/UsageDate for start date and end date. The - * filter supports 'le' and 'ge' + * Filter reservation transactions by date range. The properties/EventDate for start date and end + * date. The filter supports 'le' and 'ge' */ filter?: string; } @@ -2347,11 +3410,10 @@ export interface ReservationsSummariesListByReservationOrderNextOptionalParams /** * Optional Parameters. */ -export interface ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationTransactionsListByBillingProfileOptionalParams extends msRest.RequestOptionsBase { /** - * Required only for daily grain. The properties/UsageDate for start date and end date. The - * filter supports 'le' and 'ge' + * Filter reservation transactions by date range. The properties/EventDate for start date and end + * date. The filter supports 'le' and 'ge' */ filter?: string; } @@ -2359,10 +3421,10 @@ export interface ReservationsSummariesListByReservationOrderAndReservationNextOp /** * Optional Parameters. */ -export interface ReservationRecommendationsListOptionalParams extends msRest.RequestOptionsBase { +export interface ReservationTransactionsListNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter reservationRecommendations by properties/scope and - * properties/lookBackPeriod. + * Filter reservation transactions by date range. The properties/EventDate for start date and end + * date. The filter supports 'le' and 'ge' */ filter?: string; } @@ -2370,11 +3432,10 @@ export interface ReservationRecommendationsListOptionalParams extends msRest.Req /** * Optional Parameters. */ -export interface ReservationRecommendationsListNextOptionalParams - extends msRest.RequestOptionsBase { +export interface ReservationTransactionsListByBillingProfileNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter reservationRecommendations by properties/scope and - * properties/lookBackPeriod. + * Filter reservation transactions by date range. The properties/EventDate for start date and end + * date. The filter supports 'le' and 'ge' */ filter?: string; } @@ -2436,8 +3497,7 @@ export interface ForecastsListOptionalParams extends msRest.RequestOptionsBase { /** * Optional Parameters. */ -export interface AggregatedCostGetByManagementGroupOptionalParams - extends msRest.RequestOptionsBase { +export interface AggregatedCostGetByManagementGroupOptionalParams extends msRest.RequestOptionsBase { /** * May be used to filter aggregated cost by properties/usageStart (Utc time), properties/usageEnd * (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently @@ -2450,12 +3510,11 @@ export interface AggregatedCostGetByManagementGroupOptionalParams /** * Optional Parameters. */ -export interface ChargesListByEnrollmentAccountOptionalParams extends msRest.RequestOptionsBase { +export interface EventsListByBillingAccountOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc - * time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently - * support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is - * separated by a colon (:). + * May be used to filter the events by lotId, lotSource etc. The filter supports 'eq', 'lt', + * 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is + * a key value pair string where key and value is separated by a colon (:). */ filter?: string; } @@ -2463,13 +3522,11 @@ export interface ChargesListByEnrollmentAccountOptionalParams extends msRest.Req /** * Optional Parameters. */ -export interface ChargesListForBillingPeriodByEnrollmentAccountOptionalParams - extends msRest.RequestOptionsBase { +export interface EventsListByBillingAccountNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc - * time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently - * support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is - * separated by a colon (:). + * May be used to filter the events by lotId, lotSource etc. The filter supports 'eq', 'lt', + * 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is + * a key value pair string where key and value is separated by a colon (:). */ filter?: string; } @@ -2477,12 +3534,11 @@ export interface ChargesListForBillingPeriodByEnrollmentAccountOptionalParams /** * Optional Parameters. */ -export interface ChargesListByDepartmentOptionalParams extends msRest.RequestOptionsBase { +export interface LotsListByBillingAccountOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc - * time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently - * support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is - * separated by a colon (:). + * May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', + * 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key + * value pair string where key and value is separated by a colon (:). */ filter?: string; } @@ -2490,13 +3546,11 @@ export interface ChargesListByDepartmentOptionalParams extends msRest.RequestOpt /** * Optional Parameters. */ -export interface ChargesListForBillingPeriodByDepartmentOptionalParams - extends msRest.RequestOptionsBase { +export interface LotsListByBillingAccountNextOptionalParams extends msRest.RequestOptionsBase { /** - * May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc - * time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently - * support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is - * separated by a colon (:). + * May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', + * 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key + * value pair string where key and value is separated by a colon (:). */ filter?: string; } @@ -2512,9 +3566,9 @@ export interface ConsumptionManagementClientOptions extends AzureServiceClientOp * @interface * Result of listing usage details. It contains a list of available usage details in reverse * chronological order by billing period. - * @extends Array + * @extends Array */ -export interface UsageDetailsListResult extends Array { +export interface UsageDetailsListResult extends Array { /** * The link (url) to the next page of results. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -2536,6 +3590,19 @@ export interface MarketplacesListResult extends Array { readonly nextLink?: string; } +/** + * @interface + * Result of listing budgets. It contains a list of available budgets in the scope provided. + * @extends Array + */ +export interface BudgetsListResult extends Array { + /** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + /** * @interface * Result of listing reservation summaries. @@ -2565,22 +3632,40 @@ export interface ReservationDetailsListResult extends Array { /** * @interface * Result of listing reservation recommendations. - * @extends Array + * @extends Array */ -export interface ReservationRecommendationsListResult extends Array { +export interface ReservationRecommendationsListResult extends Array { /** * The link (url) to the next page of results. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; + /** + * The link (url) to the previous page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly previousLink?: string; } /** * @interface - * Result of listing budgets. It contains a list of available budgets in the scope provided. - * @extends Array + * Result of listing reservation recommendations. + * @extends Array */ -export interface BudgetsListResult extends Array { +export interface ReservationTransactionsListResult extends Array { + /** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * Result of listing reservation recommendations. + * @extends Array + */ +export interface ModernReservationTransactionsListResult extends Array { /** * The link (url) to the next page of results. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -2593,7 +3678,8 @@ export interface BudgetsListResult extends Array { * Result of listing forecasts. It contains a list of available forecasts. * @extends Array */ -export interface ForecastsListResult extends Array {} +export interface ForecastsListResult extends Array { +} /** * @interface @@ -2606,671 +3692,223 @@ export interface OperationListResult extends Array { * URL to get the next set of operation list results if there are any. * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - readonly nextLink?: string; -} - -/** - * Defines values for BillingFrequency. - * Possible values include: 'Month', 'Quarter', 'Year' - * @readonly - * @enum {string} - */ -export type BillingFrequency = "Month" | "Quarter" | "Year"; - -/** - * Defines values for CategoryType. - * Possible values include: 'Cost', 'Usage' - * @readonly - * @enum {string} - */ -export type CategoryType = "Cost" | "Usage"; - -/** - * Defines values for TimeGrainType. - * Possible values include: 'Monthly', 'Quarterly', 'Annually' - * @readonly - * @enum {string} - */ -export type TimeGrainType = "Monthly" | "Quarterly" | "Annually"; - -/** - * Defines values for OperatorType. - * Possible values include: 'EqualTo', 'GreaterThan', 'GreaterThanOrEqualTo' - * @readonly - * @enum {string} - */ -export type OperatorType = "EqualTo" | "GreaterThan" | "GreaterThanOrEqualTo"; - -/** - * Defines values for Grain. - * Possible values include: 'Daily', 'Monthly', 'Yearly' - * @readonly - * @enum {string} - */ -export type Grain = "Daily" | "Monthly" | "Yearly"; - -/** - * Defines values for ChargeType. - * Possible values include: 'Actual', 'Forecast' - * @readonly - * @enum {string} - */ -export type ChargeType = "Actual" | "Forecast"; - -/** - * Defines values for Bound. - * Possible values include: 'Upper', 'Lower' - * @readonly - * @enum {string} - */ -export type Bound = "Upper" | "Lower"; - -/** - * Defines values for Datagrain. - * Possible values include: 'DailyGrain', 'MonthlyGrain' - * @readonly - * @enum {string} - */ -export type Datagrain = "daily" | "monthly"; - -/** - * Contains response data for the list operation. - */ -export type UsageDetailsListResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listByBillingPeriod operation. - */ -export type UsageDetailsListByBillingPeriodResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listByBillingAccount operation. - */ -export type UsageDetailsListByBillingAccountResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listForBillingPeriodByBillingAccount operation. - */ -export type UsageDetailsListForBillingPeriodByBillingAccountResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listByDepartment operation. - */ -export type UsageDetailsListByDepartmentResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listForBillingPeriodByDepartment operation. - */ -export type UsageDetailsListForBillingPeriodByDepartmentResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listByEnrollmentAccount operation. - */ -export type UsageDetailsListByEnrollmentAccountResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listForBillingPeriodByEnrollmentAccount operation. - */ -export type UsageDetailsListForBillingPeriodByEnrollmentAccountResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; - -/** - * Contains response data for the listByManagementGroup operation. - */ -export type UsageDetailsListByManagementGroupResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; + readonly nextLink?: string; +} /** - * Contains response data for the listForBillingPeriodByManagementGroup operation. + * @interface + * Result of listing event summary. + * @extends Array */ -export type UsageDetailsListForBillingPeriodByManagementGroupResponse = UsageDetailsListResult & { +export interface Events extends Array { /** - * The underlying HTTP response. + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; + readonly nextLink?: string; +} /** - * Contains response data for the listNext operation. + * @interface + * Result of listing lot summary. + * @extends Array */ -export type UsageDetailsListNextResponse = UsageDetailsListResult & { +export interface Lots extends Array { /** - * The underlying HTTP response. + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; + readonly nextLink?: string; +} /** - * Contains response data for the listByBillingPeriodNext operation. + * Defines values for BillingFrequency. + * Possible values include: 'Month', 'Quarter', 'Year' + * @readonly + * @enum {string} */ -export type UsageDetailsListByBillingPeriodNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type BillingFrequency = 'Month' | 'Quarter' | 'Year'; /** - * Contains response data for the listByBillingAccountNext operation. + * Defines values for TimeGrainType. + * Possible values include: 'Monthly', 'Quarterly', 'Annually', 'BillingMonth', 'BillingQuarter', + * 'BillingAnnual' + * @readonly + * @enum {string} */ -export type UsageDetailsListByBillingAccountNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type TimeGrainType = 'Monthly' | 'Quarterly' | 'Annually' | 'BillingMonth' | 'BillingQuarter' | 'BillingAnnual'; /** - * Contains response data for the listForBillingPeriodByBillingAccountNext operation. + * Defines values for OperatorType. + * Possible values include: 'EqualTo', 'GreaterThan', 'GreaterThanOrEqualTo' + * @readonly + * @enum {string} */ -export type UsageDetailsListForBillingPeriodByBillingAccountNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type OperatorType = 'EqualTo' | 'GreaterThan' | 'GreaterThanOrEqualTo'; /** - * Contains response data for the listByDepartmentNext operation. + * Defines values for ThresholdType. + * Possible values include: 'Actual' + * @readonly + * @enum {string} */ -export type UsageDetailsListByDepartmentNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type ThresholdType = 'Actual'; /** - * Contains response data for the listForBillingPeriodByDepartmentNext operation. + * Defines values for Grain. + * Possible values include: 'Daily', 'Monthly', 'Yearly' + * @readonly + * @enum {string} */ -export type UsageDetailsListForBillingPeriodByDepartmentNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type Grain = 'Daily' | 'Monthly' | 'Yearly'; /** - * Contains response data for the listByEnrollmentAccountNext operation. + * Defines values for ChargeType. + * Possible values include: 'Actual', 'Forecast' + * @readonly + * @enum {string} */ -export type UsageDetailsListByEnrollmentAccountNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type ChargeType = 'Actual' | 'Forecast'; /** - * Contains response data for the listForBillingPeriodByEnrollmentAccountNext operation. + * Defines values for Bound. + * Possible values include: 'Upper', 'Lower' + * @readonly + * @enum {string} */ -export type UsageDetailsListForBillingPeriodByEnrollmentAccountNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type Bound = 'Upper' | 'Lower'; /** - * Contains response data for the listByManagementGroupNext operation. + * Defines values for EventType. + * Possible values include: 'SettledCharges', 'PendingCharges', 'PendingAdjustments', + * 'PendingNewCredit', 'PendingExpiredCredit', 'UnKnown', 'NewCredit' + * @readonly + * @enum {string} */ -export type UsageDetailsListByManagementGroupNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type EventType = 'SettledCharges' | 'PendingCharges' | 'PendingAdjustments' | 'PendingNewCredit' | 'PendingExpiredCredit' | 'UnKnown' | 'NewCredit'; /** - * Contains response data for the listForBillingPeriodByManagementGroupNext operation. + * Defines values for LotSource. + * Possible values include: 'PurchasedCredit', 'PromotionalCredit', 'ConsumptionCommitment' + * @readonly + * @enum {string} */ -export type UsageDetailsListForBillingPeriodByManagementGroupNextResponse = UsageDetailsListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: UsageDetailsListResult; - }; -}; +export type LotSource = 'PurchasedCredit' | 'PromotionalCredit' | 'ConsumptionCommitment'; /** - * Contains response data for the list operation. + * Defines values for Status. + * Possible values include: 'None', 'Active', 'Inactive', 'Expired', 'Complete', 'Canceled' + * @readonly + * @enum {string} */ -export type MarketplacesListResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Status = 'None' | 'Active' | 'Inactive' | 'Expired' | 'Complete' | 'Canceled'; /** - * Contains response data for the listByBillingPeriod operation. + * Defines values for Datagrain. + * Possible values include: 'DailyGrain', 'MonthlyGrain' + * @readonly + * @enum {string} */ -export type MarketplacesListByBillingPeriodResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Datagrain = 'daily' | 'monthly'; /** - * Contains response data for the listByBillingAccount operation. + * Defines values for Metrictype. + * Possible values include: 'ActualCostMetricType', 'AmortizedCostMetricType', 'UsageMetricType' + * @readonly + * @enum {string} */ -export type MarketplacesListByBillingAccountResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Metrictype = 'actualcost' | 'amortizedcost' | 'usage'; /** - * Contains response data for the listForBillingPeriodByBillingAccount operation. + * Defines values for Term. + * Possible values include: 'P1Y', 'P3Y' + * @readonly + * @enum {string} */ -export type MarketplacesListForBillingPeriodByBillingAccountResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Term = 'P1Y' | 'P3Y'; /** - * Contains response data for the listByDepartment operation. + * Defines values for LookBackPeriod. + * Possible values include: 'Last07Days', 'Last30Days', 'Last60Days' + * @readonly + * @enum {string} */ -export type MarketplacesListByDepartmentResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type LookBackPeriod = 'Last7Days' | 'Last30Days' | 'Last60Days'; /** - * Contains response data for the listForBillingPeriodByDepartment operation. + * Defines values for Scope10. + * Possible values include: 'Single', 'Shared' + * @readonly + * @enum {string} */ -export type MarketplacesListForBillingPeriodByDepartmentResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Scope10 = 'Single' | 'Shared'; /** - * Contains response data for the listByEnrollmentAccount operation. + * Defines values for Scope12. + * Possible values include: 'Single', 'Shared' + * @readonly + * @enum {string} */ -export type MarketplacesListByEnrollmentAccountResponse = MarketplacesListResult & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; -}; +export type Scope12 = 'Single' | 'Shared'; /** - * Contains response data for the listForBillingPeriodByEnrollmentAccount operation. + * Contains response data for the list operation. */ -export type MarketplacesListForBillingPeriodByEnrollmentAccountResponse = MarketplacesListResult & { +export type UsageDetailsListResponse = UsageDetailsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: UsageDetailsListResult; + }; }; /** - * Contains response data for the listByManagementGroup operation. + * Contains response data for the listNext operation. */ -export type MarketplacesListByManagementGroupResponse = MarketplacesListResult & { +export type UsageDetailsListNextResponse = UsageDetailsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: UsageDetailsListResult; + }; }; /** - * Contains response data for the listForBillingPeriodByManagementGroup operation. + * Contains response data for the list operation. */ -export type MarketplacesListForBillingPeriodByManagementGroupResponse = MarketplacesListResult & { +export type MarketplacesListResponse = MarketplacesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: MarketplacesListResult; + }; }; /** @@ -3281,356 +3919,356 @@ export type MarketplacesListNextResponse = MarketplacesListResult & { * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: MarketplacesListResult; + }; }; /** - * Contains response data for the listByBillingPeriodNext operation. + * Contains response data for the list operation. */ -export type MarketplacesListByBillingPeriodNextResponse = MarketplacesListResult & { +export type BudgetsListResponse = BudgetsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: BudgetsListResult; + }; }; /** - * Contains response data for the listByBillingAccountNext operation. + * Contains response data for the get operation. */ -export type MarketplacesListByBillingAccountNextResponse = MarketplacesListResult & { +export type BudgetsGetResponse = Budget & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Budget; + }; }; /** - * Contains response data for the listForBillingPeriodByBillingAccountNext operation. + * Contains response data for the createOrUpdate operation. */ -export type MarketplacesListForBillingPeriodByBillingAccountNextResponse = MarketplacesListResult & { +export type BudgetsCreateOrUpdateResponse = Budget & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Budget; + }; }; /** - * Contains response data for the listByDepartmentNext operation. + * Contains response data for the listNext operation. */ -export type MarketplacesListByDepartmentNextResponse = MarketplacesListResult & { +export type BudgetsListNextResponse = BudgetsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: BudgetsListResult; + }; }; /** - * Contains response data for the listForBillingPeriodByDepartmentNext operation. + * Contains response data for the get operation. */ -export type MarketplacesListForBillingPeriodByDepartmentNextResponse = MarketplacesListResult & { +export type TagsGetResponse = TagsResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: TagsResult; + }; }; /** - * Contains response data for the listByEnrollmentAccountNext operation. + * Contains response data for the list operation. */ -export type MarketplacesListByEnrollmentAccountNextResponse = MarketplacesListResult & { +export type ChargesListResponse = ChargesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ChargesListResult; + }; }; /** - * Contains response data for the listForBillingPeriodByEnrollmentAccountNext operation. + * Contains response data for the getByBillingAccount operation. */ -export type MarketplacesListForBillingPeriodByEnrollmentAccountNextResponse = MarketplacesListResult & { +export type BalancesGetByBillingAccountResponse = Balance & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Balance; + }; }; /** - * Contains response data for the listByManagementGroupNext operation. + * Contains response data for the getForBillingPeriodByBillingAccount operation. */ -export type MarketplacesListByManagementGroupNextResponse = MarketplacesListResult & { +export type BalancesGetForBillingPeriodByBillingAccountResponse = Balance & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Balance; + }; }; /** - * Contains response data for the listForBillingPeriodByManagementGroupNext operation. + * Contains response data for the listByReservationOrder operation. */ -export type MarketplacesListForBillingPeriodByManagementGroupNextResponse = MarketplacesListResult & { +export type ReservationsSummariesListByReservationOrderResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: MarketplacesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the getByBillingAccount operation. + * Contains response data for the listByReservationOrderAndReservation operation. */ -export type BalancesGetByBillingAccountResponse = Balance & { +export type ReservationsSummariesListByReservationOrderAndReservationResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Balance; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the getForBillingPeriodByBillingAccount operation. + * Contains response data for the list operation. */ -export type BalancesGetForBillingPeriodByBillingAccountResponse = Balance & { +export type ReservationsSummariesListResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Balance; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the listByReservationOrder operation. + * Contains response data for the listByReservationOrderNext operation. */ -export type ReservationsSummariesListByReservationOrderResponse = ReservationSummariesListResult & { +export type ReservationsSummariesListByReservationOrderNextResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationSummariesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the listByReservationOrderAndReservation operation. + * Contains response data for the listByReservationOrderAndReservationNext operation. */ -export type ReservationsSummariesListByReservationOrderAndReservationResponse = ReservationSummariesListResult & { +export type ReservationsSummariesListByReservationOrderAndReservationNextResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationSummariesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the listByReservationOrderNext operation. + * Contains response data for the listNext operation. */ -export type ReservationsSummariesListByReservationOrderNextResponse = ReservationSummariesListResult & { +export type ReservationsSummariesListNextResponse = ReservationSummariesListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationSummariesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationSummariesListResult; + }; }; /** - * Contains response data for the listByReservationOrderAndReservationNext operation. + * Contains response data for the listByReservationOrder operation. */ -export type ReservationsSummariesListByReservationOrderAndReservationNextResponse = ReservationSummariesListResult & { +export type ReservationsDetailsListByReservationOrderResponse = ReservationDetailsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationSummariesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; }; /** - * Contains response data for the listByReservationOrder operation. + * Contains response data for the listByReservationOrderAndReservation operation. */ -export type ReservationsDetailsListByReservationOrderResponse = ReservationDetailsListResult & { +export type ReservationsDetailsListByReservationOrderAndReservationResponse = ReservationDetailsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationDetailsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; }; /** - * Contains response data for the listByReservationOrderAndReservation operation. + * Contains response data for the list operation. */ -export type ReservationsDetailsListByReservationOrderAndReservationResponse = ReservationDetailsListResult & { +export type ReservationsDetailsListResponse = ReservationDetailsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationDetailsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; }; /** @@ -3641,16 +4279,16 @@ export type ReservationsDetailsListByReservationOrderNextResponse = ReservationD * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationDetailsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; }; /** @@ -3661,16 +4299,36 @@ export type ReservationsDetailsListByReservationOrderAndReservationNextResponse * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationDetailsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ReservationsDetailsListNextResponse = ReservationDetailsListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationDetailsListResult; + }; }; /** @@ -3681,16 +4339,16 @@ export type ReservationRecommendationsListResponse = ReservationRecommendationsL * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationRecommendationsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationRecommendationsListResult; + }; }; /** @@ -3701,434 +4359,434 @@ export type ReservationRecommendationsListNextResponse = ReservationRecommendati * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReservationRecommendationsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationRecommendationsListResult; + }; }; /** - * Contains response data for the list operation. + * Contains response data for the get operation. */ -export type BudgetsListResponse = BudgetsListResult & { +export type ReservationRecommendationDetailsGetResponse = ReservationRecommendationDetailsModel & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: BudgetsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationRecommendationDetailsModel; + }; }; /** - * Contains response data for the listByResourceGroupName operation. + * Contains response data for the list operation. */ -export type BudgetsListByResourceGroupNameResponse = BudgetsListResult & { +export type ReservationTransactionsListResponse = ReservationTransactionsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: BudgetsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationTransactionsListResult; + }; }; /** - * Contains response data for the get operation. + * Contains response data for the listByBillingProfile operation. */ -export type BudgetsGetResponse = Budget & { +export type ReservationTransactionsListByBillingProfileResponse = ModernReservationTransactionsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Budget; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ModernReservationTransactionsListResult; + }; }; /** - * Contains response data for the createOrUpdate operation. + * Contains response data for the listNext operation. */ -export type BudgetsCreateOrUpdateResponse = Budget & { +export type ReservationTransactionsListNextResponse = ReservationTransactionsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Budget; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ReservationTransactionsListResult; + }; }; /** - * Contains response data for the getByResourceGroupName operation. + * Contains response data for the listByBillingProfileNext operation. */ -export type BudgetsGetByResourceGroupNameResponse = Budget & { +export type ReservationTransactionsListByBillingProfileNextResponse = ModernReservationTransactionsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Budget; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ModernReservationTransactionsListResult; + }; }; /** - * Contains response data for the createOrUpdateByResourceGroupName operation. + * Contains response data for the get operation. */ -export type BudgetsCreateOrUpdateByResourceGroupNameResponse = Budget & { +export type PriceSheetGetResponse = PriceSheetResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: Budget; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: PriceSheetResult; + }; }; /** - * Contains response data for the listNext operation. + * Contains response data for the getByBillingPeriod operation. */ -export type BudgetsListNextResponse = BudgetsListResult & { +export type PriceSheetGetByBillingPeriodResponse = PriceSheetResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: BudgetsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: PriceSheetResult; + }; }; /** - * Contains response data for the listByResourceGroupNameNext operation. + * Contains response data for the list operation. */ -export type BudgetsListByResourceGroupNameNextResponse = BudgetsListResult & { +export type ForecastsListResponse = ForecastsListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: BudgetsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ForecastsListResult; + }; }; /** - * Contains response data for the get operation. + * Contains response data for the list operation. */ -export type PriceSheetGetResponse = PriceSheetResult & { +export type OperationsListResponse = OperationListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: PriceSheetResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: OperationListResult; + }; }; /** - * Contains response data for the getByBillingPeriod operation. + * Contains response data for the listNext operation. */ -export type PriceSheetGetByBillingPeriodResponse = PriceSheetResult & { +export type OperationsListNextResponse = OperationListResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: PriceSheetResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: OperationListResult; + }; }; /** - * Contains response data for the get operation. + * Contains response data for the getByManagementGroup operation. */ -export type TagsGetResponse = TagsResult & { +export type AggregatedCostGetByManagementGroupResponse = ManagementGroupAggregatedCostResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: TagsResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ManagementGroupAggregatedCostResult; + }; }; /** - * Contains response data for the list operation. + * Contains response data for the getForBillingPeriodByManagementGroup operation. */ -export type ForecastsListResponse = ForecastsListResult & { +export type AggregatedCostGetForBillingPeriodByManagementGroupResponse = ManagementGroupAggregatedCostResult & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ForecastsListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ManagementGroupAggregatedCostResult; + }; }; /** - * Contains response data for the list operation. + * Contains response data for the listByBillingProfile operation. */ -export type OperationsListResponse = OperationListResult & { +export type EventsListByBillingProfileResponse = Events & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Events; + }; }; /** - * Contains response data for the listNext operation. + * Contains response data for the listByBillingAccount operation. */ -export type OperationsListNextResponse = OperationListResult & { +export type EventsListByBillingAccountResponse = Events & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Events; + }; }; /** - * Contains response data for the getByManagementGroup operation. + * Contains response data for the listByBillingProfileNext operation. */ -export type AggregatedCostGetByManagementGroupResponse = ManagementGroupAggregatedCostResult & { +export type EventsListByBillingProfileNextResponse = Events & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagementGroupAggregatedCostResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Events; + }; }; /** - * Contains response data for the getForBillingPeriodByManagementGroup operation. + * Contains response data for the listByBillingAccountNext operation. */ -export type AggregatedCostGetForBillingPeriodByManagementGroupResponse = ManagementGroupAggregatedCostResult & { +export type EventsListByBillingAccountNextResponse = Events & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ManagementGroupAggregatedCostResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Events; + }; }; /** - * Contains response data for the listByEnrollmentAccount operation. + * Contains response data for the listByBillingProfile operation. */ -export type ChargesListByEnrollmentAccountResponse = ChargesListResult & { +export type LotsListByBillingProfileResponse = Lots & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ChargesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Lots; + }; }; /** - * Contains response data for the listForBillingPeriodByEnrollmentAccount operation. + * Contains response data for the listByBillingAccount operation. */ -export type ChargesListForBillingPeriodByEnrollmentAccountResponse = ChargeSummary & { +export type LotsListByBillingAccountResponse = Lots & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ChargeSummary; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Lots; + }; }; /** - * Contains response data for the listByDepartment operation. + * Contains response data for the listByBillingProfileNext operation. */ -export type ChargesListByDepartmentResponse = ChargesListResult & { +export type LotsListByBillingProfileNextResponse = Lots & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ChargesListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Lots; + }; }; /** - * Contains response data for the listForBillingPeriodByDepartment operation. + * Contains response data for the listByBillingAccountNext operation. */ -export type ChargesListForBillingPeriodByDepartmentResponse = ChargeSummary & { +export type LotsListByBillingAccountNextResponse = Lots & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: ChargeSummary; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Lots; + }; }; /** * Contains response data for the get operation. */ -export type TenantsGetResponse = TenantListResult & { +export type CreditsGetResponse = CreditSummary & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - - /** - * The response body as parsed JSON or XML - */ - parsedBody: TenantListResult; - }; + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: CreditSummary; + }; }; diff --git a/sdk/consumption/arm-consumption/src/models/lotsOperationsMappers.ts b/sdk/consumption/arm-consumption/src/models/lotsOperationsMappers.ts new file mode 100644 index 000000000000..dda6a2c4dd7a --- /dev/null +++ b/sdk/consumption/arm-consumption/src/models/lotsOperationsMappers.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Amount, + AmountWithExchangeRate, + Balance, + BalancePropertiesAdjustmentDetailsItem, + BalancePropertiesNewPurchasesDetailsItem, + BaseResource, + Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, + BudgetTimePeriod, + ChargeSummary, + CreditBalanceSummary, + CreditSummary, + CurrentSpend, + ErrorDetails, + ErrorResponse, + EventSummary, + Forecast, + ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + Lots, + LotSummary, + ManagementGroupAggregatedCostResult, + Marketplace, + MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, + Notification, + PriceSheetProperties, + PriceSheetResult, + ProxyResource, + Reseller, + ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, + ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, + Resource, + Tag, + TagsResult, + UsageDetail +} from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/mappers.ts b/sdk/consumption/arm-consumption/src/models/mappers.ts index 517f8a782f58..2f01329a8546 100644 --- a/sdk/consumption/arm-consumption/src/models/mappers.ts +++ b/sdk/consumption/arm-consumption/src/models/mappers.ts @@ -112,6 +112,13 @@ export const Resource: msRest.CompositeMapper = { name: "String" } }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + }, tags: { readOnly: true, serializedName: "tags", @@ -132,118 +139,124 @@ export const UsageDetail: msRest.CompositeMapper = { serializedName: "UsageDetail", type: { name: "Composite", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind" + }, + uberParent: "UsageDetail", className: "UsageDetail", modelProperties: { ...Resource.type.modelProperties, - billingPeriodId: { - readOnly: true, - serializedName: "properties.billingPeriodId", + kind: { + required: true, + serializedName: "kind", type: { name: "String" } - }, - invoiceId: { + } + } + } +}; + +export const MeterDetailsResponse: msRest.CompositeMapper = { + serializedName: "MeterDetailsResponse", + type: { + name: "Composite", + className: "MeterDetailsResponse", + modelProperties: { + meterName: { readOnly: true, - serializedName: "properties.invoiceId", + serializedName: "meterName", type: { name: "String" } }, - usageStart: { - readOnly: true, - serializedName: "properties.usageStart", - type: { - name: "DateTime" - } - }, - usageEnd: { - readOnly: true, - serializedName: "properties.usageEnd", - type: { - name: "DateTime" - } - }, - instanceName: { + meterCategory: { readOnly: true, - serializedName: "properties.instanceName", + serializedName: "meterCategory", type: { name: "String" } }, - instanceId: { + meterSubCategory: { readOnly: true, - serializedName: "properties.instanceId", + serializedName: "meterSubCategory", type: { name: "String" } }, - instanceLocation: { + unitOfMeasure: { readOnly: true, - serializedName: "properties.instanceLocation", + serializedName: "unitOfMeasure", type: { name: "String" } }, - currency: { + serviceFamily: { readOnly: true, - serializedName: "properties.currency", + serializedName: "serviceFamily", type: { name: "String" } - }, - usageQuantity: { - readOnly: true, - serializedName: "properties.usageQuantity", - type: { - name: "Number" - } - }, - billableQuantity: { + } + } + } +}; + +export const LegacyUsageDetail: msRest.CompositeMapper = { + serializedName: "legacy", + type: { + name: "Composite", + polymorphicDiscriminator: UsageDetail.type.polymorphicDiscriminator, + uberParent: "UsageDetail", + className: "LegacyUsageDetail", + modelProperties: { + ...UsageDetail.type.modelProperties, + billingAccountId: { readOnly: true, - serializedName: "properties.billableQuantity", + serializedName: "properties.billingAccountId", type: { - name: "Number" + name: "String" } }, - pretaxCost: { + billingAccountName: { readOnly: true, - serializedName: "properties.pretaxCost", + serializedName: "properties.billingAccountName", type: { - name: "Number" + name: "String" } }, - isEstimated: { + billingPeriodStartDate: { readOnly: true, - serializedName: "properties.isEstimated", + serializedName: "properties.billingPeriodStartDate", type: { - name: "Boolean" + name: "DateTime" } }, - meterId: { + billingPeriodEndDate: { readOnly: true, - serializedName: "properties.meterId", + serializedName: "properties.billingPeriodEndDate", type: { - name: "Uuid" + name: "DateTime" } }, - meterDetails: { + billingProfileId: { readOnly: true, - serializedName: "properties.meterDetails", + serializedName: "properties.billingProfileId", type: { - name: "Composite", - className: "MeterDetails" + name: "String" } }, - subscriptionGuid: { + billingProfileName: { readOnly: true, - serializedName: "properties.subscriptionGuid", + serializedName: "properties.billingProfileName", type: { - name: "Uuid" + name: "String" } }, - subscriptionName: { + accountOwnerId: { readOnly: true, - serializedName: "properties.subscriptionName", + serializedName: "properties.accountOwnerId", type: { name: "String" } @@ -255,30 +268,30 @@ export const UsageDetail: msRest.CompositeMapper = { name: "String" } }, - departmentName: { + subscriptionId: { readOnly: true, - serializedName: "properties.departmentName", + serializedName: "properties.subscriptionId", type: { name: "String" } }, - product: { + subscriptionName: { readOnly: true, - serializedName: "properties.product", + serializedName: "properties.subscriptionName", type: { name: "String" } }, - consumedService: { + date: { readOnly: true, - serializedName: "properties.consumedService", + serializedName: "properties.date", type: { - name: "String" + name: "DateTime" } }, - costCenter: { + product: { readOnly: true, - serializedName: "properties.costCenter", + serializedName: "properties.product", type: { name: "String" } @@ -290,975 +303,3023 @@ export const UsageDetail: msRest.CompositeMapper = { name: "String" } }, - resourceGuid: { + meterId: { readOnly: true, - serializedName: "properties.resourceGuid", + serializedName: "properties.meterId", type: { - name: "String" + name: "Uuid" } }, - offerId: { + meterDetails: { readOnly: true, - serializedName: "properties.offerId", + serializedName: "properties.meterDetails", type: { - name: "String" + name: "Composite", + className: "MeterDetailsResponse" } }, - chargesBilledSeparately: { + quantity: { readOnly: true, - serializedName: "properties.chargesBilledSeparately", + serializedName: "properties.quantity", type: { - name: "Boolean" + name: "Number" } }, - location: { + effectivePrice: { readOnly: true, - serializedName: "properties.location", + serializedName: "properties.effectivePrice", type: { - name: "String" + name: "Number" } }, - additionalProperties: { - readOnly: true, - serializedName: "properties.additionalProperties", - type: { - name: "String" - } - } - } - } -}; - -export const Marketplace: msRest.CompositeMapper = { - serializedName: "Marketplace", - type: { - name: "Composite", - className: "Marketplace", - modelProperties: { - ...Resource.type.modelProperties, - billingPeriodId: { + cost: { readOnly: true, - serializedName: "properties.billingPeriodId", + serializedName: "properties.cost", type: { - name: "String" + name: "Number" } }, - usageStart: { + unitPrice: { readOnly: true, - serializedName: "properties.usageStart", + serializedName: "properties.unitPrice", type: { - name: "DateTime" + name: "Number" } }, - usageEnd: { + billingCurrency: { readOnly: true, - serializedName: "properties.usageEnd", + serializedName: "properties.billingCurrency", type: { - name: "DateTime" + name: "String" } }, - resourceRate: { + resourceLocation: { readOnly: true, - serializedName: "properties.resourceRate", + serializedName: "properties.resourceLocation", type: { - name: "Number" + name: "String" } }, - offerName: { + consumedService: { readOnly: true, - serializedName: "properties.offerName", + serializedName: "properties.consumedService", type: { name: "String" } }, - resourceGroup: { + resourceId: { readOnly: true, - serializedName: "properties.resourceGroup", + serializedName: "properties.resourceId", type: { name: "String" } }, - orderNumber: { + resourceName: { readOnly: true, - serializedName: "properties.orderNumber", + serializedName: "properties.resourceName", type: { name: "String" } }, - instanceName: { + serviceInfo1: { readOnly: true, - serializedName: "properties.instanceName", + serializedName: "properties.serviceInfo1", type: { name: "String" } }, - instanceId: { + serviceInfo2: { readOnly: true, - serializedName: "properties.instanceId", + serializedName: "properties.serviceInfo2", type: { name: "String" } }, - currency: { + additionalInfo: { readOnly: true, - serializedName: "properties.currency", + serializedName: "properties.additionalInfo", type: { name: "String" } }, - consumedQuantity: { + invoiceSection: { readOnly: true, - serializedName: "properties.consumedQuantity", + serializedName: "properties.invoiceSection", type: { - name: "Number" + name: "String" } }, - unitOfMeasure: { + costCenter: { readOnly: true, - serializedName: "properties.unitOfMeasure", + serializedName: "properties.costCenter", type: { name: "String" } }, - pretaxCost: { + resourceGroup: { readOnly: true, - serializedName: "properties.pretaxCost", + serializedName: "properties.resourceGroup", type: { - name: "Number" + name: "String" } }, - isEstimated: { + reservationId: { readOnly: true, - serializedName: "properties.isEstimated", + serializedName: "properties.reservationId", type: { - name: "Boolean" + name: "String" } }, - meterId: { + reservationName: { readOnly: true, - serializedName: "properties.meterId", + serializedName: "properties.reservationName", type: { - name: "Uuid" + name: "String" } }, - subscriptionGuid: { + productOrderId: { readOnly: true, - serializedName: "properties.subscriptionGuid", + serializedName: "properties.productOrderId", type: { - name: "Uuid" + name: "String" } }, - subscriptionName: { + productOrderName: { readOnly: true, - serializedName: "properties.subscriptionName", + serializedName: "properties.productOrderName", type: { name: "String" } }, - accountName: { + offerId: { readOnly: true, - serializedName: "properties.accountName", + serializedName: "properties.offerId", type: { name: "String" } }, - departmentName: { + isAzureCreditEligible: { readOnly: true, - serializedName: "properties.departmentName", + serializedName: "properties.isAzureCreditEligible", type: { - name: "String" + name: "Boolean" } }, - consumedService: { + term: { readOnly: true, - serializedName: "properties.consumedService", + serializedName: "properties.term", type: { name: "String" } }, - costCenter: { + publisherName: { readOnly: true, - serializedName: "properties.costCenter", + serializedName: "properties.publisherName", type: { name: "String" } }, - additionalProperties: { + publisherType: { readOnly: true, - serializedName: "properties.additionalProperties", + serializedName: "properties.publisherType", type: { name: "String" } }, - publisherName: { + planName: { readOnly: true, - serializedName: "properties.publisherName", + serializedName: "properties.planName", type: { name: "String" } }, - planName: { + chargeType: { readOnly: true, - serializedName: "properties.planName", + serializedName: "properties.chargeType", type: { name: "String" } }, - isRecurringCharge: { + frequency: { readOnly: true, - serializedName: "properties.isRecurringCharge", + serializedName: "properties.frequency", type: { - name: "Boolean" + name: "String" } } } } }; -export const Tenant: msRest.CompositeMapper = { - serializedName: "Tenant", +export const ModernUsageDetail: msRest.CompositeMapper = { + serializedName: "modern", type: { name: "Composite", - className: "Tenant", + polymorphicDiscriminator: UsageDetail.type.polymorphicDiscriminator, + uberParent: "UsageDetail", + className: "ModernUsageDetail", modelProperties: { - ...Resource.type.modelProperties, - billingProfileName: { + ...UsageDetail.type.modelProperties, + billingAccountId: { readOnly: true, - serializedName: "properties.billingProfileName", + serializedName: "properties.billingAccountId", type: { name: "String" } }, - billingAccountId: { + billingAccountName: { readOnly: true, - serializedName: "properties.billingAccountId", + serializedName: "properties.billingAccountName", type: { name: "String" } }, - tenantId: { + billingPeriodStartDate: { readOnly: true, - serializedName: "properties.tenantId", + serializedName: "properties.billingPeriodStartDate", type: { - name: "String" + name: "DateTime" } }, - billingAccountName: { + billingPeriodEndDate: { readOnly: true, - serializedName: "properties.billingAccountName", + serializedName: "properties.billingPeriodEndDate", + type: { + name: "DateTime" + } + }, + billingProfileId: { + readOnly: true, + serializedName: "properties.billingProfileId", type: { name: "String" } - } - } - } -}; - -export const TenantListResult: msRest.CompositeMapper = { - serializedName: "TenantListResult", - type: { - name: "Composite", - className: "TenantListResult", - modelProperties: { - value: { + }, + billingProfileName: { readOnly: true, - serializedName: "value", + serializedName: "properties.billingProfileName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Tenant" - } - } + name: "String" } }, - nextLink: { + subscriptionGuid: { readOnly: true, - serializedName: "nextLink", + serializedName: "properties.subscriptionGuid", type: { name: "String" } - } - } - } -}; - -export const BalancePropertiesNewPurchasesDetailsItem: msRest.CompositeMapper = { - serializedName: "BalanceProperties_newPurchasesDetailsItem", - type: { - name: "Composite", - className: "BalancePropertiesNewPurchasesDetailsItem", - modelProperties: { - name: { + }, + subscriptionName: { readOnly: true, - serializedName: "name", + serializedName: "properties.subscriptionName", type: { name: "String" } }, - value: { + date: { readOnly: true, - serializedName: "value", + serializedName: "properties.date", type: { - name: "Number" + name: "DateTime" } - } - } - } -}; - -export const BalancePropertiesAdjustmentDetailsItem: msRest.CompositeMapper = { - serializedName: "BalanceProperties_adjustmentDetailsItem", - type: { - name: "Composite", - className: "BalancePropertiesAdjustmentDetailsItem", - modelProperties: { - name: { + }, + product: { readOnly: true, - serializedName: "name", + serializedName: "properties.product", type: { name: "String" } }, - value: { + meterId: { readOnly: true, - serializedName: "value", + serializedName: "properties.meterId", type: { - name: "Number" + name: "Uuid" } - } - } - } -}; - -export const Balance: msRest.CompositeMapper = { - serializedName: "Balance", - type: { - name: "Composite", - className: "Balance", - modelProperties: { - ...Resource.type.modelProperties, - currency: { + }, + meterName: { readOnly: true, - serializedName: "properties.currency", + serializedName: "properties.meterName", type: { name: "String" } }, - beginningBalance: { + meterRegion: { readOnly: true, - serializedName: "properties.beginningBalance", + serializedName: "properties.meterRegion", type: { - name: "Number" + name: "String" } }, - endingBalance: { + meterCategory: { readOnly: true, - serializedName: "properties.endingBalance", + serializedName: "properties.meterCategory", type: { - name: "Number" + name: "String" } }, - newPurchases: { + meterSubCategory: { readOnly: true, - serializedName: "properties.newPurchases", + serializedName: "properties.meterSubCategory", type: { - name: "Number" + name: "String" } }, - adjustments: { + serviceFamily: { readOnly: true, - serializedName: "properties.adjustments", + serializedName: "properties.serviceFamily", type: { - name: "Number" + name: "String" } }, - utilized: { + quantity: { readOnly: true, - serializedName: "properties.utilized", + serializedName: "properties.quantity", type: { name: "Number" } }, - serviceOverage: { + unitOfMeasure: { readOnly: true, - serializedName: "properties.serviceOverage", + serializedName: "properties.unitOfMeasure", type: { - name: "Number" + name: "String" } }, - chargesBilledSeparately: { + instanceName: { readOnly: true, - serializedName: "properties.chargesBilledSeparately", + serializedName: "properties.instanceName", type: { - name: "Number" + name: "String" } }, - totalOverage: { + costInUSD: { readOnly: true, - serializedName: "properties.totalOverage", + serializedName: "properties.costInUSD", type: { name: "Number" } }, - totalUsage: { + unitPrice: { readOnly: true, - serializedName: "properties.totalUsage", + serializedName: "properties.unitPrice", type: { name: "Number" } }, - azureMarketplaceServiceCharges: { + billingCurrencyCode: { readOnly: true, - serializedName: "properties.azureMarketplaceServiceCharges", + serializedName: "properties.billingCurrencyCode", type: { - name: "Number" + name: "String" } }, - billingFrequency: { - serializedName: "properties.billingFrequency", + resourceLocation: { + readOnly: true, + serializedName: "properties.resourceLocation", type: { name: "String" } }, - priceHidden: { + consumedService: { readOnly: true, - serializedName: "properties.priceHidden", + serializedName: "properties.consumedService", type: { - name: "Boolean" + name: "String" } }, - newPurchasesDetails: { + serviceInfo1: { readOnly: true, - serializedName: "properties.newPurchasesDetails", + serializedName: "properties.serviceInfo1", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BalancePropertiesNewPurchasesDetailsItem" - } - } + name: "String" } }, - adjustmentDetails: { + serviceInfo2: { readOnly: true, - serializedName: "properties.adjustmentDetails", + serializedName: "properties.serviceInfo2", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BalancePropertiesAdjustmentDetailsItem" - } - } + name: "String" } - } - } - } -}; - -export const ReservationSummary: msRest.CompositeMapper = { - serializedName: "ReservationSummary", - type: { - name: "Composite", - className: "ReservationSummary", - modelProperties: { - ...Resource.type.modelProperties, - reservationOrderId: { + }, + additionalInfo: { readOnly: true, - serializedName: "properties.reservationOrderId", + serializedName: "properties.additionalInfo", type: { name: "String" } }, - reservationId: { + invoiceSectionId: { readOnly: true, - serializedName: "properties.reservationId", + serializedName: "properties.invoiceSectionId", type: { name: "String" } }, - skuName: { + invoiceSectionName: { readOnly: true, - serializedName: "properties.skuName", + serializedName: "properties.invoiceSectionName", type: { name: "String" } }, - reservedHours: { + costCenter: { readOnly: true, - serializedName: "properties.reservedHours", + serializedName: "properties.costCenter", type: { - name: "Number" + name: "String" } }, - usageDate: { + resourceGroup: { readOnly: true, - serializedName: "properties.usageDate", + serializedName: "properties.resourceGroup", type: { - name: "DateTime" + name: "String" } }, - usedHours: { + reservationId: { readOnly: true, - serializedName: "properties.usedHours", + serializedName: "properties.reservationId", type: { - name: "Number" + name: "String" } }, - minUtilizationPercentage: { + reservationName: { readOnly: true, - serializedName: "properties.minUtilizationPercentage", + serializedName: "properties.reservationName", type: { - name: "Number" + name: "String" } }, - avgUtilizationPercentage: { + productOrderId: { readOnly: true, - serializedName: "properties.avgUtilizationPercentage", + serializedName: "properties.productOrderId", type: { - name: "Number" + name: "String" } }, - maxUtilizationPercentage: { + productOrderName: { readOnly: true, - serializedName: "properties.maxUtilizationPercentage", + serializedName: "properties.productOrderName", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const ReservationDetail: msRest.CompositeMapper = { - serializedName: "ReservationDetail", - type: { - name: "Composite", - className: "ReservationDetail", - modelProperties: { - ...Resource.type.modelProperties, - reservationOrderId: { + }, + isAzureCreditEligible: { readOnly: true, - serializedName: "properties.reservationOrderId", + serializedName: "properties.isAzureCreditEligible", type: { - name: "String" + name: "Boolean" } }, - reservationId: { + term: { readOnly: true, - serializedName: "properties.reservationId", + serializedName: "properties.term", type: { name: "String" } }, - skuName: { + publisherName: { readOnly: true, - serializedName: "properties.skuName", + serializedName: "properties.publisherName", type: { name: "String" } }, - reservedHours: { + publisherType: { readOnly: true, - serializedName: "properties.reservedHours", + serializedName: "properties.publisherType", type: { - name: "Number" + name: "String" } }, - usageDate: { + chargeType: { readOnly: true, - serializedName: "properties.usageDate", + serializedName: "properties.chargeType", type: { - name: "DateTime" + name: "String" } }, - usedHours: { + frequency: { readOnly: true, - serializedName: "properties.usedHours", + serializedName: "properties.frequency", type: { - name: "Number" + name: "String" } }, - instanceId: { + costInBillingCurrency: { readOnly: true, - serializedName: "properties.instanceId", + serializedName: "properties.costInBillingCurrency", type: { - name: "String" + name: "Number" } }, - totalReservedQuantity: { + costInPricingCurrency: { readOnly: true, - serializedName: "properties.totalReservedQuantity", + serializedName: "properties.costInPricingCurrency", type: { name: "Number" } - } - } - } -}; - -export const ReservationRecommendation: msRest.CompositeMapper = { - serializedName: "ReservationRecommendation", - type: { - name: "Composite", - className: "ReservationRecommendation", - modelProperties: { - id: { + }, + exchangeRate: { readOnly: true, - serializedName: "id", + serializedName: "properties.exchangeRate", type: { name: "String" } }, - name: { + exchangeRateDate: { readOnly: true, - serializedName: "name", + serializedName: "properties.exchangeRateDate", type: { - name: "String" + name: "DateTime" } }, - type: { + invoiceId: { readOnly: true, - serializedName: "type", + serializedName: "properties.invoiceId", type: { name: "String" } }, - tags: { + previousInvoiceId: { readOnly: true, - serializedName: "tags", + serializedName: "properties.previousInvoiceId", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - location: { + pricingCurrencyCode: { readOnly: true, - serializedName: "location", + serializedName: "properties.pricingCurrencyCode", type: { name: "String" } }, - sku: { + productIdentifier: { readOnly: true, - serializedName: "sku", + serializedName: "properties.productIdentifier", type: { name: "String" } }, - lookBackPeriod: { + resourceLocationNormalized: { readOnly: true, - serializedName: "properties.lookBackPeriod", + serializedName: "properties.resourceLocationNormalized", type: { name: "String" } }, - meterId: { + servicePeriodStartDate: { readOnly: true, - serializedName: "properties.meterId", + serializedName: "properties.servicePeriodStartDate", type: { - name: "Uuid" + name: "DateTime" } }, - term: { + servicePeriodEndDate: { readOnly: true, - serializedName: "properties.term", + serializedName: "properties.servicePeriodEndDate", type: { - name: "String" + name: "DateTime" } }, - costWithNoReservedInstances: { + customerTenantId: { readOnly: true, - serializedName: "properties.costWithNoReservedInstances", + serializedName: "properties.customerTenantId", type: { - name: "Number" + name: "String" } }, - recommendedQuantity: { + customerName: { readOnly: true, - serializedName: "properties.recommendedQuantity", + serializedName: "properties.customerName", type: { - name: "Number" + name: "String" } }, - totalCostWithReservedInstances: { + partnerTenantId: { readOnly: true, - serializedName: "properties.totalCostWithReservedInstances", + serializedName: "properties.partnerTenantId", type: { - name: "Number" + name: "String" } }, - netSavings: { + partnerName: { readOnly: true, - serializedName: "properties.netSavings", + serializedName: "properties.partnerName", type: { - name: "Number" + name: "String" } }, - firstUsageDate: { + resellerMpnId: { readOnly: true, - serializedName: "properties.firstUsageDate", + serializedName: "properties.resellerMpnId", type: { - name: "DateTime" + name: "String" } }, - scope: { + resellerName: { readOnly: true, - serializedName: "properties.scope", + serializedName: "properties.resellerName", type: { name: "String" } - } - } - } -}; - -export const Tag: msRest.CompositeMapper = { - serializedName: "Tag", - type: { - name: "Composite", - className: "Tag", - modelProperties: { - key: { - serializedName: "key", + }, + publisherId: { + readOnly: true, + serializedName: "properties.publisherId", type: { name: "String" } - } - } - } -}; - -export const ProxyResource: msRest.CompositeMapper = { - serializedName: "ProxyResource", - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - id: { + }, + marketPrice: { readOnly: true, - serializedName: "id", + serializedName: "properties.marketPrice", type: { - name: "String" + name: "Number" } }, - name: { + exchangeRatePricingToBilling: { readOnly: true, - serializedName: "name", + serializedName: "properties.exchangeRatePricingToBilling", type: { - name: "String" + name: "Number" } }, - type: { + paygCostInBillingCurrency: { readOnly: true, - serializedName: "type", + serializedName: "properties.paygCostInBillingCurrency", type: { - name: "String" + name: "Number" } }, - eTag: { - serializedName: "eTag", + paygCostInUSD: { + readOnly: true, + serializedName: "properties.paygCostInUSD", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const TagsResult: msRest.CompositeMapper = { - serializedName: "TagsResult", - type: { - name: "Composite", - className: "TagsResult", - modelProperties: { - ...ProxyResource.type.modelProperties, - tags: { - serializedName: "properties.tags", + }, + partnerEarnedCreditRate: { + readOnly: true, + serializedName: "properties.partnerEarnedCreditRate", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Tag" - } - } + name: "Number" } - } - } - } -}; - -export const BudgetTimePeriod: msRest.CompositeMapper = { - serializedName: "BudgetTimePeriod", - type: { - name: "Composite", - className: "BudgetTimePeriod", - modelProperties: { - startDate: { - required: true, - serializedName: "startDate", + }, + partnerEarnedCreditApplied: { + readOnly: true, + serializedName: "properties.partnerEarnedCreditApplied", type: { - name: "DateTime" + name: "String" } }, - endDate: { - serializedName: "endDate", + payGPrice: { + readOnly: true, + serializedName: "properties.payGPrice", type: { - name: "DateTime" + name: "Number" } } } } }; -export const Filters: msRest.CompositeMapper = { - serializedName: "Filters", +export const Marketplace: msRest.CompositeMapper = { + serializedName: "Marketplace", type: { name: "Composite", - className: "Filters", + className: "Marketplace", modelProperties: { - resourceGroups: { - serializedName: "resourceGroups", - constraints: { - MaxItems: 10, - MinItems: 0 - }, + ...Resource.type.modelProperties, + billingPeriodId: { + readOnly: true, + serializedName: "properties.billingPeriodId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - resources: { - serializedName: "resources", - constraints: { - MaxItems: 10, - MinItems: 0 - }, + usageStart: { + readOnly: true, + serializedName: "properties.usageStart", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "DateTime" } }, - meters: { - serializedName: "meters", - constraints: { - MaxItems: 10, - MinItems: 0 - }, + usageEnd: { + readOnly: true, + serializedName: "properties.usageEnd", type: { - name: "Sequence", - element: { - type: { - name: "Uuid" - } - } + name: "DateTime" } }, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } - } - } - } - } -}; - -export const CurrentSpend: msRest.CompositeMapper = { - serializedName: "CurrentSpend", - type: { - name: "Composite", - className: "CurrentSpend", - modelProperties: { - amount: { + resourceRate: { readOnly: true, - serializedName: "amount", + serializedName: "properties.resourceRate", type: { name: "Number" } }, - unit: { + offerName: { readOnly: true, - serializedName: "unit", + serializedName: "properties.offerName", type: { name: "String" } - } - } - } -}; - -export const Notification: msRest.CompositeMapper = { - serializedName: "Notification", - type: { - name: "Composite", - className: "Notification", - modelProperties: { - enabled: { - required: true, - serializedName: "enabled", + }, + resourceGroup: { + readOnly: true, + serializedName: "properties.resourceGroup", type: { - name: "Boolean" + name: "String" } }, - operator: { - required: true, - serializedName: "operator", + additionalInfo: { + readOnly: true, + serializedName: "properties.additionalInfo", type: { name: "String" } }, - threshold: { - required: true, - serializedName: "threshold", + orderNumber: { + readOnly: true, + serializedName: "properties.orderNumber", type: { - name: "Number" + name: "String" } }, - contactEmails: { - required: true, - serializedName: "contactEmails", - constraints: { - MaxItems: 50, - MinItems: 1 - }, + instanceName: { + readOnly: true, + serializedName: "properties.instanceName", type: { - name: "Sequence", + name: "String" + } + }, + instanceId: { + readOnly: true, + serializedName: "properties.instanceId", + type: { + name: "String" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + consumedQuantity: { + readOnly: true, + serializedName: "properties.consumedQuantity", + type: { + name: "Number" + } + }, + unitOfMeasure: { + readOnly: true, + serializedName: "properties.unitOfMeasure", + type: { + name: "String" + } + }, + pretaxCost: { + readOnly: true, + serializedName: "properties.pretaxCost", + type: { + name: "Number" + } + }, + isEstimated: { + readOnly: true, + serializedName: "properties.isEstimated", + type: { + name: "Boolean" + } + }, + meterId: { + readOnly: true, + serializedName: "properties.meterId", + type: { + name: "Uuid" + } + }, + subscriptionGuid: { + readOnly: true, + serializedName: "properties.subscriptionGuid", + type: { + name: "Uuid" + } + }, + subscriptionName: { + readOnly: true, + serializedName: "properties.subscriptionName", + type: { + name: "String" + } + }, + accountName: { + readOnly: true, + serializedName: "properties.accountName", + type: { + name: "String" + } + }, + departmentName: { + readOnly: true, + serializedName: "properties.departmentName", + type: { + name: "String" + } + }, + consumedService: { + readOnly: true, + serializedName: "properties.consumedService", + type: { + name: "String" + } + }, + costCenter: { + readOnly: true, + serializedName: "properties.costCenter", + type: { + name: "String" + } + }, + additionalProperties: { + readOnly: true, + serializedName: "properties.additionalProperties", + type: { + name: "String" + } + }, + publisherName: { + readOnly: true, + serializedName: "properties.publisherName", + type: { + name: "String" + } + }, + planName: { + readOnly: true, + serializedName: "properties.planName", + type: { + name: "String" + } + }, + isRecurringCharge: { + readOnly: true, + serializedName: "properties.isRecurringCharge", + type: { + name: "Boolean" + } + } + } + } +}; + +export const BalancePropertiesNewPurchasesDetailsItem: msRest.CompositeMapper = { + serializedName: "BalanceProperties_newPurchasesDetailsItem", + type: { + name: "Composite", + className: "BalancePropertiesNewPurchasesDetailsItem", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Number" + } + } + } + } +}; + +export const BalancePropertiesAdjustmentDetailsItem: msRest.CompositeMapper = { + serializedName: "BalanceProperties_adjustmentDetailsItem", + type: { + name: "Composite", + className: "BalancePropertiesAdjustmentDetailsItem", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Number" + } + } + } + } +}; + +export const Balance: msRest.CompositeMapper = { + serializedName: "Balance", + type: { + name: "Composite", + className: "Balance", + modelProperties: { + ...Resource.type.modelProperties, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + beginningBalance: { + readOnly: true, + serializedName: "properties.beginningBalance", + type: { + name: "Number" + } + }, + endingBalance: { + readOnly: true, + serializedName: "properties.endingBalance", + type: { + name: "Number" + } + }, + newPurchases: { + readOnly: true, + serializedName: "properties.newPurchases", + type: { + name: "Number" + } + }, + adjustments: { + readOnly: true, + serializedName: "properties.adjustments", + type: { + name: "Number" + } + }, + utilized: { + readOnly: true, + serializedName: "properties.utilized", + type: { + name: "Number" + } + }, + serviceOverage: { + readOnly: true, + serializedName: "properties.serviceOverage", + type: { + name: "Number" + } + }, + chargesBilledSeparately: { + readOnly: true, + serializedName: "properties.chargesBilledSeparately", + type: { + name: "Number" + } + }, + totalOverage: { + readOnly: true, + serializedName: "properties.totalOverage", + type: { + name: "Number" + } + }, + totalUsage: { + readOnly: true, + serializedName: "properties.totalUsage", + type: { + name: "Number" + } + }, + azureMarketplaceServiceCharges: { + readOnly: true, + serializedName: "properties.azureMarketplaceServiceCharges", + type: { + name: "Number" + } + }, + billingFrequency: { + serializedName: "properties.billingFrequency", + type: { + name: "String" + } + }, + priceHidden: { + readOnly: true, + serializedName: "properties.priceHidden", + type: { + name: "Boolean" + } + }, + newPurchasesDetails: { + readOnly: true, + serializedName: "properties.newPurchasesDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BalancePropertiesNewPurchasesDetailsItem" + } + } + } + }, + adjustmentDetails: { + readOnly: true, + serializedName: "properties.adjustmentDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BalancePropertiesAdjustmentDetailsItem" + } + } + } + } + } + } +}; + +export const ReservationSummary: msRest.CompositeMapper = { + serializedName: "ReservationSummary", + type: { + name: "Composite", + className: "ReservationSummary", + modelProperties: { + ...Resource.type.modelProperties, + reservationOrderId: { + readOnly: true, + serializedName: "properties.reservationOrderId", + type: { + name: "String" + } + }, + reservationId: { + readOnly: true, + serializedName: "properties.reservationId", + type: { + name: "String" + } + }, + skuName: { + readOnly: true, + serializedName: "properties.skuName", + type: { + name: "String" + } + }, + reservedHours: { + readOnly: true, + serializedName: "properties.reservedHours", + type: { + name: "Number" + } + }, + usageDate: { + readOnly: true, + serializedName: "properties.usageDate", + type: { + name: "DateTime" + } + }, + usedHours: { + readOnly: true, + serializedName: "properties.usedHours", + type: { + name: "Number" + } + }, + minUtilizationPercentage: { + readOnly: true, + serializedName: "properties.minUtilizationPercentage", + type: { + name: "Number" + } + }, + avgUtilizationPercentage: { + readOnly: true, + serializedName: "properties.avgUtilizationPercentage", + type: { + name: "Number" + } + }, + maxUtilizationPercentage: { + readOnly: true, + serializedName: "properties.maxUtilizationPercentage", + type: { + name: "Number" + } + }, + kind: { + readOnly: true, + serializedName: "properties.kind", + type: { + name: "String" + } + }, + purchasedQuantity: { + readOnly: true, + serializedName: "properties.purchasedQuantity", + type: { + name: "Number" + } + }, + remainingQuantity: { + readOnly: true, + serializedName: "properties.remainingQuantity", + type: { + name: "Number" + } + }, + totalReservedQuantity: { + readOnly: true, + serializedName: "properties.totalReservedQuantity", + type: { + name: "Number" + } + }, + usedQuantity: { + readOnly: true, + serializedName: "properties.usedQuantity", + type: { + name: "Number" + } + }, + utilizedPercentage: { + readOnly: true, + serializedName: "properties.utilizedPercentage", + type: { + name: "Number" + } + } + } + } +}; + +export const ReservationDetail: msRest.CompositeMapper = { + serializedName: "ReservationDetail", + type: { + name: "Composite", + className: "ReservationDetail", + modelProperties: { + ...Resource.type.modelProperties, + reservationOrderId: { + readOnly: true, + serializedName: "properties.reservationOrderId", + type: { + name: "String" + } + }, + instanceFlexibilityRatio: { + readOnly: true, + serializedName: "properties.instanceFlexibilityRatio", + type: { + name: "String" + } + }, + instanceFlexibilityGroup: { + readOnly: true, + serializedName: "properties.instanceFlexibilityGroup", + type: { + name: "String" + } + }, + reservationId: { + readOnly: true, + serializedName: "properties.reservationId", + type: { + name: "String" + } + }, + skuName: { + readOnly: true, + serializedName: "properties.skuName", + type: { + name: "String" + } + }, + reservedHours: { + readOnly: true, + serializedName: "properties.reservedHours", + type: { + name: "Number" + } + }, + usageDate: { + readOnly: true, + serializedName: "properties.usageDate", + type: { + name: "DateTime" + } + }, + usedHours: { + readOnly: true, + serializedName: "properties.usedHours", + type: { + name: "Number" + } + }, + instanceId: { + readOnly: true, + serializedName: "properties.instanceId", + type: { + name: "String" + } + }, + totalReservedQuantity: { + readOnly: true, + serializedName: "properties.totalReservedQuantity", + type: { + name: "Number" + } + }, + kind: { + readOnly: true, + serializedName: "properties.kind", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationRecommendationDetailsResourceProperties: msRest.CompositeMapper = { + serializedName: "ReservationRecommendationDetailsResourceProperties", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsResourceProperties", + modelProperties: { + appliedScopes: { + readOnly: true, + serializedName: "appliedScopes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + onDemandRate: { + readOnly: true, + serializedName: "onDemandRate", + type: { + name: "Number" + } + }, + product: { + readOnly: true, + serializedName: "product", + type: { + name: "String" + } + }, + region: { + readOnly: true, + serializedName: "region", + type: { + name: "String" + } + }, + reservationRate: { + readOnly: true, + serializedName: "reservationRate", + type: { + name: "Number" + } + }, + resourceType: { + readOnly: true, + serializedName: "resourceType", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationRecommendationDetailsCalculatedSavingsProperties: msRest.CompositeMapper = { + serializedName: "ReservationRecommendationDetailsCalculatedSavingsProperties", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsCalculatedSavingsProperties", + modelProperties: { + onDemandCost: { + readOnly: true, + serializedName: "onDemandCost", + type: { + name: "Number" + } + }, + overageCost: { + readOnly: true, + serializedName: "overageCost", + type: { + name: "Number" + } + }, + quantity: { + readOnly: true, + serializedName: "quantity", + type: { + name: "Number" + } + }, + reservationCost: { + readOnly: true, + serializedName: "reservationCost", + type: { + name: "Number" + } + }, + totalReservationCost: { + readOnly: true, + serializedName: "totalReservationCost", + type: { + name: "Number" + } + }, + reservedUnitCount: { + serializedName: "reservedUnitCount", + type: { + name: "Number" + } + }, + savings: { + readOnly: true, + serializedName: "savings", + type: { + name: "Number" + } + } + } + } +}; + +export const ReservationRecommendationDetailsSavingsProperties: msRest.CompositeMapper = { + serializedName: "ReservationRecommendationDetailsSavingsProperties", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsSavingsProperties", + modelProperties: { + calculatedSavings: { + serializedName: "calculatedSavings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReservationRecommendationDetailsCalculatedSavingsProperties" + } + } + } + }, + lookBackPeriod: { + readOnly: true, + serializedName: "lookBackPeriod", + type: { + name: "Number" + } + }, + recommendedQuantity: { + readOnly: true, + serializedName: "recommendedQuantity", + type: { + name: "Number" + } + }, + reservationOrderTerm: { + readOnly: true, + serializedName: "reservationOrderTerm", + type: { + name: "String" + } + }, + savingsType: { + readOnly: true, + serializedName: "savingsType", + type: { + name: "String" + } + }, + unitOfMeasure: { + readOnly: true, + serializedName: "unitOfMeasure", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationRecommendationDetailsUsageProperties: msRest.CompositeMapper = { + serializedName: "ReservationRecommendationDetailsUsageProperties", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsUsageProperties", + modelProperties: { + firstConsumptionDate: { + readOnly: true, + serializedName: "firstConsumptionDate", + type: { + name: "String" + } + }, + lastConsumptionDate: { + readOnly: true, + serializedName: "lastConsumptionDate", + type: { + name: "String" + } + }, + lookBackUnitType: { + readOnly: true, + serializedName: "lookBackUnitType", + type: { + name: "String" + } + }, + usageData: { + readOnly: true, + serializedName: "usageData", + type: { + name: "Sequence", + element: { + type: { + name: "Number" + } + } + } + }, + usageGrain: { + readOnly: true, + serializedName: "usageGrain", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationRecommendationDetailsModel: msRest.CompositeMapper = { + serializedName: "ReservationRecommendationDetailsModel", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsModel", + modelProperties: { + ...Resource.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "String" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + resource: { + readOnly: true, + serializedName: "properties.resource", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsResourceProperties" + } + }, + resourceGroup: { + readOnly: true, + serializedName: "properties.resourceGroup", + type: { + name: "String" + } + }, + savings: { + readOnly: true, + serializedName: "properties.savings", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsSavingsProperties" + } + }, + scope: { + readOnly: true, + serializedName: "properties.scope", + type: { + name: "String" + } + }, + usage: { + readOnly: true, + serializedName: "properties.usage", + type: { + name: "Composite", + className: "ReservationRecommendationDetailsUsageProperties" + } + } + } + } +}; + +export const ReservationRecommendation: msRest.CompositeMapper = { + serializedName: "ReservationRecommendation", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind" + }, + uberParent: "ReservationRecommendation", + className: "ReservationRecommendation", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + location: { + readOnly: true, + serializedName: "location", + type: { + name: "String" + } + }, + sku: { + readOnly: true, + serializedName: "sku", + type: { + name: "String" + } + }, + kind: { + required: true, + serializedName: "kind", + type: { + name: "String" + } + } + } + } +}; + +export const SkuProperty: msRest.CompositeMapper = { + serializedName: "SkuProperty", + type: { + name: "Composite", + className: "SkuProperty", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const LegacyReservationRecommendation: msRest.CompositeMapper = { + serializedName: "legacy", + type: { + name: "Composite", + polymorphicDiscriminator: ReservationRecommendation.type.polymorphicDiscriminator, + uberParent: "ReservationRecommendation", + className: "LegacyReservationRecommendation", + modelProperties: { + ...ReservationRecommendation.type.modelProperties, + lookBackPeriod: { + readOnly: true, + serializedName: "properties.lookBackPeriod", + type: { + name: "String" + } + }, + instanceFlexibilityRatio: { + readOnly: true, + serializedName: "properties.instanceFlexibilityRatio", + type: { + name: "Number" + } + }, + instanceFlexibilityGroup: { + readOnly: true, + serializedName: "properties.instanceFlexibilityGroup", + type: { + name: "String" + } + }, + normalizedSize: { + readOnly: true, + serializedName: "properties.normalizedSize", + type: { + name: "String" + } + }, + recommendedQuantityNormalized: { + readOnly: true, + serializedName: "properties.recommendedQuantityNormalized", + type: { + name: "Number" + } + }, + meterId: { + readOnly: true, + serializedName: "properties.meterId", + type: { + name: "Uuid" + } + }, + resourceType: { + readOnly: true, + serializedName: "properties.resourceType", + type: { + name: "String" + } + }, + term: { + readOnly: true, + serializedName: "properties.term", + type: { + name: "String" + } + }, + costWithNoReservedInstances: { + readOnly: true, + serializedName: "properties.costWithNoReservedInstances", + type: { + name: "Number" + } + }, + recommendedQuantity: { + readOnly: true, + serializedName: "properties.recommendedQuantity", + type: { + name: "Number" + } + }, + totalCostWithReservedInstances: { + readOnly: true, + serializedName: "properties.totalCostWithReservedInstances", + type: { + name: "Number" + } + }, + netSavings: { + readOnly: true, + serializedName: "properties.netSavings", + type: { + name: "Number" + } + }, + firstUsageDate: { + readOnly: true, + serializedName: "properties.firstUsageDate", + type: { + name: "DateTime" + } + }, + scope: { + readOnly: true, + serializedName: "properties.scope", + type: { + name: "String" + } + }, + skuProperties: { + readOnly: true, + serializedName: "properties.skuProperties", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SkuProperty" + } + } + } + } + } + } +}; + +export const Amount: msRest.CompositeMapper = { + serializedName: "amount", + type: { + name: "Composite", + className: "Amount", + modelProperties: { + currency: { + readOnly: true, + serializedName: "currency", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Number" + } + } + } + } +}; + +export const ModernReservationRecommendation: msRest.CompositeMapper = { + serializedName: "modern", + type: { + name: "Composite", + polymorphicDiscriminator: ReservationRecommendation.type.polymorphicDiscriminator, + uberParent: "ReservationRecommendation", + className: "ModernReservationRecommendation", + modelProperties: { + ...ReservationRecommendation.type.modelProperties, + modernReservationRecommendationLocation: { + readOnly: true, + serializedName: "properties.location", + type: { + name: "String" + } + }, + lookBackPeriod: { + readOnly: true, + serializedName: "properties.lookBackPeriod", + type: { + name: "Number" + } + }, + instanceFlexibilityRatio: { + readOnly: true, + serializedName: "properties.instanceFlexibilityRatio", + type: { + name: "Number" + } + }, + instanceFlexibilityGroup: { + readOnly: true, + serializedName: "properties.instanceFlexibilityGroup", + type: { + name: "String" + } + }, + normalizedSize: { + readOnly: true, + serializedName: "properties.normalizedSize", + type: { + name: "String" + } + }, + recommendedQuantityNormalized: { + readOnly: true, + serializedName: "properties.recommendedQuantityNormalized", + type: { + name: "Number" + } + }, + meterId: { + readOnly: true, + serializedName: "properties.meterId", + type: { + name: "Uuid" + } + }, + term: { + readOnly: true, + serializedName: "properties.term", + type: { + name: "String" + } + }, + costWithNoReservedInstances: { + readOnly: true, + serializedName: "properties.costWithNoReservedInstances", + type: { + name: "Composite", + className: "Amount" + } + }, + recommendedQuantity: { + readOnly: true, + serializedName: "properties.recommendedQuantity", + type: { + name: "Number" + } + }, + totalCostWithReservedInstances: { + readOnly: true, + serializedName: "properties.totalCostWithReservedInstances", + type: { + name: "Composite", + className: "Amount" + } + }, + netSavings: { + readOnly: true, + serializedName: "properties.netSavings", + type: { + name: "Composite", + className: "Amount" + } + }, + firstUsageDate: { + readOnly: true, + serializedName: "properties.firstUsageDate", + type: { + name: "DateTime" + } + }, + scope: { + readOnly: true, + serializedName: "properties.scope", + type: { + name: "String" + } + }, + skuProperties: { + readOnly: true, + serializedName: "properties.skuProperties", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SkuProperty" + } + } + } + }, + skuName: { + readOnly: true, + serializedName: "properties.skuName", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationTransactionResource: msRest.CompositeMapper = { + serializedName: "ReservationTransactionResource", + type: { + name: "Composite", + className: "ReservationTransactionResource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ModernReservationTransaction: msRest.CompositeMapper = { + serializedName: "Modern", + type: { + name: "Composite", + className: "ModernReservationTransaction", + modelProperties: { + ...ReservationTransactionResource.type.modelProperties, + amount: { + readOnly: true, + serializedName: "properties.amount", + type: { + name: "Number" + } + }, + armSkuName: { + readOnly: true, + serializedName: "properties.armSkuName", + type: { + name: "String" + } + }, + billingFrequency: { + readOnly: true, + serializedName: "properties.billingFrequency", + type: { + name: "String" + } + }, + billingProfileId: { + readOnly: true, + serializedName: "properties.billingProfileId", + type: { + name: "String" + } + }, + billingProfileName: { + readOnly: true, + serializedName: "properties.billingProfileName", + type: { + name: "String" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "properties.description", + type: { + name: "String" + } + }, + eventDate: { + readOnly: true, + serializedName: "properties.eventDate", + type: { + name: "DateTime" + } + }, + eventType: { + readOnly: true, + serializedName: "properties.eventType", + type: { + name: "String" + } + }, + invoice: { + readOnly: true, + serializedName: "properties.invoice", + type: { + name: "String" + } + }, + invoiceId: { + readOnly: true, + serializedName: "properties.invoiceId", + type: { + name: "String" + } + }, + invoiceSectionId: { + readOnly: true, + serializedName: "properties.invoiceSectionId", + type: { + name: "String" + } + }, + invoiceSectionName: { + readOnly: true, + serializedName: "properties.invoiceSectionName", + type: { + name: "String" + } + }, + purchasingSubscriptionGuid: { + readOnly: true, + serializedName: "properties.purchasingSubscriptionGuid", + type: { + name: "Uuid" + } + }, + purchasingSubscriptionName: { + readOnly: true, + serializedName: "properties.purchasingSubscriptionName", + type: { + name: "String" + } + }, + quantity: { + readOnly: true, + serializedName: "properties.quantity", + type: { + name: "Number" + } + }, + region: { + readOnly: true, + serializedName: "properties.region", + type: { + name: "String" + } + }, + reservationOrderId: { + readOnly: true, + serializedName: "properties.reservationOrderId", + type: { + name: "String" + } + }, + reservationOrderName: { + readOnly: true, + serializedName: "properties.reservationOrderName", + type: { + name: "String" + } + }, + term: { + readOnly: true, + serializedName: "properties.term", + type: { + name: "String" + } + } + } + } +}; + +export const ReservationTransaction: msRest.CompositeMapper = { + serializedName: "ReservationTransaction", + type: { + name: "Composite", + className: "ReservationTransaction", + modelProperties: { + ...ReservationTransactionResource.type.modelProperties, + eventDate: { + readOnly: true, + serializedName: "properties.eventDate", + type: { + name: "DateTime" + } + }, + reservationOrderId: { + readOnly: true, + serializedName: "properties.reservationOrderId", + type: { + name: "String" + } + }, + description: { + readOnly: true, + serializedName: "properties.description", + type: { + name: "String" + } + }, + eventType: { + readOnly: true, + serializedName: "properties.eventType", + type: { + name: "String" + } + }, + quantity: { + readOnly: true, + serializedName: "properties.quantity", + type: { + name: "Number" + } + }, + amount: { + readOnly: true, + serializedName: "properties.amount", + type: { + name: "Number" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + reservationOrderName: { + readOnly: true, + serializedName: "properties.reservationOrderName", + type: { + name: "String" + } + }, + purchasingEnrollment: { + readOnly: true, + serializedName: "properties.purchasingEnrollment", + type: { + name: "String" + } + }, + purchasingSubscriptionGuid: { + readOnly: true, + serializedName: "properties.purchasingSubscriptionGuid", + type: { + name: "Uuid" + } + }, + purchasingSubscriptionName: { + readOnly: true, + serializedName: "properties.purchasingSubscriptionName", + type: { + name: "String" + } + }, + armSkuName: { + readOnly: true, + serializedName: "properties.armSkuName", + type: { + name: "String" + } + }, + term: { + readOnly: true, + serializedName: "properties.term", + type: { + name: "String" + } + }, + region: { + readOnly: true, + serializedName: "properties.region", + type: { + name: "String" + } + }, + accountName: { + readOnly: true, + serializedName: "properties.accountName", + type: { + name: "String" + } + }, + accountOwnerEmail: { + readOnly: true, + serializedName: "properties.accountOwnerEmail", + type: { + name: "String" + } + }, + departmentName: { + readOnly: true, + serializedName: "properties.departmentName", + type: { + name: "String" + } + }, + costCenter: { + readOnly: true, + serializedName: "properties.costCenter", + type: { + name: "String" + } + }, + currentEnrollment: { + readOnly: true, + serializedName: "properties.currentEnrollment", + type: { + name: "String" + } + }, + billingFrequency: { + readOnly: true, + serializedName: "properties.billingFrequency", + type: { + name: "String" + } + } + } + } +}; + +export const LegacyReservationTransaction: msRest.CompositeMapper = { + serializedName: "LegacyReservationTransaction", + type: { + name: "Composite", + className: "LegacyReservationTransaction", + modelProperties: { + ...ReservationTransaction.type.modelProperties + } + } +}; + +export const Tag: msRest.CompositeMapper = { + serializedName: "Tag", + type: { + name: "Composite", + className: "Tag", + modelProperties: { + key: { + serializedName: "key", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ProxyResource: msRest.CompositeMapper = { + serializedName: "ProxyResource", + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + eTag: { + serializedName: "eTag", + type: { + name: "String" + } + } + } + } +}; + +export const TagsResult: msRest.CompositeMapper = { + serializedName: "TagsResult", + type: { + name: "Composite", + className: "TagsResult", + modelProperties: { + ...ProxyResource.type.modelProperties, + tags: { + serializedName: "properties.tags", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Tag" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "properties.nextLink", + type: { + name: "String" + } + }, + previousLink: { + readOnly: true, + serializedName: "properties.previousLink", + type: { + name: "String" + } + } + } + } +}; + +export const BudgetTimePeriod: msRest.CompositeMapper = { + serializedName: "BudgetTimePeriod", + type: { + name: "Composite", + className: "BudgetTimePeriod", + modelProperties: { + startDate: { + required: true, + serializedName: "startDate", + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "endDate", + type: { + name: "DateTime" + } + } + } + } +}; + +export const BudgetComparisonExpression: msRest.CompositeMapper = { + serializedName: "BudgetComparisonExpression", + type: { + name: "Composite", + className: "BudgetComparisonExpression", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + operator: { + required: true, + isConstant: true, + serializedName: "operator", + defaultValue: 'In', + type: { + name: "String" + } + }, + values: { + required: true, + serializedName: "values", + constraints: { + MinItems: 0 + }, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const BudgetFilterProperties: msRest.CompositeMapper = { + serializedName: "BudgetFilterProperties", + type: { + name: "Composite", + className: "BudgetFilterProperties", + modelProperties: { + dimensions: { + serializedName: "dimensions", + type: { + name: "Composite", + className: "BudgetComparisonExpression" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Composite", + className: "BudgetComparisonExpression" + } + } + } + } +}; + +export const BudgetFilter: msRest.CompositeMapper = { + serializedName: "BudgetFilter", + type: { + name: "Composite", + className: "BudgetFilter", + modelProperties: { + and: { + serializedName: "and", + constraints: { + MinItems: 0 + }, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BudgetFilterProperties" + } + } + } + }, + not: { + serializedName: "not", + type: { + name: "Composite", + className: "BudgetFilterProperties" + } + }, + dimensions: { + serializedName: "dimensions", + type: { + name: "Composite", + className: "BudgetComparisonExpression" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Composite", + className: "BudgetComparisonExpression" + } + } + } + } +}; + +export const CurrentSpend: msRest.CompositeMapper = { + serializedName: "CurrentSpend", + type: { + name: "Composite", + className: "CurrentSpend", + modelProperties: { + amount: { + readOnly: true, + serializedName: "amount", + type: { + name: "Number" + } + }, + unit: { + readOnly: true, + serializedName: "unit", + type: { + name: "String" + } + } + } + } +}; + +export const Notification: msRest.CompositeMapper = { + serializedName: "Notification", + type: { + name: "Composite", + className: "Notification", + modelProperties: { + enabled: { + required: true, + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + operator: { + required: true, + serializedName: "operator", + type: { + name: "String" + } + }, + threshold: { + required: true, + serializedName: "threshold", + type: { + name: "Number" + } + }, + contactEmails: { + required: true, + serializedName: "contactEmails", + constraints: { + MaxItems: 50, + MinItems: 0 + }, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + contactRoles: { + serializedName: "contactRoles", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + contactGroups: { + serializedName: "contactGroups", + constraints: { + MaxItems: 50, + MinItems: 0 + }, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + thresholdType: { + serializedName: "thresholdType", + defaultValue: 'Actual', + type: { + name: "String" + } + } + } + } +}; + +export const ForecastSpend: msRest.CompositeMapper = { + serializedName: "ForecastSpend", + type: { + name: "Composite", + className: "ForecastSpend", + modelProperties: { + amount: { + readOnly: true, + serializedName: "amount", + type: { + name: "Number" + } + }, + unit: { + readOnly: true, + serializedName: "unit", + type: { + name: "String" + } + } + } + } +}; + +export const Budget: msRest.CompositeMapper = { + serializedName: "Budget", + type: { + name: "Composite", + className: "Budget", + modelProperties: { + ...ProxyResource.type.modelProperties, + category: { + required: true, + isConstant: true, + serializedName: "properties.category", + defaultValue: 'Cost', + type: { + name: "String" + } + }, + amount: { + required: true, + serializedName: "properties.amount", + type: { + name: "Number" + } + }, + timeGrain: { + required: true, + serializedName: "properties.timeGrain", + type: { + name: "String" + } + }, + timePeriod: { + required: true, + serializedName: "properties.timePeriod", + type: { + name: "Composite", + className: "BudgetTimePeriod" + } + }, + filter: { + serializedName: "properties.filter", + type: { + name: "Composite", + className: "BudgetFilter" + } + }, + currentSpend: { + readOnly: true, + serializedName: "properties.currentSpend", + type: { + name: "Composite", + className: "CurrentSpend" + } + }, + notifications: { + serializedName: "properties.notifications", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "Notification" + } + } + } + }, + forecastSpend: { + readOnly: true, + serializedName: "properties.forecastSpend", + type: { + name: "Composite", + className: "ForecastSpend" + } + } + } + } +}; + +export const PriceSheetProperties: msRest.CompositeMapper = { + serializedName: "PriceSheetProperties", + type: { + name: "Composite", + className: "PriceSheetProperties", + modelProperties: { + billingPeriodId: { + readOnly: true, + serializedName: "billingPeriodId", + type: { + name: "String" + } + }, + meterId: { + readOnly: true, + serializedName: "meterId", + type: { + name: "Uuid" + } + }, + meterDetails: { + readOnly: true, + serializedName: "meterDetails", + type: { + name: "Composite", + className: "MeterDetails" + } + }, + unitOfMeasure: { + readOnly: true, + serializedName: "unitOfMeasure", + type: { + name: "String" + } + }, + includedQuantity: { + readOnly: true, + serializedName: "includedQuantity", + type: { + name: "Number" + } + }, + partNumber: { + readOnly: true, + serializedName: "partNumber", + type: { + name: "String" + } + }, + unitPrice: { + readOnly: true, + serializedName: "unitPrice", + type: { + name: "Number" + } + }, + currencyCode: { + readOnly: true, + serializedName: "currencyCode", + type: { + name: "String" + } + }, + offerId: { + readOnly: true, + serializedName: "offerId", + type: { + name: "String" + } + } + } + } +}; + +export const PriceSheetResult: msRest.CompositeMapper = { + serializedName: "PriceSheetResult", + type: { + name: "Composite", + className: "PriceSheetResult", + modelProperties: { + ...Resource.type.modelProperties, + pricesheets: { + readOnly: true, + serializedName: "properties.pricesheets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PriceSheetProperties" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "properties.nextLink", + type: { + name: "String" + } + }, + download: { + readOnly: true, + serializedName: "properties.download", + type: { + name: "Composite", + className: "MeterDetails" + } + } + } + } +}; + +export const DownloadProperties: msRest.CompositeMapper = { + serializedName: "DownloadProperties", + type: { + name: "Composite", + className: "DownloadProperties", + modelProperties: { + downloadUrl: { + readOnly: true, + serializedName: "downloadUrl", + type: { + name: "String" + } + }, + validTill: { + readOnly: true, + serializedName: "validTill", + type: { + name: "String" + } + } + } + } +}; + +export const ForecastPropertiesConfidenceLevelsItem: msRest.CompositeMapper = { + serializedName: "ForecastProperties_confidenceLevelsItem", + type: { + name: "Composite", + className: "ForecastPropertiesConfidenceLevelsItem", + modelProperties: { + percentage: { + readOnly: true, + serializedName: "percentage", + type: { + name: "Number" + } + }, + bound: { + serializedName: "bound", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Number" + } + } + } + } +}; + +export const Forecast: msRest.CompositeMapper = { + serializedName: "Forecast", + type: { + name: "Composite", + className: "Forecast", + modelProperties: { + ...Resource.type.modelProperties, + usageDate: { + readOnly: true, + serializedName: "properties.usageDate", + type: { + name: "String" + } + }, + grain: { + serializedName: "properties.grain", + type: { + name: "String" + } + }, + charge: { + readOnly: true, + serializedName: "properties.charge", + type: { + name: "Number" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + chargeType: { + serializedName: "properties.chargeType", + type: { + name: "String" + } + }, + confidenceLevels: { + readOnly: true, + serializedName: "properties.confidenceLevels", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ForecastPropertiesConfidenceLevelsItem" + } + } + } + } + } + } +}; + +export const ManagementGroupAggregatedCostResult: msRest.CompositeMapper = { + serializedName: "ManagementGroupAggregatedCostResult", + type: { + name: "Composite", + className: "ManagementGroupAggregatedCostResult", + modelProperties: { + ...Resource.type.modelProperties, + billingPeriodId: { + readOnly: true, + serializedName: "properties.billingPeriodId", + type: { + name: "String" + } + }, + usageStart: { + readOnly: true, + serializedName: "properties.usageStart", + type: { + name: "DateTime" + } + }, + usageEnd: { + readOnly: true, + serializedName: "properties.usageEnd", + type: { + name: "DateTime" + } + }, + azureCharges: { + readOnly: true, + serializedName: "properties.azureCharges", + type: { + name: "Number" + } + }, + marketplaceCharges: { + readOnly: true, + serializedName: "properties.marketplaceCharges", + type: { + name: "Number" + } + }, + chargesBilledSeparately: { + readOnly: true, + serializedName: "properties.chargesBilledSeparately", + type: { + name: "Number" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + }, + children: { + serializedName: "properties.children", + type: { + name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ManagementGroupAggregatedCostResult" } } } }, - contactRoles: { - serializedName: "contactRoles", + includedSubscriptions: { + serializedName: "properties.includedSubscriptions", type: { name: "Sequence", element: { @@ -1268,12 +3329,8 @@ export const Notification: msRest.CompositeMapper = { } } }, - contactGroups: { - serializedName: "contactGroups", - constraints: { - MaxItems: 50, - MinItems: 0 - }, + excludedSubscriptions: { + serializedName: "properties.excludedSubscriptions", type: { name: "Sequence", element: { @@ -1287,170 +3344,374 @@ export const Notification: msRest.CompositeMapper = { } }; -export const Budget: msRest.CompositeMapper = { - serializedName: "Budget", +export const ChargeSummary: msRest.CompositeMapper = { + serializedName: "ChargeSummary", type: { name: "Composite", - className: "Budget", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind" + }, + uberParent: "ChargeSummary", + className: "ChargeSummary", modelProperties: { - ...ProxyResource.type.modelProperties, - category: { + ...Resource.type.modelProperties, + kind: { required: true, - serializedName: "properties.category", + serializedName: "kind", + type: { + name: "String" + } + } + } + } +}; + +export const ChargesListResult: msRest.CompositeMapper = { + serializedName: "ChargesListResult", + type: { + name: "Composite", + className: "ChargesListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ChargeSummary" + } + } + } + } + } + } +}; + +export const LegacyChargeSummary: msRest.CompositeMapper = { + serializedName: "legacy", + type: { + name: "Composite", + polymorphicDiscriminator: ChargeSummary.type.polymorphicDiscriminator, + uberParent: "ChargeSummary", + className: "LegacyChargeSummary", + modelProperties: { + ...ChargeSummary.type.modelProperties, + billingPeriodId: { + readOnly: true, + serializedName: "properties.billingPeriodId", type: { name: "String" } }, - amount: { - required: true, - serializedName: "properties.amount", + usageStart: { + readOnly: true, + serializedName: "properties.usageStart", + type: { + name: "String" + } + }, + usageEnd: { + readOnly: true, + serializedName: "properties.usageEnd", + type: { + name: "String" + } + }, + azureCharges: { + readOnly: true, + serializedName: "properties.azureCharges", type: { name: "Number" } }, - timeGrain: { - required: true, - serializedName: "properties.timeGrain", + chargesBilledSeparately: { + readOnly: true, + serializedName: "properties.chargesBilledSeparately", + type: { + name: "Number" + } + }, + marketplaceCharges: { + readOnly: true, + serializedName: "properties.marketplaceCharges", + type: { + name: "Number" + } + }, + currency: { + readOnly: true, + serializedName: "properties.currency", + type: { + name: "String" + } + } + } + } +}; + +export const ModernChargeSummary: msRest.CompositeMapper = { + serializedName: "modern", + type: { + name: "Composite", + polymorphicDiscriminator: ChargeSummary.type.polymorphicDiscriminator, + uberParent: "ChargeSummary", + className: "ModernChargeSummary", + modelProperties: { + ...ChargeSummary.type.modelProperties, + billingPeriodId: { + readOnly: true, + serializedName: "properties.billingPeriodId", type: { name: "String" } }, - timePeriod: { - required: true, - serializedName: "properties.timePeriod", + usageStart: { + readOnly: true, + serializedName: "properties.usageStart", + type: { + name: "String" + } + }, + usageEnd: { + readOnly: true, + serializedName: "properties.usageEnd", + type: { + name: "String" + } + }, + azureCharges: { + readOnly: true, + serializedName: "properties.azureCharges", type: { name: "Composite", - className: "BudgetTimePeriod" + className: "Amount" } }, - filters: { - serializedName: "properties.filters", + chargesBilledSeparately: { + readOnly: true, + serializedName: "properties.chargesBilledSeparately", type: { name: "Composite", - className: "Filters" + className: "Amount" } }, - currentSpend: { + marketplaceCharges: { readOnly: true, - serializedName: "properties.currentSpend", + serializedName: "properties.marketplaceCharges", type: { name: "Composite", - className: "CurrentSpend" + className: "Amount" } }, - notifications: { - serializedName: "properties.notifications", + billingAccountId: { + readOnly: true, + serializedName: "properties.billingAccountId", type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "Notification" - } - } + name: "String" + } + }, + billingProfileId: { + readOnly: true, + serializedName: "properties.billingProfileId", + type: { + name: "String" + } + }, + invoiceSectionId: { + readOnly: true, + serializedName: "properties.invoiceSectionId", + type: { + name: "String" + } + }, + customerId: { + readOnly: true, + serializedName: "properties.customerId", + type: { + name: "String" + } + }, + isInvoiced: { + readOnly: true, + serializedName: "properties.isInvoiced", + type: { + name: "Boolean" + } + } + } + } +}; + +export const ErrorDetails: msRest.CompositeMapper = { + serializedName: "ErrorDetails", + type: { + name: "Composite", + className: "ErrorDetails", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const HighCasedErrorDetails: msRest.CompositeMapper = { + serializedName: "HighCasedErrorDetails", + type: { + name: "Composite", + className: "HighCasedErrorDetails", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const HighCasedErrorResponse: msRest.CompositeMapper = { + serializedName: "HighCasedErrorResponse", + type: { + name: "Composite", + className: "HighCasedErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "HighCasedErrorDetails" + } + } + } + } +}; + +export const ErrorResponse: msRest.CompositeMapper = { + serializedName: "ErrorResponse", + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetails" } } } } }; -export const PriceSheetProperties: msRest.CompositeMapper = { - serializedName: "PriceSheetProperties", +export const OperationDisplay: msRest.CompositeMapper = { + serializedName: "Operation_display", type: { name: "Composite", - className: "PriceSheetProperties", + className: "OperationDisplay", modelProperties: { - billingPeriodId: { + provider: { readOnly: true, - serializedName: "billingPeriodId", + serializedName: "provider", type: { name: "String" } }, - meterId: { - readOnly: true, - serializedName: "meterId", - type: { - name: "Uuid" - } - }, - meterDetails: { - readOnly: true, - serializedName: "meterDetails", - type: { - name: "Composite", - className: "MeterDetails" - } - }, - unitOfMeasure: { + resource: { readOnly: true, - serializedName: "unitOfMeasure", + serializedName: "resource", type: { name: "String" } }, - includedQuantity: { + operation: { readOnly: true, - serializedName: "includedQuantity", + serializedName: "operation", type: { - name: "Number" + name: "String" } }, - partNumber: { + description: { readOnly: true, - serializedName: "partNumber", + serializedName: "description", type: { name: "String" } - }, - unitPrice: { + } + } + } +}; + +export const Operation: msRest.CompositeMapper = { + serializedName: "Operation", + type: { + name: "Composite", + className: "Operation", + modelProperties: { + id: { readOnly: true, - serializedName: "unitPrice", + serializedName: "id", type: { - name: "Number" + name: "String" } }, - currencyCode: { + name: { readOnly: true, - serializedName: "currencyCode", + serializedName: "name", type: { name: "String" } }, - offerId: { - readOnly: true, - serializedName: "offerId", + display: { + serializedName: "display", type: { - name: "String" + name: "Composite", + className: "OperationDisplay" } } } } }; -export const PriceSheetResult: msRest.CompositeMapper = { - serializedName: "PriceSheetResult", +export const Reseller: msRest.CompositeMapper = { + serializedName: "Reseller", type: { name: "Composite", - className: "PriceSheetResult", + className: "Reseller", modelProperties: { - ...Resource.type.modelProperties, - pricesheets: { + resellerId: { readOnly: true, - serializedName: "properties.pricesheets", + serializedName: "resellerId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PriceSheetProperties" - } - } + name: "String" } }, - nextLink: { + resellerDescription: { readOnly: true, - serializedName: "properties.nextLink", + serializedName: "resellerDescription", type: { name: "String" } @@ -1459,28 +3720,22 @@ export const PriceSheetResult: msRest.CompositeMapper = { } }; -export const ForecastPropertiesConfidenceLevelsItem: msRest.CompositeMapper = { - serializedName: "ForecastProperties_confidenceLevelsItem", +export const AmountWithExchangeRate: msRest.CompositeMapper = { + serializedName: "AmountWithExchangeRate", type: { name: "Composite", - className: "ForecastPropertiesConfidenceLevelsItem", + className: "AmountWithExchangeRate", modelProperties: { - percentage: { + exchangeRate: { readOnly: true, - serializedName: "percentage", + serializedName: "exchangeRate", type: { name: "Number" } }, - bound: { - serializedName: "bound", - type: { - name: "String" - } - }, - value: { + exchangeRateMonth: { readOnly: true, - serializedName: "value", + serializedName: "exchangeRateMonth", type: { name: "Number" } @@ -1489,330 +3744,382 @@ export const ForecastPropertiesConfidenceLevelsItem: msRest.CompositeMapper = { } }; -export const Forecast: msRest.CompositeMapper = { - serializedName: "Forecast", +export const EventSummary: msRest.CompositeMapper = { + serializedName: "EventSummary", type: { name: "Composite", - className: "Forecast", + className: "EventSummary", modelProperties: { ...Resource.type.modelProperties, - usageDate: { + transactionDate: { readOnly: true, - serializedName: "properties.usageDate", + serializedName: "properties.transactionDate", + type: { + name: "DateTime" + } + }, + description: { + readOnly: true, + serializedName: "properties.description", type: { name: "String" } }, - grain: { - serializedName: "properties.grain", + newCredit: { + readOnly: true, + serializedName: "properties.newCredit", + type: { + name: "Composite", + className: "Amount" + } + }, + adjustments: { + readOnly: true, + serializedName: "properties.adjustments", + type: { + name: "Composite", + className: "Amount" + } + }, + creditExpired: { + readOnly: true, + serializedName: "properties.creditExpired", + type: { + name: "Composite", + className: "Amount" + } + }, + charges: { + readOnly: true, + serializedName: "properties.charges", + type: { + name: "Composite", + className: "Amount" + } + }, + closedBalance: { + readOnly: true, + serializedName: "properties.closedBalance", + type: { + name: "Composite", + className: "Amount" + } + }, + eventType: { + serializedName: "properties.eventType", type: { name: "String" } }, - charge: { + invoiceNumber: { readOnly: true, - serializedName: "properties.charge", + serializedName: "properties.invoiceNumber", type: { - name: "Number" + name: "String" } }, - currency: { + billingProfileId: { readOnly: true, - serializedName: "properties.currency", + serializedName: "properties.billingProfileId", type: { name: "String" } }, - chargeType: { - serializedName: "properties.chargeType", + billingProfileDisplayName: { + readOnly: true, + serializedName: "properties.billingProfileDisplayName", type: { name: "String" } }, - confidenceLevels: { + lotId: { readOnly: true, - serializedName: "properties.confidenceLevels", + serializedName: "properties.lotId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ForecastPropertiesConfidenceLevelsItem" - } - } + name: "String" } - } - } - } -}; - -export const ManagementGroupAggregatedCostResult: msRest.CompositeMapper = { - serializedName: "ManagementGroupAggregatedCostResult", - type: { - name: "Composite", - className: "ManagementGroupAggregatedCostResult", - modelProperties: { - ...Resource.type.modelProperties, - billingPeriodId: { + }, + lotSource: { readOnly: true, - serializedName: "properties.billingPeriodId", + serializedName: "properties.lotSource", type: { name: "String" } }, - usageStart: { + canceledCredit: { readOnly: true, - serializedName: "properties.usageStart", + serializedName: "properties.canceledCredit", type: { - name: "DateTime" + name: "Composite", + className: "Amount" } }, - usageEnd: { + creditCurrency: { readOnly: true, - serializedName: "properties.usageEnd", + serializedName: "properties.creditCurrency", type: { - name: "DateTime" + name: "String" } }, - azureCharges: { + billingCurrency: { readOnly: true, - serializedName: "properties.azureCharges", + serializedName: "properties.billingCurrency", type: { - name: "Number" + name: "String" } }, - marketplaceCharges: { + reseller: { readOnly: true, - serializedName: "properties.marketplaceCharges", + serializedName: "properties.reseller", type: { - name: "Number" + name: "Composite", + className: "Reseller" } }, - chargesBilledSeparately: { + creditExpiredInBillingCurrency: { readOnly: true, - serializedName: "properties.chargesBilledSeparately", + serializedName: "properties.creditExpiredInBillingCurrency", type: { - name: "Number" + name: "Composite", + className: "AmountWithExchangeRate" } }, - currency: { + newCreditInBillingCurrency: { readOnly: true, - serializedName: "properties.currency", + serializedName: "properties.newCreditInBillingCurrency", type: { - name: "String" + name: "Composite", + className: "AmountWithExchangeRate" } }, - children: { - serializedName: "properties.children", + adjustmentsInBillingCurrency: { + readOnly: true, + serializedName: "properties.adjustmentsInBillingCurrency", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagementGroupAggregatedCostResult" - } - } + name: "Composite", + className: "AmountWithExchangeRate" } }, - includedSubscriptions: { - serializedName: "properties.includedSubscriptions", + chargesInBillingCurrency: { + readOnly: true, + serializedName: "properties.chargesInBillingCurrency", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "AmountWithExchangeRate" } }, - excludedSubscriptions: { - serializedName: "properties.excludedSubscriptions", + closedBalanceInBillingCurrency: { + readOnly: true, + serializedName: "properties.closedBalanceInBillingCurrency", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "AmountWithExchangeRate" + } + } + } + } +}; + +export const LotSummary: msRest.CompositeMapper = { + serializedName: "LotSummary", + type: { + name: "Composite", + className: "LotSummary", + modelProperties: { + ...Resource.type.modelProperties, + originalAmount: { + readOnly: true, + serializedName: "properties.originalAmount", + type: { + name: "Composite", + className: "Amount" + } + }, + closedBalance: { + readOnly: true, + serializedName: "properties.closedBalance", + type: { + name: "Composite", + className: "Amount" + } + }, + source: { + readOnly: true, + serializedName: "properties.source", + type: { + name: "String" + } + }, + startDate: { + readOnly: true, + serializedName: "properties.startDate", + type: { + name: "DateTime" } - } - } - } -}; - -export const ChargeSummary: msRest.CompositeMapper = { - serializedName: "ChargeSummary", - type: { - name: "Composite", - className: "ChargeSummary", - modelProperties: { - ...Resource.type.modelProperties, - billingPeriodId: { + }, + expirationDate: { readOnly: true, - serializedName: "properties.billingPeriodId", + serializedName: "properties.expirationDate", + type: { + name: "DateTime" + } + }, + poNumber: { + readOnly: true, + serializedName: "properties.poNumber", type: { name: "String" } }, - usageStart: { + purchaseDate: { readOnly: true, - serializedName: "properties.usageStart", + serializedName: "properties.purchaseDate", + type: { + name: "DateTime" + } + }, + status: { + readOnly: true, + serializedName: "properties.status", type: { name: "String" } }, - usageEnd: { + creditCurrency: { readOnly: true, - serializedName: "properties.usageEnd", + serializedName: "properties.creditCurrency", type: { name: "String" } }, - azureCharges: { + billingCurrency: { readOnly: true, - serializedName: "properties.azureCharges", + serializedName: "properties.billingCurrency", type: { - name: "Number" + name: "String" } }, - chargesBilledSeparately: { + originalAmountInBillingCurrency: { readOnly: true, - serializedName: "properties.chargesBilledSeparately", + serializedName: "properties.originalAmountInBillingCurrency", type: { - name: "Number" + name: "Composite", + className: "AmountWithExchangeRate" } }, - marketplaceCharges: { + closedBalanceInBillingCurrency: { readOnly: true, - serializedName: "properties.marketplaceCharges", + serializedName: "properties.closedBalanceInBillingCurrency", type: { - name: "Number" + name: "Composite", + className: "AmountWithExchangeRate" } }, - currency: { + reseller: { readOnly: true, - serializedName: "properties.currency", + serializedName: "properties.reseller", type: { - name: "String" + name: "Composite", + className: "Reseller" } } } } }; -export const ChargesListResult: msRest.CompositeMapper = { - serializedName: "ChargesListResult", +export const CreditBalanceSummary: msRest.CompositeMapper = { + serializedName: "CreditBalanceSummary", type: { name: "Composite", - className: "ChargesListResult", + className: "CreditBalanceSummary", modelProperties: { - value: { + estimatedBalance: { readOnly: true, - serializedName: "value", + serializedName: "estimatedBalance", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ChargeSummary" - } - } + name: "Composite", + className: "Amount" } - } - } - } -}; - -export const ErrorDetails: msRest.CompositeMapper = { - serializedName: "ErrorDetails", - type: { - name: "Composite", - className: "ErrorDetails", - modelProperties: { - code: { + }, + currentBalance: { readOnly: true, - serializedName: "code", + serializedName: "currentBalance", type: { - name: "String" + name: "Composite", + className: "Amount" } }, - message: { + estimatedBalanceInBillingCurrency: { readOnly: true, - serializedName: "message", + serializedName: "estimatedBalanceInBillingCurrency", type: { - name: "String" + name: "Composite", + className: "AmountWithExchangeRate" } } } } }; -export const ErrorResponse: msRest.CompositeMapper = { - serializedName: "ErrorResponse", +export const CreditSummary: msRest.CompositeMapper = { + serializedName: "CreditSummary", type: { name: "Composite", - className: "ErrorResponse", + className: "CreditSummary", modelProperties: { - error: { - serializedName: "error", + ...Resource.type.modelProperties, + balanceSummary: { + readOnly: true, + serializedName: "properties.balanceSummary", type: { name: "Composite", - className: "ErrorDetails" + className: "CreditBalanceSummary" } - } - } - } -}; - -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "Operation_display", - type: { - name: "Composite", - className: "OperationDisplay", - modelProperties: { - provider: { + }, + pendingCreditAdjustments: { readOnly: true, - serializedName: "provider", + serializedName: "properties.pendingCreditAdjustments", type: { - name: "String" + name: "Composite", + className: "Amount" } }, - resource: { + expiredCredit: { readOnly: true, - serializedName: "resource", + serializedName: "properties.expiredCredit", type: { - name: "String" + name: "Composite", + className: "Amount" } }, - operation: { + pendingEligibleCharges: { readOnly: true, - serializedName: "operation", + serializedName: "properties.pendingEligibleCharges", + type: { + name: "Composite", + className: "Amount" + } + }, + creditCurrency: { + readOnly: true, + serializedName: "properties.creditCurrency", type: { name: "String" } - } - } - } -}; - -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", - type: { - name: "Composite", - className: "Operation", - modelProperties: { - name: { + }, + billingCurrency: { readOnly: true, - serializedName: "name", + serializedName: "properties.billingCurrency", type: { name: "String" } }, - display: { - serializedName: "display", + reseller: { + readOnly: true, + serializedName: "properties.reseller", type: { name: "Composite", - className: "OperationDisplay" + className: "Reseller" } } } @@ -1843,12 +4150,28 @@ export const ResourceAttributes: msRest.CompositeMapper = { } }; -export const QueryOptions: msRest.CompositeMapper = { +export const UsageDetailsListResult: msRest.CompositeMapper = { + serializedName: "UsageDetailsListResult", type: { name: "Composite", - className: "QueryOptions", + className: "UsageDetailsListResult", modelProperties: { - apply: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UsageDetail" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", type: { name: "String" } @@ -1857,11 +4180,11 @@ export const QueryOptions: msRest.CompositeMapper = { } }; -export const UsageDetailsListResult: msRest.CompositeMapper = { - serializedName: "UsageDetailsListResult", +export const MarketplacesListResult: msRest.CompositeMapper = { + serializedName: "MarketplacesListResult", type: { name: "Composite", - className: "UsageDetailsListResult", + className: "MarketplacesListResult", modelProperties: { value: { readOnly: true, @@ -1871,7 +4194,7 @@ export const UsageDetailsListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "UsageDetail" + className: "Marketplace" } } } @@ -1887,11 +4210,11 @@ export const UsageDetailsListResult: msRest.CompositeMapper = { } }; -export const MarketplacesListResult: msRest.CompositeMapper = { - serializedName: "MarketplacesListResult", +export const BudgetsListResult: msRest.CompositeMapper = { + serializedName: "BudgetsListResult", type: { name: "Composite", - className: "MarketplacesListResult", + className: "BudgetsListResult", modelProperties: { value: { readOnly: true, @@ -1901,7 +4224,7 @@ export const MarketplacesListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "Marketplace" + className: "Budget" } } } @@ -2002,16 +4325,23 @@ export const ReservationRecommendationsListResult: msRest.CompositeMapper = { type: { name: "String" } + }, + previousLink: { + readOnly: true, + serializedName: "previousLink", + type: { + name: "String" + } } } } }; -export const BudgetsListResult: msRest.CompositeMapper = { - serializedName: "BudgetsListResult", +export const ReservationTransactionsListResult: msRest.CompositeMapper = { + serializedName: "ReservationTransactionsListResult", type: { name: "Composite", - className: "BudgetsListResult", + className: "ReservationTransactionsListResult", modelProperties: { value: { readOnly: true, @@ -2021,7 +4351,37 @@ export const BudgetsListResult: msRest.CompositeMapper = { element: { type: { name: "Composite", - className: "Budget" + className: "ReservationTransaction" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ModernReservationTransactionsListResult: msRest.CompositeMapper = { + serializedName: "ModernReservationTransactionsListResult", + type: { + name: "Composite", + className: "ModernReservationTransactionsListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ModernReservationTransaction" } } } @@ -2089,3 +4449,76 @@ export const OperationListResult: msRest.CompositeMapper = { } } }; + +export const Events: msRest.CompositeMapper = { + serializedName: "Events", + type: { + name: "Composite", + className: "Events", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EventSummary" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const Lots: msRest.CompositeMapper = { + serializedName: "Lots", + type: { + name: "Composite", + className: "Lots", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LotSummary" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const discriminators = { + 'UsageDetail' : UsageDetail, + 'UsageDetail.legacy' : LegacyUsageDetail, + 'UsageDetail.modern' : ModernUsageDetail, + 'ReservationRecommendation' : ReservationRecommendation, + 'ReservationRecommendation.legacy' : LegacyReservationRecommendation, + 'ReservationRecommendation.modern' : ModernReservationRecommendation, + 'ChargeSummary' : ChargeSummary, + 'ChargeSummary.legacy' : LegacyChargeSummary, + 'ChargeSummary.modern' : ModernChargeSummary + +}; diff --git a/sdk/consumption/arm-consumption/src/models/marketplacesMappers.ts b/sdk/consumption/arm-consumption/src/models/marketplacesMappers.ts index 2236243f41ac..765c6bc7694f 100644 --- a/sdk/consumption/arm-consumption/src/models/marketplacesMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/marketplacesMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MarketplacesListResult, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/operationsMappers.ts b/sdk/consumption/arm-consumption/src/models/operationsMappers.ts index 1503eabc4389..2968c132c8ce 100644 --- a/sdk/consumption/arm-consumption/src/models/operationsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/operationsMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ErrorDetails, ErrorResponse, Operation, diff --git a/sdk/consumption/arm-consumption/src/models/parameters.ts b/sdk/consumption/arm-consumption/src/models/parameters.ts index c1813e59d7a5..ef935b24f852 100644 --- a/sdk/consumption/arm-consumption/src/models/parameters.ts +++ b/sdk/consumption/arm-consumption/src/models/parameters.ts @@ -13,7 +13,7 @@ export const acceptLanguage: msRest.OperationParameter = { parameterPath: "acceptLanguage", mapper: { serializedName: "accept-language", - defaultValue: "en-US", + defaultValue: 'en-US', type: { name: "String" } @@ -30,7 +30,10 @@ export const apiVersion: msRest.OperationQueryParameter = { } }; export const apply: msRest.OperationQueryParameter = { - parameterPath: ["options", "queryOptions", "apply"], + parameterPath: [ + "options", + "apply" + ], mapper: { serializedName: "$apply", type: { @@ -78,28 +81,33 @@ export const budgetName: msRest.OperationURLParameter = { } } }; -export const departmentId: msRest.OperationURLParameter = { - parameterPath: "departmentId", +export const endDate0: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "endDate" + ], mapper: { - required: true, - serializedName: "departmentId", + serializedName: "endDate", type: { name: "String" } } }; -export const enrollmentAccountId: msRest.OperationURLParameter = { - parameterPath: "enrollmentAccountId", +export const endDate1: msRest.OperationQueryParameter = { + parameterPath: "endDate", mapper: { required: true, - serializedName: "enrollmentAccountId", + serializedName: "endDate", type: { name: "String" } } }; export const expand: msRest.OperationQueryParameter = { - parameterPath: ["options", "expand"], + parameterPath: [ + "options", + "expand" + ], mapper: { serializedName: "$expand", type: { @@ -108,7 +116,10 @@ export const expand: msRest.OperationQueryParameter = { } }; export const filter0: msRest.OperationQueryParameter = { - parameterPath: ["options", "filter"], + parameterPath: [ + "options", + "filter" + ], mapper: { serializedName: "$filter", type: { @@ -136,6 +147,16 @@ export const grain: msRest.OperationQueryParameter = { } } }; +export const lookBackPeriod: msRest.OperationQueryParameter = { + parameterPath: "lookBackPeriod", + mapper: { + required: true, + serializedName: "lookBackPeriod", + type: { + name: "String" + } + } +}; export const managementGroupId: msRest.OperationURLParameter = { parameterPath: "managementGroupId", mapper: { @@ -146,6 +167,18 @@ export const managementGroupId: msRest.OperationURLParameter = { } } }; +export const metric: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "metric" + ], + mapper: { + serializedName: "metric", + type: { + name: "String" + } + } +}; export const nextPageLink: msRest.OperationURLParameter = { parameterPath: "nextPageLink", mapper: { @@ -157,7 +190,27 @@ export const nextPageLink: msRest.OperationURLParameter = { }, skipEncoding: true }; -export const reservationId: msRest.OperationURLParameter = { +export const product: msRest.OperationQueryParameter = { + parameterPath: "product", + mapper: { + required: true, + serializedName: "product", + type: { + name: "String" + } + } +}; +export const region: msRest.OperationQueryParameter = { + parameterPath: "region", + mapper: { + required: true, + serializedName: "region", + type: { + name: "String" + } + } +}; +export const reservationId0: msRest.OperationURLParameter = { parameterPath: "reservationId", mapper: { required: true, @@ -167,7 +220,19 @@ export const reservationId: msRest.OperationURLParameter = { } } }; -export const reservationOrderId: msRest.OperationURLParameter = { +export const reservationId1: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "reservationId" + ], + mapper: { + serializedName: "reservationId", + type: { + name: "String" + } + } +}; +export const reservationOrderId0: msRest.OperationURLParameter = { parameterPath: "reservationOrderId", mapper: { required: true, @@ -177,18 +242,44 @@ export const reservationOrderId: msRest.OperationURLParameter = { } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", +export const reservationOrderId1: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "reservationOrderId" + ], + mapper: { + serializedName: "reservationOrderId", + type: { + name: "String" + } + } +}; +export const scope: msRest.OperationURLParameter = { + parameterPath: "scope", + mapper: { + required: true, + serializedName: "scope", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const scope1: msRest.OperationQueryParameter = { + parameterPath: "scope1", mapper: { required: true, - serializedName: "resourceGroupName", + serializedName: "scope", type: { name: "String" } } }; export const skiptoken: msRest.OperationQueryParameter = { - parameterPath: ["options", "skiptoken"], + parameterPath: [ + "options", + "skiptoken" + ], mapper: { serializedName: "$skiptoken", type: { @@ -196,6 +287,28 @@ export const skiptoken: msRest.OperationQueryParameter = { } } }; +export const startDate0: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "startDate" + ], + mapper: { + serializedName: "startDate", + type: { + name: "String" + } + } +}; +export const startDate1: msRest.OperationQueryParameter = { + parameterPath: "startDate", + mapper: { + required: true, + serializedName: "startDate", + type: { + name: "String" + } + } +}; export const subscriptionId: msRest.OperationURLParameter = { parameterPath: "subscriptionId", mapper: { @@ -206,8 +319,21 @@ export const subscriptionId: msRest.OperationURLParameter = { } } }; +export const term: msRest.OperationQueryParameter = { + parameterPath: "term", + mapper: { + required: true, + serializedName: "term", + type: { + name: "String" + } + } +}; export const top: msRest.OperationQueryParameter = { - parameterPath: ["options", "top"], + parameterPath: [ + "options", + "top" + ], mapper: { serializedName: "$top", constraints: { diff --git a/sdk/consumption/arm-consumption/src/models/priceSheetMappers.ts b/sdk/consumption/arm-consumption/src/models/priceSheetMappers.ts index 70a8fb00f854..b7125b2b0484 100644 --- a/sdk/consumption/arm-consumption/src/models/priceSheetMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/priceSheetMappers.ts @@ -7,31 +7,55 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/reservationRecommendationDetailsMappers.ts b/sdk/consumption/arm-consumption/src/models/reservationRecommendationDetailsMappers.ts new file mode 100644 index 000000000000..2daa3b76de70 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/models/reservationRecommendationDetailsMappers.ts @@ -0,0 +1,61 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Amount, + AmountWithExchangeRate, + Balance, + BalancePropertiesAdjustmentDetailsItem, + BalancePropertiesNewPurchasesDetailsItem, + BaseResource, + Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, + BudgetTimePeriod, + ChargeSummary, + CreditBalanceSummary, + CreditSummary, + CurrentSpend, + EventSummary, + Forecast, + ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + HighCasedErrorDetails, + HighCasedErrorResponse, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, + ManagementGroupAggregatedCostResult, + Marketplace, + MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, + Notification, + PriceSheetProperties, + PriceSheetResult, + ProxyResource, + Reseller, + ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, + ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, + Resource, + Tag, + TagsResult, + UsageDetail +} from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/reservationRecommendationsMappers.ts b/sdk/consumption/arm-consumption/src/models/reservationRecommendationsMappers.ts index 6f98170189c0..0f05495f1196 100644 --- a/sdk/consumption/arm-consumption/src/models/reservationRecommendationsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/reservationRecommendationsMappers.ts @@ -7,8 +7,13 @@ */ export { + discriminators, + Amount, ErrorDetails, ErrorResponse, + LegacyReservationRecommendation, + ModernReservationRecommendation, ReservationRecommendation, - ReservationRecommendationsListResult + ReservationRecommendationsListResult, + SkuProperty } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/reservationTransactionsMappers.ts b/sdk/consumption/arm-consumption/src/models/reservationTransactionsMappers.ts new file mode 100644 index 000000000000..6018f1dc3d2e --- /dev/null +++ b/sdk/consumption/arm-consumption/src/models/reservationTransactionsMappers.ts @@ -0,0 +1,63 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + Amount, + AmountWithExchangeRate, + Balance, + BalancePropertiesAdjustmentDetailsItem, + BalancePropertiesNewPurchasesDetailsItem, + BaseResource, + Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, + BudgetTimePeriod, + ChargeSummary, + CreditBalanceSummary, + CreditSummary, + CurrentSpend, + ErrorDetails, + ErrorResponse, + EventSummary, + Forecast, + ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, + ManagementGroupAggregatedCostResult, + Marketplace, + MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernReservationTransactionsListResult, + ModernUsageDetail, + Notification, + PriceSheetProperties, + PriceSheetResult, + ProxyResource, + Reseller, + ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, + ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, + ReservationTransactionsListResult, + Resource, + Tag, + TagsResult, + UsageDetail +} from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/reservationsDetailsMappers.ts b/sdk/consumption/arm-consumption/src/models/reservationsDetailsMappers.ts index 563c5ea25813..a952e66c8f4c 100644 --- a/sdk/consumption/arm-consumption/src/models/reservationsDetailsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/reservationsDetailsMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, ReservationDetailsListResult, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/reservationsSummariesMappers.ts b/sdk/consumption/arm-consumption/src/models/reservationsSummariesMappers.ts index dd4d32b87905..eb92d9c68d7d 100644 --- a/sdk/consumption/arm-consumption/src/models/reservationsSummariesMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/reservationsSummariesMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummariesListResult, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/tagsMappers.ts b/sdk/consumption/arm-consumption/src/models/tagsMappers.ts index 70a8fb00f854..b7125b2b0484 100644 --- a/sdk/consumption/arm-consumption/src/models/tagsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/tagsMappers.ts @@ -7,31 +7,55 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/models/usageDetailsMappers.ts b/sdk/consumption/arm-consumption/src/models/usageDetailsMappers.ts index 02f1b9ed4f4e..69fb766878b5 100644 --- a/sdk/consumption/arm-consumption/src/models/usageDetailsMappers.ts +++ b/sdk/consumption/arm-consumption/src/models/usageDetailsMappers.ts @@ -7,32 +7,56 @@ */ export { + discriminators, + Amount, + AmountWithExchangeRate, Balance, BalancePropertiesAdjustmentDetailsItem, BalancePropertiesNewPurchasesDetailsItem, BaseResource, Budget, + BudgetComparisonExpression, + BudgetFilter, + BudgetFilterProperties, BudgetTimePeriod, ChargeSummary, + CreditBalanceSummary, + CreditSummary, CurrentSpend, ErrorDetails, ErrorResponse, - Filters, + EventSummary, Forecast, ForecastPropertiesConfidenceLevelsItem, + ForecastSpend, + LegacyChargeSummary, + LegacyReservationTransaction, + LegacyUsageDetail, + LotSummary, ManagementGroupAggregatedCostResult, Marketplace, MeterDetails, + MeterDetailsResponse, + ModernChargeSummary, + ModernReservationTransaction, + ModernUsageDetail, Notification, PriceSheetProperties, PriceSheetResult, ProxyResource, + Reseller, ReservationDetail, + ReservationRecommendationDetailsCalculatedSavingsProperties, + ReservationRecommendationDetailsModel, + ReservationRecommendationDetailsResourceProperties, + ReservationRecommendationDetailsSavingsProperties, + ReservationRecommendationDetailsUsageProperties, ReservationSummary, + ReservationTransaction, + ReservationTransactionResource, Resource, Tag, TagsResult, - Tenant, UsageDetail, UsageDetailsListResult } from "../models/mappers"; diff --git a/sdk/consumption/arm-consumption/src/operations/aggregatedCost.ts b/sdk/consumption/arm-consumption/src/operations/aggregatedCost.ts index a3a6ccdbbba0..abcc72958d3d 100644 --- a/sdk/consumption/arm-consumption/src/operations/aggregatedCost.ts +++ b/sdk/consumption/arm-consumption/src/operations/aggregatedCost.ts @@ -32,43 +32,26 @@ export class AggregatedCost { * @param [options] The optional parameters * @returns Promise */ - getByManagementGroup( - managementGroupId: string, - options?: Models.AggregatedCostGetByManagementGroupOptionalParams - ): Promise; + getByManagementGroup(managementGroupId: string, options?: Models.AggregatedCostGetByManagementGroupOptionalParams): Promise; /** * @param managementGroupId Azure Management Group ID. * @param callback The callback */ - getByManagementGroup( - managementGroupId: string, - callback: msRest.ServiceCallback - ): void; + getByManagementGroup(managementGroupId: string, callback: msRest.ServiceCallback): void; /** * @param managementGroupId Azure Management Group ID. * @param options The optional parameters * @param callback The callback */ - getByManagementGroup( - managementGroupId: string, - options: Models.AggregatedCostGetByManagementGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - getByManagementGroup( - managementGroupId: string, - options?: - | Models.AggregatedCostGetByManagementGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + getByManagementGroup(managementGroupId: string, options: Models.AggregatedCostGetByManagementGroupOptionalParams, callback: msRest.ServiceCallback): void; + getByManagementGroup(managementGroupId: string, options?: Models.AggregatedCostGetByManagementGroupOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { managementGroupId, options }, getByManagementGroupOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -79,41 +62,21 @@ export class AggregatedCost { * @param [options] The optional parameters * @returns Promise */ - getForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: msRest.RequestOptionsBase - ): Promise; + getForBillingPeriodByManagementGroup(managementGroupId: string, billingPeriodName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param managementGroupId Azure Management Group ID. * @param billingPeriodName Billing Period Name. * @param callback The callback */ - getForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; + getForBillingPeriodByManagementGroup(managementGroupId: string, billingPeriodName: string, callback: msRest.ServiceCallback): void; /** * @param managementGroupId Azure Management Group ID. * @param billingPeriodName Billing Period Name. * @param options The optional parameters * @param callback The callback */ - getForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + getForBillingPeriodByManagementGroup(managementGroupId: string, billingPeriodName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getForBillingPeriodByManagementGroup(managementGroupId: string, billingPeriodName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { managementGroupId, @@ -121,8 +84,7 @@ export class AggregatedCost { options }, getForBillingPeriodByManagementGroupOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -130,11 +92,17 @@ export class AggregatedCost { const serializer = new msRest.Serializer(Mappers); const getByManagementGroupOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/aggregatedcost", - urlParameters: [Parameters.managementGroupId], - queryParameters: [Parameters.apiVersion, Parameters.filter0], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/aggregatedcost", + urlParameters: [ + Parameters.managementGroupId + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ManagementGroupAggregatedCostResult @@ -148,11 +116,17 @@ const getByManagementGroupOperationSpec: msRest.OperationSpec = { const getForBillingPeriodByManagementGroupOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/Microsoft.Consumption/aggregatedcost", - urlParameters: [Parameters.managementGroupId, Parameters.billingPeriodName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/Microsoft.Consumption/aggregatedCost", + urlParameters: [ + Parameters.managementGroupId, + Parameters.billingPeriodName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ManagementGroupAggregatedCostResult diff --git a/sdk/consumption/arm-consumption/src/operations/balances.ts b/sdk/consumption/arm-consumption/src/operations/balances.ts index 43c18bd38cbf..cf9ec7e63e9d 100644 --- a/sdk/consumption/arm-consumption/src/operations/balances.ts +++ b/sdk/consumption/arm-consumption/src/operations/balances.ts @@ -32,41 +32,26 @@ export class Balances { * @param [options] The optional parameters * @returns Promise */ - getByBillingAccount( - billingAccountId: string, - options?: msRest.RequestOptionsBase - ): Promise; + getByBillingAccount(billingAccountId: string, options?: msRest.RequestOptionsBase): Promise; /** * @param billingAccountId BillingAccount ID * @param callback The callback */ - getByBillingAccount( - billingAccountId: string, - callback: msRest.ServiceCallback - ): void; + getByBillingAccount(billingAccountId: string, callback: msRest.ServiceCallback): void; /** * @param billingAccountId BillingAccount ID * @param options The optional parameters * @param callback The callback */ - getByBillingAccount( - billingAccountId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getByBillingAccount( - billingAccountId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + getByBillingAccount(billingAccountId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getByBillingAccount(billingAccountId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { billingAccountId, options }, getByBillingAccountOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -77,39 +62,21 @@ export class Balances { * @param [options] The optional parameters * @returns Promise */ - getForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: msRest.RequestOptionsBase - ): Promise; + getForBillingPeriodByBillingAccount(billingAccountId: string, billingPeriodName: string, options?: msRest.RequestOptionsBase): Promise; /** * @param billingAccountId BillingAccount ID * @param billingPeriodName Billing Period Name. * @param callback The callback */ - getForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; + getForBillingPeriodByBillingAccount(billingAccountId: string, billingPeriodName: string, callback: msRest.ServiceCallback): void; /** * @param billingAccountId BillingAccount ID * @param billingPeriodName Billing Period Name. * @param options The optional parameters * @param callback The callback */ - getForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + getForBillingPeriodByBillingAccount(billingAccountId: string, billingPeriodName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getForBillingPeriodByBillingAccount(billingAccountId: string, billingPeriodName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { billingAccountId, @@ -117,8 +84,7 @@ export class Balances { options }, getForBillingPeriodByBillingAccountOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -126,11 +92,16 @@ export class Balances { const serializer = new msRest.Serializer(Mappers); const getByBillingAccountOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", - urlParameters: [Parameters.billingAccountId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", + urlParameters: [ + Parameters.billingAccountId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.Balance @@ -144,11 +115,17 @@ const getByBillingAccountOperationSpec: msRest.OperationSpec = { const getForBillingPeriodByBillingAccountOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances", - urlParameters: [Parameters.billingAccountId, Parameters.billingPeriodName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances", + urlParameters: [ + Parameters.billingAccountId, + Parameters.billingPeriodName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.Balance diff --git a/sdk/consumption/arm-consumption/src/operations/budgets.ts b/sdk/consumption/arm-consumption/src/operations/budgets.ts index 2104fe889d95..06c586da1d83 100644 --- a/sdk/consumption/arm-consumption/src/operations/budgets.ts +++ b/sdk/consumption/arm-consumption/src/operations/budgets.ts @@ -26,382 +26,298 @@ export class Budgets { } /** - * Lists all budgets for a subscription. + * Lists all budgets for the defined scope. + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param [options] The optional parameters * @returns Promise */ - list(options?: msRest.RequestOptionsBase): Promise; + list(scope: string, options?: msRest.RequestOptionsBase): Promise; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param callback The callback */ - list(callback: msRest.ServiceCallback): void; + list(scope: string, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param options The optional parameters * @param callback The callback */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(scope: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(scope: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, options }, listOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** - * Lists all budgets for a resource group under a subscription. - * @param resourceGroupName Azure Resource Group Name. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupName( - resourceGroupName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param callback The callback - */ - listByResourceGroupName( - resourceGroupName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupName( - resourceGroupName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupName( - resourceGroupName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - options - }, - listByResourceGroupNameOperationSpec, - callback - ) as Promise; - } - - /** - * Gets the budget for a subscription by budget name. + * Gets the budget for the scope by budget name. + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param [options] The optional parameters * @returns Promise */ - get(budgetName: string, options?: msRest.RequestOptionsBase): Promise; + get(scope: string, budgetName: string, options?: msRest.RequestOptionsBase): Promise; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param callback The callback */ - get(budgetName: string, callback: msRest.ServiceCallback): void; + get(scope: string, budgetName: string, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param options The optional parameters * @param callback The callback */ - get( - budgetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( - budgetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + get(scope: string, budgetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(scope: string, budgetName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, budgetName, options }, getOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** - * The operation to create or update a budget. Update operation requires latest eTag to be set in - * the request mandatorily. You may obtain the latest eTag by performing a get operation. Create - * operation does not require eTag. + * The operation to create or update a budget. You can optionally provide an eTag if desired as a + * form of concurrency control. To obtain the latest eTag for a given budget, perform a get + * operation prior to your put operation. + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param parameters Parameters supplied to the Create Budget operation. * @param [options] The optional parameters * @returns Promise */ - createOrUpdate( - budgetName: string, - parameters: Models.Budget, - options?: msRest.RequestOptionsBase - ): Promise; + createOrUpdate(scope: string, budgetName: string, parameters: Models.Budget, options?: msRest.RequestOptionsBase): Promise; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param parameters Parameters supplied to the Create Budget operation. * @param callback The callback */ - createOrUpdate( - budgetName: string, - parameters: Models.Budget, - callback: msRest.ServiceCallback - ): void; + createOrUpdate(scope: string, budgetName: string, parameters: Models.Budget, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param parameters Parameters supplied to the Create Budget operation. * @param options The optional parameters * @param callback The callback */ - createOrUpdate( - budgetName: string, - parameters: Models.Budget, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdate( - budgetName: string, - parameters: Models.Budget, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + createOrUpdate(scope: string, budgetName: string, parameters: Models.Budget, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(scope: string, budgetName: string, parameters: Models.Budget, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, budgetName, parameters, options }, createOrUpdateOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** * The operation to delete a budget. + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param [options] The optional parameters * @returns Promise */ - deleteMethod( - budgetName: string, - options?: msRest.RequestOptionsBase - ): Promise; + deleteMethod(scope: string, budgetName: string, options?: msRest.RequestOptionsBase): Promise; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param callback The callback */ - deleteMethod(budgetName: string, callback: msRest.ServiceCallback): void; + deleteMethod(scope: string, budgetName: string, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with budget operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope, + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope. * @param budgetName Budget Name. * @param options The optional parameters * @param callback The callback */ - deleteMethod( - budgetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteMethod( - budgetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + deleteMethod(scope: string, budgetName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(scope: string, budgetName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, budgetName, options }, deleteMethodOperationSpec, - callback - ); - } - - /** - * Gets the budget for a resource group under a subscription by budget name. - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param [options] The optional parameters - * @returns Promise - */ - getByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param callback The callback - */ - getByResourceGroupName( - resourceGroupName: string, - budgetName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param options The optional parameters - * @param callback The callback - */ - getByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - getByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - budgetName, - options - }, - getByResourceGroupNameOperationSpec, - callback - ) as Promise; - } - - /** - * The operation to create or update a budget. Update operation requires latest eTag to be set in - * the request mandatorily. You may obtain the latest eTag by performing a get operation. Create - * operation does not require eTag. - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param parameters Parameters supplied to the Create Budget operation. - * @param [options] The optional parameters - * @returns Promise - */ - createOrUpdateByResourceGroupName( - resourceGroupName: string, - budgetName: string, - parameters: Models.Budget, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param parameters Parameters supplied to the Create Budget operation. - * @param callback The callback - */ - createOrUpdateByResourceGroupName( - resourceGroupName: string, - budgetName: string, - parameters: Models.Budget, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param parameters Parameters supplied to the Create Budget operation. - * @param options The optional parameters - * @param callback The callback - */ - createOrUpdateByResourceGroupName( - resourceGroupName: string, - budgetName: string, - parameters: Models.Budget, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - createOrUpdateByResourceGroupName( - resourceGroupName: string, - budgetName: string, - parameters: Models.Budget, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - budgetName, - parameters, - options - }, - createOrUpdateByResourceGroupNameOperationSpec, - callback - ) as Promise; + callback); } /** - * The operation to delete a budget. - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param callback The callback - */ - deleteByResourceGroupName( - resourceGroupName: string, - budgetName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param resourceGroupName Azure Resource Group Name. - * @param budgetName Budget Name. - * @param options The optional parameters - * @param callback The callback - */ - deleteByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - deleteByResourceGroupName( - resourceGroupName: string, - budgetName: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - budgetName, - options - }, - deleteByResourceGroupNameOperationSpec, - callback - ); - } - - /** - * Lists all budgets for a subscription. + * Lists all budgets for the defined scope. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters * @returns Promise */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback @@ -412,67 +328,15 @@ export class Budgets { * @param options The optional parameters * @param callback The callback */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, options }, listNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists all budgets for a resource group under a subscription. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByResourceGroupNameNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByResourceGroupNameNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByResourceGroupNameNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByResourceGroupNameNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByResourceGroupNameNextOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -480,28 +344,16 @@ export class Budgets { const serializer = new msRest.Serializer(Mappers); const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.BudgetsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByResourceGroupNameOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets", - urlParameters: [Parameters.subscriptionId, Parameters.resourceGroupName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/budgets", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.BudgetsListResult @@ -515,10 +367,17 @@ const listByResourceGroupNameOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/budgets/{budgetName}", + urlParameters: [ + Parameters.scope, + Parameters.budgetName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.Budget @@ -532,10 +391,17 @@ const getOperationSpec: msRest.OperationSpec = { const createOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/budgets/{budgetName}", + urlParameters: [ + Parameters.scope, + Parameters.budgetName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], requestBody: { parameterPath: "parameters", mapper: { @@ -559,72 +425,17 @@ const createOrUpdateOperationSpec: msRest.OperationSpec = { const deleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const getByResourceGroupNameOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.Budget - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const createOrUpdateByResourceGroupNameOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - requestBody: { - parameterPath: "parameters", - mapper: { - ...Mappers.Budget, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.Budget - }, - 201: { - bodyMapper: Mappers.Budget - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const deleteByResourceGroupNameOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: - "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", - urlParameters: [Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.budgetName], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/budgets/{budgetName}", + urlParameters: [ + Parameters.scope, + Parameters.budgetName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: {}, default: { @@ -638,27 +449,15 @@ const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.BudgetsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByResourceGroupNameNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.BudgetsListResult diff --git a/sdk/consumption/arm-consumption/src/operations/charges.ts b/sdk/consumption/arm-consumption/src/operations/charges.ts index 0b4be641297d..20e79ffc061c 100644 --- a/sdk/consumption/arm-consumption/src/operations/charges.ts +++ b/sdk/consumption/arm-consumption/src/operations/charges.ts @@ -26,308 +26,100 @@ export class Charges { } /** - * Lists the charges by enrollmentAccountId. - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID + * Lists the charges based for the defined scope. + * @param scope The scope associated with charges operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing + * period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For + * e.g. to specify billing period at department scope use + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - listByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - options?: Models.ChargesListByEnrollmentAccountOptionalParams - ): Promise; + list(scope: string, options?: Models.ChargesListOptionalParams): Promise; /** - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID + * @param scope The scope associated with charges operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing + * period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For + * e.g. to specify billing period at department scope use + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. * @param callback The callback */ - listByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - callback: msRest.ServiceCallback - ): void; + list(scope: string, callback: msRest.ServiceCallback): void; /** - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID + * @param scope The scope associated with charges operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing + * period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For + * e.g. to specify billing period at department scope use + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. * @param options The optional parameters * @param callback The callback */ - listByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - options: Models.ChargesListByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - options?: - | Models.ChargesListByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(scope: string, options: Models.ChargesListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, options?: Models.ChargesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { - billingAccountId, - enrollmentAccountId, + scope, options }, - listByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the charges based on enrollmentAccountId by billing period. - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - billingPeriodName: string, - options?: Models.ChargesListForBillingPeriodByEnrollmentAccountOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - billingPeriodName: string, - options: Models.ChargesListForBillingPeriodByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByEnrollmentAccount( - billingAccountId: string, - enrollmentAccountId: string, - billingPeriodName: string, - options?: - | Models.ChargesListForBillingPeriodByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - enrollmentAccountId, - billingPeriodName, - options - }, - listForBillingPeriodByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the charges by departmentId. - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param [options] The optional parameters - * @returns Promise - */ - listByDepartment( - billingAccountId: string, - departmentId: string, - options?: Models.ChargesListByDepartmentOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param callback The callback - */ - listByDepartment( - billingAccountId: string, - departmentId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param options The optional parameters - * @param callback The callback - */ - listByDepartment( - billingAccountId: string, - departmentId: string, - options: Models.ChargesListByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByDepartment( - billingAccountId: string, - departmentId: string, - options?: - | Models.ChargesListByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - departmentId, - options - }, - listByDepartmentOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the charges based on departmentId by billing period. - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByDepartment( - billingAccountId: string, - departmentId: string, - billingPeriodName: string, - options?: Models.ChargesListForBillingPeriodByDepartmentOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByDepartment( - billingAccountId: string, - departmentId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByDepartment( - billingAccountId: string, - departmentId: string, - billingPeriodName: string, - options: Models.ChargesListForBillingPeriodByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByDepartment( - billingAccountId: string, - departmentId: string, - billingPeriodName: string, - options?: - | Models.ChargesListForBillingPeriodByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - departmentId, - billingPeriodName, - options - }, - listForBillingPeriodByDepartmentOperationSpec, - callback - ) as Promise; + listOperationSpec, + callback) as Promise; } } // Operation Specifications const serializer = new msRest.Serializer(Mappers); -const listByEnrollmentAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/charges", - urlParameters: [Parameters.billingAccountId, Parameters.enrollmentAccountId], - queryParameters: [Parameters.apiVersion, Parameters.filter0], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ChargesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByEnrollmentAccountOperationSpec: msRest.OperationSpec = { +const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/charges", + path: "{scope}/providers/Microsoft.Consumption/charges", urlParameters: [ - Parameters.billingAccountId, - Parameters.enrollmentAccountId, - Parameters.billingPeriodName + Parameters.scope ], - queryParameters: [Parameters.apiVersion, Parameters.filter0], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ChargeSummary - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Consumption/charges", - urlParameters: [Parameters.billingAccountId, Parameters.departmentId], - queryParameters: [Parameters.apiVersion, Parameters.filter0], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.ChargesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/charges", - urlParameters: [ - Parameters.billingAccountId, - Parameters.departmentId, - Parameters.billingPeriodName + queryParameters: [ + Parameters.apiVersion, + Parameters.startDate0, + Parameters.endDate0, + Parameters.filter0, + Parameters.apply + ], + headerParameters: [ + Parameters.acceptLanguage ], - queryParameters: [Parameters.apiVersion, Parameters.filter0], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { - bodyMapper: Mappers.ChargeSummary + bodyMapper: Mappers.ChargesListResult }, default: { bodyMapper: Mappers.ErrorResponse diff --git a/sdk/consumption/arm-consumption/src/operations/credits.ts b/sdk/consumption/arm-consumption/src/operations/credits.ts new file mode 100644 index 000000000000..69bc405585f0 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/operations/credits.ts @@ -0,0 +1,85 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/creditsMappers"; +import * as Parameters from "../models/parameters"; +import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; + +/** Class representing a Credits. */ +export class Credits { + private readonly client: ConsumptionManagementClientContext; + + /** + * Create a Credits. + * @param {ConsumptionManagementClientContext} client Reference to the service client. + */ + constructor(client: ConsumptionManagementClientContext) { + this.client = client; + } + + /** + * The credit summary by billingAccountId and billingProfileId. + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param [options] The optional parameters + * @returns Promise + */ + get(billingAccountId: string, billingProfileId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param callback The callback + */ + get(billingAccountId: string, billingProfileId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param options The optional parameters + * @param callback The callback + */ + get(billingAccountId: string, billingProfileId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(billingAccountId: string, billingProfileId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + billingProfileId, + options + }, + getOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary", + urlParameters: [ + Parameters.billingAccountId, + Parameters.billingProfileId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CreditSummary + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/consumption/arm-consumption/src/operations/eventsOperations.ts b/sdk/consumption/arm-consumption/src/operations/eventsOperations.ts new file mode 100644 index 000000000000..ea46dee4f1ce --- /dev/null +++ b/sdk/consumption/arm-consumption/src/operations/eventsOperations.ts @@ -0,0 +1,266 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/eventsOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; + +/** Class representing a EventsOperations. */ +export class EventsOperations { + private readonly client: ConsumptionManagementClientContext; + + /** + * Create a EventsOperations. + * @param {ConsumptionManagementClientContext} client Reference to the service client. + */ + constructor(client: ConsumptionManagementClientContext) { + this.client = client; + } + + /** + * Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a + * billing account or a billing profile for a given start and end date. + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param startDate Start date + * @param endDate End date + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param startDate Start date + * @param endDate End date + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param startDate Start date + * @param endDate End date + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBillingProfile(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + billingProfileId, + startDate, + endDate, + options + }, + listByBillingProfileOperationSpec, + callback) as Promise; + } + + /** + * Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a + * billing account or a billing profile for a given start and end date. + * @param billingAccountId BillingAccount ID + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingAccount(billingAccountId: string, options?: Models.EventsListByBillingAccountOptionalParams): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param callback The callback + */ + listByBillingAccount(billingAccountId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param options The optional parameters + * @param callback The callback + */ + listByBillingAccount(billingAccountId: string, options: Models.EventsListByBillingAccountOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingAccount(billingAccountId: string, options?: Models.EventsListByBillingAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + options + }, + listByBillingAccountOperationSpec, + callback) as Promise; + } + + /** + * Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a + * billing account or a billing profile for a given start and end date. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param startDate Start date + * @param endDate End date + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfileNext(nextPageLink: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param startDate Start date + * @param endDate End date + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, startDate: string, endDate: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param startDate Start date + * @param endDate End date + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, startDate: string, endDate: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBillingProfileNext(nextPageLink: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + startDate, + endDate, + options + }, + listByBillingProfileNextOperationSpec, + callback) as Promise; + } + + /** + * Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a + * billing account or a billing profile for a given start and end date. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingAccountNext(nextPageLink: string, options?: Models.EventsListByBillingAccountNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBillingAccountNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingAccountNext(nextPageLink: string, options: Models.EventsListByBillingAccountNextOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingAccountNext(nextPageLink: string, options?: Models.EventsListByBillingAccountNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBillingAccountNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByBillingProfileOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/events", + urlParameters: [ + Parameters.billingAccountId, + Parameters.billingProfileId + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.startDate1, + Parameters.endDate1 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Events + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/events", + urlParameters: [ + Parameters.billingAccountId + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Events + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingProfileNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.startDate1, + Parameters.endDate1 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Events + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingAccountNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Events + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/consumption/arm-consumption/src/operations/forecasts.ts b/sdk/consumption/arm-consumption/src/operations/forecasts.ts index 4b122284fcfc..c813a7a2375d 100644 --- a/sdk/consumption/arm-consumption/src/operations/forecasts.ts +++ b/sdk/consumption/arm-consumption/src/operations/forecasts.ts @@ -26,7 +26,9 @@ export class Forecasts { } /** - * Lists the forecast charges by subscriptionId. + * Lists the forecast charges for scope defined. Please note that this API is no longer actively + * under development. We recommend using our new Forecast API moving forward: + * https://docs.microsoft.com/en-us/rest/api/cost-management/forecast/usage. * @param [options] The optional parameters * @returns Promise */ @@ -39,23 +41,14 @@ export class Forecasts { * @param options The optional parameters * @param callback The callback */ - list( - options: Models.ForecastsListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.ForecastsListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(options: Models.ForecastsListOptionalParams, callback: msRest.ServiceCallback): void; + list(options?: Models.ForecastsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { options }, listOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -64,9 +57,16 @@ const serializer = new msRest.Serializer(Mappers); const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ForecastsListResult diff --git a/sdk/consumption/arm-consumption/src/operations/index.ts b/sdk/consumption/arm-consumption/src/operations/index.ts index cb46c500811d..90515b9dfc4a 100644 --- a/sdk/consumption/arm-consumption/src/operations/index.ts +++ b/sdk/consumption/arm-consumption/src/operations/index.ts @@ -9,15 +9,19 @@ export * from "./usageDetails"; export * from "./marketplaces"; +export * from "./budgets"; +export * from "./tags"; +export * from "./charges"; export * from "./balances"; export * from "./reservationsSummaries"; export * from "./reservationsDetails"; export * from "./reservationRecommendations"; -export * from "./budgets"; +export * from "./reservationRecommendationDetails"; +export * from "./reservationTransactions"; export * from "./priceSheet"; -export * from "./tags"; export * from "./forecasts"; export * from "./operations"; export * from "./aggregatedCost"; -export * from "./charges"; -export * from "./tenants"; +export * from "./eventsOperations"; +export * from "./lotsOperations"; +export * from "./credits"; diff --git a/sdk/consumption/arm-consumption/src/operations/lotsOperations.ts b/sdk/consumption/arm-consumption/src/operations/lotsOperations.ts new file mode 100644 index 000000000000..e09becbfe188 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/operations/lotsOperations.ts @@ -0,0 +1,250 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/lotsOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; + +/** Class representing a LotsOperations. */ +export class LotsOperations { + private readonly client: ConsumptionManagementClientContext; + + /** + * Create a LotsOperations. + * @param {ConsumptionManagementClientContext} client Reference to the service client. + */ + constructor(client: ConsumptionManagementClientContext) { + this.client = client; + } + + /** + * Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a + * billing profile. Microsoft Azure consumption commitments are only supported for the billing + * account scope. + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBillingProfile(billingAccountId: string, billingProfileId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + billingProfileId, + options + }, + listByBillingProfileOperationSpec, + callback) as Promise; + } + + /** + * Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a + * billing profile. Microsoft Azure consumption commitments are only supported for the billing + * account scope. + * @param billingAccountId BillingAccount ID + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingAccount(billingAccountId: string, options?: Models.LotsListByBillingAccountOptionalParams): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param callback The callback + */ + listByBillingAccount(billingAccountId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param options The optional parameters + * @param callback The callback + */ + listByBillingAccount(billingAccountId: string, options: Models.LotsListByBillingAccountOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingAccount(billingAccountId: string, options?: Models.LotsListByBillingAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + options + }, + listByBillingAccountOperationSpec, + callback) as Promise; + } + + /** + * Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a + * billing profile. Microsoft Azure consumption commitments are only supported for the billing + * account scope. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByBillingProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBillingProfileNextOperationSpec, + callback) as Promise; + } + + /** + * Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a + * billing profile. Microsoft Azure consumption commitments are only supported for the billing + * account scope. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingAccountNext(nextPageLink: string, options?: Models.LotsListByBillingAccountNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBillingAccountNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingAccountNext(nextPageLink: string, options: Models.LotsListByBillingAccountNextOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingAccountNext(nextPageLink: string, options?: Models.LotsListByBillingAccountNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBillingAccountNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByBillingProfileOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/lots", + urlParameters: [ + Parameters.billingAccountId, + Parameters.billingProfileId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Lots + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/lots", + urlParameters: [ + Parameters.billingAccountId + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Lots + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingProfileNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Lots + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingAccountNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.filter0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Lots + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/consumption/arm-consumption/src/operations/marketplaces.ts b/sdk/consumption/arm-consumption/src/operations/marketplaces.ts index 14050e0d2d8c..94299dc9fc92 100644 --- a/sdk/consumption/arm-consumption/src/operations/marketplaces.ts +++ b/sdk/consumption/arm-consumption/src/operations/marketplaces.ts @@ -26,1166 +26,111 @@ export class Marketplaces { } /** - * Lists the marketplaces for a scope by subscriptionId and current billing period. Marketplaces - * are available via this API only for May 1, 2014 or later. + * Lists the marketplaces for a scope at the defined scope. Marketplaces are available via this API + * only for May 1, 2014 or later. + * @param scope The scope associated with marketplace operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and + * ManagementGroup, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' * @param [options] The optional parameters * @returns Promise */ - list(options?: Models.MarketplacesListOptionalParams): Promise; + list(scope: string, options?: Models.MarketplacesListOptionalParams): Promise; /** + * @param scope The scope associated with marketplace operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and + * ManagementGroup, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' * @param callback The callback */ - list(callback: msRest.ServiceCallback): void; + list(scope: string, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with marketplace operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and + * ManagementGroup, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' * @param options The optional parameters * @param callback The callback */ - list( - options: Models.MarketplacesListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.MarketplacesListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(scope: string, options: Models.MarketplacesListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, options?: Models.MarketplacesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, options }, listOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** - * Lists the marketplaces for a scope by billing period and subscriptionId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingPeriod( - billingPeriodName: string, - options?: Models.MarketplacesListByBillingPeriodOptionalParams - ): Promise; - /** - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listByBillingPeriod( - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingPeriod( - billingPeriodName: string, - options: Models.MarketplacesListByBillingPeriodOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingPeriod( - billingPeriodName: string, - options?: - | Models.MarketplacesListByBillingPeriodOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingPeriodName, - options - }, - listByBillingPeriodOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billingAccountId and current billing period. Marketplaces - * are available via this API only for May 1, 2014 or later. - * @param billingAccountId BillingAccount ID - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingAccount( - billingAccountId: string, - options?: Models.MarketplacesListByBillingAccountOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param callback The callback - */ - listByBillingAccount( - billingAccountId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param options The optional parameters - * @param callback The callback - */ - listByBillingAccount( - billingAccountId: string, - options: Models.MarketplacesListByBillingAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingAccount( - billingAccountId: string, - options?: - | Models.MarketplacesListByBillingAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - options - }, - listByBillingAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and billingAccountId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: Models.MarketplacesListForBillingPeriodByBillingAccountOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options: Models.MarketplacesListForBillingPeriodByBillingAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: - | Models.MarketplacesListForBillingPeriodByBillingAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - billingPeriodName, - options - }, - listForBillingPeriodByBillingAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by departmentId and current billing period. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param departmentId Department ID - * @param [options] The optional parameters - * @returns Promise - */ - listByDepartment( - departmentId: string, - options?: Models.MarketplacesListByDepartmentOptionalParams - ): Promise; - /** - * @param departmentId Department ID - * @param callback The callback - */ - listByDepartment( - departmentId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param departmentId Department ID - * @param options The optional parameters - * @param callback The callback - */ - listByDepartment( - departmentId: string, - options: Models.MarketplacesListByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByDepartment( - departmentId: string, - options?: - | Models.MarketplacesListByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - departmentId, - options - }, - listByDepartmentOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and departmentId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options?: Models.MarketplacesListForBillingPeriodByDepartmentOptionalParams - ): Promise; - /** - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options: Models.MarketplacesListForBillingPeriodByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options?: - | Models.MarketplacesListForBillingPeriodByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - departmentId, - billingPeriodName, - options - }, - listForBillingPeriodByDepartmentOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by enrollmentAccountId and current billing period. - * Marketplaces are available via this API only for May 1, 2014 or later. - * @param enrollmentAccountId EnrollmentAccount ID - * @param [options] The optional parameters - * @returns Promise - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - options?: Models.MarketplacesListByEnrollmentAccountOptionalParams - ): Promise; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param callback The callback - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param options The optional parameters - * @param callback The callback - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - options: Models.MarketplacesListByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByEnrollmentAccount( - enrollmentAccountId: string, - options?: - | Models.MarketplacesListByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - enrollmentAccountId, - options - }, - listByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and enrollmentAccountId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options?: Models.MarketplacesListForBillingPeriodByEnrollmentAccountOptionalParams - ): Promise; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options: Models.MarketplacesListForBillingPeriodByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options?: - | Models.MarketplacesListForBillingPeriodByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - enrollmentAccountId, - billingPeriodName, - options - }, - listForBillingPeriodByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplace records for all subscriptions belonging to a management group scope by - * current billing period. Marketplaces are available via this API only for May 1, 2014 or later. - * @param managementGroupId Azure Management Group ID. - * @param [options] The optional parameters - * @returns Promise - */ - listByManagementGroup( - managementGroupId: string, - options?: Models.MarketplacesListByManagementGroupOptionalParams - ): Promise; - /** - * @param managementGroupId Azure Management Group ID. - * @param callback The callback - */ - listByManagementGroup( - managementGroupId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param managementGroupId Azure Management Group ID. - * @param options The optional parameters - * @param callback The callback - */ - listByManagementGroup( - managementGroupId: string, - options: Models.MarketplacesListByManagementGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByManagementGroup( - managementGroupId: string, - options?: - | Models.MarketplacesListByManagementGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - managementGroupId, - options - }, - listByManagementGroupOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplace records for all subscriptions belonging to a management group scope by - * specified billing period. Marketplaces are available via this API only for May 1, 2014 or later. - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: Models.MarketplacesListForBillingPeriodByManagementGroupOptionalParams - ): Promise; - /** - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options: Models.MarketplacesListForBillingPeriodByManagementGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: - | Models.MarketplacesListForBillingPeriodByManagementGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - managementGroupId, - billingPeriodName, - options - }, - listForBillingPeriodByManagementGroupOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by subscriptionId and current billing period. Marketplaces - * are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: Models.MarketplacesListNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext( - nextPageLink: string, - options: Models.MarketplacesListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.MarketplacesListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and subscriptionId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingPeriodNext( - nextPageLink: string, - options?: Models.MarketplacesListByBillingPeriodNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByBillingPeriodNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingPeriodNext( - nextPageLink: string, - options: Models.MarketplacesListByBillingPeriodNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingPeriodNext( - nextPageLink: string, - options?: - | Models.MarketplacesListByBillingPeriodNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByBillingPeriodNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billingAccountId and current billing period. Marketplaces - * are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingAccountNext( - nextPageLink: string, - options?: Models.MarketplacesListByBillingAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByBillingAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingAccountNext( - nextPageLink: string, - options: Models.MarketplacesListByBillingAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingAccountNext( - nextPageLink: string, - options?: - | Models.MarketplacesListByBillingAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByBillingAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and billingAccountId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options?: Models.MarketplacesListForBillingPeriodByBillingAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options: Models.MarketplacesListForBillingPeriodByBillingAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options?: - | Models.MarketplacesListForBillingPeriodByBillingAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByBillingAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by departmentId and current billing period. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDepartmentNext( - nextPageLink: string, - options?: Models.MarketplacesListByDepartmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDepartmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByDepartmentNext( - nextPageLink: string, - options: Models.MarketplacesListByDepartmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByDepartmentNext( - nextPageLink: string, - options?: - | Models.MarketplacesListByDepartmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDepartmentNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and departmentId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options?: Models.MarketplacesListForBillingPeriodByDepartmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options: Models.MarketplacesListForBillingPeriodByDepartmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options?: - | Models.MarketplacesListForBillingPeriodByDepartmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByDepartmentNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by enrollmentAccountId and current billing period. - * Marketplaces are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByEnrollmentAccountNext( - nextPageLink: string, - options?: Models.MarketplacesListByEnrollmentAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByEnrollmentAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByEnrollmentAccountNext( - nextPageLink: string, - options: Models.MarketplacesListByEnrollmentAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByEnrollmentAccountNext( - nextPageLink: string, - options?: - | Models.MarketplacesListByEnrollmentAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByEnrollmentAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplaces for a scope by billing period and enrollmentAccountId. Marketplaces are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options?: Models.MarketplacesListForBillingPeriodByEnrollmentAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options: Models.MarketplacesListForBillingPeriodByEnrollmentAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options?: - | Models.MarketplacesListForBillingPeriodByEnrollmentAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByEnrollmentAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplace records for all subscriptions belonging to a management group scope by - * current billing period. Marketplaces are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByManagementGroupNext( - nextPageLink: string, - options?: Models.MarketplacesListByManagementGroupNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByManagementGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByManagementGroupNext( - nextPageLink: string, - options: Models.MarketplacesListByManagementGroupNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByManagementGroupNext( - nextPageLink: string, - options?: - | Models.MarketplacesListByManagementGroupNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByManagementGroupNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the marketplace records for all subscriptions belonging to a management group scope by - * specified billing period. Marketplaces are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options?: Models.MarketplacesListForBillingPeriodByManagementGroupNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options: Models.MarketplacesListForBillingPeriodByManagementGroupNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options?: - | Models.MarketplacesListForBillingPeriodByManagementGroupNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByManagementGroupNextOperationSpec, - callback - ) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.subscriptionId], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingPeriodOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.subscriptionId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.billingAccountId], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByBillingAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.billingAccountId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.departmentId], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.departmentId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByEnrollmentAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.enrollmentAccountId], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; + * Lists the marketplaces for a scope at the defined scope. Marketplaces are available via this API + * only for May 1, 2014 or later. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: Models.MarketplacesListNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: Models.MarketplacesListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.MarketplacesListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} -const listForBillingPeriodByEnrollmentAccountOperationSpec: msRest.OperationSpec = { +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.enrollmentAccountId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion + path: "{scope}/providers/Microsoft.Consumption/marketplaces", + urlParameters: [ + Parameters.scope ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByManagementGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.managementGroupId], queryParameters: [ Parameters.filter0, Parameters.top, Parameters.skiptoken, Parameters.apiVersion ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByManagementGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", - urlParameters: [Parameters.managementGroupId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion + headerParameters: [ + Parameters.acceptLanguage ], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.MarketplacesListResult @@ -1201,221 +146,18 @@ const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingPeriodNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByBillingAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByDepartmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByDepartmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByEnrollmentAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByEnrollmentAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion + urlParameters: [ + Parameters.nextPageLink ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByManagementGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], queryParameters: [ Parameters.filter0, Parameters.top, Parameters.skiptoken, Parameters.apiVersion ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.MarketplacesListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByManagementGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.filter0, - Parameters.top, - Parameters.skiptoken, - Parameters.apiVersion + headerParameters: [ + Parameters.acceptLanguage ], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.MarketplacesListResult diff --git a/sdk/consumption/arm-consumption/src/operations/operations.ts b/sdk/consumption/arm-consumption/src/operations/operations.ts index ba8bbd16333f..78f3d29fa152 100644 --- a/sdk/consumption/arm-consumption/src/operations/operations.ts +++ b/sdk/consumption/arm-consumption/src/operations/operations.ts @@ -39,21 +39,14 @@ export class Operations { * @param options The optional parameters * @param callback The callback */ - list( - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - list( - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { options }, listOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -62,41 +55,26 @@ export class Operations { * @param [options] The optional parameters * @returns Promise */ - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase - ): Promise; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param options The optional parameters * @param callback The callback */ - listNext( - nextPageLink: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, options }, listNextOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -105,8 +83,12 @@ const serializer = new msRest.Serializer(Mappers); const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "providers/Microsoft.Consumption/operations", - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.OperationListResult @@ -122,9 +104,15 @@ const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.OperationListResult diff --git a/sdk/consumption/arm-consumption/src/operations/priceSheet.ts b/sdk/consumption/arm-consumption/src/operations/priceSheet.ts index 6486e0e32bdf..6d5c3c12a33d 100644 --- a/sdk/consumption/arm-consumption/src/operations/priceSheet.ts +++ b/sdk/consumption/arm-consumption/src/operations/priceSheet.ts @@ -26,8 +26,8 @@ export class PriceSheet { } /** - * Gets the price sheet for a scope by subscriptionId. Price sheet is available via this API only - * for May 1, 2014 or later. + * Gets the price sheet for a subscription. Price sheet is available via this API only for May 1, + * 2014 or later. * @param [options] The optional parameters * @returns Promise */ @@ -40,21 +40,14 @@ export class PriceSheet { * @param options The optional parameters * @param callback The callback */ - get( - options: Models.PriceSheetGetOptionalParams, - callback: msRest.ServiceCallback - ): void; - get( - options?: Models.PriceSheetGetOptionalParams | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + get(options: Models.PriceSheetGetOptionalParams, callback: msRest.ServiceCallback): void; + get(options?: Models.PriceSheetGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { options }, getOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -64,43 +57,26 @@ export class PriceSheet { * @param [options] The optional parameters * @returns Promise */ - getByBillingPeriod( - billingPeriodName: string, - options?: Models.PriceSheetGetByBillingPeriodOptionalParams - ): Promise; + getByBillingPeriod(billingPeriodName: string, options?: Models.PriceSheetGetByBillingPeriodOptionalParams): Promise; /** * @param billingPeriodName Billing Period Name. * @param callback The callback */ - getByBillingPeriod( - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; + getByBillingPeriod(billingPeriodName: string, callback: msRest.ServiceCallback): void; /** * @param billingPeriodName Billing Period Name. * @param options The optional parameters * @param callback The callback */ - getByBillingPeriod( - billingPeriodName: string, - options: Models.PriceSheetGetByBillingPeriodOptionalParams, - callback: msRest.ServiceCallback - ): void; - getByBillingPeriod( - billingPeriodName: string, - options?: - | Models.PriceSheetGetByBillingPeriodOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + getByBillingPeriod(billingPeriodName: string, options: Models.PriceSheetGetByBillingPeriodOptionalParams, callback: msRest.ServiceCallback): void; + getByBillingPeriod(billingPeriodName: string, options?: Models.PriceSheetGetByBillingPeriodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { billingPeriodName, options }, getByBillingPeriodOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -109,9 +85,18 @@ const serializer = new msRest.Serializer(Mappers); const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.expand, Parameters.skiptoken, Parameters.top, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.expand, + Parameters.skiptoken, + Parameters.top, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.PriceSheetResult @@ -125,11 +110,20 @@ const getOperationSpec: msRest.OperationSpec = { const getByBillingPeriodOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default", - urlParameters: [Parameters.subscriptionId, Parameters.billingPeriodName], - queryParameters: [Parameters.expand, Parameters.skiptoken, Parameters.top, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default", + urlParameters: [ + Parameters.subscriptionId, + Parameters.billingPeriodName + ], + queryParameters: [ + Parameters.expand, + Parameters.skiptoken, + Parameters.top, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.PriceSheetResult diff --git a/sdk/consumption/arm-consumption/src/operations/reservationRecommendationDetails.ts b/sdk/consumption/arm-consumption/src/operations/reservationRecommendationDetails.ts new file mode 100644 index 000000000000..7012e4e57671 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/operations/reservationRecommendationDetails.ts @@ -0,0 +1,130 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/reservationRecommendationDetailsMappers"; +import * as Parameters from "../models/parameters"; +import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; + +/** Class representing a ReservationRecommendationDetails. */ +export class ReservationRecommendationDetails { + private readonly client: ConsumptionManagementClientContext; + + /** + * Create a ReservationRecommendationDetails. + * @param {ConsumptionManagementClientContext} client Reference to the service client. + */ + constructor(client: ConsumptionManagementClientContext) { + this.client = client; + } + + /** + * Details of a reservation recommendation for what-if analysis of reserved instances. + * @param scope The scope associated with reservation recommendation details operations. This + * includes '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope + * @param scope1 Scope of the reservation. Possible values include: 'Single', 'Shared' + * @param region Used to select the region the recommendation should be generated for. + * @param term Specify length of reservation recommendation term. Possible values include: 'P1Y', + * 'P3Y' + * @param lookBackPeriod Filter the time period on which reservation recommendation results are + * based. Possible values include: 'Last07Days', 'Last30Days', 'Last60Days' + * @param product Filter the products for which reservation recommendation results are generated. + * Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks) + * @param [options] The optional parameters + * @returns Promise + */ + get(scope: string, scope1: Models.Scope12, region: string, term: Models.Term, lookBackPeriod: Models.LookBackPeriod, product: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param scope The scope associated with reservation recommendation details operations. This + * includes '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope + * @param scope1 Scope of the reservation. Possible values include: 'Single', 'Shared' + * @param region Used to select the region the recommendation should be generated for. + * @param term Specify length of reservation recommendation term. Possible values include: 'P1Y', + * 'P3Y' + * @param lookBackPeriod Filter the time period on which reservation recommendation results are + * based. Possible values include: 'Last07Days', 'Last30Days', 'Last60Days' + * @param product Filter the products for which reservation recommendation results are generated. + * Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks) + * @param callback The callback + */ + get(scope: string, scope1: Models.Scope12, region: string, term: Models.Term, lookBackPeriod: Models.LookBackPeriod, product: string, callback: msRest.ServiceCallback): void; + /** + * @param scope The scope associated with reservation recommendation details operations. This + * includes '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope + * @param scope1 Scope of the reservation. Possible values include: 'Single', 'Shared' + * @param region Used to select the region the recommendation should be generated for. + * @param term Specify length of reservation recommendation term. Possible values include: 'P1Y', + * 'P3Y' + * @param lookBackPeriod Filter the time period on which reservation recommendation results are + * based. Possible values include: 'Last07Days', 'Last30Days', 'Last60Days' + * @param product Filter the products for which reservation recommendation results are generated. + * Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks) + * @param options The optional parameters + * @param callback The callback + */ + get(scope: string, scope1: Models.Scope12, region: string, term: Models.Term, lookBackPeriod: Models.LookBackPeriod, product: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(scope: string, scope1: Models.Scope12, region: string, term: Models.Term, lookBackPeriod: Models.LookBackPeriod, product: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + scope, + scope1, + region, + term, + lookBackPeriod, + product, + options + }, + getOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.scope1, + Parameters.region, + Parameters.term, + Parameters.lookBackPeriod, + Parameters.product + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationRecommendationDetailsModel + }, + 204: {}, + default: { + bodyMapper: Mappers.HighCasedErrorResponse + } + }, + serializer +}; diff --git a/sdk/consumption/arm-consumption/src/operations/reservationRecommendations.ts b/sdk/consumption/arm-consumption/src/operations/reservationRecommendations.ts index 0251b1883aff..68a0748eb829 100644 --- a/sdk/consumption/arm-consumption/src/operations/reservationRecommendations.ts +++ b/sdk/consumption/arm-consumption/src/operations/reservationRecommendations.ts @@ -27,37 +27,45 @@ export class ReservationRecommendations { /** * List of recommendations for purchasing reserved instances. + * @param scope The scope associated with reservation recommendations operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope * @param [options] The optional parameters * @returns Promise */ - list( - options?: Models.ReservationRecommendationsListOptionalParams - ): Promise; + list(scope: string, options?: Models.ReservationRecommendationsListOptionalParams): Promise; /** + * @param scope The scope associated with reservation recommendations operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope * @param callback The callback */ - list(callback: msRest.ServiceCallback): void; + list(scope: string, callback: msRest.ServiceCallback): void; /** + * @param scope The scope associated with reservation recommendations operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope * @param options The optional parameters * @param callback The callback */ - list( - options: Models.ReservationRecommendationsListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.ReservationRecommendationsListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + list(scope: string, options: Models.ReservationRecommendationsListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, options?: Models.ReservationRecommendationsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { + scope, options }, listOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -66,43 +74,26 @@ export class ReservationRecommendations { * @param [options] The optional parameters * @returns Promise */ - listNext( - nextPageLink: string, - options?: Models.ReservationRecommendationsListNextOptionalParams - ): Promise; + listNext(nextPageLink: string, options?: Models.ReservationRecommendationsListNextOptionalParams): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param options The optional parameters * @param callback The callback */ - listNext( - nextPageLink: string, - options: Models.ReservationRecommendationsListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.ReservationRecommendationsListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listNext(nextPageLink: string, options: Models.ReservationRecommendationsListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.ReservationRecommendationsListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, options }, listNextOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -110,14 +101,22 @@ export class ReservationRecommendations { const serializer = new msRest.Serializer(Mappers); const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations", - urlParameters: [Parameters.subscriptionId], - queryParameters: [Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/reservationRecommendations", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationRecommendationsListResult }, + 204: {}, default: { bodyMapper: Mappers.ErrorResponse } @@ -129,13 +128,21 @@ const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationRecommendationsListResult }, + 204: {}, default: { bodyMapper: Mappers.ErrorResponse } diff --git a/sdk/consumption/arm-consumption/src/operations/reservationTransactions.ts b/sdk/consumption/arm-consumption/src/operations/reservationTransactions.ts new file mode 100644 index 000000000000..6e17f90d9463 --- /dev/null +++ b/sdk/consumption/arm-consumption/src/operations/reservationTransactions.ts @@ -0,0 +1,244 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/reservationTransactionsMappers"; +import * as Parameters from "../models/parameters"; +import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; + +/** Class representing a ReservationTransactions. */ +export class ReservationTransactions { + private readonly client: ConsumptionManagementClientContext; + + /** + * Create a ReservationTransactions. + * @param {ConsumptionManagementClientContext} client Reference to the service client. + */ + constructor(client: ConsumptionManagementClientContext) { + this.client = client; + } + + /** + * List of transactions for reserved instances on billing account scope + * @param billingAccountId BillingAccount ID + * @param [options] The optional parameters + * @returns Promise + */ + list(billingAccountId: string, options?: Models.ReservationTransactionsListOptionalParams): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param callback The callback + */ + list(billingAccountId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param options The optional parameters + * @param callback The callback + */ + list(billingAccountId: string, options: Models.ReservationTransactionsListOptionalParams, callback: msRest.ServiceCallback): void; + list(billingAccountId: string, options?: Models.ReservationTransactionsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * List of transactions for reserved instances on billing account scope + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, options?: Models.ReservationTransactionsListByBillingProfileOptionalParams): Promise; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, callback: msRest.ServiceCallback): void; + /** + * @param billingAccountId BillingAccount ID + * @param billingProfileId Azure Billing Profile ID. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfile(billingAccountId: string, billingProfileId: string, options: Models.ReservationTransactionsListByBillingProfileOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingProfile(billingAccountId: string, billingProfileId: string, options?: Models.ReservationTransactionsListByBillingProfileOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + billingAccountId, + billingProfileId, + options + }, + listByBillingProfileOperationSpec, + callback) as Promise; + } + + /** + * List of transactions for reserved instances on billing account scope + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: Models.ReservationTransactionsListNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: Models.ReservationTransactionsListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.ReservationTransactionsListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } + + /** + * List of transactions for reserved instances on billing account scope + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByBillingProfileNext(nextPageLink: string, options?: Models.ReservationTransactionsListByBillingProfileNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByBillingProfileNext(nextPageLink: string, options: Models.ReservationTransactionsListByBillingProfileNextOptionalParams, callback: msRest.ServiceCallback): void; + listByBillingProfileNext(nextPageLink: string, options?: Models.ReservationTransactionsListByBillingProfileNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByBillingProfileNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationTransactions", + urlParameters: [ + Parameters.billingAccountId + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationTransactionsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingProfileOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/reservationTransactions", + urlParameters: [ + Parameters.billingAccountId, + Parameters.billingProfileId + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ModernReservationTransactionsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationTransactionsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listByBillingProfileNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ModernReservationTransactionsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; diff --git a/sdk/consumption/arm-consumption/src/operations/reservationsDetails.ts b/sdk/consumption/arm-consumption/src/operations/reservationsDetails.ts index 3f3eb2a7bb59..54231efe08f3 100644 --- a/sdk/consumption/arm-consumption/src/operations/reservationsDetails.ts +++ b/sdk/consumption/arm-consumption/src/operations/reservationsDetails.ts @@ -33,22 +33,14 @@ export class ReservationsDetails { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrder( - reservationOrderId: string, - filter: string, - options?: msRest.RequestOptionsBase - ): Promise; + listByReservationOrder(reservationOrderId: string, filter: string, options?: msRest.RequestOptionsBase): Promise; /** * @param reservationOrderId Order Id of the reservation * @param filter Filter reservation details by date range. The properties/UsageDate for start date * and end date. The filter supports 'le' and 'ge' * @param callback The callback */ - listByReservationOrder( - reservationOrderId: string, - filter: string, - callback: msRest.ServiceCallback - ): void; + listByReservationOrder(reservationOrderId: string, filter: string, callback: msRest.ServiceCallback): void; /** * @param reservationOrderId Order Id of the reservation * @param filter Filter reservation details by date range. The properties/UsageDate for start date @@ -56,20 +48,8 @@ export class ReservationsDetails { * @param options The optional parameters * @param callback The callback */ - listByReservationOrder( - reservationOrderId: string, - filter: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByReservationOrder( - reservationOrderId: string, - filter: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrder(reservationOrderId: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByReservationOrder(reservationOrderId: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { reservationOrderId, @@ -77,8 +57,7 @@ export class ReservationsDetails { options }, listByReservationOrderOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -90,12 +69,7 @@ export class ReservationsDetails { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - filter: string, - options?: msRest.RequestOptionsBase - ): Promise; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, filter: string, options?: msRest.RequestOptionsBase): Promise; /** * @param reservationOrderId Order Id of the reservation * @param reservationId Id of the reservation @@ -103,12 +77,7 @@ export class ReservationsDetails { * and end date. The filter supports 'le' and 'ge' * @param callback The callback */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - filter: string, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, filter: string, callback: msRest.ServiceCallback): void; /** * @param reservationOrderId Order Id of the reservation * @param reservationId Id of the reservation @@ -117,22 +86,8 @@ export class ReservationsDetails { * @param options The optional parameters * @param callback The callback */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - filter: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - filter: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { reservationOrderId, @@ -141,8 +96,47 @@ export class ReservationsDetails { options }, listByReservationOrderAndReservationOperationSpec, - callback - ) as Promise; + callback) as Promise; + } + + /** + * Lists the reservations details for the defined scope and provided date range. + * @param scope The scope associated with reservations details operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param [options] The optional parameters + * @returns Promise + */ + list(scope: string, options?: Models.ReservationsDetailsListOptionalParams): Promise; + /** + * @param scope The scope associated with reservations details operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param callback The callback + */ + list(scope: string, callback: msRest.ServiceCallback): void; + /** + * @param scope The scope associated with reservations details operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param options The optional parameters + * @param callback The callback + */ + list(scope: string, options: Models.ReservationsDetailsListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, options?: Models.ReservationsDetailsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + scope, + options + }, + listOperationSpec, + callback) as Promise; } /** @@ -153,22 +147,14 @@ export class ReservationsDetails { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderNext( - nextPageLink: string, - filter: string, - options?: msRest.RequestOptionsBase - ): Promise; + listByReservationOrderNext(nextPageLink: string, filter: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param filter Filter reservation details by date range. The properties/UsageDate for start date * and end date. The filter supports 'le' and 'ge' * @param callback The callback */ - listByReservationOrderNext( - nextPageLink: string, - filter: string, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderNext(nextPageLink: string, filter: string, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param filter Filter reservation details by date range. The properties/UsageDate for start date @@ -176,20 +162,8 @@ export class ReservationsDetails { * @param options The optional parameters * @param callback The callback */ - listByReservationOrderNext( - nextPageLink: string, - filter: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderNext( - nextPageLink: string, - filter: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderNext(nextPageLink: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByReservationOrderNext(nextPageLink: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -197,8 +171,7 @@ export class ReservationsDetails { options }, listByReservationOrderNextOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -209,22 +182,14 @@ export class ReservationsDetails { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - filter: string, - options?: msRest.RequestOptionsBase - ): Promise; + listByReservationOrderAndReservationNext(nextPageLink: string, filter: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param filter Filter reservation details by date range. The properties/UsageDate for start date * and end date. The filter supports 'le' and 'ge' * @param callback The callback */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - filter: string, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderAndReservationNext(nextPageLink: string, filter: string, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param filter Filter reservation details by date range. The properties/UsageDate for start date @@ -232,20 +197,8 @@ export class ReservationsDetails { * @param options The optional parameters * @param callback The callback */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - filter: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderAndReservationNext( - nextPageLink: string, - filter: string, - options?: - | msRest.RequestOptionsBase - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderAndReservationNext(nextPageLink: string, filter: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByReservationOrderAndReservationNext(nextPageLink: string, filter: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -253,8 +206,35 @@ export class ReservationsDetails { options }, listByReservationOrderAndReservationNextOperationSpec, - callback - ) as Promise; + callback) as Promise; + } + + /** + * Lists the reservations details for the defined scope and provided date range. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: Models.ReservationsDetailsListNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: Models.ReservationsDetailsListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.ReservationsDetailsListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; } } @@ -262,11 +242,17 @@ export class ReservationsDetails { const serializer = new msRest.Serializer(Mappers); const listByReservationOrderOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails", - urlParameters: [Parameters.reservationOrderId], - queryParameters: [Parameters.filter1, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails", + urlParameters: [ + Parameters.reservationOrderId0 + ], + queryParameters: [ + Parameters.filter1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationDetailsListResult @@ -280,11 +266,46 @@ const listByReservationOrderOperationSpec: msRest.OperationSpec = { const listByReservationOrderAndReservationOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails", - urlParameters: [Parameters.reservationOrderId, Parameters.reservationId], - queryParameters: [Parameters.filter1, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails", + urlParameters: [ + Parameters.reservationOrderId0, + Parameters.reservationId0 + ], + queryParameters: [ + Parameters.filter1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationDetailsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "{scope}/providers/Microsoft.Consumption/reservationDetails", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.startDate0, + Parameters.endDate0, + Parameters.filter0, + Parameters.reservationId1, + Parameters.reservationOrderId1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationDetailsListResult @@ -300,9 +321,16 @@ const listByReservationOrderNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.filter1, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.filter1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationDetailsListResult @@ -318,9 +346,45 @@ const listByReservationOrderAndReservationNextOperationSpec: msRest.OperationSpe httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.filter1, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.filter1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationDetailsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.startDate0, + Parameters.endDate0, + Parameters.filter0, + Parameters.reservationId1, + Parameters.reservationOrderId1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationDetailsListResult diff --git a/sdk/consumption/arm-consumption/src/operations/reservationsSummaries.ts b/sdk/consumption/arm-consumption/src/operations/reservationsSummaries.ts index 884abf8b1256..12455eefb0c6 100644 --- a/sdk/consumption/arm-consumption/src/operations/reservationsSummaries.ts +++ b/sdk/consumption/arm-consumption/src/operations/reservationsSummaries.ts @@ -32,41 +32,21 @@ export class ReservationsSummaries { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrder( - reservationOrderId: string, - grain: Models.Datagrain, - options?: Models.ReservationsSummariesListByReservationOrderOptionalParams - ): Promise; + listByReservationOrder(reservationOrderId: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderOptionalParams): Promise; /** * @param reservationOrderId Order Id of the reservation * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param callback The callback */ - listByReservationOrder( - reservationOrderId: string, - grain: Models.Datagrain, - callback: msRest.ServiceCallback - ): void; + listByReservationOrder(reservationOrderId: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; /** * @param reservationOrderId Order Id of the reservation * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param options The optional parameters * @param callback The callback */ - listByReservationOrder( - reservationOrderId: string, - grain: Models.Datagrain, - options: Models.ReservationsSummariesListByReservationOrderOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByReservationOrder( - reservationOrderId: string, - grain: Models.Datagrain, - options?: - | Models.ReservationsSummariesListByReservationOrderOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrder(reservationOrderId: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListByReservationOrderOptionalParams, callback: msRest.ServiceCallback): void; + listByReservationOrder(reservationOrderId: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { reservationOrderId, @@ -74,8 +54,7 @@ export class ReservationsSummaries { options }, listByReservationOrderOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -86,24 +65,14 @@ export class ReservationsSummaries { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - grain: Models.Datagrain, - options?: Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams - ): Promise; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams): Promise; /** * @param reservationOrderId Order Id of the reservation * @param reservationId Id of the reservation * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param callback The callback */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - grain: Models.Datagrain, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; /** * @param reservationOrderId Order Id of the reservation * @param reservationId Id of the reservation @@ -111,22 +80,8 @@ export class ReservationsSummaries { * @param options The optional parameters * @param callback The callback */ - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - grain: Models.Datagrain, - options: Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderAndReservation( - reservationOrderId: string, - reservationId: string, - grain: Models.Datagrain, - options?: - | Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams, callback: msRest.ServiceCallback): void; + listByReservationOrderAndReservation(reservationOrderId: string, reservationId: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderAndReservationOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { reservationOrderId, @@ -135,8 +90,51 @@ export class ReservationsSummaries { options }, listByReservationOrderAndReservationOperationSpec, - callback - ) as Promise; + callback) as Promise; + } + + /** + * Lists the reservations summaries for the defined scope daily or monthly grain. + * @param scope The scope associated with reservations summaries operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param [options] The optional parameters + * @returns Promise + */ + list(scope: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListOptionalParams): Promise; + /** + * @param scope The scope associated with reservations summaries operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param callback The callback + */ + list(scope: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; + /** + * @param scope The scope associated with reservations summaries operations. This includes + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope + * (legacy), and + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for BillingProfile scope (modern). + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param options The optional parameters + * @param callback The callback + */ + list(scope: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + scope, + grain, + options + }, + listOperationSpec, + callback) as Promise; } /** @@ -146,41 +144,21 @@ export class ReservationsSummaries { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderNext( - nextPageLink: string, - grain: Models.Datagrain, - options?: Models.ReservationsSummariesListByReservationOrderNextOptionalParams - ): Promise; + listByReservationOrderNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderNextOptionalParams): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param callback The callback */ - listByReservationOrderNext( - nextPageLink: string, - grain: Models.Datagrain, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderNext(nextPageLink: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param options The optional parameters * @param callback The callback */ - listByReservationOrderNext( - nextPageLink: string, - grain: Models.Datagrain, - options: Models.ReservationsSummariesListByReservationOrderNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderNext( - nextPageLink: string, - grain: Models.Datagrain, - options?: - | Models.ReservationsSummariesListByReservationOrderNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderNext(nextPageLink: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListByReservationOrderNextOptionalParams, callback: msRest.ServiceCallback): void; + listByReservationOrderNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -188,8 +166,7 @@ export class ReservationsSummaries { options }, listByReservationOrderNextOperationSpec, - callback - ) as Promise; + callback) as Promise; } /** @@ -199,41 +176,21 @@ export class ReservationsSummaries { * @param [options] The optional parameters * @returns Promise */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - grain: Models.Datagrain, - options?: Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams - ): Promise; + listByReservationOrderAndReservationNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams): Promise; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param callback The callback */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - grain: Models.Datagrain, - callback: msRest.ServiceCallback - ): void; + listByReservationOrderAndReservationNext(nextPageLink: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' * @param options The optional parameters * @param callback The callback */ - listByReservationOrderAndReservationNext( - nextPageLink: string, - grain: Models.Datagrain, - options: Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByReservationOrderAndReservationNext( - nextPageLink: string, - grain: Models.Datagrain, - options?: - | Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + listByReservationOrderAndReservationNext(nextPageLink: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams, callback: msRest.ServiceCallback): void; + listByReservationOrderAndReservationNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListByReservationOrderAndReservationNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextPageLink, @@ -241,8 +198,39 @@ export class ReservationsSummaries { options }, listByReservationOrderAndReservationNextOperationSpec, - callback - ) as Promise; + callback) as Promise; + } + + /** + * Lists the reservations summaries for the defined scope daily or monthly grain. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param callback The callback + */ + listNext(nextPageLink: string, grain: Models.Datagrain, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param grain Can be daily or monthly. Possible values include: 'DailyGrain', 'MonthlyGrain' + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, grain: Models.Datagrain, options: Models.ReservationsSummariesListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, grain: Models.Datagrain, options?: Models.ReservationsSummariesListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + grain, + options + }, + listNextOperationSpec, + callback) as Promise; } } @@ -250,11 +238,18 @@ export class ReservationsSummaries { const serializer = new msRest.Serializer(Mappers); const listByReservationOrderOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries", - urlParameters: [Parameters.reservationOrderId], - queryParameters: [Parameters.grain, Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries", + urlParameters: [ + Parameters.reservationOrderId0 + ], + queryParameters: [ + Parameters.grain, + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationSummariesListResult @@ -268,11 +263,48 @@ const listByReservationOrderOperationSpec: msRest.OperationSpec = { const listByReservationOrderAndReservationOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries", - urlParameters: [Parameters.reservationOrderId, Parameters.reservationId], - queryParameters: [Parameters.grain, Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries", + urlParameters: [ + Parameters.reservationOrderId0, + Parameters.reservationId0 + ], + queryParameters: [ + Parameters.grain, + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationSummariesListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "{scope}/providers/Microsoft.Consumption/reservationSummaries", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.grain, + Parameters.startDate0, + Parameters.endDate0, + Parameters.filter0, + Parameters.reservationId1, + Parameters.reservationOrderId1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationSummariesListResult @@ -288,9 +320,17 @@ const listByReservationOrderNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.grain, Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.grain, + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationSummariesListResult @@ -306,9 +346,47 @@ const listByReservationOrderAndReservationNextOperationSpec: msRest.OperationSpe httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [Parameters.grain, Parameters.filter0, Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.grain, + Parameters.filter0, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ReservationSummariesListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + queryParameters: [ + Parameters.grain, + Parameters.startDate0, + Parameters.endDate0, + Parameters.filter0, + Parameters.reservationId1, + Parameters.reservationOrderId1, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.ReservationSummariesListResult diff --git a/sdk/consumption/arm-consumption/src/operations/tags.ts b/sdk/consumption/arm-consumption/src/operations/tags.ts index 67a71e3fcd11..ba9375de145f 100644 --- a/sdk/consumption/arm-consumption/src/operations/tags.ts +++ b/sdk/consumption/arm-consumption/src/operations/tags.ts @@ -26,43 +26,58 @@ export class Tags { } /** - * Get all available tag keys for a billing account. - * @param billingAccountId BillingAccount ID + * Get all available tag keys for the defined scope + * @param scope The scope associated with tags operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope and + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope.. * @param [options] The optional parameters * @returns Promise */ - get( - billingAccountId: string, - options?: msRest.RequestOptionsBase - ): Promise; + get(scope: string, options?: msRest.RequestOptionsBase): Promise; /** - * @param billingAccountId BillingAccount ID + * @param scope The scope associated with tags operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope and + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope.. * @param callback The callback */ - get(billingAccountId: string, callback: msRest.ServiceCallback): void; + get(scope: string, callback: msRest.ServiceCallback): void; /** - * @param billingAccountId BillingAccount ID + * @param scope The scope associated with tags operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for + * Department scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' + * for EnrollmentAccount scope and + * '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group + * scope.. * @param options The optional parameters * @param callback The callback */ - get( - billingAccountId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( - billingAccountId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { + get(scope: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(scope: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { - billingAccountId, + scope, options }, getOperationSpec, - callback - ) as Promise; + callback) as Promise; } } @@ -70,15 +85,21 @@ export class Tags { const serializer = new msRest.Serializer(Mappers); const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags", - urlParameters: [Parameters.billingAccountId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], + path: "{scope}/providers/Microsoft.Consumption/tags", + urlParameters: [ + Parameters.scope + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], responses: { 200: { bodyMapper: Mappers.TagsResult }, + 204: {}, default: { bodyMapper: Mappers.ErrorResponse } diff --git a/sdk/consumption/arm-consumption/src/operations/tenants.ts b/sdk/consumption/arm-consumption/src/operations/tenants.ts deleted file mode 100644 index d05a1527540a..000000000000 --- a/sdk/consumption/arm-consumption/src/operations/tenants.ts +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/tenantsMappers"; -import * as Parameters from "../models/parameters"; -import { ConsumptionManagementClientContext } from "../consumptionManagementClientContext"; - -/** Class representing a Tenants. */ -export class Tenants { - private readonly client: ConsumptionManagementClientContext; - - /** - * Create a Tenants. - * @param {ConsumptionManagementClientContext} client Reference to the service client. - */ - constructor(client: ConsumptionManagementClientContext) { - this.client = client; - } - - /** - * Gets a Tenant Properties. - * @param billingAccountId Billing Account Id. - * @param billingProfileId Billing Profile Id. - * @param [options] The optional parameters - * @returns Promise - */ - get( - billingAccountId: string, - billingProfileId: string, - options?: msRest.RequestOptionsBase - ): Promise; - /** - * @param billingAccountId Billing Account Id. - * @param billingProfileId Billing Profile Id. - * @param callback The callback - */ - get( - billingAccountId: string, - billingProfileId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId Billing Account Id. - * @param billingProfileId Billing Profile Id. - * @param options The optional parameters - * @param callback The callback - */ - get( - billingAccountId: string, - billingProfileId: string, - options: msRest.RequestOptionsBase, - callback: msRest.ServiceCallback - ): void; - get( - billingAccountId: string, - billingProfileId: string, - options?: msRest.RequestOptionsBase | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - billingProfileId, - options - }, - getOperationSpec, - callback - ) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/tenants", - urlParameters: [Parameters.billingAccountId, Parameters.billingProfileId], - queryParameters: [Parameters.apiVersion], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.TenantListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; diff --git a/sdk/consumption/arm-consumption/src/operations/usageDetails.ts b/sdk/consumption/arm-consumption/src/operations/usageDetails.ts index 68cb3a7d6122..30030ca62a14 100644 --- a/sdk/consumption/arm-consumption/src/operations/usageDetails.ts +++ b/sdk/consumption/arm-consumption/src/operations/usageDetails.ts @@ -26,1356 +26,137 @@ export class UsageDetails { } /** - * Lists the usage details for a scope by current billing period. Usage details are available via - * this API only for May 1, 2014 or later. + * Lists the usage details for the defined scope. Usage details are available via this API only for + * May 1, 2014 or later. + * @param scope The scope associated with usage details operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and management + * group, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. * @param [options] The optional parameters * @returns Promise */ - list(options?: Models.UsageDetailsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list( - options: Models.UsageDetailsListOptionalParams, - callback: msRest.ServiceCallback - ): void; - list( - options?: - | Models.UsageDetailsListOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details for a scope by billing period. Usage details are available via this API - * only for May 1, 2014 or later. - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingPeriod( - billingPeriodName: string, - options?: Models.UsageDetailsListByBillingPeriodOptionalParams - ): Promise; - /** - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listByBillingPeriod( - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingPeriod( - billingPeriodName: string, - options: Models.UsageDetailsListByBillingPeriodOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingPeriod( - billingPeriodName: string, - options?: - | Models.UsageDetailsListByBillingPeriodOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingPeriodName, - options - }, - listByBillingPeriodOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by billingAccountId for a scope by current billing period. Usage details - * are available via this API only for May 1, 2014 or later. - * @param billingAccountId BillingAccount ID - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingAccount( - billingAccountId: string, - options?: Models.UsageDetailsListByBillingAccountOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param callback The callback - */ - listByBillingAccount( - billingAccountId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param options The optional parameters - * @param callback The callback - */ - listByBillingAccount( - billingAccountId: string, - options: Models.UsageDetailsListByBillingAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingAccount( - billingAccountId: string, - options?: - | Models.UsageDetailsListByBillingAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - options - }, - listByBillingAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on billingAccountId for a scope by billing period. Usage details - * are available via this API only for May 1, 2014 or later. - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: Models.UsageDetailsListForBillingPeriodByBillingAccountOptionalParams - ): Promise; - /** - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param billingAccountId BillingAccount ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options: Models.UsageDetailsListForBillingPeriodByBillingAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByBillingAccount( - billingAccountId: string, - billingPeriodName: string, - options?: - | Models.UsageDetailsListForBillingPeriodByBillingAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - billingAccountId, - billingPeriodName, - options - }, - listForBillingPeriodByBillingAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by departmentId for a scope by current billing period. Usage details are - * available via this API only for May 1, 2014 or later. - * @param departmentId Department ID - * @param [options] The optional parameters - * @returns Promise - */ - listByDepartment( - departmentId: string, - options?: Models.UsageDetailsListByDepartmentOptionalParams - ): Promise; - /** - * @param departmentId Department ID - * @param callback The callback - */ - listByDepartment( - departmentId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param departmentId Department ID - * @param options The optional parameters - * @param callback The callback - */ - listByDepartment( - departmentId: string, - options: Models.UsageDetailsListByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByDepartment( - departmentId: string, - options?: - | Models.UsageDetailsListByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - departmentId, - options - }, - listByDepartmentOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on departmentId for a scope by billing period. Usage details are - * available via this API only for May 1, 2014 or later. - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options?: Models.UsageDetailsListForBillingPeriodByDepartmentOptionalParams - ): Promise; - /** - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param departmentId Department ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options: Models.UsageDetailsListForBillingPeriodByDepartmentOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByDepartment( - departmentId: string, - billingPeriodName: string, - options?: - | Models.UsageDetailsListForBillingPeriodByDepartmentOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - departmentId, - billingPeriodName, - options - }, - listForBillingPeriodByDepartmentOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by enrollmentAccountId for a scope by current billing period. Usage - * details are available via this API only for May 1, 2014 or later. - * @param enrollmentAccountId EnrollmentAccount ID - * @param [options] The optional parameters - * @returns Promise - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - options?: Models.UsageDetailsListByEnrollmentAccountOptionalParams - ): Promise; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param callback The callback - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param options The optional parameters - * @param callback The callback - */ - listByEnrollmentAccount( - enrollmentAccountId: string, - options: Models.UsageDetailsListByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByEnrollmentAccount( - enrollmentAccountId: string, - options?: - | Models.UsageDetailsListByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - enrollmentAccountId, - options - }, - listByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on enrollmentAccountId for a scope by billing period. Usage - * details are available via this API only for May 1, 2014 or later. - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options?: Models.UsageDetailsListForBillingPeriodByEnrollmentAccountOptionalParams - ): Promise; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param enrollmentAccountId EnrollmentAccount ID - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options: Models.UsageDetailsListForBillingPeriodByEnrollmentAccountOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByEnrollmentAccount( - enrollmentAccountId: string, - billingPeriodName: string, - options?: - | Models.UsageDetailsListForBillingPeriodByEnrollmentAccountOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - enrollmentAccountId, - billingPeriodName, - options - }, - listForBillingPeriodByEnrollmentAccountOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage detail records for all subscriptions belonging to a management group scope by - * current billing period. Usage details are available via this API only for May 1, 2014 or later. - * @param managementGroupId Azure Management Group ID. - * @param [options] The optional parameters - * @returns Promise - */ - listByManagementGroup( - managementGroupId: string, - options?: Models.UsageDetailsListByManagementGroupOptionalParams - ): Promise; - /** - * @param managementGroupId Azure Management Group ID. - * @param callback The callback - */ - listByManagementGroup( - managementGroupId: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param managementGroupId Azure Management Group ID. - * @param options The optional parameters - * @param callback The callback - */ - listByManagementGroup( - managementGroupId: string, - options: Models.UsageDetailsListByManagementGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByManagementGroup( - managementGroupId: string, - options?: - | Models.UsageDetailsListByManagementGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - managementGroupId, - options - }, - listByManagementGroupOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage detail records for all subscriptions belonging to a management group scope by - * specified billing period. Usage details are available via this API only for May 1, 2014 or - * later. - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: Models.UsageDetailsListForBillingPeriodByManagementGroupOptionalParams - ): Promise; - /** - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param callback The callback - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param managementGroupId Azure Management Group ID. - * @param billingPeriodName Billing Period Name. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options: Models.UsageDetailsListForBillingPeriodByManagementGroupOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByManagementGroup( - managementGroupId: string, - billingPeriodName: string, - options?: - | Models.UsageDetailsListForBillingPeriodByManagementGroupOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - managementGroupId, - billingPeriodName, - options - }, - listForBillingPeriodByManagementGroupOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details for a scope by current billing period. Usage details are available via - * this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext( - nextPageLink: string, - options?: Models.UsageDetailsListNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext( - nextPageLink: string, - options: Models.UsageDetailsListNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details for a scope by billing period. Usage details are available via this API - * only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingPeriodNext( - nextPageLink: string, - options?: Models.UsageDetailsListByBillingPeriodNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByBillingPeriodNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingPeriodNext( - nextPageLink: string, - options: Models.UsageDetailsListByBillingPeriodNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingPeriodNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListByBillingPeriodNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByBillingPeriodNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by billingAccountId for a scope by current billing period. Usage details - * are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByBillingAccountNext( - nextPageLink: string, - options?: Models.UsageDetailsListByBillingAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByBillingAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByBillingAccountNext( - nextPageLink: string, - options: Models.UsageDetailsListByBillingAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByBillingAccountNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListByBillingAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByBillingAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on billingAccountId for a scope by billing period. Usage details - * are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options?: Models.UsageDetailsListForBillingPeriodByBillingAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options: Models.UsageDetailsListForBillingPeriodByBillingAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByBillingAccountNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListForBillingPeriodByBillingAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByBillingAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by departmentId for a scope by current billing period. Usage details are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByDepartmentNext( - nextPageLink: string, - options?: Models.UsageDetailsListByDepartmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByDepartmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByDepartmentNext( - nextPageLink: string, - options: Models.UsageDetailsListByDepartmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByDepartmentNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListByDepartmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByDepartmentNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on departmentId for a scope by billing period. Usage details are - * available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options?: Models.UsageDetailsListForBillingPeriodByDepartmentNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options: Models.UsageDetailsListForBillingPeriodByDepartmentNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByDepartmentNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListForBillingPeriodByDepartmentNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByDepartmentNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details by enrollmentAccountId for a scope by current billing period. Usage - * details are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByEnrollmentAccountNext( - nextPageLink: string, - options?: Models.UsageDetailsListByEnrollmentAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByEnrollmentAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByEnrollmentAccountNext( - nextPageLink: string, - options: Models.UsageDetailsListByEnrollmentAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByEnrollmentAccountNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListByEnrollmentAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByEnrollmentAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage details based on enrollmentAccountId for a scope by billing period. Usage - * details are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options?: Models.UsageDetailsListForBillingPeriodByEnrollmentAccountNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options: Models.UsageDetailsListForBillingPeriodByEnrollmentAccountNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByEnrollmentAccountNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListForBillingPeriodByEnrollmentAccountNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByEnrollmentAccountNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage detail records for all subscriptions belonging to a management group scope by - * current billing period. Usage details are available via this API only for May 1, 2014 or later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByManagementGroupNext( - nextPageLink: string, - options?: Models.UsageDetailsListByManagementGroupNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByManagementGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listByManagementGroupNext( - nextPageLink: string, - options: Models.UsageDetailsListByManagementGroupNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listByManagementGroupNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListByManagementGroupNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByManagementGroupNextOperationSpec, - callback - ) as Promise; - } - - /** - * Lists the usage detail records for all subscriptions belonging to a management group scope by - * specified billing period. Usage details are available via this API only for May 1, 2014 or - * later. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options?: Models.UsageDetailsListForBillingPeriodByManagementGroupNextOptionalParams - ): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - callback: msRest.ServiceCallback - ): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options: Models.UsageDetailsListForBillingPeriodByManagementGroupNextOptionalParams, - callback: msRest.ServiceCallback - ): void; - listForBillingPeriodByManagementGroupNext( - nextPageLink: string, - options?: - | Models.UsageDetailsListForBillingPeriodByManagementGroupNextOptionalParams - | msRest.ServiceCallback, - callback?: msRest.ServiceCallback - ): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listForBillingPeriodByManagementGroupNextOperationSpec, - callback - ) as Promise; - } -} - -// Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.subscriptionId], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingPeriodOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.subscriptionId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.billingAccountId], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByBillingAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.billingAccountId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.departmentId], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByDepartmentOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.departmentId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByEnrollmentAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.enrollmentAccountId], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; + list(scope: string, options?: Models.UsageDetailsListOptionalParams): Promise; + /** + * @param scope The scope associated with usage details operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and management + * group, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. + * @param callback The callback + */ + list(scope: string, callback: msRest.ServiceCallback): void; + /** + * @param scope The scope associated with usage details operations. This includes + * '/subscriptions/{subscriptionId}/' for subscription scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, + * '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, + * '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount + * scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management + * Group scope. For subscription, billing account, department, enrollment account and management + * group, you can also add billing period to the scope using + * '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing + * period at department scope use + * '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. + * Also, Modern Commerce Account scopes are + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, + * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' + * for billingProfile scope, + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' + * for invoiceSection scope, and + * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific + * for partners. + * @param options The optional parameters + * @param callback The callback + */ + list(scope: string, options: Models.UsageDetailsListOptionalParams, callback: msRest.ServiceCallback): void; + list(scope: string, options?: Models.UsageDetailsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + scope, + options + }, + listOperationSpec, + callback) as Promise; + } -const listForBillingPeriodByEnrollmentAccountOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.enrollmentAccountId, Parameters.billingPeriodName], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; + /** + * Lists the usage details for the defined scope. Usage details are available via this API only for + * May 1, 2014 or later. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: Models.UsageDetailsListNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: Models.UsageDetailsListNextOptionalParams, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: Models.UsageDetailsListNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} -const listByManagementGroupOperationSpec: msRest.OperationSpec = { +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.managementGroupId], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion, - Parameters.apply + path: "{scope}/providers/Microsoft.Consumption/usageDetails", + urlParameters: [ + Parameters.scope ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByManagementGroupOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: - "providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", - urlParameters: [Parameters.managementGroupId, Parameters.billingPeriodName], queryParameters: [ Parameters.expand, Parameters.filter0, Parameters.skiptoken, Parameters.top, Parameters.apiVersion, - Parameters.apply - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingPeriodNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByBillingAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByBillingAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByDepartmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion - ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByDepartmentNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion + Parameters.metric ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByEnrollmentAccountNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion + headerParameters: [ + Parameters.acceptLanguage ], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.UsageDetailsListResult @@ -1387,67 +168,24 @@ const listByEnrollmentAccountNextOperationSpec: msRest.OperationSpec = { serializer }; -const listForBillingPeriodByEnrollmentAccountNextOperationSpec: msRest.OperationSpec = { +const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion + urlParameters: [ + Parameters.nextPageLink ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listByManagementGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], queryParameters: [ Parameters.expand, Parameters.filter0, Parameters.skiptoken, Parameters.top, - Parameters.apiVersion + Parameters.apiVersion, + Parameters.metric ], - headerParameters: [Parameters.acceptLanguage], - responses: { - 200: { - bodyMapper: Mappers.UsageDetailsListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - serializer -}; - -const listForBillingPeriodByManagementGroupNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [Parameters.nextPageLink], - queryParameters: [ - Parameters.expand, - Parameters.filter0, - Parameters.skiptoken, - Parameters.top, - Parameters.apiVersion + headerParameters: [ + Parameters.acceptLanguage ], - headerParameters: [Parameters.acceptLanguage], responses: { 200: { bodyMapper: Mappers.UsageDetailsListResult