diff --git a/sdk/cost-management/arm-costmanagement/LICENSE.txt b/sdk/cost-management/arm-costmanagement/LICENSE.txt
new file mode 100644
index 000000000000..2d3163745319
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2021 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/sdk/cost-management/arm-costmanagement/README.md b/sdk/cost-management/arm-costmanagement/README.md
new file mode 100644
index 000000000000..0898721f04e2
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/README.md
@@ -0,0 +1,98 @@
+## Azure CostManagementClient SDK for JavaScript
+
+This package contains an isomorphic SDK for CostManagementClient.
+
+### Currently supported environments
+
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+### How to Install
+
+```bash
+npm install @azure/arm-costmanagement
+```
+
+### How to use
+
+#### nodejs - client creation and list settings as an example written in TypeScript.
+
+##### 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"
+```
+
+##### 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");
+const { CostManagementClient } = require("@azure/arm-costmanagement");
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new CostManagementClient(creds, subscriptionId);
+ client.settings.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+#### browser - Authentication, client creation and list settings as an example written in JavaScript.
+
+##### Install @azure/ms-rest-browserauth
+
+```bash
+npm install @azure/ms-rest-browserauth
+```
+
+##### Sample code
+
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-costmanagement sample
+
+
+
+
+
+
+
+
+```
+
+## Related projects
+
+- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
+
+
diff --git a/sdk/cost-management/arm-costmanagement/package.json b/sdk/cost-management/arm-costmanagement/package.json
new file mode 100644
index 000000000000..df76a312073f
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@azure/arm-costmanagement",
+ "author": "Microsoft Corporation",
+ "description": "CostManagementClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "@azure/ms-rest-azure-js": "^2.0.1",
+ "@azure/ms-rest-js": "^2.0.4",
+ "tslib": "^1.10.0"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-costmanagement.js",
+ "module": "./esm/costManagementClient.js",
+ "types": "./esm/costManagementClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.5.3",
+ "rollup": "^1.18.0",
+ "rollup-plugin-node-resolve": "^5.2.0",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "uglify-js": "^3.6.0"
+ },
+ "homepage": "https://github.com/Azure/azure-sdk-for-js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Azure/azure-sdk-for-js/issues"
+ },
+ "files": [
+ "dist/**/*.js",
+ "dist/**/*.js.map",
+ "dist/**/*.d.ts",
+ "dist/**/*.d.ts.map",
+ "esm/**/*.js",
+ "esm/**/*.js.map",
+ "esm/**/*.d.ts",
+ "esm/**/*.d.ts.map",
+ "src/**/*.ts",
+ "README.md",
+ "rollup.config.js",
+ "tsconfig.json"
+ ],
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-costmanagement.js.map'\" -o ./dist/arm-costmanagement.min.js ./dist/arm-costmanagement.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/sdk/cost-management/arm-costmanagement/rollup.config.js b/sdk/cost-management/arm-costmanagement/rollup.config.js
new file mode 100644
index 000000000000..28ed63f082b0
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/rollup.config.js
@@ -0,0 +1,37 @@
+import rollup from "rollup";
+import nodeResolve from "rollup-plugin-node-resolve";
+import sourcemaps from "rollup-plugin-sourcemaps";
+
+/**
+ * @type {rollup.RollupFileOptions}
+ */
+const config = {
+ input: "./esm/costManagementClient.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-costmanagement.js",
+ format: "umd",
+ name: "Azure.ArmCostmanagement",
+ sourcemap: true,
+ globals: {
+ "@azure/ms-rest-js": "msRest",
+ "@azure/ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * 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.
+ */`
+ },
+ plugins: [
+ nodeResolve({ mainFields: ['module', 'main'] }),
+ sourcemaps()
+ ]
+};
+
+export default config;
diff --git a/sdk/cost-management/arm-costmanagement/src/costManagementClient.ts b/sdk/cost-management/arm-costmanagement/src/costManagementClient.ts
new file mode 100644
index 000000000000..75f590193957
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/costManagementClient.ts
@@ -0,0 +1,57 @@
+/*
+ * 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/mappers";
+import * as operations from "./operations";
+import { CostManagementClientContext } from "./costManagementClientContext";
+
+
+class CostManagementClient extends CostManagementClientContext {
+ // Operation groups
+ settings: operations.Settings;
+ views: operations.Views;
+ alerts: operations.Alerts;
+ forecast: operations.Forecast;
+ dimensions: operations.Dimensions;
+ query: operations.Query;
+ generateReservationDetailsReport: operations.GenerateReservationDetailsReport;
+ operations: operations.Operations;
+ exports: operations.Exports;
+
+ /**
+ * Initializes a new instance of the CostManagementClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Azure Subscription ID.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.CostManagementClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.settings = new operations.Settings(this);
+ this.views = new operations.Views(this);
+ this.alerts = new operations.Alerts(this);
+ this.forecast = new operations.Forecast(this);
+ this.dimensions = new operations.Dimensions(this);
+ this.query = new operations.Query(this);
+ this.generateReservationDetailsReport = new operations.GenerateReservationDetailsReport(this);
+ this.operations = new operations.Operations(this);
+ this.exports = new operations.Exports(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ CostManagementClient,
+ CostManagementClientContext,
+ Models as CostManagementModels,
+ Mappers as CostManagementMappers
+};
+export * from "./operations";
diff --git a/sdk/cost-management/arm-costmanagement/src/costManagementClientContext.ts b/sdk/cost-management/arm-costmanagement/src/costManagementClientContext.ts
new file mode 100644
index 000000000000..b39ce35f9aa7
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/costManagementClientContext.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.
+ */
+
+import * as Models from "./models";
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+
+const packageName = "@azure/arm-costmanagement";
+const packageVersion = "1.0.0";
+
+export class CostManagementClientContext extends msRestAzure.AzureServiceClient {
+ credentials: msRest.ServiceClientCredentials;
+ apiVersion?: string;
+ subscriptionId: string;
+
+ /**
+ * Initializes a new instance of the CostManagementClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Azure Subscription ID.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.CostManagementClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ if(!options.userAgent) {
+ const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
+ options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
+ }
+
+ super(credentials, options);
+
+ this.apiVersion = '2019-11-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";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/sdk/cost-management/arm-costmanagement/src/models/alertsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/alertsMappers.ts
new file mode 100644
index 000000000000..cef5ff3f7d25
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/alertsMappers.ts
@@ -0,0 +1,52 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ AlertsResult,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ DismissAlertPayload,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/dimensionsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/dimensionsMappers.ts
new file mode 100644
index 000000000000..028f09b750b1
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/dimensionsMappers.ts
@@ -0,0 +1,51 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ DimensionsListResult,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/exportsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/exportsMappers.ts
new file mode 100644
index 000000000000..98d22f3630bd
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/exportsMappers.ts
@@ -0,0 +1,52 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportExecutionListResult,
+ ExportListResult,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/forecastMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/forecastMappers.ts
new file mode 100644
index 000000000000..2f4d46acb39d
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/forecastMappers.ts
@@ -0,0 +1,51 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ ForecastDefinition,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/generateReservationDetailsReportMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/generateReservationDetailsReportMappers.ts
new file mode 100644
index 000000000000..70b6da8f096a
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/generateReservationDetailsReportMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * 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 {
+ ErrorDetails,
+ ErrorResponse,
+ GenerateReservationDetailsReportByBillingAccountIdHeaders,
+ GenerateReservationDetailsReportByBillingProfileIdHeaders,
+ OperationStatus,
+ Status
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/index.ts b/sdk/cost-management/arm-costmanagement/src/models/index.ts
new file mode 100644
index 000000000000..9cb9c0813203
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/index.ts
@@ -0,0 +1,2213 @@
+/*
+ * 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export { BaseResource, CloudError };
+
+/**
+ * The start and end date for pulling data for the report.
+ */
+export interface ReportConfigTimePeriod {
+ /**
+ * The start date to pull data from.
+ */
+ from: Date;
+ /**
+ * The end date to pull data to.
+ */
+ to: Date;
+}
+
+/**
+ * The configuration of dataset in the report.
+ */
+export interface ReportConfigDatasetConfiguration {
+ /**
+ * Array of column names to be included in the report. Any valid report column name is allowed.
+ * If not provided, then report includes all columns.
+ */
+ columns?: string[];
+}
+
+/**
+ * The aggregation expression to be used in the report.
+ */
+export interface ReportConfigAggregation {
+ /**
+ * The name of the column to aggregate.
+ */
+ name: string;
+ /**
+ * The name of the aggregation function to use. Possible values include: 'Avg', 'Max', 'Min',
+ * 'Sum'
+ */
+ functionProperty: FunctionType;
+}
+
+/**
+ * The group by expression to be used in the report.
+ */
+export interface ReportConfigGrouping {
+ /**
+ * Has type of the column to group. Possible values include: 'Tag', 'Dimension'
+ */
+ type: ReportConfigColumnType;
+ /**
+ * The name of the column to group. This version supports subscription lowest possible grain.
+ */
+ name: string;
+}
+
+/**
+ * The order by expression to be used in the report.
+ */
+export interface ReportConfigSorting {
+ /**
+ * Direction of sort. Possible values include: 'Ascending', 'Descending'
+ */
+ direction?: Direction;
+ /**
+ * The name of the column to sort.
+ */
+ name: string;
+}
+
+/**
+ * The comparison expression to be used in the report.
+ */
+export interface ReportConfigComparisonExpression {
+ /**
+ * The name of the column to use in comparison.
+ */
+ name: string;
+ /**
+ * The operator to use for comparison. Possible values include: 'In', 'Contains'
+ */
+ operator: OperatorType;
+ /**
+ * Array of values to use for comparison
+ */
+ values: string[];
+}
+
+/**
+ * The filter expression to be used in the report.
+ */
+export interface ReportConfigFilter {
+ /**
+ * The logical "AND" expression. Must have at least 2 items.
+ */
+ and?: ReportConfigFilter[];
+ /**
+ * The logical "OR" expression. Must have at least 2 items.
+ */
+ or?: ReportConfigFilter[];
+ /**
+ * Has comparison expression for a dimension
+ */
+ dimensions?: ReportConfigComparisonExpression;
+ /**
+ * Has comparison expression for a tag
+ */
+ tags?: ReportConfigComparisonExpression;
+ /**
+ * Has comparison expression for a tag key
+ */
+ tagKey?: ReportConfigComparisonExpression;
+ /**
+ * Has comparison expression for a tag value
+ */
+ tagValue?: ReportConfigComparisonExpression;
+}
+
+/**
+ * The definition of data present in the report.
+ */
+export interface ReportConfigDataset {
+ /**
+ * The granularity of rows in the report. Possible values include: 'Daily', 'Monthly'
+ */
+ granularity?: ReportGranularityType;
+ /**
+ * Has configuration information for the data in the report. The configuration will be ignored if
+ * aggregation and grouping are provided.
+ */
+ configuration?: ReportConfigDatasetConfiguration;
+ /**
+ * Dictionary of aggregation expression to use in the report. The key of each item in the
+ * dictionary is the alias for the aggregated column. Report can have up to 2 aggregation
+ * clauses.
+ */
+ aggregation?: { [propertyName: string]: ReportConfigAggregation };
+ /**
+ * Array of group by expression to use in the report. Report can have up to 2 group by clauses.
+ */
+ grouping?: ReportConfigGrouping[];
+ /**
+ * Array of order by expression to use in the report.
+ */
+ sorting?: ReportConfigSorting[];
+ /**
+ * Has filter expression to use in the report.
+ */
+ filter?: ReportConfigFilter;
+}
+
+/**
+ * An interface representing CacheItem.
+ */
+export interface CacheItem {
+ /**
+ * Resource ID used by Resource Manager to uniquely identify the scope.
+ */
+ id: string;
+ /**
+ * Display name for the scope.
+ */
+ name: string;
+ /**
+ * Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown.
+ */
+ channel: string;
+ /**
+ * Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner,
+ * Indirect, NotApplicable
+ */
+ subchannel: string;
+ /**
+ * Resource ID of the parent scope. For instance, subscription's resource ID for a resource group
+ * or a management group resource ID for a subscription.
+ */
+ parent?: string;
+ /**
+ * Indicates the status of the scope. Status only applies to subscriptions and billing accounts.
+ */
+ status?: string;
+}
+
+/**
+ * The Resource model definition.
+ */
+export interface ProxySettingResource 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 kind.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly kind?: string;
+ /**
+ * Resource type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+}
+
+/**
+ * State of the myscope setting.
+ */
+export interface Setting extends ProxySettingResource {
+ /**
+ * Sets the default scope the current user will see when they sign into Azure Cost Management in
+ * the Azure portal.
+ */
+ scope: string;
+ /**
+ * Indicates what scope Cost Management in the Azure portal should default to. Allowed values:
+ * LastUsed. Possible values include: 'LastUsed', 'ScopePicker', 'SpecificScope'
+ */
+ startOn?: StartOn;
+ cache?: CacheItem[];
+}
+
+/**
+ * Each KPI must contain a 'type' and 'enabled' key.
+ */
+export interface KpiProperties {
+ /**
+ * KPI type (Forecast, Budget). Possible values include: 'Forecast', 'Budget'
+ */
+ type?: KpiTypeType;
+ /**
+ * ID of resource related to metric (budget).
+ */
+ id?: string;
+ /**
+ * show the KPI in the UI?
+ */
+ enabled?: boolean;
+}
+
+/**
+ * Each pivot must contain a 'type' and 'name'.
+ */
+export interface PivotProperties {
+ /**
+ * Data type to show in view. Possible values include: 'Dimension', 'TagKey'
+ */
+ type?: PivotTypeType;
+ /**
+ * Data field to show in view.
+ */
+ name?: 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;
+}
+
+/**
+ * States and configurations of Cost Analysis.
+ */
+export interface View extends ProxyResource {
+ /**
+ * User input name of the view. Required.
+ */
+ displayName?: string;
+ /**
+ * Cost Management scope to save the view on. 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope,
+ * 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group
+ * scope,
+ * '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * ExternalBillingAccount scope, and
+ * '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * ExternalSubscription scope.
+ */
+ scope?: string;
+ /**
+ * Date the user created this view.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly createdOn?: Date;
+ /**
+ * Date when the user last modified this view.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly modifiedOn?: Date;
+ /**
+ * Selected date range for viewing cost in.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dateRange?: string;
+ /**
+ * Selected currency.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly currency?: string;
+ /**
+ * The time frame for pulling data for the report. If custom, then a specific time period must be
+ * provided. Possible values include: 'WeekToDate', 'MonthToDate', 'YearToDate', 'Custom'
+ */
+ timeframe: ReportTimeframeType;
+ /**
+ * Has time period for pulling data for the report.
+ */
+ timePeriod?: ReportConfigTimePeriod;
+ /**
+ * Has definition for data in this report config.
+ */
+ dataSet?: ReportConfigDataset;
+ /**
+ * Include monetary commitment
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly includeMonetaryCommitment?: boolean;
+ /**
+ * Chart type of the main view in Cost Analysis. Required. Possible values include: 'Area',
+ * 'Line', 'StackedColumn', 'GroupedColumn', 'Table'
+ */
+ chart?: ChartType;
+ /**
+ * Show costs accumulated over time. Possible values include: 'true', 'false'
+ */
+ accumulated?: AccumulatedType;
+ /**
+ * Metric to use when displaying costs. Possible values include: 'ActualCost', 'AmortizedCost',
+ * 'AHUB'
+ */
+ metric?: MetricType;
+ /**
+ * List of KPIs to show in Cost Analysis UI.
+ */
+ kpis?: KpiProperties[];
+ /**
+ * Configuration of 3 sub-views in the Cost Analysis UI.
+ */
+ pivots?: PivotProperties[];
+}
+
+/**
+ * The details of the error.
+ */
+export interface ErrorDetails {
+ /**
+ * Error code.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly code?: string;
+ /**
+ * Error message indicating why the operation failed.
+ * **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.
+ *
+ * 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 {
+ /**
+ * The details of the error.
+ */
+ error?: ErrorDetails;
+}
+
+/**
+ * The Resource model definition.
+ */
+export interface Resource 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?: { [propertyName: string]: string };
+}
+
+/**
+ * An interface representing Dimension.
+ */
+export interface Dimension extends Resource {
+ /**
+ * Dimension description.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly description?: string;
+ /**
+ * Filter enabled.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly filterEnabled?: boolean;
+ /**
+ * Grouping enabled.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly groupingEnabled?: boolean;
+ data?: string[];
+ /**
+ * Total number of data for the dimension.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly total?: number;
+ /**
+ * Dimension category.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly category?: string;
+ /**
+ * Usage start.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly usageStart?: Date;
+ /**
+ * Usage end.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly usageEnd?: Date;
+ /**
+ * 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;
+}
+
+/**
+ * defines the type of alert
+ */
+export interface AlertPropertiesDefinition {
+ /**
+ * type of alert. Possible values include: 'Budget', 'Invoice', 'Credit', 'Quota', 'General',
+ * 'xCloud', 'BudgetForecast'
+ */
+ type?: AlertType;
+ /**
+ * Alert category. Possible values include: 'Cost', 'Usage', 'Billing', 'System'
+ */
+ category?: AlertCategory;
+ /**
+ * Criteria that triggered alert. Possible values include: 'CostThresholdExceeded',
+ * 'UsageThresholdExceeded', 'CreditThresholdApproaching', 'CreditThresholdReached',
+ * 'QuotaThresholdApproaching', 'QuotaThresholdReached', 'MultiCurrency',
+ * 'ForecastCostThresholdExceeded', 'ForecastUsageThresholdExceeded',
+ * 'InvoiceDueDateApproaching', 'InvoiceDueDateReached', 'CrossCloudNewDataAvailable',
+ * 'CrossCloudCollectionError', 'GeneralThresholdError'
+ */
+ criteria?: AlertCriteria;
+}
+
+/**
+ * Alert details
+ */
+export interface AlertPropertiesDetails {
+ /**
+ * Type of timegrain cadence. Possible values include: 'None', 'Monthly', 'Quarterly',
+ * 'Annually', 'BillingMonth', 'BillingQuarter', 'BillingAnnual'
+ */
+ timeGrainType?: AlertTimeGrainType;
+ /**
+ * datetime of periodStartDate
+ */
+ periodStartDate?: string;
+ /**
+ * notificationId that triggered this alert
+ */
+ triggeredBy?: string;
+ /**
+ * array of resourceGroups to filter by
+ */
+ resourceGroupFilter?: any[];
+ /**
+ * array of resources to filter by
+ */
+ resourceFilter?: any[];
+ /**
+ * array of meters to filter by
+ */
+ meterFilter?: any[];
+ /**
+ * tags to filter by
+ */
+ tagFilter?: any;
+ /**
+ * notification threshold percentage as a decimal which activated this alert
+ */
+ threshold?: number;
+ /**
+ * operator used to compare currentSpend with amount. Possible values include: 'None', 'EqualTo',
+ * 'GreaterThan', 'GreaterThanOrEqualTo', 'LessThan', 'LessThanOrEqualTo'
+ */
+ operator?: AlertOperator;
+ /**
+ * budget threshold amount
+ */
+ amount?: number;
+ /**
+ * unit of currency being used
+ */
+ unit?: string;
+ /**
+ * current spend
+ */
+ currentSpend?: number;
+ /**
+ * list of emails to contact
+ */
+ contactEmails?: string[];
+ /**
+ * list of action groups to broadcast to
+ */
+ contactGroups?: string[];
+ /**
+ * list of contact roles
+ */
+ contactRoles?: string[];
+ /**
+ * overriding alert
+ */
+ overridingAlert?: string;
+}
+
+/**
+ * An individual alert.
+ */
+export interface Alert extends Resource {
+ /**
+ * defines the type of alert
+ */
+ definition?: AlertPropertiesDefinition;
+ /**
+ * Alert description
+ */
+ description?: string;
+ /**
+ * Source of alert. Possible values include: 'Preset', 'User'
+ */
+ source?: AlertSource;
+ /**
+ * Alert details
+ */
+ details?: AlertPropertiesDetails;
+ /**
+ * related budget
+ */
+ costEntityId?: string;
+ /**
+ * alert status. Possible values include: 'None', 'Active', 'Overridden', 'Resolved', 'Dismissed'
+ */
+ status?: AlertStatus;
+ /**
+ * dateTime in which alert was created
+ */
+ creationTime?: string;
+ /**
+ * dateTime in which alert was closed
+ */
+ closeTime?: string;
+ /**
+ * dateTime in which alert was last modified
+ */
+ modificationTime?: string;
+ statusModificationUserName?: string;
+ /**
+ * dateTime in which the alert status was last modified
+ */
+ statusModificationTime?: string;
+}
+
+/**
+ * Result of alerts.
+ */
+export interface AlertsResult {
+ /**
+ * List of alerts.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: Alert[];
+ /**
+ * URL to get the next set of alerts results if there are any.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly nextLink?: string;
+}
+
+/**
+ * The request payload to update an alert
+ */
+export interface DismissAlertPayload {
+ /**
+ * defines the type of alert
+ */
+ definition?: AlertPropertiesDefinition;
+ /**
+ * Alert description
+ */
+ description?: string;
+ /**
+ * Source of alert. Possible values include: 'Preset', 'User'
+ */
+ source?: AlertSource;
+ /**
+ * Alert details
+ */
+ details?: AlertPropertiesDetails;
+ /**
+ * related budget
+ */
+ costEntityId?: string;
+ /**
+ * alert status. Possible values include: 'None', 'Active', 'Overridden', 'Resolved', 'Dismissed'
+ */
+ status?: AlertStatus;
+ /**
+ * dateTime in which alert was created
+ */
+ creationTime?: string;
+ /**
+ * dateTime in which alert was closed
+ */
+ closeTime?: string;
+ /**
+ * dateTime in which alert was last modified
+ */
+ modificationTime?: string;
+ statusModificationUserName?: string;
+ /**
+ * dateTime in which the alert status was last modified
+ */
+ statusModificationTime?: string;
+}
+
+/**
+ * An interface representing QueryColumn.
+ */
+export interface QueryColumn {
+ /**
+ * The name of column.
+ */
+ name?: string;
+ /**
+ * The type of column.
+ */
+ type?: string;
+}
+
+/**
+ * Result of query. It contains all columns listed under groupings and aggregation.
+ */
+export interface QueryResult extends Resource {
+ /**
+ * 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;
+ /**
+ * 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 link (url) to the next page of results.
+ */
+ nextLink?: string;
+ /**
+ * Array of columns
+ */
+ columns?: QueryColumn[];
+ /**
+ * Array of rows
+ */
+ rows?: any[][];
+}
+
+/**
+ * The object that represents the operation.
+ */
+export interface OperationDisplay {
+ /**
+ * Service provider: Microsoft.CostManagement.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provider?: string;
+ /**
+ * Resource on which the operation is performed: Dimensions, Query.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resource?: string;
+ /**
+ * Operation type: Read, write, delete, etc.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly operation?: string;
+}
+
+/**
+ * A Cost management REST API operation.
+ */
+export interface Operation {
+ /**
+ * Operation name: {provider}/{resource}/{operation}.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The object that represents the operation.
+ */
+ display?: OperationDisplay;
+}
+
+/**
+ * The start and end date for pulling data for the query.
+ */
+export interface QueryTimePeriod {
+ /**
+ * The start date to pull data from.
+ */
+ from: Date;
+ /**
+ * The end date to pull data to.
+ */
+ to: Date;
+}
+
+/**
+ * The configuration of dataset in the query.
+ */
+export interface QueryDatasetConfiguration {
+ /**
+ * Array of column names to be included in the query. Any valid query column name is allowed. If
+ * not provided, then query includes all columns.
+ */
+ columns?: string[];
+}
+
+/**
+ * The aggregation expression to be used in the query.
+ */
+export interface QueryAggregation {
+ /**
+ * The name of the column to aggregate.
+ */
+ name: string;
+ /**
+ * The name of the aggregation function to use. Possible values include: 'Avg', 'Max', 'Min',
+ * 'Sum'
+ */
+ functionProperty: FunctionType;
+}
+
+/**
+ * The group by expression to be used in the query.
+ */
+export interface QueryGrouping {
+ /**
+ * Has type of the column to group. Possible values include: 'Tag', 'Dimension'
+ */
+ type: QueryColumnType;
+ /**
+ * The name of the column to group.
+ */
+ name: string;
+}
+
+/**
+ * The comparison expression to be used in the query.
+ */
+export interface QueryComparisonExpression {
+ /**
+ * The name of the column to use in comparison.
+ */
+ name: string;
+ /**
+ * Array of values to use for comparison
+ */
+ values: string[];
+}
+
+/**
+ * The filter expression to be used in the export.
+ */
+export interface QueryFilter {
+ /**
+ * The logical "AND" expression. Must have at least 2 items.
+ */
+ and?: QueryFilter[];
+ /**
+ * The logical "OR" expression. Must have at least 2 items.
+ */
+ or?: QueryFilter[];
+ /**
+ * Has comparison expression for a dimension
+ */
+ dimensions?: QueryComparisonExpression;
+ /**
+ * Has comparison expression for a tag
+ */
+ tags?: QueryComparisonExpression;
+}
+
+/**
+ * The definition of data present in the query.
+ */
+export interface QueryDataset {
+ /**
+ * The granularity of rows in the query. Possible values include: 'Daily'
+ */
+ granularity?: GranularityType;
+ /**
+ * Has configuration information for the data in the export. The configuration will be ignored if
+ * aggregation and grouping are provided.
+ */
+ configuration?: QueryDatasetConfiguration;
+ /**
+ * Dictionary of aggregation expression to use in the query. The key of each item in the
+ * dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.
+ */
+ aggregation?: { [propertyName: string]: QueryAggregation };
+ /**
+ * Array of group by expression to use in the query. Query can have up to 2 group by clauses.
+ */
+ grouping?: QueryGrouping[];
+ /**
+ * Has filter expression to use in the query.
+ */
+ filter?: QueryFilter;
+}
+
+/**
+ * The definition of a forecast.
+ */
+export interface ForecastDefinition {
+ /**
+ * The type of the forecast. Possible values include: 'Usage', 'ActualCost', 'AmortizedCost'
+ */
+ type: ForecastType;
+ /**
+ * The time frame for pulling data for the forecast. If custom, then a specific time period must
+ * be provided. Possible values include: 'MonthToDate', 'BillingMonthToDate', 'TheLastMonth',
+ * 'TheLastBillingMonth', 'WeekToDate', 'Custom'
+ */
+ timeframe: ForecastTimeframeType;
+ /**
+ * Has time period for pulling data for the forecast.
+ */
+ timePeriod?: QueryTimePeriod;
+ /**
+ * Has definition for data in this forecast.
+ */
+ dataset?: QueryDataset;
+ /**
+ * a boolean determining if actualCost will be included
+ */
+ includeActualCost?: boolean;
+ /**
+ * a boolean determining if FreshPartialCost will be included
+ */
+ includeFreshPartialCost?: boolean;
+}
+
+/**
+ * The definition of a query.
+ */
+export interface QueryDefinition {
+ /**
+ * The type of the query. Possible values include: 'Usage', 'ActualCost', 'AmortizedCost'
+ */
+ type: ExportType;
+ /**
+ * The time frame for pulling data for the query. If custom, then a specific time period must be
+ * provided. Possible values include: 'MonthToDate', 'BillingMonthToDate', 'TheLastMonth',
+ * 'TheLastBillingMonth', 'WeekToDate', 'Custom'
+ */
+ timeframe: TimeframeType;
+ /**
+ * Has time period for pulling data for the query.
+ */
+ timePeriod?: QueryTimePeriod;
+ /**
+ * Has definition for data in this query.
+ */
+ dataset?: QueryDataset;
+}
+
+/**
+ * The status of the long running operation.
+ */
+export interface Status {
+ /**
+ * The status of the long running operation. Possible values include: 'Running', 'Completed',
+ * 'Failed'
+ */
+ status?: OperationStatusType;
+}
+
+/**
+ * The status of the long running operation.
+ */
+export interface OperationStatus {
+ /**
+ * The status of the long running operation.
+ */
+ status?: Status;
+ /**
+ * The URL to download the generated report.
+ */
+ reportUrl?: string;
+ /**
+ * The time at which report URL becomes invalid.
+ */
+ validUntil?: Date;
+}
+
+/**
+ * The definition of a query.
+ */
+export interface ExportDefinition {
+ /**
+ * The type of the query. Possible values include: 'Usage', 'ActualCost', 'AmortizedCost'
+ */
+ type: ExportType;
+ /**
+ * The time frame for pulling data for the query. If custom, then a specific time period must be
+ * provided. Possible values include: 'MonthToDate', 'BillingMonthToDate', 'TheLastMonth',
+ * 'TheLastBillingMonth', 'WeekToDate', 'Custom'
+ */
+ timeframe: TimeframeType;
+ /**
+ * Has time period for pulling data for the query.
+ */
+ timePeriod?: QueryTimePeriod;
+ /**
+ * Has definition for data in this query.
+ */
+ dataSet?: QueryDataset;
+}
+
+/**
+ * The start and end date for recurrence schedule.
+ */
+export interface ExportRecurrencePeriod {
+ /**
+ * The start date of recurrence.
+ */
+ from: Date;
+ /**
+ * The end date of recurrence.
+ */
+ to?: Date;
+}
+
+/**
+ * The schedule associated with a export.
+ */
+export interface ExportSchedule {
+ /**
+ * The status of the schedule. Whether active or not. If inactive, the export's scheduled
+ * execution is paused. Possible values include: 'Active', 'Inactive'
+ */
+ status?: StatusType;
+ /**
+ * The schedule recurrence. Possible values include: 'Daily', 'Weekly', 'Monthly', 'Annually'
+ */
+ recurrence: RecurrenceType;
+ /**
+ * Has start and end date of the recurrence. The start date must be in future. If present, the
+ * end date must be greater than start date.
+ */
+ recurrencePeriod?: ExportRecurrencePeriod;
+}
+
+/**
+ * A export resource.
+ */
+export interface ExportModel extends ProxyResource {
+ /**
+ * The format of the export being delivered. Possible values include: 'Csv'
+ */
+ format?: FormatType;
+ /**
+ * Has delivery information for the export.
+ */
+ deliveryInfo: ExportDeliveryInfo;
+ /**
+ * Has definition for the export.
+ */
+ definition: ExportDefinition;
+ /**
+ * Has schedule information for the export.
+ */
+ schedule?: ExportSchedule;
+}
+
+/**
+ * Result of listing exports. It contains a list of available exports in the scope provided.
+ */
+export interface ExportListResult {
+ /**
+ * The list of exports.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: ExportModel[];
+}
+
+/**
+ * The destination information for the delivery of the export. To allow access to a storage
+ * account, you must register the account's subscription with the Microsoft.CostManagementExports
+ * resource provider. This is required once per subscription. When creating an export in the Azure
+ * portal, it is done automatically, however API users need to register the subscription. For more
+ * information see
+ * https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services
+ * .
+ */
+export interface ExportDeliveryDestination {
+ /**
+ * The resource id of the storage account where exports will be delivered.
+ */
+ resourceId: string;
+ /**
+ * The name of the container where exports will be uploaded.
+ */
+ container: string;
+ /**
+ * The name of the directory where exports will be uploaded.
+ */
+ rootFolderPath?: string;
+}
+
+/**
+ * The delivery information associated with a export.
+ */
+export interface ExportDeliveryInfo {
+ /**
+ * Has destination for the export being delivered.
+ */
+ destination: ExportDeliveryDestination;
+}
+
+/**
+ * The common properties of the export.
+ */
+export interface CommonExportProperties {
+ /**
+ * The format of the export being delivered. Possible values include: 'Csv'
+ */
+ format?: FormatType;
+ /**
+ * Has delivery information for the export.
+ */
+ deliveryInfo: ExportDeliveryInfo;
+ /**
+ * Has definition for the export.
+ */
+ definition: ExportDefinition;
+}
+
+/**
+ * A export execution.
+ */
+export interface ExportExecution extends Resource {
+ /**
+ * The type of the export execution. Possible values include: 'OnDemand', 'Scheduled'
+ */
+ executionType?: ExecutionType;
+ /**
+ * The status of the export execution. Possible values include: 'Queued', 'InProgress',
+ * 'Completed', 'Failed', 'Timeout', 'NewDataNotAvailable', 'DataNotAvailable'
+ */
+ status?: ExecutionStatus;
+ /**
+ * The identifier for the entity that executed the export. For OnDemand executions, it is the
+ * email id. For Scheduled executions, it is the constant value - System.
+ */
+ submittedBy?: string;
+ /**
+ * The time when export was queued to be executed.
+ */
+ submittedTime?: Date;
+ /**
+ * The time when export was picked up to be executed.
+ */
+ processingStartTime?: Date;
+ /**
+ * The time when export execution finished.
+ */
+ processingEndTime?: Date;
+ /**
+ * The name of the file export got written to.
+ */
+ fileName?: string;
+ runSettings?: CommonExportProperties;
+}
+
+/**
+ * Result of listing exports execution history of a export by name
+ */
+export interface ExportExecutionListResult {
+ /**
+ * The list of export executions.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: ExportExecution[];
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ForecastUsageOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or
+ * properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not
+ * currently support 'ne', 'or', or 'not'.
+ */
+ filter?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ForecastExternalCloudProviderUsageOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or
+ * properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not
+ * currently support 'ne', 'or', or 'not'.
+ */
+ filter?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface DimensionsListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * May be used to filter dimensions by properties/category, properties/usageStart,
+ * properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.
+ */
+ filter?: string;
+ /**
+ * May be used to expand the properties/data within a dimension category. By default, data is not
+ * included when listing dimensions.
+ */
+ expand?: 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 dimension data.
+ */
+ top?: number;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface DimensionsByExternalCloudProviderTypeOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * May be used to filter dimensions by properties/category, properties/usageStart,
+ * properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.
+ */
+ filter?: string;
+ /**
+ * May be used to expand the properties/data within a dimension category. By default, data is not
+ * included when listing dimensions.
+ */
+ expand?: 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 dimension data.
+ */
+ top?: number;
+}
+
+/**
+ * An interface representing CostManagementClientOptions.
+ */
+export interface CostManagementClientOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * Defines headers for ByBillingAccountId operation.
+ */
+export interface GenerateReservationDetailsReportByBillingAccountIdHeaders {
+ /**
+ * The URL to check the status of the asynchronous operation.
+ */
+ location: string;
+ /**
+ * The amount of delay to use while the status of the operation is checked. The value is
+ * expressed in seconds.
+ */
+ retryAfter: number;
+}
+
+/**
+ * Defines headers for ByBillingProfileId operation.
+ */
+export interface GenerateReservationDetailsReportByBillingProfileIdHeaders {
+ /**
+ * The URL to check the status of the asynchronous operation.
+ */
+ location: string;
+ /**
+ * The amount of delay to use while the status of the operation is checked. The value is
+ * expressed in seconds.
+ */
+ retryAfter: number;
+}
+
+/**
+ * @interface
+ * Result of listing settings. It contains a list of available settings.
+ * @extends Array
+ */
+export interface SettingsListResult 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 views. It contains a list of available views.
+ * @extends Array
+ */
+export interface ViewListResult 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 dimensions. It contains a list of available dimensions.
+ * @extends Array
+ */
+export interface DimensionsListResult extends Array {
+}
+
+/**
+ * @interface
+ * Result of listing cost management operations. It contains a list of operations and a URL link to
+ * get the next set of results.
+ * @extends Array
+ */
+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 ReportTimeframeType.
+ * Possible values include: 'WeekToDate', 'MonthToDate', 'YearToDate', 'Custom'
+ * @readonly
+ * @enum {string}
+ */
+export type ReportTimeframeType = 'WeekToDate' | 'MonthToDate' | 'YearToDate' | 'Custom';
+
+/**
+ * Defines values for ReportGranularityType.
+ * Possible values include: 'Daily', 'Monthly'
+ * @readonly
+ * @enum {string}
+ */
+export type ReportGranularityType = 'Daily' | 'Monthly';
+
+/**
+ * Defines values for FunctionType.
+ * Possible values include: 'Avg', 'Max', 'Min', 'Sum'
+ * @readonly
+ * @enum {string}
+ */
+export type FunctionType = 'Avg' | 'Max' | 'Min' | 'Sum';
+
+/**
+ * Defines values for ReportConfigColumnType.
+ * Possible values include: 'Tag', 'Dimension'
+ * @readonly
+ * @enum {string}
+ */
+export type ReportConfigColumnType = 'Tag' | 'Dimension';
+
+/**
+ * Defines values for OperatorType.
+ * Possible values include: 'In', 'Contains'
+ * @readonly
+ * @enum {string}
+ */
+export type OperatorType = 'In' | 'Contains';
+
+/**
+ * Defines values for ChartType.
+ * Possible values include: 'Area', 'Line', 'StackedColumn', 'GroupedColumn', 'Table'
+ * @readonly
+ * @enum {string}
+ */
+export type ChartType = 'Area' | 'Line' | 'StackedColumn' | 'GroupedColumn' | 'Table';
+
+/**
+ * Defines values for AccumulatedType.
+ * Possible values include: 'true', 'false'
+ * @readonly
+ * @enum {string}
+ */
+export type AccumulatedType = 'true' | 'false';
+
+/**
+ * Defines values for MetricType.
+ * Possible values include: 'ActualCost', 'AmortizedCost', 'AHUB'
+ * @readonly
+ * @enum {string}
+ */
+export type MetricType = 'ActualCost' | 'AmortizedCost' | 'AHUB';
+
+/**
+ * Defines values for KpiTypeType.
+ * Possible values include: 'Forecast', 'Budget'
+ * @readonly
+ * @enum {string}
+ */
+export type KpiTypeType = 'Forecast' | 'Budget';
+
+/**
+ * Defines values for PivotTypeType.
+ * Possible values include: 'Dimension', 'TagKey'
+ * @readonly
+ * @enum {string}
+ */
+export type PivotTypeType = 'Dimension' | 'TagKey';
+
+/**
+ * Defines values for AlertType.
+ * Possible values include: 'Budget', 'Invoice', 'Credit', 'Quota', 'General', 'xCloud',
+ * 'BudgetForecast'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertType = 'Budget' | 'Invoice' | 'Credit' | 'Quota' | 'General' | 'xCloud' | 'BudgetForecast';
+
+/**
+ * Defines values for AlertCategory.
+ * Possible values include: 'Cost', 'Usage', 'Billing', 'System'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertCategory = 'Cost' | 'Usage' | 'Billing' | 'System';
+
+/**
+ * Defines values for AlertCriteria.
+ * Possible values include: 'CostThresholdExceeded', 'UsageThresholdExceeded',
+ * 'CreditThresholdApproaching', 'CreditThresholdReached', 'QuotaThresholdApproaching',
+ * 'QuotaThresholdReached', 'MultiCurrency', 'ForecastCostThresholdExceeded',
+ * 'ForecastUsageThresholdExceeded', 'InvoiceDueDateApproaching', 'InvoiceDueDateReached',
+ * 'CrossCloudNewDataAvailable', 'CrossCloudCollectionError', 'GeneralThresholdError'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertCriteria = 'CostThresholdExceeded' | 'UsageThresholdExceeded' | 'CreditThresholdApproaching' | 'CreditThresholdReached' | 'QuotaThresholdApproaching' | 'QuotaThresholdReached' | 'MultiCurrency' | 'ForecastCostThresholdExceeded' | 'ForecastUsageThresholdExceeded' | 'InvoiceDueDateApproaching' | 'InvoiceDueDateReached' | 'CrossCloudNewDataAvailable' | 'CrossCloudCollectionError' | 'GeneralThresholdError';
+
+/**
+ * Defines values for AlertSource.
+ * Possible values include: 'Preset', 'User'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertSource = 'Preset' | 'User';
+
+/**
+ * Defines values for AlertTimeGrainType.
+ * Possible values include: 'None', 'Monthly', 'Quarterly', 'Annually', 'BillingMonth',
+ * 'BillingQuarter', 'BillingAnnual'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertTimeGrainType = 'None' | 'Monthly' | 'Quarterly' | 'Annually' | 'BillingMonth' | 'BillingQuarter' | 'BillingAnnual';
+
+/**
+ * Defines values for AlertOperator.
+ * Possible values include: 'None', 'EqualTo', 'GreaterThan', 'GreaterThanOrEqualTo', 'LessThan',
+ * 'LessThanOrEqualTo'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertOperator = 'None' | 'EqualTo' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThan' | 'LessThanOrEqualTo';
+
+/**
+ * Defines values for AlertStatus.
+ * Possible values include: 'None', 'Active', 'Overridden', 'Resolved', 'Dismissed'
+ * @readonly
+ * @enum {string}
+ */
+export type AlertStatus = 'None' | 'Active' | 'Overridden' | 'Resolved' | 'Dismissed';
+
+/**
+ * Defines values for ForecastType.
+ * Possible values include: 'Usage', 'ActualCost', 'AmortizedCost'
+ * @readonly
+ * @enum {string}
+ */
+export type ForecastType = 'Usage' | 'ActualCost' | 'AmortizedCost';
+
+/**
+ * Defines values for ForecastTimeframeType.
+ * Possible values include: 'MonthToDate', 'BillingMonthToDate', 'TheLastMonth',
+ * 'TheLastBillingMonth', 'WeekToDate', 'Custom'
+ * @readonly
+ * @enum {string}
+ */
+export type ForecastTimeframeType = 'MonthToDate' | 'BillingMonthToDate' | 'TheLastMonth' | 'TheLastBillingMonth' | 'WeekToDate' | 'Custom';
+
+/**
+ * Defines values for GranularityType.
+ * Possible values include: 'Daily'
+ * @readonly
+ * @enum {string}
+ */
+export type GranularityType = 'Daily';
+
+/**
+ * Defines values for QueryColumnType.
+ * Possible values include: 'Tag', 'Dimension'
+ * @readonly
+ * @enum {string}
+ */
+export type QueryColumnType = 'Tag' | 'Dimension';
+
+/**
+ * Defines values for ExportType.
+ * Possible values include: 'Usage', 'ActualCost', 'AmortizedCost'
+ * @readonly
+ * @enum {string}
+ */
+export type ExportType = 'Usage' | 'ActualCost' | 'AmortizedCost';
+
+/**
+ * Defines values for TimeframeType.
+ * Possible values include: 'MonthToDate', 'BillingMonthToDate', 'TheLastMonth',
+ * 'TheLastBillingMonth', 'WeekToDate', 'Custom'
+ * @readonly
+ * @enum {string}
+ */
+export type TimeframeType = 'MonthToDate' | 'BillingMonthToDate' | 'TheLastMonth' | 'TheLastBillingMonth' | 'WeekToDate' | 'Custom';
+
+/**
+ * Defines values for OperationStatusType.
+ * Possible values include: 'Running', 'Completed', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type OperationStatusType = 'Running' | 'Completed' | 'Failed';
+
+/**
+ * Defines values for StatusType.
+ * Possible values include: 'Active', 'Inactive'
+ * @readonly
+ * @enum {string}
+ */
+export type StatusType = 'Active' | 'Inactive';
+
+/**
+ * Defines values for RecurrenceType.
+ * Possible values include: 'Daily', 'Weekly', 'Monthly', 'Annually'
+ * @readonly
+ * @enum {string}
+ */
+export type RecurrenceType = 'Daily' | 'Weekly' | 'Monthly' | 'Annually';
+
+/**
+ * Defines values for FormatType.
+ * Possible values include: 'Csv'
+ * @readonly
+ * @enum {string}
+ */
+export type FormatType = 'Csv';
+
+/**
+ * Defines values for ExecutionType.
+ * Possible values include: 'OnDemand', 'Scheduled'
+ * @readonly
+ * @enum {string}
+ */
+export type ExecutionType = 'OnDemand' | 'Scheduled';
+
+/**
+ * Defines values for ExecutionStatus.
+ * Possible values include: 'Queued', 'InProgress', 'Completed', 'Failed', 'Timeout',
+ * 'NewDataNotAvailable', 'DataNotAvailable'
+ * @readonly
+ * @enum {string}
+ */
+export type ExecutionStatus = 'Queued' | 'InProgress' | 'Completed' | 'Failed' | 'Timeout' | 'NewDataNotAvailable' | 'DataNotAvailable';
+
+/**
+ * Defines values for ExternalCloudProviderType.
+ * Possible values include: 'externalSubscriptions', 'externalBillingAccounts'
+ * @readonly
+ * @enum {string}
+ */
+export type ExternalCloudProviderType = 'externalSubscriptions' | 'externalBillingAccounts';
+
+/**
+ * Defines values for Direction.
+ * Possible values include: 'Ascending', 'Descending'
+ * @readonly
+ * @enum {string}
+ */
+export type Direction = 'Ascending' | 'Descending';
+
+/**
+ * Defines values for StartOn.
+ * Possible values include: 'LastUsed', 'ScopePicker', 'SpecificScope'
+ * @readonly
+ * @enum {string}
+ */
+export type StartOn = 'LastUsed' | 'ScopePicker' | 'SpecificScope';
+
+/**
+ * Contains response data for the list operation.
+ */
+export type SettingsListResponse = SettingsListResult & {
+ /**
+ * 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: SettingsListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type SettingsGetResponse = Setting & {
+ /**
+ * 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: Setting;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type SettingsCreateOrUpdateResponse = Setting & {
+ /**
+ * 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: Setting;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type SettingsListNextResponse = SettingsListResult & {
+ /**
+ * 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: SettingsListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ViewsListResponse = ViewListResult & {
+ /**
+ * 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: ViewListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByScope operation.
+ */
+export type ViewsListByScopeResponse = ViewListResult & {
+ /**
+ * 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: ViewListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ViewsGetResponse = View & {
+ /**
+ * 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: View;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ViewsCreateOrUpdateResponse = View & {
+ /**
+ * 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: View;
+ };
+};
+
+/**
+ * Contains response data for the getByScope operation.
+ */
+export type ViewsGetByScopeResponse = View & {
+ /**
+ * 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: View;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdateByScope operation.
+ */
+export type ViewsCreateOrUpdateByScopeResponse = View & {
+ /**
+ * 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: View;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ViewsListNextResponse = ViewListResult & {
+ /**
+ * 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: ViewListResult;
+ };
+};
+
+/**
+ * Contains response data for the listByScopeNext operation.
+ */
+export type ViewsListByScopeNextResponse = ViewListResult & {
+ /**
+ * 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: ViewListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type AlertsListResponse = AlertsResult & {
+ /**
+ * 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: AlertsResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type AlertsGetResponse = Alert & {
+ /**
+ * 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: Alert;
+ };
+};
+
+/**
+ * Contains response data for the dismiss operation.
+ */
+export type AlertsDismissResponse = Alert & {
+ /**
+ * 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: Alert;
+ };
+};
+
+/**
+ * Contains response data for the listExternal operation.
+ */
+export type AlertsListExternalResponse = AlertsResult & {
+ /**
+ * 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: AlertsResult;
+ };
+};
+
+/**
+ * Contains response data for the usage operation.
+ */
+export type ForecastUsageResponse = QueryResult & {
+ /**
+ * 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: QueryResult;
+ };
+};
+
+/**
+ * Contains response data for the externalCloudProviderUsage operation.
+ */
+export type ForecastExternalCloudProviderUsageResponse = QueryResult & {
+ /**
+ * 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: QueryResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type DimensionsListResponse = DimensionsListResult & {
+ /**
+ * 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: DimensionsListResult;
+ };
+};
+
+/**
+ * Contains response data for the byExternalCloudProviderType operation.
+ */
+export type DimensionsByExternalCloudProviderTypeResponse = DimensionsListResult & {
+ /**
+ * 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: DimensionsListResult;
+ };
+};
+
+/**
+ * Contains response data for the usage operation.
+ */
+export type QueryUsageResponse = QueryResult & {
+ /**
+ * 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: QueryResult;
+ };
+};
+
+/**
+ * Contains response data for the usageByExternalCloudProviderType operation.
+ */
+export type QueryUsageByExternalCloudProviderTypeResponse = QueryResult & {
+ /**
+ * 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: QueryResult;
+ };
+};
+
+/**
+ * Contains response data for the byBillingAccountId operation.
+ */
+export type GenerateReservationDetailsReportByBillingAccountIdResponse = OperationStatus & GenerateReservationDetailsReportByBillingAccountIdHeaders & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The parsed HTTP response headers.
+ */
+ parsedHeaders: GenerateReservationDetailsReportByBillingAccountIdHeaders;
+
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the byBillingProfileId operation.
+ */
+export type GenerateReservationDetailsReportByBillingProfileIdResponse = OperationStatus & GenerateReservationDetailsReportByBillingProfileIdHeaders & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The parsed HTTP response headers.
+ */
+ parsedHeaders: GenerateReservationDetailsReportByBillingProfileIdHeaders;
+
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationStatus;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+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: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+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: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ExportsListResponse = ExportListResult & {
+ /**
+ * 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: ExportListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ExportsGetResponse = ExportModel & {
+ /**
+ * 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: ExportModel;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ExportsCreateOrUpdateResponse = ExportModel & {
+ /**
+ * 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: ExportModel;
+ };
+};
+
+/**
+ * Contains response data for the getExecutionHistory operation.
+ */
+export type ExportsGetExecutionHistoryResponse = ExportExecutionListResult & {
+ /**
+ * 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: ExportExecutionListResult;
+ };
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/models/mappers.ts b/sdk/cost-management/arm-costmanagement/src/models/mappers.ts
new file mode 100644
index 000000000000..d9ede6353e6a
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/mappers.ts
@@ -0,0 +1,2165 @@
+/*
+ * 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 { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const ReportConfigTimePeriod: msRest.CompositeMapper = {
+ serializedName: "ReportConfigTimePeriod",
+ type: {
+ name: "Composite",
+ className: "ReportConfigTimePeriod",
+ modelProperties: {
+ from: {
+ required: true,
+ serializedName: "from",
+ type: {
+ name: "DateTime"
+ }
+ },
+ to: {
+ required: true,
+ serializedName: "to",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigDatasetConfiguration: msRest.CompositeMapper = {
+ serializedName: "ReportConfigDatasetConfiguration",
+ type: {
+ name: "Composite",
+ className: "ReportConfigDatasetConfiguration",
+ modelProperties: {
+ columns: {
+ serializedName: "columns",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigAggregation: msRest.CompositeMapper = {
+ serializedName: "ReportConfigAggregation",
+ type: {
+ name: "Composite",
+ className: "ReportConfigAggregation",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ functionProperty: {
+ required: true,
+ serializedName: "function",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigGrouping: msRest.CompositeMapper = {
+ serializedName: "ReportConfigGrouping",
+ type: {
+ name: "Composite",
+ className: "ReportConfigGrouping",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigSorting: msRest.CompositeMapper = {
+ serializedName: "ReportConfigSorting",
+ type: {
+ name: "Composite",
+ className: "ReportConfigSorting",
+ modelProperties: {
+ direction: {
+ serializedName: "direction",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigComparisonExpression: msRest.CompositeMapper = {
+ serializedName: "ReportConfigComparisonExpression",
+ type: {
+ name: "Composite",
+ className: "ReportConfigComparisonExpression",
+ modelProperties: {
+ name: {
+ required: true,
+ nullable: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ operator: {
+ required: true,
+ serializedName: "operator",
+ type: {
+ name: "String"
+ }
+ },
+ values: {
+ required: true,
+ serializedName: "values",
+ constraints: {
+ MinItems: 1
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigFilter: msRest.CompositeMapper = {
+ serializedName: "ReportConfigFilter",
+ type: {
+ name: "Composite",
+ className: "ReportConfigFilter",
+ modelProperties: {
+ and: {
+ serializedName: "and",
+ constraints: {
+ MinItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportConfigFilter"
+ }
+ }
+ }
+ },
+ or: {
+ serializedName: "or",
+ constraints: {
+ MinItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportConfigFilter"
+ }
+ }
+ }
+ },
+ dimensions: {
+ serializedName: "dimensions",
+ type: {
+ name: "Composite",
+ className: "ReportConfigComparisonExpression"
+ }
+ },
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Composite",
+ className: "ReportConfigComparisonExpression"
+ }
+ },
+ tagKey: {
+ serializedName: "tagKey",
+ type: {
+ name: "Composite",
+ className: "ReportConfigComparisonExpression"
+ }
+ },
+ tagValue: {
+ serializedName: "tagValue",
+ type: {
+ name: "Composite",
+ className: "ReportConfigComparisonExpression"
+ }
+ }
+ }
+ }
+};
+
+export const ReportConfigDataset: msRest.CompositeMapper = {
+ serializedName: "ReportConfigDataset",
+ type: {
+ name: "Composite",
+ className: "ReportConfigDataset",
+ modelProperties: {
+ granularity: {
+ serializedName: "granularity",
+ type: {
+ name: "String"
+ }
+ },
+ configuration: {
+ serializedName: "configuration",
+ type: {
+ name: "Composite",
+ className: "ReportConfigDatasetConfiguration"
+ }
+ },
+ aggregation: {
+ serializedName: "aggregation",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "ReportConfigAggregation"
+ }
+ }
+ }
+ },
+ grouping: {
+ serializedName: "grouping",
+ constraints: {
+ MaxItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportConfigGrouping"
+ }
+ }
+ }
+ },
+ sorting: {
+ serializedName: "sorting",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportConfigSorting"
+ }
+ }
+ }
+ },
+ filter: {
+ serializedName: "filter",
+ type: {
+ name: "Composite",
+ className: "ReportConfigFilter"
+ }
+ }
+ }
+ }
+};
+
+export const CacheItem: msRest.CompositeMapper = {
+ serializedName: "CacheItem",
+ type: {
+ name: "Composite",
+ className: "CacheItem",
+ modelProperties: {
+ id: {
+ required: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ channel: {
+ required: true,
+ serializedName: "channel",
+ type: {
+ name: "String"
+ }
+ },
+ subchannel: {
+ required: true,
+ serializedName: "subchannel",
+ type: {
+ name: "String"
+ }
+ },
+ parent: {
+ nullable: true,
+ serializedName: "parent",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ nullable: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ProxySettingResource: msRest.CompositeMapper = {
+ serializedName: "ProxySettingResource",
+ type: {
+ name: "Composite",
+ className: "ProxySettingResource",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ kind: {
+ readOnly: true,
+ serializedName: "kind",
+ constraints: {
+ MaxLength: 10
+ },
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Setting: msRest.CompositeMapper = {
+ serializedName: "Setting",
+ type: {
+ name: "Composite",
+ className: "Setting",
+ modelProperties: {
+ ...ProxySettingResource.type.modelProperties,
+ scope: {
+ required: true,
+ serializedName: "properties.scope",
+ type: {
+ name: "String"
+ }
+ },
+ startOn: {
+ nullable: true,
+ serializedName: "properties.startOn",
+ type: {
+ name: "String"
+ }
+ },
+ cache: {
+ serializedName: "properties.cache",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "CacheItem"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const KpiProperties: msRest.CompositeMapper = {
+ serializedName: "KpiProperties",
+ type: {
+ name: "Composite",
+ className: "KpiProperties",
+ modelProperties: {
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ enabled: {
+ serializedName: "enabled",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const PivotProperties: msRest.CompositeMapper = {
+ serializedName: "PivotProperties",
+ type: {
+ name: "Composite",
+ className: "PivotProperties",
+ modelProperties: {
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ serializedName: "name",
+ 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 View: msRest.CompositeMapper = {
+ serializedName: "View",
+ type: {
+ name: "Composite",
+ className: "View",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ displayName: {
+ serializedName: "properties.displayName",
+ type: {
+ name: "String"
+ }
+ },
+ scope: {
+ serializedName: "properties.scope",
+ type: {
+ name: "String"
+ }
+ },
+ createdOn: {
+ readOnly: true,
+ serializedName: "properties.createdOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ modifiedOn: {
+ readOnly: true,
+ serializedName: "properties.modifiedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ dateRange: {
+ readOnly: true,
+ serializedName: "properties.dateRange",
+ type: {
+ name: "String"
+ }
+ },
+ currency: {
+ readOnly: true,
+ serializedName: "properties.currency",
+ type: {
+ name: "String"
+ }
+ },
+ viewType: {
+ required: true,
+ isConstant: true,
+ serializedName: "properties.query.type",
+ defaultValue: 'Usage',
+ type: {
+ name: "String"
+ }
+ },
+ timeframe: {
+ required: true,
+ serializedName: "properties.query.timeframe",
+ type: {
+ name: "String"
+ }
+ },
+ timePeriod: {
+ serializedName: "properties.query.timePeriod",
+ type: {
+ name: "Composite",
+ className: "ReportConfigTimePeriod"
+ }
+ },
+ dataSet: {
+ serializedName: "properties.query.dataSet",
+ type: {
+ name: "Composite",
+ className: "ReportConfigDataset"
+ }
+ },
+ includeMonetaryCommitment: {
+ readOnly: true,
+ serializedName: "properties.query.includeMonetaryCommitment",
+ type: {
+ name: "Boolean"
+ }
+ },
+ chart: {
+ serializedName: "properties.chart",
+ type: {
+ name: "String"
+ }
+ },
+ accumulated: {
+ serializedName: "properties.accumulated",
+ type: {
+ name: "String"
+ }
+ },
+ metric: {
+ serializedName: "properties.metric",
+ type: {
+ name: "String"
+ }
+ },
+ kpis: {
+ serializedName: "properties.kpis",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "KpiProperties"
+ }
+ }
+ }
+ },
+ pivots: {
+ serializedName: "properties.pivots",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "PivotProperties"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+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 ErrorResponse: msRest.CompositeMapper = {
+ serializedName: "ErrorResponse",
+ type: {
+ name: "Composite",
+ className: "ErrorResponse",
+ modelProperties: {
+ error: {
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetails"
+ }
+ }
+ }
+ }
+};
+
+export const Resource: msRest.CompositeMapper = {
+ serializedName: "Resource",
+ type: {
+ name: "Composite",
+ className: "Resource",
+ 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: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const Dimension: msRest.CompositeMapper = {
+ serializedName: "Dimension",
+ type: {
+ name: "Composite",
+ className: "Dimension",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ description: {
+ readOnly: true,
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ filterEnabled: {
+ readOnly: true,
+ serializedName: "properties.filterEnabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ groupingEnabled: {
+ readOnly: true,
+ serializedName: "properties.groupingEnabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ data: {
+ serializedName: "properties.data",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ total: {
+ readOnly: true,
+ serializedName: "properties.total",
+ type: {
+ name: "Number"
+ }
+ },
+ category: {
+ readOnly: true,
+ serializedName: "properties.category",
+ type: {
+ name: "String"
+ }
+ },
+ usageStart: {
+ readOnly: true,
+ serializedName: "properties.usageStart",
+ type: {
+ name: "DateTime"
+ }
+ },
+ usageEnd: {
+ readOnly: true,
+ serializedName: "properties.usageEnd",
+ type: {
+ name: "DateTime"
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "properties.nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AlertPropertiesDefinition: msRest.CompositeMapper = {
+ serializedName: "AlertProperties_definition",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDefinition",
+ modelProperties: {
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ category: {
+ serializedName: "category",
+ type: {
+ name: "String"
+ }
+ },
+ criteria: {
+ serializedName: "criteria",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AlertPropertiesDetails: msRest.CompositeMapper = {
+ serializedName: "AlertProperties_details",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDetails",
+ modelProperties: {
+ timeGrainType: {
+ serializedName: "timeGrainType",
+ type: {
+ name: "String"
+ }
+ },
+ periodStartDate: {
+ serializedName: "periodStartDate",
+ type: {
+ name: "String"
+ }
+ },
+ triggeredBy: {
+ serializedName: "triggeredBy",
+ type: {
+ name: "String"
+ }
+ },
+ resourceGroupFilter: {
+ serializedName: "resourceGroupFilter",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ },
+ resourceFilter: {
+ serializedName: "resourceFilter",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ },
+ meterFilter: {
+ serializedName: "meterFilter",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ },
+ tagFilter: {
+ serializedName: "tagFilter",
+ type: {
+ name: "Object"
+ }
+ },
+ threshold: {
+ serializedName: "threshold",
+ type: {
+ name: "Number"
+ }
+ },
+ operator: {
+ serializedName: "operator",
+ type: {
+ name: "String"
+ }
+ },
+ amount: {
+ serializedName: "amount",
+ type: {
+ name: "Number"
+ }
+ },
+ unit: {
+ serializedName: "unit",
+ type: {
+ name: "String"
+ }
+ },
+ currentSpend: {
+ serializedName: "currentSpend",
+ type: {
+ name: "Number"
+ }
+ },
+ contactEmails: {
+ serializedName: "contactEmails",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ contactGroups: {
+ serializedName: "contactGroups",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ contactRoles: {
+ serializedName: "contactRoles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ overridingAlert: {
+ serializedName: "overridingAlert",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Alert: msRest.CompositeMapper = {
+ serializedName: "Alert",
+ type: {
+ name: "Composite",
+ className: "Alert",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ definition: {
+ serializedName: "properties.definition",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDefinition"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ source: {
+ serializedName: "properties.source",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ serializedName: "properties.details",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDetails"
+ }
+ },
+ costEntityId: {
+ serializedName: "properties.costEntityId",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "properties.status",
+ type: {
+ name: "String"
+ }
+ },
+ creationTime: {
+ serializedName: "properties.creationTime",
+ type: {
+ name: "String"
+ }
+ },
+ closeTime: {
+ serializedName: "properties.closeTime",
+ type: {
+ name: "String"
+ }
+ },
+ modificationTime: {
+ serializedName: "properties.modificationTime",
+ type: {
+ name: "String"
+ }
+ },
+ statusModificationUserName: {
+ serializedName: "properties.statusModificationUserName",
+ type: {
+ name: "String"
+ }
+ },
+ statusModificationTime: {
+ serializedName: "properties.statusModificationTime",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AlertsResult: msRest.CompositeMapper = {
+ serializedName: "AlertsResult",
+ type: {
+ name: "Composite",
+ className: "AlertsResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Alert"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DismissAlertPayload: msRest.CompositeMapper = {
+ serializedName: "DismissAlertPayload",
+ type: {
+ name: "Composite",
+ className: "DismissAlertPayload",
+ modelProperties: {
+ definition: {
+ serializedName: "properties.definition",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDefinition"
+ }
+ },
+ description: {
+ serializedName: "properties.description",
+ type: {
+ name: "String"
+ }
+ },
+ source: {
+ serializedName: "properties.source",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ serializedName: "properties.details",
+ type: {
+ name: "Composite",
+ className: "AlertPropertiesDetails"
+ }
+ },
+ costEntityId: {
+ serializedName: "properties.costEntityId",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "properties.status",
+ type: {
+ name: "String"
+ }
+ },
+ creationTime: {
+ serializedName: "properties.creationTime",
+ type: {
+ name: "String"
+ }
+ },
+ closeTime: {
+ serializedName: "properties.closeTime",
+ type: {
+ name: "String"
+ }
+ },
+ modificationTime: {
+ serializedName: "properties.modificationTime",
+ type: {
+ name: "String"
+ }
+ },
+ statusModificationUserName: {
+ serializedName: "properties.statusModificationUserName",
+ type: {
+ name: "String"
+ }
+ },
+ statusModificationTime: {
+ serializedName: "properties.statusModificationTime",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const QueryColumn: msRest.CompositeMapper = {
+ serializedName: "QueryColumn",
+ type: {
+ name: "Composite",
+ className: "QueryColumn",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const QueryResult: msRest.CompositeMapper = {
+ serializedName: "QueryResult",
+ type: {
+ name: "Composite",
+ className: "QueryResult",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ eTag: {
+ serializedName: "eTag",
+ type: {
+ name: "String"
+ }
+ },
+ location: {
+ readOnly: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ sku: {
+ readOnly: true,
+ serializedName: "sku",
+ type: {
+ name: "String"
+ }
+ },
+ nextLink: {
+ serializedName: "properties.nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ columns: {
+ serializedName: "properties.columns",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "QueryColumn"
+ }
+ }
+ }
+ },
+ rows: {
+ serializedName: "properties.rows",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ readOnly: true,
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ readOnly: true,
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ readOnly: true,
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ }
+ }
+ }
+};
+
+export const QueryTimePeriod: msRest.CompositeMapper = {
+ serializedName: "QueryTimePeriod",
+ type: {
+ name: "Composite",
+ className: "QueryTimePeriod",
+ modelProperties: {
+ from: {
+ required: true,
+ serializedName: "from",
+ type: {
+ name: "DateTime"
+ }
+ },
+ to: {
+ required: true,
+ serializedName: "to",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const QueryDatasetConfiguration: msRest.CompositeMapper = {
+ serializedName: "QueryDatasetConfiguration",
+ type: {
+ name: "Composite",
+ className: "QueryDatasetConfiguration",
+ modelProperties: {
+ columns: {
+ serializedName: "columns",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const QueryAggregation: msRest.CompositeMapper = {
+ serializedName: "QueryAggregation",
+ type: {
+ name: "Composite",
+ className: "QueryAggregation",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ functionProperty: {
+ required: true,
+ serializedName: "function",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const QueryGrouping: msRest.CompositeMapper = {
+ serializedName: "QueryGrouping",
+ type: {
+ name: "Composite",
+ className: "QueryGrouping",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const QueryComparisonExpression: msRest.CompositeMapper = {
+ serializedName: "QueryComparisonExpression",
+ type: {
+ name: "Composite",
+ className: "QueryComparisonExpression",
+ 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: 1
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const QueryFilter: msRest.CompositeMapper = {
+ serializedName: "QueryFilter",
+ type: {
+ name: "Composite",
+ className: "QueryFilter",
+ modelProperties: {
+ and: {
+ serializedName: "and",
+ constraints: {
+ MinItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "QueryFilter"
+ }
+ }
+ }
+ },
+ or: {
+ serializedName: "or",
+ constraints: {
+ MinItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "QueryFilter"
+ }
+ }
+ }
+ },
+ dimensions: {
+ serializedName: "dimensions",
+ type: {
+ name: "Composite",
+ className: "QueryComparisonExpression"
+ }
+ },
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Composite",
+ className: "QueryComparisonExpression"
+ }
+ }
+ }
+ }
+};
+
+export const QueryDataset: msRest.CompositeMapper = {
+ serializedName: "QueryDataset",
+ type: {
+ name: "Composite",
+ className: "QueryDataset",
+ modelProperties: {
+ granularity: {
+ serializedName: "granularity",
+ type: {
+ name: "String"
+ }
+ },
+ configuration: {
+ serializedName: "configuration",
+ type: {
+ name: "Composite",
+ className: "QueryDatasetConfiguration"
+ }
+ },
+ aggregation: {
+ serializedName: "aggregation",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "QueryAggregation"
+ }
+ }
+ }
+ },
+ grouping: {
+ serializedName: "grouping",
+ constraints: {
+ MaxItems: 2
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "QueryGrouping"
+ }
+ }
+ }
+ },
+ filter: {
+ serializedName: "filter",
+ type: {
+ name: "Composite",
+ className: "QueryFilter"
+ }
+ }
+ }
+ }
+};
+
+export const ForecastDefinition: msRest.CompositeMapper = {
+ serializedName: "ForecastDefinition",
+ type: {
+ name: "Composite",
+ className: "ForecastDefinition",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ timeframe: {
+ required: true,
+ serializedName: "timeframe",
+ type: {
+ name: "String"
+ }
+ },
+ timePeriod: {
+ serializedName: "timePeriod",
+ type: {
+ name: "Composite",
+ className: "QueryTimePeriod"
+ }
+ },
+ dataset: {
+ serializedName: "dataset",
+ type: {
+ name: "Composite",
+ className: "QueryDataset"
+ }
+ },
+ includeActualCost: {
+ serializedName: "includeActualCost",
+ type: {
+ name: "Boolean"
+ }
+ },
+ includeFreshPartialCost: {
+ serializedName: "includeFreshPartialCost",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const QueryDefinition: msRest.CompositeMapper = {
+ serializedName: "QueryDefinition",
+ type: {
+ name: "Composite",
+ className: "QueryDefinition",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ timeframe: {
+ required: true,
+ serializedName: "timeframe",
+ type: {
+ name: "String"
+ }
+ },
+ timePeriod: {
+ serializedName: "timePeriod",
+ type: {
+ name: "Composite",
+ className: "QueryTimePeriod"
+ }
+ },
+ dataset: {
+ serializedName: "dataset",
+ type: {
+ name: "Composite",
+ className: "QueryDataset"
+ }
+ }
+ }
+ }
+};
+
+export const Status: msRest.CompositeMapper = {
+ serializedName: "Status",
+ type: {
+ name: "Composite",
+ className: "Status",
+ modelProperties: {
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationStatus: msRest.CompositeMapper = {
+ serializedName: "OperationStatus",
+ type: {
+ name: "Composite",
+ className: "OperationStatus",
+ modelProperties: {
+ status: {
+ serializedName: "status",
+ type: {
+ name: "Composite",
+ className: "Status"
+ }
+ },
+ reportUrl: {
+ serializedName: "properties.reportUrl",
+ type: {
+ name: "String"
+ }
+ },
+ validUntil: {
+ serializedName: "properties.validUntil",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const ExportDefinition: msRest.CompositeMapper = {
+ serializedName: "ExportDefinition",
+ type: {
+ name: "Composite",
+ className: "ExportDefinition",
+ modelProperties: {
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ timeframe: {
+ required: true,
+ serializedName: "timeframe",
+ type: {
+ name: "String"
+ }
+ },
+ timePeriod: {
+ serializedName: "timePeriod",
+ type: {
+ name: "Composite",
+ className: "QueryTimePeriod"
+ }
+ },
+ dataSet: {
+ serializedName: "dataSet",
+ type: {
+ name: "Composite",
+ className: "QueryDataset"
+ }
+ }
+ }
+ }
+};
+
+export const ExportRecurrencePeriod: msRest.CompositeMapper = {
+ serializedName: "ExportRecurrencePeriod",
+ type: {
+ name: "Composite",
+ className: "ExportRecurrencePeriod",
+ modelProperties: {
+ from: {
+ required: true,
+ serializedName: "from",
+ type: {
+ name: "DateTime"
+ }
+ },
+ to: {
+ serializedName: "to",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const ExportSchedule: msRest.CompositeMapper = {
+ serializedName: "ExportSchedule",
+ type: {
+ name: "Composite",
+ className: "ExportSchedule",
+ modelProperties: {
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ recurrence: {
+ required: true,
+ serializedName: "recurrence",
+ type: {
+ name: "String"
+ }
+ },
+ recurrencePeriod: {
+ serializedName: "recurrencePeriod",
+ type: {
+ name: "Composite",
+ className: "ExportRecurrencePeriod"
+ }
+ }
+ }
+ }
+};
+
+export const ExportModel: msRest.CompositeMapper = {
+ serializedName: "Export",
+ type: {
+ name: "Composite",
+ className: "ExportModel",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ format: {
+ serializedName: "properties.format",
+ type: {
+ name: "String"
+ }
+ },
+ deliveryInfo: {
+ required: true,
+ serializedName: "properties.deliveryInfo",
+ type: {
+ name: "Composite",
+ className: "ExportDeliveryInfo"
+ }
+ },
+ definition: {
+ required: true,
+ serializedName: "properties.definition",
+ defaultValue: {},
+ type: {
+ name: "Composite",
+ className: "ExportDefinition"
+ }
+ },
+ schedule: {
+ serializedName: "properties.schedule",
+ type: {
+ name: "Composite",
+ className: "ExportSchedule"
+ }
+ }
+ }
+ }
+};
+
+export const ExportListResult: msRest.CompositeMapper = {
+ serializedName: "ExportListResult",
+ type: {
+ name: "Composite",
+ className: "ExportListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ExportModel"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ExportDeliveryDestination: msRest.CompositeMapper = {
+ serializedName: "ExportDeliveryDestination",
+ type: {
+ name: "Composite",
+ className: "ExportDeliveryDestination",
+ modelProperties: {
+ resourceId: {
+ required: true,
+ serializedName: "resourceId",
+ type: {
+ name: "String"
+ }
+ },
+ container: {
+ required: true,
+ serializedName: "container",
+ type: {
+ name: "String"
+ }
+ },
+ rootFolderPath: {
+ serializedName: "rootFolderPath",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ExportDeliveryInfo: msRest.CompositeMapper = {
+ serializedName: "ExportDeliveryInfo",
+ type: {
+ name: "Composite",
+ className: "ExportDeliveryInfo",
+ modelProperties: {
+ destination: {
+ required: true,
+ serializedName: "destination",
+ type: {
+ name: "Composite",
+ className: "ExportDeliveryDestination"
+ }
+ }
+ }
+ }
+};
+
+export const CommonExportProperties: msRest.CompositeMapper = {
+ serializedName: "CommonExportProperties",
+ type: {
+ name: "Composite",
+ className: "CommonExportProperties",
+ modelProperties: {
+ format: {
+ serializedName: "format",
+ type: {
+ name: "String"
+ }
+ },
+ deliveryInfo: {
+ required: true,
+ serializedName: "deliveryInfo",
+ type: {
+ name: "Composite",
+ className: "ExportDeliveryInfo"
+ }
+ },
+ definition: {
+ required: true,
+ serializedName: "definition",
+ defaultValue: {},
+ type: {
+ name: "Composite",
+ className: "ExportDefinition"
+ }
+ }
+ }
+ }
+};
+
+export const ExportExecution: msRest.CompositeMapper = {
+ serializedName: "ExportExecution",
+ type: {
+ name: "Composite",
+ className: "ExportExecution",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ executionType: {
+ serializedName: "properties.executionType",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "properties.status",
+ type: {
+ name: "String"
+ }
+ },
+ submittedBy: {
+ serializedName: "properties.submittedBy",
+ type: {
+ name: "String"
+ }
+ },
+ submittedTime: {
+ serializedName: "properties.submittedTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ processingStartTime: {
+ serializedName: "properties.processingStartTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ processingEndTime: {
+ serializedName: "properties.processingEndTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fileName: {
+ serializedName: "properties.fileName",
+ type: {
+ name: "String"
+ }
+ },
+ runSettings: {
+ serializedName: "properties.runSettings",
+ type: {
+ name: "Composite",
+ className: "CommonExportProperties"
+ }
+ }
+ }
+ }
+};
+
+export const ExportExecutionListResult: msRest.CompositeMapper = {
+ serializedName: "ExportExecutionListResult",
+ type: {
+ name: "Composite",
+ className: "ExportExecutionListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ExportExecution"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GenerateReservationDetailsReportByBillingAccountIdHeaders: msRest.CompositeMapper = {
+ serializedName: "generatereservationdetailsreport-bybillingaccountid-headers",
+ type: {
+ name: "Composite",
+ className: "GenerateReservationDetailsReportByBillingAccountIdHeaders",
+ modelProperties: {
+ location: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ retryAfter: {
+ serializedName: "retry-after",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const GenerateReservationDetailsReportByBillingProfileIdHeaders: msRest.CompositeMapper = {
+ serializedName: "generatereservationdetailsreport-bybillingprofileid-headers",
+ type: {
+ name: "Composite",
+ className: "GenerateReservationDetailsReportByBillingProfileIdHeaders",
+ modelProperties: {
+ location: {
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ },
+ retryAfter: {
+ serializedName: "retry-after",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const SettingsListResult: msRest.CompositeMapper = {
+ serializedName: "SettingsListResult",
+ type: {
+ name: "Composite",
+ className: "SettingsListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "",
+ constraints: {
+ MaxItems: 10
+ },
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Setting"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ViewListResult: msRest.CompositeMapper = {
+ serializedName: "ViewListResult",
+ type: {
+ name: "Composite",
+ className: "ViewListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "View"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DimensionsListResult: msRest.CompositeMapper = {
+ serializedName: "DimensionsListResult",
+ type: {
+ name: "Composite",
+ className: "DimensionsListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Dimension"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ readOnly: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/models/operationsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..1503eabc4389
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/operationsMappers.ts
@@ -0,0 +1,15 @@
+/*
+ * 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 {
+ ErrorDetails,
+ ErrorResponse,
+ Operation,
+ OperationDisplay,
+ OperationListResult
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/parameters.ts b/sdk/cost-management/arm-costmanagement/src/models/parameters.ts
new file mode 100644
index 000000000000..7355b854002b
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/parameters.ts
@@ -0,0 +1,219 @@
+/*
+ * 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";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const alertId: msRest.OperationURLParameter = {
+ parameterPath: "alertId",
+ mapper: {
+ required: true,
+ serializedName: "alertId",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const billingAccountId: msRest.OperationURLParameter = {
+ parameterPath: "billingAccountId",
+ mapper: {
+ required: true,
+ serializedName: "billingAccountId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const billingProfileId: msRest.OperationURLParameter = {
+ parameterPath: "billingProfileId",
+ mapper: {
+ required: true,
+ serializedName: "billingProfileId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const endDate: msRest.OperationQueryParameter = {
+ parameterPath: "endDate",
+ mapper: {
+ required: true,
+ serializedName: "endDate",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const expand: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "expand"
+ ],
+ mapper: {
+ serializedName: "$expand",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const exportName: msRest.OperationURLParameter = {
+ parameterPath: "exportName",
+ mapper: {
+ required: true,
+ serializedName: "exportName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const externalCloudProviderId: msRest.OperationURLParameter = {
+ parameterPath: "externalCloudProviderId",
+ mapper: {
+ required: true,
+ serializedName: "externalCloudProviderId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const externalCloudProviderType: msRest.OperationURLParameter = {
+ parameterPath: "externalCloudProviderType",
+ mapper: {
+ required: true,
+ serializedName: "externalCloudProviderType",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const filter: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "filter"
+ ],
+ mapper: {
+ serializedName: "$filter",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const scope0: msRest.OperationURLParameter = {
+ parameterPath: "scope",
+ mapper: {
+ required: true,
+ serializedName: "scope",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const scope1: msRest.OperationURLParameter = {
+ parameterPath: "scope",
+ mapper: {
+ required: true,
+ serializedName: "scope",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const settingName: msRest.OperationURLParameter = {
+ parameterPath: "settingName",
+ mapper: {
+ required: true,
+ serializedName: "settingName",
+ constraints: {
+ MaxLength: 32
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const skiptoken: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "skiptoken"
+ ],
+ mapper: {
+ serializedName: "$skiptoken",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const startDate: msRest.OperationQueryParameter = {
+ parameterPath: "startDate",
+ mapper: {
+ required: true,
+ serializedName: "startDate",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const top: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "top"
+ ],
+ mapper: {
+ serializedName: "$top",
+ constraints: {
+ InclusiveMaximum: 1000,
+ InclusiveMinimum: 1
+ },
+ type: {
+ name: "Number"
+ }
+ }
+};
+export const viewName: msRest.OperationURLParameter = {
+ parameterPath: "viewName",
+ mapper: {
+ required: true,
+ serializedName: "viewName",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/models/queryMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/queryMappers.ts
new file mode 100644
index 000000000000..5c5d643f601d
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/queryMappers.ts
@@ -0,0 +1,51 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryDefinition,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/settingsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/settingsMappers.ts
new file mode 100644
index 000000000000..ed62981ec5f5
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/settingsMappers.ts
@@ -0,0 +1,51 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ SettingsListResult,
+ View
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/models/viewsMappers.ts b/sdk/cost-management/arm-costmanagement/src/models/viewsMappers.ts
new file mode 100644
index 000000000000..15607ae781e0
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/models/viewsMappers.ts
@@ -0,0 +1,51 @@
+/*
+ * 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 {
+ Alert,
+ AlertPropertiesDefinition,
+ AlertPropertiesDetails,
+ BaseResource,
+ CacheItem,
+ CommonExportProperties,
+ Dimension,
+ ErrorDetails,
+ ErrorResponse,
+ ExportDefinition,
+ ExportDeliveryDestination,
+ ExportDeliveryInfo,
+ ExportExecution,
+ ExportModel,
+ ExportRecurrencePeriod,
+ ExportSchedule,
+ KpiProperties,
+ PivotProperties,
+ ProxyResource,
+ ProxySettingResource,
+ QueryAggregation,
+ QueryColumn,
+ QueryComparisonExpression,
+ QueryDataset,
+ QueryDatasetConfiguration,
+ QueryFilter,
+ QueryGrouping,
+ QueryResult,
+ QueryTimePeriod,
+ ReportConfigAggregation,
+ ReportConfigComparisonExpression,
+ ReportConfigDataset,
+ ReportConfigDatasetConfiguration,
+ ReportConfigFilter,
+ ReportConfigGrouping,
+ ReportConfigSorting,
+ ReportConfigTimePeriod,
+ Resource,
+ Setting,
+ View,
+ ViewListResult
+} from "../models/mappers";
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/alerts.ts b/sdk/cost-management/arm-costmanagement/src/operations/alerts.ts
new file mode 100644
index 000000000000..a4f7b6065ef6
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/alerts.ts
@@ -0,0 +1,406 @@
+/*
+ * 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/alertsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Alerts. */
+export class Alerts {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Alerts.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists the alerts for scope defined.
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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(scope: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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 alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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: 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;
+ }
+
+ /**
+ * Gets the alert for the scope by alert ID.
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(scope: string, alertId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param callback The callback
+ */
+ get(scope: string, alertId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(scope: string, alertId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(scope: string, alertId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ alertId,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Dismisses the specified alert
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param parameters Parameters supplied to the Dismiss Alert operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ dismiss(scope: string, alertId: string, parameters: Models.DismissAlertPayload, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param parameters Parameters supplied to the Dismiss Alert operation.
+ * @param callback The callback
+ */
+ dismiss(scope: string, alertId: string, parameters: Models.DismissAlertPayload, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with alerts operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param alertId Alert ID
+ * @param parameters Parameters supplied to the Dismiss Alert operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ dismiss(scope: string, alertId: string, parameters: Models.DismissAlertPayload, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ dismiss(scope: string, alertId: string, parameters: Models.DismissAlertPayload, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ alertId,
+ parameters,
+ options
+ },
+ dismissOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists the Alerts for external cloud provider type defined.
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listExternal(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param callback The callback
+ */
+ listExternal(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listExternal(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listExternal(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ externalCloudProviderType,
+ externalCloudProviderId,
+ options
+ },
+ listExternalOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/alerts",
+ urlParameters: [
+ Parameters.scope1
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AlertsResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/alerts/{alertId}",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.alertId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Alert
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const dismissOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "{scope}/providers/Microsoft.CostManagement/alerts/{alertId}",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.alertId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.DismissAlertPayload,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Alert
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listExternalOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts",
+ urlParameters: [
+ Parameters.externalCloudProviderType,
+ Parameters.externalCloudProviderId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AlertsResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/dimensions.ts b/sdk/cost-management/arm-costmanagement/src/operations/dimensions.ts
new file mode 100644
index 000000000000..8d6b111165ef
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/dimensions.ts
@@ -0,0 +1,202 @@
+/*
+ * 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/dimensionsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Dimensions. */
+export class Dimensions {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Dimensions.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists the dimensions by the defined scope.
+ * @param scope The scope associated with dimension 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}/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(scope: string, options?: Models.DimensionsListOptionalParams): Promise;
+ /**
+ * @param scope The scope associated with dimension 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}/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 dimension 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}/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.DimensionsListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(scope: string, options?: Models.DimensionsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists the dimensions by the external cloud provider type.
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ byExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options?: Models.DimensionsByExternalCloudProviderTypeOptionalParams): Promise;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param callback The callback
+ */
+ byExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ byExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options: Models.DimensionsByExternalCloudProviderTypeOptionalParams, callback: msRest.ServiceCallback): void;
+ byExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, options?: Models.DimensionsByExternalCloudProviderTypeOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ externalCloudProviderType,
+ externalCloudProviderId,
+ options
+ },
+ byExternalCloudProviderTypeOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/dimensions",
+ urlParameters: [
+ Parameters.scope1
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.filter,
+ Parameters.expand,
+ Parameters.skiptoken,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.DimensionsListResult
+ },
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const byExternalCloudProviderTypeOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions",
+ urlParameters: [
+ Parameters.externalCloudProviderType,
+ Parameters.externalCloudProviderId
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.filter,
+ Parameters.expand,
+ Parameters.skiptoken,
+ Parameters.top
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.DimensionsListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/exports.ts b/sdk/cost-management/arm-costmanagement/src/operations/exports.ts
new file mode 100644
index 000000000000..d1ebb93a8eab
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/exports.ts
@@ -0,0 +1,642 @@
+/*
+ * 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/exportsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Exports. */
+export class Exports {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Exports.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * The operation to list all exports at the given scope.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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(scope: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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 query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/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: 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;
+ }
+
+ /**
+ * The operation to get the export for the defined scope by export name.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(scope: string, exportName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param callback The callback
+ */
+ get(scope: string, exportName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(scope: string, exportName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(scope: string, exportName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ exportName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The operation to create or update a export. Update operation requires latest eTag to be set in
+ * the request. You may obtain the latest eTag by performing a get operation. Create operation does
+ * not require eTag.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param parameters Parameters supplied to the CreateOrUpdate Export operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(scope: string, exportName: string, parameters: Models.ExportModel, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param parameters Parameters supplied to the CreateOrUpdate Export operation.
+ * @param callback The callback
+ */
+ createOrUpdate(scope: string, exportName: string, parameters: Models.ExportModel, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param parameters Parameters supplied to the CreateOrUpdate Export operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(scope: string, exportName: string, parameters: Models.ExportModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(scope: string, exportName: string, parameters: Models.ExportModel, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ exportName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The operation to delete a export.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(scope: string, exportName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param callback The callback
+ */
+ deleteMethod(scope: string, exportName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(scope: string, exportName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(scope: string, exportName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ exportName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * The operation to execute a export.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ execute(scope: string, exportName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param callback The callback
+ */
+ execute(scope: string, exportName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ execute(scope: string, exportName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ execute(scope: string, exportName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ exportName,
+ options
+ },
+ executeOperationSpec,
+ callback);
+ }
+
+ /**
+ * The operation to get the execution history of an export for the defined scope by export name.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getExecutionHistory(scope: string, exportName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param callback The callback
+ */
+ getExecutionHistory(scope: string, exportName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param exportName Export Name.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getExecutionHistory(scope: string, exportName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getExecutionHistory(scope: string, exportName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ exportName,
+ options
+ },
+ getExecutionHistoryOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/exports",
+ urlParameters: [
+ Parameters.scope1
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ExportListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/exports/{exportName}",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.exportName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ExportModel
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "{scope}/providers/Microsoft.CostManagement/exports/{exportName}",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.exportName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ExportModel,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ExportModel
+ },
+ 201: {
+ bodyMapper: Mappers.ExportModel
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "{scope}/providers/Microsoft.CostManagement/exports/{exportName}",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.exportName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const executeOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.exportName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getExecutionHistoryOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory",
+ urlParameters: [
+ Parameters.scope1,
+ Parameters.exportName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ExportExecutionListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/forecast.ts b/sdk/cost-management/arm-costmanagement/src/operations/forecast.ts
new file mode 100644
index 000000000000..659062813659
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/forecast.ts
@@ -0,0 +1,218 @@
+/*
+ * 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/forecastMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Forecast. */
+export class Forecast {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Forecast.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists the forecast charges for scope defined.
+ * @param scope The scope associated with forecast operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ usage(scope: string, parameters: Models.ForecastDefinition, options?: Models.ForecastUsageOptionalParams): Promise;
+ /**
+ * @param scope The scope associated with forecast operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param callback The callback
+ */
+ usage(scope: string, parameters: Models.ForecastDefinition, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with forecast operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ usage(scope: string, parameters: Models.ForecastDefinition, options: Models.ForecastUsageOptionalParams, callback: msRest.ServiceCallback): void;
+ usage(scope: string, parameters: Models.ForecastDefinition, options?: Models.ForecastUsageOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ parameters,
+ options
+ },
+ usageOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists the forecast charges for external cloud provider type defined.
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ externalCloudProviderUsage(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.ForecastDefinition, options?: Models.ForecastExternalCloudProviderUsageOptionalParams): Promise;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param callback The callback
+ */
+ externalCloudProviderUsage(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.ForecastDefinition, callback: msRest.ServiceCallback): void;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Forecast Config operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ externalCloudProviderUsage(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.ForecastDefinition, options: Models.ForecastExternalCloudProviderUsageOptionalParams, callback: msRest.ServiceCallback): void;
+ externalCloudProviderUsage(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.ForecastDefinition, options?: Models.ForecastExternalCloudProviderUsageOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ externalCloudProviderType,
+ externalCloudProviderId,
+ parameters,
+ options
+ },
+ externalCloudProviderUsageOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const usageOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "{scope}/providers/Microsoft.CostManagement/forecast",
+ urlParameters: [
+ Parameters.scope1
+ ],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ForecastDefinition,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.QueryResult
+ },
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const externalCloudProviderUsageOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast",
+ urlParameters: [
+ Parameters.externalCloudProviderType,
+ Parameters.externalCloudProviderId
+ ],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ForecastDefinition,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.QueryResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/generateReservationDetailsReport.ts b/sdk/cost-management/arm-costmanagement/src/operations/generateReservationDetailsReport.ts
new file mode 100644
index 000000000000..045d749938af
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/generateReservationDetailsReport.ts
@@ -0,0 +1,164 @@
+/*
+ * 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 msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/generateReservationDetailsReportMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a GenerateReservationDetailsReport. */
+export class GenerateReservationDetailsReport {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a GenerateReservationDetailsReport.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Generates the reservations details report for provided date range asynchronously based on
+ * enrollment id.
+ * @param billingAccountId Enrollment ID (Legacy BillingAccount ID)
+ * @param startDate Start Date
+ * @param endDate End Date
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ byBillingAccountId(billingAccountId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginByBillingAccountId(billingAccountId,startDate,endDate,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Generates the reservations details report for provided date range asynchronously by billing
+ * profile.
+ * @param billingAccountId BillingAccount ID
+ * @param billingProfileId BillingProfile ID
+ * @param startDate Start Date
+ * @param endDate End Date
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ byBillingProfileId(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginByBillingProfileId(billingAccountId,billingProfileId,startDate,endDate,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Generates the reservations details report for provided date range asynchronously based on
+ * enrollment id.
+ * @param billingAccountId Enrollment ID (Legacy BillingAccount ID)
+ * @param startDate Start Date
+ * @param endDate End Date
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginByBillingAccountId(billingAccountId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ billingAccountId,
+ startDate,
+ endDate,
+ options
+ },
+ beginByBillingAccountIdOperationSpec,
+ options);
+ }
+
+ /**
+ * Generates the reservations details report for provided date range asynchronously by billing
+ * profile.
+ * @param billingAccountId BillingAccount ID
+ * @param billingProfileId BillingProfile ID
+ * @param startDate Start Date
+ * @param endDate End Date
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginByBillingProfileId(billingAccountId: string, billingProfileId: string, startDate: string, endDate: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ billingAccountId,
+ billingProfileId,
+ startDate,
+ endDate,
+ options
+ },
+ beginByBillingProfileIdOperationSpec,
+ options);
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const beginByBillingAccountIdOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateReservationDetailsReport",
+ urlParameters: [
+ Parameters.billingAccountId
+ ],
+ queryParameters: [
+ Parameters.startDate,
+ Parameters.endDate,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationStatus,
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingAccountIdHeaders
+ },
+ 202: {
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingAccountIdHeaders
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse,
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingAccountIdHeaders
+ }
+ },
+ serializer
+};
+
+const beginByBillingProfileIdOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateReservationDetailsReport",
+ urlParameters: [
+ Parameters.billingAccountId,
+ Parameters.billingProfileId
+ ],
+ queryParameters: [
+ Parameters.startDate,
+ Parameters.endDate,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationStatus,
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingProfileIdHeaders
+ },
+ 202: {
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingProfileIdHeaders
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse,
+ headersMapper: Mappers.GenerateReservationDetailsReportByBillingProfileIdHeaders
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/index.ts b/sdk/cost-management/arm-costmanagement/src/operations/index.ts
new file mode 100644
index 000000000000..2891dbdbe539
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/index.ts
@@ -0,0 +1,18 @@
+/*
+ * 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 * from "./settings";
+export * from "./views";
+export * from "./alerts";
+export * from "./forecast";
+export * from "./dimensions";
+export * from "./query";
+export * from "./generateReservationDetailsReport";
+export * from "./operations";
+export * from "./exports";
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/operations.ts b/sdk/cost-management/arm-costmanagement/src/operations/operations.ts
new file mode 100644
index 000000000000..db52a5ef05f4
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/operations.ts
@@ -0,0 +1,125 @@
+/*
+ * 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/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all of the available cost management REST API operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @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 {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all of the available cost management REST API operations.
+ * @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;
+ /**
+ * @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: 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;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.CostManagement/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+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.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/query.ts b/sdk/cost-management/arm-costmanagement/src/operations/query.ts
new file mode 100644
index 000000000000..56ec3904950c
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/query.ts
@@ -0,0 +1,216 @@
+/*
+ * 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/queryMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Query. */
+export class Query {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Query.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Query the usage data for scope defined.
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ usage(scope: string, parameters: Models.QueryDefinition, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param callback The callback
+ */
+ usage(scope: string, parameters: Models.QueryDefinition, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with query and export operations. This includes
+ * '/subscriptions/{subscriptionId}/' for subscription scope,
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and
+ * '/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}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}'
+ * for invoiceSection scope, and
+ * '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}'
+ * specific for partners.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ usage(scope: string, parameters: Models.QueryDefinition, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ usage(scope: string, parameters: Models.QueryDefinition, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ parameters,
+ options
+ },
+ usageOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Query the usage data for external cloud provider type defined.
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ usageByExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.QueryDefinition, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param callback The callback
+ */
+ usageByExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.QueryDefinition, callback: msRest.ServiceCallback): void;
+ /**
+ * @param externalCloudProviderType The external cloud provider type associated with
+ * dimension/query operations. This includes 'externalSubscriptions' for linked account and
+ * 'externalBillingAccounts' for consolidated account. Possible values include:
+ * 'externalSubscriptions', 'externalBillingAccounts'
+ * @param externalCloudProviderId This can be '{externalSubscriptionId}' for linked account or
+ * '{externalBillingAccountId}' for consolidated account used with dimension/query operations.
+ * @param parameters Parameters supplied to the CreateOrUpdate Query Config operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ usageByExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.QueryDefinition, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ usageByExternalCloudProviderType(externalCloudProviderType: Models.ExternalCloudProviderType, externalCloudProviderId: string, parameters: Models.QueryDefinition, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ externalCloudProviderType,
+ externalCloudProviderId,
+ parameters,
+ options
+ },
+ usageByExternalCloudProviderTypeOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const usageOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "{scope}/providers/Microsoft.CostManagement/query",
+ urlParameters: [
+ Parameters.scope1
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.QueryDefinition,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.QueryResult
+ },
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const usageByExternalCloudProviderTypeOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query",
+ urlParameters: [
+ Parameters.externalCloudProviderType,
+ Parameters.externalCloudProviderId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.QueryDefinition,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.QueryResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/settings.ts b/sdk/cost-management/arm-costmanagement/src/operations/settings.ts
new file mode 100644
index 000000000000..e32f34f032b8
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/settings.ts
@@ -0,0 +1,289 @@
+/*
+ * 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/settingsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Settings. */
+export class Settings {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Settings.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all of the settings that have been customized.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @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 {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieves the current value for a specific setting.
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(settingName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param callback The callback
+ */
+ get(settingName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(settingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(settingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ settingName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Sets a new value for a specific setting.
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param parameters Body supplied to the CreateOrUpdate setting operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(settingName: string, parameters: Models.Setting, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param parameters Body supplied to the CreateOrUpdate setting operation.
+ * @param callback The callback
+ */
+ createOrUpdate(settingName: string, parameters: Models.Setting, callback: msRest.ServiceCallback): void;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param parameters Body supplied to the CreateOrUpdate setting operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(settingName: string, parameters: Models.Setting, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(settingName: string, parameters: Models.Setting, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ settingName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Remove the current value for a specific setting and reverts back to the default value, if
+ * applicable.
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(settingName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param callback The callback
+ */
+ deleteMethod(settingName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param settingName Name of the setting. Allowed values: myscope
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(settingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(settingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ settingName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Lists all of the settings that have been customized.
+ * @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;
+ /**
+ * @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: 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;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.CostManagement/settings",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.SettingsListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.CostManagement/settings/{settingName}",
+ urlParameters: [
+ Parameters.settingName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Setting
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "providers/Microsoft.CostManagement/settings/{settingName}",
+ urlParameters: [
+ Parameters.settingName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.Setting,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Setting
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "providers/Microsoft.CostManagement/settings/{settingName}",
+ urlParameters: [
+ Parameters.settingName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+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.SettingsListResult
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/cost-management/arm-costmanagement/src/operations/views.ts b/sdk/cost-management/arm-costmanagement/src/operations/views.ts
new file mode 100644
index 000000000000..5c57c014e6bc
--- /dev/null
+++ b/sdk/cost-management/arm-costmanagement/src/operations/views.ts
@@ -0,0 +1,775 @@
+/*
+ * 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/viewsMappers";
+import * as Parameters from "../models/parameters";
+import { CostManagementClientContext } from "../costManagementClientContext";
+
+/** Class representing a Views. */
+export class Views {
+ private readonly client: CostManagementClientContext;
+
+ /**
+ * Create a Views.
+ * @param {CostManagementClientContext} client Reference to the service client.
+ */
+ constructor(client: CostManagementClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all views by tenant and object.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @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 {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all views at the given scope.
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByScope(scope: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param callback The callback
+ */
+ listByScope(scope: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByScope(scope: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByScope(scope: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ options
+ },
+ listByScopeOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the view by view name.
+ * @param viewName View name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(viewName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param viewName View name
+ * @param callback The callback
+ */
+ get(viewName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param viewName View name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(viewName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(viewName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ viewName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The operation to create or update a view. Update operation requires latest eTag to be set in the
+ * request. You may obtain the latest eTag by performing a get operation. Create operation does not
+ * require eTag.
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(viewName: string, parameters: Models.View, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param callback The callback
+ */
+ createOrUpdate(viewName: string, parameters: Models.View, callback: msRest.ServiceCallback): void;
+ /**
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(viewName: string, parameters: Models.View, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(viewName: string, parameters: Models.View, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ viewName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The operation to delete a view.
+ * @param viewName View name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(viewName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param viewName View name
+ * @param callback The callback
+ */
+ deleteMethod(viewName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param viewName View name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(viewName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(viewName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ viewName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Gets the view for the defined scope by view name.
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getByScope(scope: string, viewName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param callback The callback
+ */
+ getByScope(scope: string, viewName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getByScope(scope: string, viewName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getByScope(scope: string, viewName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ viewName,
+ options
+ },
+ getByScopeOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The operation to create or update a view. Update operation requires latest eTag to be set in the
+ * request. You may obtain the latest eTag by performing a get operation. Create operation does not
+ * require eTag.
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdateByScope(scope: string, viewName: string, parameters: Models.View, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param callback The callback
+ */
+ createOrUpdateByScope(scope: string, viewName: string, parameters: Models.View, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope associated with view 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
+ * for BillingProfile scope,
+ * 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
+ * for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}'
+ * for Management Group scope,
+ * 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for
+ * External Billing Account scope and
+ * 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for
+ * External Subscription scope.
+ * @param viewName View name
+ * @param parameters Parameters supplied to the CreateOrUpdate View operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdateByScope(scope: string, viewName: string, parameters: Models.View, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdateByScope(scope: string, viewName: string, parameters: Models.View, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ viewName,
+ parameters,
+ options
+ },
+ createOrUpdateByScopeOperationSpec,
+ callback) as Promise