From 203c499f485a4442e6b006e4f02f6f0701d5e0ae Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 7 Jun 2021 17:24:39 +0000 Subject: [PATCH] CodeGen from PR 14453 in Azure/azure-rest-api-specs Merge 2caa8f85942d71cde1aec87ffa731f45b5ce988d into 10c93ad91d3f44f62f2568a5b480c538a7c15daf --- sdk/consumption/arm-consumption/README.md | 134 +- sdk/consumption/arm-consumption/package.json | 7 +- .../arm-consumption/rollup.config.js | 10 +- .../src/consumptionManagementClient.ts | 39 +- .../src/consumptionManagementClientContext.ts | 29 +- .../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, 9316 insertions(+), 7488 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 de366b0db722..13b66b66de9f 100644 --- a/sdk/consumption/arm-consumption/README.md +++ b/sdk/consumption/arm-consumption/README.md @@ -1,70 +1,77 @@ ## Azure ConsumptionManagementClient SDK for JavaScript -This package contains an isomorphic SDK for ConsumptionManagementClient. +This package contains an isomorphic SDK (runs both in node.js and in browsers) for ConsumptionManagementClient. ### Currently supported environments -- Node.js version 6.x.x or higher +- Node.js version 8.x.x or higher - Browser JavaScript -### How to Install +### Prerequisites +You must have an [Azure subscription](https://azure.microsoft.com/free/). + +### How to install + +To use this SDK in your project, you will need to install two packages. +- `@azure/arm-consumption` that contains the client. +- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory. + +Install both packages using the below command: ```bash -npm install @azure/arm-consumption +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. ### How to use -#### nodejs - client creation and list usageDetails as an example written in TypeScript. +- If you are writing a client side browser application, + - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions. + - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below. +- If you are writing a server side application, + - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples) + - Complete the set up steps required by the credential if any. + - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below. -##### Install @azure/ms-rest-nodeauth - -- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. - -```bash -npm install @azure/ms-rest-nodeauth@"^3.0.0" -``` +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 -While the below sample uses the interactive login, other authentication options can be found in the [README.md file of @azure/ms-rest-nodeauth](https://www.npmjs.com/package/@azure/ms-rest-nodeauth) package - -```typescript -const msRestNodeAuth = require("@azure/ms-rest-nodeauth"); +```javascript +const { DefaultAzureCredential } = require("@azure/identity"); const { ConsumptionManagementClient } = require("@azure/arm-consumption"); const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; -msRestNodeAuth - .interactiveLogin() - .then((creds) => { - const client = new ConsumptionManagementClient(creds, subscriptionId); - 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) => { - console.log("The result is:"); - console.log(result); - }); - }) - .catch((err) => { - console.error(err); - }); +// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples +// 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 metric = "actualcost"; +client.usageDetails.list(scope, expand, filter, skiptoken, top, metric).then((result) => { + console.log("The result is:"); + console.log(result); +}).catch((err) => { + console.log("An error occurred:"); + console.error(err); +}); ``` -#### browser - Authentication, client creation and list usageDetails as an example written in JavaScript. - -##### Install @azure/ms-rest-browserauth +#### browser - Authentication, client creation, and list usageDetails as an example written in JavaScript. -```bash -npm install @azure/ms-rest-browserauth -``` +In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser. + - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser. + - Note down the client Id from the previous step and use it in the browser sample below. ##### Sample code -See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - - index.html ```html @@ -72,40 +79,31 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to @azure/arm-consumption sample - - + diff --git a/sdk/consumption/arm-consumption/package.json b/sdk/consumption/arm-consumption/package.json index 0630b1c7652d..570df6b731eb 100644 --- a/sdk/consumption/arm-consumption/package.json +++ b/sdk/consumption/arm-consumption/package.json @@ -4,8 +4,9 @@ "description": "ConsumptionManagementClient Library with typescript type definitions for node.js and browser.", "version": "7.0.0", "dependencies": { - "@azure/ms-rest-azure-js": "^2.0.1", - "@azure/ms-rest-js": "^2.0.4", + "@azure/ms-rest-azure-js": "^2.1.0", + "@azure/ms-rest-js": "^2.2.0", + "@azure/core-auth": "^1.1.4", "tslib": "^1.10.0" }, "keywords": [ @@ -20,7 +21,7 @@ "module": "./esm/consumptionManagementClient.js", "types": "./esm/consumptionManagementClient.d.ts", "devDependencies": { - "typescript": "^3.5.3", + "typescript": "^3.6.0", "rollup": "^1.18.0", "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-sourcemaps": "^0.4.2", 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 b22a01878ab6..c2d8b3402f0a 100644 --- a/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts +++ b/sdk/consumption/arm-consumption/src/consumptionManagementClient.ts @@ -8,54 +8,65 @@ */ import * as msRest from "@azure/ms-rest-js"; +import { TokenCredential } from "@azure/core-auth"; import * as Models from "./models"; 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. - * @param credentials Credentials needed for the client to connect to Azure. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. * @param subscriptionId Azure Subscription ID. * @param [options] The parameter options */ - constructor( - credentials: msRest.ServiceClientCredentials, - 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 3a780eadfee0..8d0e3d59634a 100644 --- a/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts +++ b/sdk/consumption/arm-consumption/src/consumptionManagementClientContext.ts @@ -10,31 +10,33 @@ import * as Models from "./models"; import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; +import { TokenCredential } from "@azure/core-auth"; const packageName = "@azure/arm-consumption"; const packageVersion = "7.0.0"; export class ConsumptionManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials; + credentials: msRest.ServiceClientCredentials | TokenCredential; apiVersion?: string; subscriptionId: string; /** * Initializes a new instance of the ConsumptionManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. + * @param credentials Credentials needed for the client to connect to Azure. Credentials + * implementing the TokenCredential interface from the @azure/identity package are recommended. For + * more information about these credentials, see + * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the + * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and + * @azure/ms-rest-browserauth are also supported. * @param subscriptionId Azure Subscription ID. * @param [options] The parameter options */ - constructor( - credentials: msRest.ServiceClientCredentials, - 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) { @@ -47,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"; @@ -58,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