diff --git a/packages/@azure/arm-consumption/.npmignore b/packages/@azure/arm-consumption/.npmignore index 3b46bc6202d8..a07a455ac10c 100644 --- a/packages/@azure/arm-consumption/.npmignore +++ b/packages/@azure/arm-consumption/.npmignore @@ -1,35 +1,35 @@ -#git -.git -.gitignore -#gulp -gulpfile.js -#documentation -doc/ -docs/ -#dependencies -node_modules/ -#samples -sample/ -samples/ -#tests -test/ -tests/ -coverage/ -#tools and scripts -tools/ -scripts/ -#IDE settings -*.sln -.vscode/ -.idea -.editorconfig -.ntvs_analysis.* -#build tools -.travis.yml -.jenkins.yml -.codeclimate.yml -appveyor.yml -# Nuget packages # -.nuget/ -packages/ -packages.config +#git +.git +.gitignore +#gulp +gulpfile.js +#documentation +doc/ +docs/ +#dependencies +node_modules/ +#samples +sample/ +samples/ +#tests +test/ +tests/ +coverage/ +#tools and scripts +tools/ +scripts/ +#IDE settings +*.sln +.vscode/ +.idea +.editorconfig +.ntvs_analysis.* +#build tools +.travis.yml +.jenkins.yml +.codeclimate.yml +appveyor.yml +# Nuget packages # +.nuget/ +packages/ +packages.config diff --git a/packages/@azure/arm-consumption/LICENSE.txt b/packages/@azure/arm-consumption/LICENSE.txt index a70e8cf66038..5431ba98b936 100644 --- a/packages/@azure/arm-consumption/LICENSE.txt +++ b/packages/@azure/arm-consumption/LICENSE.txt @@ -1,21 +1,21 @@ -The MIT License (MIT) - -Copyright (c) 2018 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The MIT License (MIT) + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/@azure/arm-consumption/README.md b/packages/@azure/arm-consumption/README.md index f4d88be16eee..980e59f07dea 100644 --- a/packages/@azure/arm-consumption/README.md +++ b/packages/@azure/arm-consumption/README.md @@ -1,87 +1,77 @@ -# Azure ConsumptionManagementClient SDK for JavaScript -This package contains an isomorphic SDK for ConsumptionManagementClient. - -## Currently supported environments -- Node.js version 6.x.x or higher -- Browser JavaScript - -## How to Install -``` -npm install @azure/arm-consumption -``` - - -## How to use - -### nodejs - Authentication, client creation and list usageDetails as an example written in TypeScript. - -```ts -import * as msRest from "ms-rest-js"; -import * as msRestAzure from "ms-rest-azure-js"; -import * as msRestNodeAuth from "ms-rest-nodeauth"; -import { ConsumptionManagementClient, ConsumptionManagementModels, ConsumptionManagementMappers } from "@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); -}); -``` - -### browser - Authentication, client creation and list usageDetails as an example written in JavaScript. -See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - -- index.html -```html - - - - @azure/arm-consumption sample - - - - - - - - - -``` - -# Related projects - - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) +# Azure ConsumptionManagementClient SDK for JavaScript +This package contains an isomorphic SDK for ConsumptionManagementClient. + +## Currently supported environments +- Node.js version 6.x.x or higher +- Browser JavaScript + +## How to Install +``` +npm install @azure/arm-consumption +``` + + +## How to use + +### nodejs - Authentication, client creation and list usageDetails as an example written in TypeScript. + +```ts +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as msRestNodeAuth from "ms-rest-nodeauth"; +import { ConsumptionManagementClient, ConsumptionManagementModels, ConsumptionManagementMappers } from "@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); +}); +``` + +### browser - Authentication, client creation and list usageDetails as an example written in JavaScript. + +- index.html +```html + + + + @azure/arm-consumption sample + + + + + + + + +``` + +# Related projects + - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/arm-consumption/lib/consumptionManagementClientContext.ts b/packages/@azure/arm-consumption/lib/consumptionManagementClientContext.ts index 98ff6cc2b6b4..d62d2dde430f 100644 --- a/packages/@azure/arm-consumption/lib/consumptionManagementClientContext.ts +++ b/packages/@azure/arm-consumption/lib/consumptionManagementClientContext.ts @@ -46,7 +46,7 @@ export class ConsumptionManagementClientContext extends msRestAzure.AzureService } super(credentials, options); - this.apiVersion = '2018-08-31'; + this.apiVersion = '2018-10-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/packages/@azure/arm-consumption/lib/models/index.ts b/packages/@azure/arm-consumption/lib/models/index.ts index 7316cac02485..79a80b6e6d2e 100644 --- a/packages/@azure/arm-consumption/lib/models/index.ts +++ b/packages/@azure/arm-consumption/lib/models/index.ts @@ -83,188 +83,6 @@ export interface MeterDetails { readonly serviceTier?: string; } -/** - * @interface - * An interface representing UsageDetailProperties. - * The properties of the usage detail. - * - */ -export interface UsageDetailProperties { - /** - * @member {string} [billingPeriodId] 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; - /** - * @member {string} [invoiceId] The id of the invoice resource that the usage - * belongs to. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly invoiceId?: string; - /** - * @member {Date} [usageStart] 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.** - */ - readonly usageStart?: Date; - /** - * @member {Date} [usageEnd] 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.** - */ - readonly usageEnd?: Date; - /** - * @member {string} [instanceName] 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 instanceName?: string; - /** - * @member {string} [instanceId] 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 instanceId?: string; - /** - * @member {string} [instanceLocation] The location 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 instanceLocation?: string; - /** - * @member {string} [currency] 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; - /** - * @member {number} [usageQuantity] The quantity of usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageQuantity?: number; - /** - * @member {number} [billableQuantity] The billable usage quantity. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly billableQuantity?: number; - /** - * @member {number} [pretaxCost] The amount of cost before tax. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly pretaxCost?: number; - /** - * @member {boolean} [isEstimated] The estimated usage is subject to change. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly isEstimated?: boolean; - /** - * @member {string} [meterId] The meter id (GUID). - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly meterId?: string; - /** - * @member {MeterDetails} [meterDetails] 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; - /** - * @member {string} [subscriptionGuid] Subscription guid. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly subscriptionGuid?: string; - /** - * @member {string} [subscriptionName] Subscription name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly subscriptionName?: string; - /** - * @member {string} [accountName] Account name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly accountName?: string; - /** - * @member {string} [departmentName] Department name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly departmentName?: string; - /** - * @member {string} [product] Product name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly product?: string; - /** - * @member {string} [consumedService] Consumed service name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly consumedService?: string; - /** - * @member {string} [costCenter] 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; - /** - * @member {string} [partNumber] Part Number - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly partNumber?: string; - /** - * @member {string} [resourceGuid] Resource Guid - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly resourceGuid?: string; - /** - * @member {string} [offerId] Offer Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly offerId?: string; - /** - * @member {boolean} [chargesBilledSeparately] Charges billed separately - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly chargesBilledSeparately?: boolean; - /** - * @member {string} [location] Resource Location - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly location?: string; - /** - * @member {string} [additionalProperties] 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; -} - /** * @interface * An interface representing Resource. @@ -484,11 +302,12 @@ export interface UsageDetail extends Resource { /** * @interface - * An interface representing MarketplaceProperties. - * The properties of the marketplace usage detail. + * An interface representing Marketplace. + * An marketplace resource. * + * @extends Resource */ -export interface MarketplaceProperties { +export interface Marketplace extends Resource { /** * @member {string} [billingPeriodId] The id of the billing period resource * that the usage belongs to. @@ -652,257 +471,89 @@ export interface MarketplaceProperties { /** * @interface - * An interface representing Marketplace. - * An marketplace resource. - * - * @extends Resource + * An interface representing BalancePropertiesNewPurchasesDetailsItem. */ -export interface Marketplace extends Resource { +export interface BalancePropertiesNewPurchasesDetailsItem { /** - * @member {string} [billingPeriodId] The id of the billing period resource - * that the usage belongs to. + * @member {string} [name] the name of new purchase. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly billingPeriodId?: string; + readonly name?: string; /** - * @member {Date} [usageStart] The start of the date time range covered by - * the usage detail. + * @member {number} [value] the value of new purchase. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly usageStart?: Date; + readonly value?: number; +} + +/** + * @interface + * An interface representing BalancePropertiesAdjustmentDetailsItem. + */ +export interface BalancePropertiesAdjustmentDetailsItem { /** - * @member {Date} [usageEnd] The end of the date time range covered by the - * usage detail. + * @member {string} [name] the name of new adjustment. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly usageEnd?: Date; + readonly name?: string; /** - * @member {number} [resourceRate] The marketplace resource rate. + * @member {number} [value] the value of new adjustment. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly resourceRate?: number; + readonly value?: number; +} + +/** + * @interface + * An interface representing Balance. + * A balance resource. + * + * @extends Resource + */ +export interface Balance extends Resource { /** - * @member {string} [offerName] The type of offer. + * @member {string} [currency] 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 offerName?: string; + readonly currency?: string; /** - * @member {string} [resourceGroup] The name of resource group. + * @member {number} [beginningBalance] The beginning balance for the billing + * period. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly resourceGroup?: string; + readonly beginningBalance?: number; /** - * @member {string} [orderNumber] The order number. + * @member {number} [endingBalance] 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 orderNumber?: string; + readonly endingBalance?: number; /** - * @member {string} [instanceName] The name of the resource instance that the - * usage is about. + * @member {number} [newPurchases] Total new purchase amount. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly instanceName?: string; + readonly newPurchases?: number; /** - * @member {string} [instanceId] The uri of the resource instance that the - * usage is about. + * @member {number} [adjustments] Total adjustment amount. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly instanceId?: string; + readonly adjustments?: number; /** - * @member {string} [currency] The ISO currency in which the meter is - * charged, for example, USD. + * @member {number} [utilized] Total Commitment usage. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly currency?: string; - /** - * @member {number} [consumedQuantity] The quantity of usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly consumedQuantity?: number; - /** - * @member {string} [unitOfMeasure] The unit of measure. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly unitOfMeasure?: string; - /** - * @member {number} [pretaxCost] The amount of cost before tax. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly pretaxCost?: number; - /** - * @member {boolean} [isEstimated] The estimated usage is subject to change. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly isEstimated?: boolean; - /** - * @member {string} [meterId] The meter id (GUID). - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly meterId?: string; - /** - * @member {string} [subscriptionGuid] Subscription guid. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly subscriptionGuid?: string; - /** - * @member {string} [subscriptionName] Subscription name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly subscriptionName?: string; - /** - * @member {string} [accountName] Account name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly accountName?: string; - /** - * @member {string} [departmentName] Department name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly departmentName?: string; - /** - * @member {string} [consumedService] Consumed service name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly consumedService?: string; - /** - * @member {string} [costCenter] 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; - /** - * @member {string} [additionalProperties] 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; - /** - * @member {string} [publisherName] The name of publisher. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly publisherName?: string; - /** - * @member {string} [planName] The name of plan. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly planName?: string; - /** - * @member {boolean} [isRecurringCharge] 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; -} - -/** - * @interface - * An interface representing BalancePropertiesNewPurchasesDetailsItem. - */ -export interface BalancePropertiesNewPurchasesDetailsItem { - /** - * @member {string} [name] the name of new purchase. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly name?: string; - /** - * @member {number} [value] the value of new purchase. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly value?: number; -} - -/** - * @interface - * An interface representing BalancePropertiesAdjustmentDetailsItem. - */ -export interface BalancePropertiesAdjustmentDetailsItem { - /** - * @member {string} [name] the name of new adjustment. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly name?: string; - /** - * @member {number} [value] the value of new adjustment. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly value?: number; -} - -/** - * @interface - * An interface representing BalanceProperties. - * The properties of the balance. - * - */ -export interface BalanceProperties { - /** - * @member {string} [currency] 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; - /** - * @member {number} [beginningBalance] The beginning balance for the billing - * period. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly beginningBalance?: number; - /** - * @member {number} [endingBalance] 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 endingBalance?: number; - /** - * @member {number} [newPurchases] Total new purchase amount. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly newPurchases?: number; - /** - * @member {number} [adjustments] Total adjustment amount. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly adjustments?: number; - /** - * @member {number} [utilized] Total Commitment usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly utilized?: number; + readonly utilized?: number; /** * @member {number} [serviceOverage] Overage for Azure services. * **NOTE: This property will not be serialized. It can only be populated by @@ -961,192 +612,6 @@ export interface BalanceProperties { readonly adjustmentDetails?: BalancePropertiesAdjustmentDetailsItem[]; } -/** - * @interface - * An interface representing Balance. - * A balance resource. - * - * @extends Resource - */ -export interface Balance extends Resource { - /** - * @member {string} [currency] 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; - /** - * @member {number} [beginningBalance] The beginning balance for the billing - * period. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly beginningBalance?: number; - /** - * @member {number} [endingBalance] 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 endingBalance?: number; - /** - * @member {number} [newPurchases] Total new purchase amount. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly newPurchases?: number; - /** - * @member {number} [adjustments] Total adjustment amount. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly adjustments?: number; - /** - * @member {number} [utilized] Total Commitment usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly utilized?: number; - /** - * @member {number} [serviceOverage] Overage for Azure services. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly serviceOverage?: number; - /** - * @member {number} [chargesBilledSeparately] Charges Billed separately. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly chargesBilledSeparately?: number; - /** - * @member {number} [totalOverage] serviceOverage + chargesBilledSeparately. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly totalOverage?: number; - /** - * @member {number} [totalUsage] Azure service commitment + total Overage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly totalUsage?: number; - /** - * @member {number} [azureMarketplaceServiceCharges] Total charges for Azure - * Marketplace. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly azureMarketplaceServiceCharges?: number; - /** - * @member {BillingFrequency} [billingFrequency] The billing frequency. - * Possible values include: 'Month', 'Quarter', 'Year' - */ - billingFrequency?: BillingFrequency; - /** - * @member {boolean} [priceHidden] Price is hidden or not. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly priceHidden?: boolean; - /** - * @member {BalancePropertiesNewPurchasesDetailsItem[]} [newPurchasesDetails] - * List of new purchases. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly newPurchasesDetails?: BalancePropertiesNewPurchasesDetailsItem[]; - /** - * @member {BalancePropertiesAdjustmentDetailsItem[]} [adjustmentDetails] - * List of Adjustments (Promo credit, SIE credit etc.). - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly adjustmentDetails?: BalancePropertiesAdjustmentDetailsItem[]; -} - -/** - * @interface - * An interface representing ReservationSummaryProperties. - * The properties of the reservation summary. - * - */ -export interface ReservationSummaryProperties { - /** - * @member {string} [reservationOrderId] 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; - /** - * @member {string} [reservationId] 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 reservationId?: string; - /** - * @member {string} [skuName] This is the ARM Sku name. It can be used to - * join with the servicetype field in additoinalinfo in usage records. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly skuName?: string; - /** - * @member {number} [reservedHours] 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 reservedHours?: number; - /** - * @member {Date} [usageDate] 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 usageDate?: Date; - /** - * @member {number} [usedHours] Total used hours by the reservation - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usedHours?: number; - /** - * @member {number} [minUtilizationPercentage] 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 minUtilizationPercentage?: number; - /** - * @member {number} [avgUtilizationPercentage] 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 avgUtilizationPercentage?: number; - /** - * @member {number} [maxUtilizationPercentage] 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 maxUtilizationPercentage?: number; -} - /** * @interface * An interface representing ReservationSummary. @@ -1229,75 +694,6 @@ export interface ReservationSummary extends Resource { readonly maxUtilizationPercentage?: number; } -/** - * @interface - * An interface representing ReservationDetailProperties. - * The properties of the reservation detail. - * - */ -export interface ReservationDetailProperties { - /** - * @member {string} [reservationOrderId] 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; - /** - * @member {string} [reservationId] 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 reservationId?: string; - /** - * @member {string} [skuName] This is the ARM Sku name. It can be used to - * join with the servicetype field in additoinalinfo in usage records. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly skuName?: string; - /** - * @member {number} [reservedHours] 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.** - */ - readonly reservedHours?: number; - /** - * @member {Date} [usageDate] The date on which consumption occurred. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageDate?: Date; - /** - * @member {number} [usedHours] This is the total hours used by the instance. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usedHours?: number; - /** - * @member {string} [instanceId] 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.** - */ - readonly instanceId?: string; - /** - * @member {number} [totalReservedQuantity] 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; -} - /** * @interface * An interface representing ReservationDetail. @@ -1324,116 +720,48 @@ export interface ReservationDetail extends Resource { * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly reservationId?: string; - /** - * @member {string} [skuName] This is the ARM Sku name. It can be used to - * join with the servicetype field in additoinalinfo in usage records. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly skuName?: string; - /** - * @member {number} [reservedHours] 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.** - */ - readonly reservedHours?: number; - /** - * @member {Date} [usageDate] The date on which consumption occurred. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageDate?: Date; - /** - * @member {number} [usedHours] This is the total hours used by the instance. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usedHours?: number; - /** - * @member {string} [instanceId] 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.** - */ - readonly instanceId?: string; - /** - * @member {number} [totalReservedQuantity] 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; -} - -/** - * @interface - * An interface representing ReservationRecommendationProperties. - * The properties of the reservation recommendation. - * - */ -export interface ReservationRecommendationProperties { - /** - * @member {string} [lookBackPeriod] 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; - /** - * @member {string} [meterId] The meter id (GUID) - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly meterId?: string; - /** - * @member {string} [term] 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; + readonly reservationId?: string; /** - * @member {number} [costWithNoReservedInstances] The total amount of cost - * without reserved instances. + * @member {string} [skuName] This is the ARM Sku name. It can be used to + * join with the servicetype field in additoinalinfo in usage records. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly costWithNoReservedInstances?: number; + readonly skuName?: string; /** - * @member {number} [recommendedQuantity] Recomended quality for reserved - * instances. + * @member {number} [reservedHours] 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.** */ - readonly recommendedQuantity?: number; + readonly reservedHours?: number; /** - * @member {number} [totalCostWithReservedInstances] The total amount of cost - * with reserved instances. + * @member {Date} [usageDate] The date on which consumption occurred. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly totalCostWithReservedInstances?: number; + readonly usageDate?: Date; /** - * @member {number} [netSavings] Total estimated savings with reserved - * instances. + * @member {number} [usedHours] This is the total hours used by the instance. * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ - readonly netSavings?: number; + readonly usedHours?: number; /** - * @member {Date} [firstUsageDate] The usage date for looking back. + * @member {string} [instanceId] 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.** */ - readonly firstUsageDate?: Date; + readonly instanceId?: string; /** - * @member {string} [scope] Shared or single recommendation. + * @member {number} [totalReservedQuantity] 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 scope?: string; + readonly totalReservedQuantity?: number; } /** @@ -1553,19 +881,6 @@ export interface Tag { key?: string; } -/** - * @interface - * An interface representing TagProperties. - * The properties of the tag. - * - */ -export interface TagProperties { - /** - * @member {Tag[]} [tags] A list of Tag. - */ - tags?: Tag[]; -} - /** * @interface * An interface representing ProxyResource. @@ -1721,57 +1036,6 @@ export interface Notification { contactGroups?: string[]; } -/** - * @interface - * An interface representing BudgetProperties. - * The properties of the budget. - * - */ -export interface BudgetProperties { - /** - * @member {CategoryType} category The category of the budget, whether the - * budget tracks cost or usage. Possible values include: 'Cost', 'Usage' - */ - category: CategoryType; - /** - * @member {number} amount The total amount of cost to track with the budget - */ - amount: number; - /** - * @member {TimeGrainType} timeGrain The time covered by a budget. Tracking - * of the amount will be reset based on the time grain. Possible values - * include: 'Monthly', 'Quarterly', 'Annually' - */ - timeGrain: TimeGrainType; - /** - * @member {BudgetTimePeriod} timePeriod 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 preiod. There are no restrictions on the - * end date. - */ - timePeriod: BudgetTimePeriod; - /** - * @member {Filters} [filters] May be used to filter budgets by resource - * group, resource, or meter. - */ - filters?: Filters; - /** - * @member {CurrentSpend} [currentSpend] 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; - /** - * @member {{ [propertyName: string]: Notification }} [notifications] - * Dictionary of notifications associated with the budget. Budget can have up - * to five notifications. - */ - notifications?: { [propertyName: string]: Notification }; -} - /** * @interface * An interface representing Budget. @@ -1889,28 +1153,6 @@ export interface PriceSheetProperties { readonly offerId?: string; } -/** - * @interface - * An interface representing PriceSheetModel. - * price sheet result. It contains the pricesheet associated with billing - * period - * - */ -export interface PriceSheetModel { - /** - * @member {PriceSheetProperties[]} [pricesheets] Price sheet - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly pricesheets?: PriceSheetProperties[]; - /** - * @member {string} [nextLink] 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 * An interface representing PriceSheetResult. @@ -1958,52 +1200,6 @@ export interface ForecastPropertiesConfidenceLevelsItem { readonly value?: number; } -/** - * @interface - * An interface representing ForecastProperties. - * The properties of the forecast charge. - * - */ -export interface ForecastProperties { - /** - * @member {string} [usageDate] The usage date of the forecast. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageDate?: string; - /** - * @member {Grain} [grain] The granularity of forecast. Possible values - * include: 'Daily', 'Monthly', 'Yearly' - */ - grain?: Grain; - /** - * @member {number} [charge] The amount of charge - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly charge?: number; - /** - * @member {string} [currency] 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; - /** - * @member {ChargeType} [chargeType] The type of the charge. Could be actual - * or forecast. Possible values include: 'Actual', 'Forecast' - */ - chargeType?: ChargeType; - /** - * @member {ForecastPropertiesConfidenceLevelsItem[]} [confidenceLevels] 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[]; -} - /** * @interface * An interface representing Forecast. @@ -2051,66 +1247,6 @@ export interface Forecast extends Resource { readonly confidenceLevels?: ForecastPropertiesConfidenceLevelsItem[]; } -/** - * @interface - * An interface representing ManagementGroupAggregatedCostProperties. - * The properties of the Management Group Aggregated Cost. - * - */ -export interface ManagementGroupAggregatedCostProperties { - /** - * @member {string} [billingPeriodId] 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; - /** - * @member {Date} [usageStart] 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; - /** - * @member {Date} [usageEnd] 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; - /** - * @member {number} [azureCharges] Azure Charges. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly azureCharges?: number; - /** - * @member {number} [marketplaceCharges] Marketplace Charges. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly marketplaceCharges?: number; - /** - * @member {number} [chargesBilledSeparately] Charges Billed Separately. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly chargesBilledSeparately?: number; - /** - * @member {string} [currency] 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; - /** - * @member {ManagementGroupAggregatedCostResult[]} [children] Children of a - * management group - */ - children?: ManagementGroupAggregatedCostResult[]; -} - /** * @interface * An interface representing ManagementGroupAggregatedCostResult. @@ -2170,58 +1306,16 @@ export interface ManagementGroupAggregatedCostResult extends Resource { * management group */ children?: ManagementGroupAggregatedCostResult[]; -} - -/** - * @interface - * An interface representing ChargeSummaryProperties. - * The properties of the charge summary. - * - */ -export interface ChargeSummaryProperties { - /** - * @member {string} [billingPeriodId] 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; /** - * @member {string} [usageStart] Usage start date. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageStart?: string; - /** - * @member {string} [usageEnd] Usage end date. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly usageEnd?: string; - /** - * @member {number} [azureCharges] Azure Charges. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly azureCharges?: number; - /** - * @member {number} [chargesBilledSeparately] Charges Billed separately. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** - */ - readonly chargesBilledSeparately?: number; - /** - * @member {number} [marketplaceCharges] Marketplace Charges. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * @member {string[]} [includedSubscriptions] List of subscription Guids + * included in the calculation of aggregated cost */ - readonly marketplaceCharges?: number; + includedSubscriptions?: string[]; /** - * @member {string} [currency] Currency Code - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * @member {string[]} [excludedSubscriptions] List of subscription Guids + * excluded from the calculation of aggregated cost */ - readonly currency?: string; + excludedSubscriptions?: string[]; } /** diff --git a/packages/@azure/arm-consumption/lib/models/mappers.ts b/packages/@azure/arm-consumption/lib/models/mappers.ts index ed01f2f46276..93f55c00decc 100644 --- a/packages/@azure/arm-consumption/lib/models/mappers.ts +++ b/packages/@azure/arm-consumption/lib/models/mappers.ts @@ -87,206 +87,6 @@ export const MeterDetails: msRest.CompositeMapper = { } }; -export const UsageDetailProperties: msRest.CompositeMapper = { - serializedName: "UsageDetailProperties", - type: { - name: "Composite", - className: "UsageDetailProperties", - modelProperties: { - billingPeriodId: { - readOnly: true, - serializedName: "billingPeriodId", - type: { - name: "String" - } - }, - invoiceId: { - readOnly: true, - serializedName: "invoiceId", - type: { - name: "String" - } - }, - usageStart: { - readOnly: true, - serializedName: "usageStart", - type: { - name: "DateTime" - } - }, - usageEnd: { - readOnly: true, - serializedName: "usageEnd", - type: { - name: "DateTime" - } - }, - instanceName: { - readOnly: true, - serializedName: "instanceName", - type: { - name: "String" - } - }, - instanceId: { - readOnly: true, - serializedName: "instanceId", - type: { - name: "String" - } - }, - instanceLocation: { - readOnly: true, - serializedName: "instanceLocation", - type: { - name: "String" - } - }, - currency: { - readOnly: true, - serializedName: "currency", - type: { - name: "String" - } - }, - usageQuantity: { - readOnly: true, - serializedName: "usageQuantity", - type: { - name: "Number" - } - }, - billableQuantity: { - readOnly: true, - serializedName: "billableQuantity", - type: { - name: "Number" - } - }, - pretaxCost: { - readOnly: true, - serializedName: "pretaxCost", - type: { - name: "Number" - } - }, - isEstimated: { - readOnly: true, - serializedName: "isEstimated", - type: { - name: "Boolean" - } - }, - meterId: { - readOnly: true, - serializedName: "meterId", - type: { - name: "Uuid" - } - }, - meterDetails: { - readOnly: true, - serializedName: "meterDetails", - type: { - name: "Composite", - className: "MeterDetails" - } - }, - subscriptionGuid: { - readOnly: true, - serializedName: "subscriptionGuid", - type: { - name: "Uuid" - } - }, - subscriptionName: { - readOnly: true, - serializedName: "subscriptionName", - type: { - name: "String" - } - }, - accountName: { - readOnly: true, - serializedName: "accountName", - type: { - name: "String" - } - }, - departmentName: { - readOnly: true, - serializedName: "departmentName", - type: { - name: "String" - } - }, - product: { - readOnly: true, - serializedName: "product", - type: { - name: "String" - } - }, - consumedService: { - readOnly: true, - serializedName: "consumedService", - type: { - name: "String" - } - }, - costCenter: { - readOnly: true, - serializedName: "costCenter", - type: { - name: "String" - } - }, - partNumber: { - readOnly: true, - serializedName: "partNumber", - type: { - name: "String" - } - }, - resourceGuid: { - readOnly: true, - serializedName: "resourceGuid", - type: { - name: "String" - } - }, - offerId: { - readOnly: true, - serializedName: "offerId", - type: { - name: "String" - } - }, - chargesBilledSeparately: { - readOnly: true, - serializedName: "chargesBilledSeparately", - type: { - name: "Boolean" - } - }, - location: { - readOnly: true, - serializedName: "location", - type: { - name: "String" - } - }, - additionalProperties: { - readOnly: true, - serializedName: "additionalProperties", - type: { - name: "String" - } - } - } - } -}; - export const Resource: msRest.CompositeMapper = { serializedName: "Resource", type: { @@ -531,191 +331,6 @@ export const UsageDetail: msRest.CompositeMapper = { } }; -export const MarketplaceProperties: msRest.CompositeMapper = { - serializedName: "MarketplaceProperties", - type: { - name: "Composite", - className: "MarketplaceProperties", - modelProperties: { - billingPeriodId: { - readOnly: true, - serializedName: "billingPeriodId", - type: { - name: "String" - } - }, - usageStart: { - readOnly: true, - serializedName: "usageStart", - type: { - name: "DateTime" - } - }, - usageEnd: { - readOnly: true, - serializedName: "usageEnd", - type: { - name: "DateTime" - } - }, - resourceRate: { - readOnly: true, - serializedName: "resourceRate", - type: { - name: "Number" - } - }, - offerName: { - readOnly: true, - serializedName: "offerName", - type: { - name: "String" - } - }, - resourceGroup: { - readOnly: true, - serializedName: "resourceGroup", - type: { - name: "String" - } - }, - orderNumber: { - readOnly: true, - serializedName: "orderNumber", - type: { - name: "String" - } - }, - instanceName: { - readOnly: true, - serializedName: "instanceName", - type: { - name: "String" - } - }, - instanceId: { - readOnly: true, - serializedName: "instanceId", - type: { - name: "String" - } - }, - currency: { - readOnly: true, - serializedName: "currency", - type: { - name: "String" - } - }, - consumedQuantity: { - readOnly: true, - serializedName: "consumedQuantity", - type: { - name: "Number" - } - }, - unitOfMeasure: { - readOnly: true, - serializedName: "unitOfMeasure", - type: { - name: "String" - } - }, - pretaxCost: { - readOnly: true, - serializedName: "pretaxCost", - type: { - name: "Number" - } - }, - isEstimated: { - readOnly: true, - serializedName: "isEstimated", - type: { - name: "Boolean" - } - }, - meterId: { - readOnly: true, - serializedName: "meterId", - type: { - name: "Uuid" - } - }, - subscriptionGuid: { - readOnly: true, - serializedName: "subscriptionGuid", - type: { - name: "Uuid" - } - }, - subscriptionName: { - readOnly: true, - serializedName: "subscriptionName", - type: { - name: "String" - } - }, - accountName: { - readOnly: true, - serializedName: "accountName", - type: { - name: "String" - } - }, - departmentName: { - readOnly: true, - serializedName: "departmentName", - type: { - name: "String" - } - }, - consumedService: { - readOnly: true, - serializedName: "consumedService", - type: { - name: "String" - } - }, - costCenter: { - readOnly: true, - serializedName: "costCenter", - type: { - name: "String" - } - }, - additionalProperties: { - readOnly: true, - serializedName: "additionalProperties", - type: { - name: "String" - } - }, - publisherName: { - readOnly: true, - serializedName: "publisherName", - type: { - name: "String" - } - }, - planName: { - readOnly: true, - serializedName: "planName", - type: { - name: "String" - } - }, - isRecurringCharge: { - readOnly: true, - serializedName: "isRecurringCharge", - type: { - name: "Boolean" - } - } - } - } -}; - export const Marketplace: msRest.CompositeMapper = { serializedName: "Marketplace", type: { @@ -884,192 +499,66 @@ export const Marketplace: msRest.CompositeMapper = { 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 BalanceProperties: msRest.CompositeMapper = { - serializedName: "BalanceProperties", - type: { - name: "Composite", - className: "BalanceProperties", - modelProperties: { - currency: { - readOnly: true, - serializedName: "currency", - type: { - name: "String" - } - }, - beginningBalance: { - readOnly: true, - serializedName: "beginningBalance", - type: { - name: "Number" - } - }, - endingBalance: { - readOnly: true, - serializedName: "endingBalance", - type: { - name: "Number" - } - }, - newPurchases: { - readOnly: true, - serializedName: "newPurchases", - type: { - name: "Number" - } - }, - adjustments: { - readOnly: true, - serializedName: "adjustments", - type: { - name: "Number" - } - }, - utilized: { - readOnly: true, - serializedName: "utilized", - type: { - name: "Number" - } - }, - serviceOverage: { - readOnly: true, - serializedName: "serviceOverage", - type: { - name: "Number" - } - }, - chargesBilledSeparately: { - readOnly: true, - serializedName: "chargesBilledSeparately", - type: { - name: "Number" - } - }, - totalOverage: { - readOnly: true, - serializedName: "totalOverage", - type: { - name: "Number" - } - }, - totalUsage: { + planName: { readOnly: true, - serializedName: "totalUsage", + serializedName: "properties.planName", type: { - name: "Number" + name: "String" } }, - azureMarketplaceServiceCharges: { + isRecurringCharge: { readOnly: true, - serializedName: "azureMarketplaceServiceCharges", + serializedName: "properties.isRecurringCharge", type: { - name: "Number" + name: "Boolean" } - }, - billingFrequency: { - serializedName: "billingFrequency", + } + } + } +}; + +export const BalancePropertiesNewPurchasesDetailsItem: msRest.CompositeMapper = { + serializedName: "BalanceProperties_newPurchasesDetailsItem", + type: { + name: "Composite", + className: "BalancePropertiesNewPurchasesDetailsItem", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", type: { name: "String" } }, - priceHidden: { + value: { readOnly: true, - serializedName: "priceHidden", + serializedName: "value", type: { - name: "Boolean" + name: "Number" } - }, - newPurchasesDetails: { + } + } + } +}; + +export const BalancePropertiesAdjustmentDetailsItem: msRest.CompositeMapper = { + serializedName: "BalanceProperties_adjustmentDetailsItem", + type: { + name: "Composite", + className: "BalancePropertiesAdjustmentDetailsItem", + modelProperties: { + name: { readOnly: true, - serializedName: "newPurchasesDetails", + serializedName: "name", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BalancePropertiesNewPurchasesDetailsItem" - } - } + name: "String" } }, - adjustmentDetails: { + value: { readOnly: true, - serializedName: "adjustmentDetails", + serializedName: "value", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BalancePropertiesAdjustmentDetailsItem" - } - } + name: "Number" } } } @@ -1203,79 +692,6 @@ export const Balance: msRest.CompositeMapper = { } }; -export const ReservationSummaryProperties: msRest.CompositeMapper = { - serializedName: "ReservationSummaryProperties", - type: { - name: "Composite", - className: "ReservationSummaryProperties", - modelProperties: { - reservationOrderId: { - readOnly: true, - serializedName: "reservationOrderId", - type: { - name: "String" - } - }, - reservationId: { - readOnly: true, - serializedName: "reservationId", - type: { - name: "String" - } - }, - skuName: { - readOnly: true, - serializedName: "skuName", - type: { - name: "String" - } - }, - reservedHours: { - readOnly: true, - serializedName: "reservedHours", - type: { - name: "Number" - } - }, - usageDate: { - readOnly: true, - serializedName: "usageDate", - type: { - name: "DateTime" - } - }, - usedHours: { - readOnly: true, - serializedName: "usedHours", - type: { - name: "Number" - } - }, - minUtilizationPercentage: { - readOnly: true, - serializedName: "minUtilizationPercentage", - type: { - name: "Number" - } - }, - avgUtilizationPercentage: { - readOnly: true, - serializedName: "avgUtilizationPercentage", - type: { - name: "Number" - } - }, - maxUtilizationPercentage: { - readOnly: true, - serializedName: "maxUtilizationPercentage", - type: { - name: "Number" - } - } - } - } -}; - export const ReservationSummary: msRest.CompositeMapper = { serializedName: "ReservationSummary", type: { @@ -1350,72 +766,6 @@ export const ReservationSummary: msRest.CompositeMapper = { } }; -export const ReservationDetailProperties: msRest.CompositeMapper = { - serializedName: "ReservationDetailProperties", - type: { - name: "Composite", - className: "ReservationDetailProperties", - modelProperties: { - reservationOrderId: { - readOnly: true, - serializedName: "reservationOrderId", - type: { - name: "String" - } - }, - reservationId: { - readOnly: true, - serializedName: "reservationId", - type: { - name: "String" - } - }, - skuName: { - readOnly: true, - serializedName: "skuName", - type: { - name: "String" - } - }, - reservedHours: { - readOnly: true, - serializedName: "reservedHours", - type: { - name: "Number" - } - }, - usageDate: { - readOnly: true, - serializedName: "usageDate", - type: { - name: "DateTime" - } - }, - usedHours: { - readOnly: true, - serializedName: "usedHours", - type: { - name: "Number" - } - }, - instanceId: { - readOnly: true, - serializedName: "instanceId", - type: { - name: "String" - } - }, - totalReservedQuantity: { - readOnly: true, - serializedName: "totalReservedQuantity", - type: { - name: "Number" - } - } - } - } -}; - export const ReservationDetail: msRest.CompositeMapper = { serializedName: "ReservationDetail", type: { @@ -1483,79 +833,6 @@ export const ReservationDetail: msRest.CompositeMapper = { } }; -export const ReservationRecommendationProperties: msRest.CompositeMapper = { - serializedName: "ReservationRecommendationProperties", - type: { - name: "Composite", - className: "ReservationRecommendationProperties", - modelProperties: { - lookBackPeriod: { - readOnly: true, - serializedName: "lookBackPeriod", - type: { - name: "String" - } - }, - meterId: { - readOnly: true, - serializedName: "meterId", - type: { - name: "Uuid" - } - }, - term: { - readOnly: true, - serializedName: "term", - type: { - name: "String" - } - }, - costWithNoReservedInstances: { - readOnly: true, - serializedName: "costWithNoReservedInstances", - type: { - name: "Number" - } - }, - recommendedQuantity: { - readOnly: true, - serializedName: "recommendedQuantity", - type: { - name: "Number" - } - }, - totalCostWithReservedInstances: { - readOnly: true, - serializedName: "totalCostWithReservedInstances", - type: { - name: "Number" - } - }, - netSavings: { - readOnly: true, - serializedName: "netSavings", - type: { - name: "Number" - } - }, - firstUsageDate: { - readOnly: true, - serializedName: "firstUsageDate", - type: { - name: "DateTime" - } - }, - scope: { - readOnly: true, - serializedName: "scope", - type: { - name: "String" - } - } - } - } -}; - export const ReservationRecommendation: msRest.CompositeMapper = { serializedName: "ReservationRecommendation", type: { @@ -1683,31 +960,9 @@ export const Tag: msRest.CompositeMapper = { className: "Tag", modelProperties: { key: { - serializedName: "key", - type: { - name: "String" - } - } - } - } -}; - -export const TagProperties: msRest.CompositeMapper = { - serializedName: "TagProperties", - type: { - name: "Composite", - className: "TagProperties", - modelProperties: { - tags: { - serializedName: "tags", + serializedName: "key", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Tag" - } - } + name: "String" } } } @@ -1965,72 +1220,6 @@ export const Notification: msRest.CompositeMapper = { } }; -export const BudgetProperties: msRest.CompositeMapper = { - serializedName: "BudgetProperties", - type: { - name: "Composite", - className: "BudgetProperties", - modelProperties: { - category: { - required: true, - serializedName: "category", - type: { - name: "String" - } - }, - amount: { - required: true, - serializedName: "amount", - type: { - name: "Number" - } - }, - timeGrain: { - required: true, - serializedName: "timeGrain", - type: { - name: "String" - } - }, - timePeriod: { - required: true, - serializedName: "timePeriod", - type: { - name: "Composite", - className: "BudgetTimePeriod" - } - }, - filters: { - serializedName: "filters", - type: { - name: "Composite", - className: "Filters" - } - }, - currentSpend: { - readOnly: true, - serializedName: "currentSpend", - type: { - name: "Composite", - className: "CurrentSpend" - } - }, - notifications: { - serializedName: "notifications", - type: { - name: "Dictionary", - value: { - type: { - name: "Composite", - className: "Notification" - } - } - } - } - } - } -}; - export const Budget: msRest.CompositeMapper = { serializedName: "Budget", type: { @@ -2172,36 +1361,6 @@ export const PriceSheetProperties: msRest.CompositeMapper = { } }; -export const PriceSheetModel: msRest.CompositeMapper = { - serializedName: "PriceSheetModel", - type: { - name: "Composite", - className: "PriceSheetModel", - modelProperties: { - pricesheets: { - readOnly: true, - serializedName: "pricesheets", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PriceSheetProperties" - } - } - } - }, - nextLink: { - readOnly: true, - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - export const PriceSheetResult: msRest.CompositeMapper = { serializedName: "PriceSheetResult", type: { @@ -2263,62 +1422,6 @@ export const ForecastPropertiesConfidenceLevelsItem: msRest.CompositeMapper = { } }; -export const ForecastProperties: msRest.CompositeMapper = { - serializedName: "ForecastProperties", - type: { - name: "Composite", - className: "ForecastProperties", - modelProperties: { - usageDate: { - readOnly: true, - serializedName: "usageDate", - type: { - name: "String" - } - }, - grain: { - serializedName: "grain", - type: { - name: "String" - } - }, - charge: { - readOnly: true, - serializedName: "charge", - type: { - name: "Number" - } - }, - currency: { - readOnly: true, - serializedName: "currency", - type: { - name: "String" - } - }, - chargeType: { - serializedName: "chargeType", - type: { - name: "String" - } - }, - confidenceLevels: { - readOnly: true, - serializedName: "confidenceLevels", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ForecastPropertiesConfidenceLevelsItem" - } - } - } - } - } - } -}; - export const Forecast: msRest.CompositeMapper = { serializedName: "Forecast", type: { @@ -2376,77 +1479,6 @@ export const Forecast: msRest.CompositeMapper = { } }; -export const ManagementGroupAggregatedCostProperties: msRest.CompositeMapper = { - serializedName: "ManagementGroupAggregatedCostProperties", - type: { - name: "Composite", - className: "ManagementGroupAggregatedCostProperties", - modelProperties: { - billingPeriodId: { - readOnly: true, - serializedName: "billingPeriodId", - type: { - name: "String" - } - }, - usageStart: { - readOnly: true, - serializedName: "usageStart", - type: { - name: "DateTime" - } - }, - usageEnd: { - readOnly: true, - serializedName: "usageEnd", - type: { - name: "DateTime" - } - }, - azureCharges: { - readOnly: true, - serializedName: "azureCharges", - type: { - name: "Number" - } - }, - marketplaceCharges: { - readOnly: true, - serializedName: "marketplaceCharges", - type: { - name: "Number" - } - }, - chargesBilledSeparately: { - readOnly: true, - serializedName: "chargesBilledSeparately", - type: { - name: "Number" - } - }, - currency: { - readOnly: true, - serializedName: "currency", - type: { - name: "String" - } - }, - children: { - serializedName: "children", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ManagementGroupAggregatedCostResult" - } - } - } - } - } - } -}; - export const ManagementGroupAggregatedCostResult: msRest.CompositeMapper = { serializedName: "ManagementGroupAggregatedCostResult", type: { @@ -2514,64 +1546,27 @@ export const ManagementGroupAggregatedCostResult: msRest.CompositeMapper = { } } } - } - } - } -}; - -export const ChargeSummaryProperties: msRest.CompositeMapper = { - serializedName: "ChargeSummaryProperties", - type: { - name: "Composite", - className: "ChargeSummaryProperties", - modelProperties: { - billingPeriodId: { - readOnly: true, - serializedName: "billingPeriodId", - type: { - name: "String" - } - }, - usageStart: { - readOnly: true, - serializedName: "usageStart", - type: { - name: "String" - } - }, - usageEnd: { - readOnly: true, - serializedName: "usageEnd", - type: { - name: "String" - } - }, - azureCharges: { - readOnly: true, - serializedName: "azureCharges", - type: { - name: "Number" - } }, - chargesBilledSeparately: { - readOnly: true, - serializedName: "chargesBilledSeparately", - type: { - name: "Number" - } - }, - marketplaceCharges: { - readOnly: true, - serializedName: "marketplaceCharges", + includedSubscriptions: { + serializedName: "properties.includedSubscriptions", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - currency: { - readOnly: true, - serializedName: "currency", + excludedSubscriptions: { + serializedName: "properties.excludedSubscriptions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } diff --git a/packages/@azure/arm-consumption/package.json b/packages/@azure/arm-consumption/package.json index dde759f66c7c..c53202913121 100644 --- a/packages/@azure/arm-consumption/package.json +++ b/packages/@azure/arm-consumption/package.json @@ -4,9 +4,8 @@ "description": "ConsumptionManagementClient Library with typescript type definitions for node.js and browser.", "version": "1.0.0", "dependencies": { - "ms-rest-azure-js": "^1.0.166", - "ms-rest-js": "^1.0.439", - "tslib": "^1.9.3" + "ms-rest-azure-js": "~0.17.165", + "ms-rest-js": "~0.22.434" }, "keywords": [ "node", @@ -16,16 +15,16 @@ "isomorphic" ], "license": "MIT", - "main": "./dist/arm-consumption.js", + "main": "./cjs/consumptionManagementClient.js", "module": "./esm/consumptionManagementClient.js", - "types": "./esm/consumptionManagementClient.d.ts", + "types": "./cjs/consumptionManagementClient.d.ts", "devDependencies": { - "typescript": "^3.1.1", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", - "uglify-js": "^3.4.9" + "tslib": "^1.9.3", + "typescript": "^3.0.3", + "webpack": "^4.17.2", + "webpack-cli": "^3.1.0" }, - "homepage": "https://github.com/azure/azure-sdk-for-js", + "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/packages/@azure/arm-consumption", "repository": { "type": "git", "url": "https://github.com/azure/azure-sdk-for-js.git" @@ -34,9 +33,7 @@ "url": "https://github.com/azure/azure-sdk-for-js/issues" }, "scripts": { - "build": "tsc && rollup -c rollup.config.js && npm run minify", - "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-consumption.js.map'\" -o ./dist/arm-consumption.min.js ./dist/arm-consumption.js", + "build": "tsc && tsc -p tsconfig.esm.json && webpack", "prepare": "npm run build" - }, - "sideEffects": false + } } diff --git a/packages/@azure/arm-consumption/tsconfig.esm.json b/packages/@azure/arm-consumption/tsconfig.esm.json new file mode 100644 index 000000000000..0b3aed07505c --- /dev/null +++ b/packages/@azure/arm-consumption/tsconfig.esm.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "outDir": "./esm", + "module": "es6", + "target": "es5" + } +} diff --git a/packages/@azure/arm-consumption/tsconfig.json b/packages/@azure/arm-consumption/tsconfig.json index f32d1664f320..d5b25971c029 100644 --- a/packages/@azure/arm-consumption/tsconfig.json +++ b/packages/@azure/arm-consumption/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { - "module": "es6", + "module": "commonjs", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, @@ -11,8 +11,7 @@ "forceConsistentCasingInFileNames": true, "lib": ["es6"], "declaration": true, - "outDir": "./esm", - "importHelpers": true + "outDir": "./cjs" }, "include": ["./lib/**/*"], "exclude": ["node_modules"] diff --git a/packages/@azure/arm-consumption/webpack.config.js b/packages/@azure/arm-consumption/webpack.config.js new file mode 100644 index 000000000000..60da4dc3ea2f --- /dev/null +++ b/packages/@azure/arm-consumption/webpack.config.js @@ -0,0 +1,30 @@ +// This is a template webpack config file with minimal configuration. +// Users are free to create their own webpack configuration files in their application. +const path = require('path'); + +/** + * @type {import('webpack').Configuration} + */ +const config = { + mode: 'production', + entry: './esm/consumptionManagementClient.js', + devtool: 'source-map', + output: { + filename: 'consumptionManagementClientBundle.js', + path: __dirname, + libraryTarget: 'var', + library: 'consumptionManagementClient' + }, + // "ms-rest-js" and "ms-rest-azure-js" are dependencies of this library. + // Customer is expected to import/include this library in browser javascript + // (probably using the script tag in their html file). + externals: { + "ms-rest-js": "msRest", + "ms-rest-azure-js": "msRestAzure" + }, + resolve: { + extensions: [".tsx", ".ts", ".js"] + } +}; + +module.exports = config;