From bc1c2b3d6a371610d2c0f938e3d53fd172c3c0c8 Mon Sep 17 00:00:00 2001 From: olrakovs Date: Sun, 25 Nov 2018 14:08:15 +0200 Subject: [PATCH 1/3] Adding new resource type name Forecast to Microsoft.CostManagment RP --- .../2018-12-01-preview/costmanagement.json | 350 ++++++++++++++++-- ...Usage.json => BillingAccountForecast.json} | 49 ++- .../examples/BillingAccountQuery.json | 52 +-- .../examples/BillingAccountQueryForecast.json | 110 ------ ....json => BillingAccountQueryGrouping.json} | 0 ...ueryUsage.json => DepartmentForecast.json} | 49 ++- .../examples/DepartmentQuery.json | 45 +-- .../examples/DepartmentQueryForecast.json | 111 ------ ...sage.json => DepartmentQueryGrouping.json} | 0 ...ge.json => EnrollmentAccountForecast.json} | 49 ++- .../examples/EnrollmentAccountQuery.json | 51 +-- .../EnrollmentAccountQueryForecast.json | 98 ----- ...on => EnrollmentAccountQueryGrouping.json} | 0 ...sage.json => ManagementGroupForecast.json} | 49 ++- .../examples/ManagementGroupQuery.json | 49 +-- .../ManagementGroupQueryForecast.json | 97 ----- ...json => ManagementGroupQueryGrouping.json} | 0 ...yUsage.json => ResourceGroupForecast.json} | 28 +- .../examples/ResourceGroupQuery.json | 34 +- .../examples/ResourceGroupQueryForecast.json | 103 ------ .../examples/SubscriptionForecast.json | 124 +++++++ .../examples/SubscriptionQuery.json | 47 +-- .../examples/SubscriptionQueryForecast.json | 82 ---- .../examples/SubscriptionQueryUsage.json | 75 ---- 24 files changed, 646 insertions(+), 1006 deletions(-) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{BillingAccountQueryUsage.json => BillingAccountForecast.json} (67%) delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryForecast.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{BillingAccountQueryGroupingUsage.json => BillingAccountQueryGrouping.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{DepartmentQueryUsage.json => DepartmentForecast.json} (67%) delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryForecast.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{DepartmentQueryGroupingUsage.json => DepartmentQueryGrouping.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{EnrollmentAccountQueryUsage.json => EnrollmentAccountForecast.json} (64%) delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryForecast.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{EnrollmentAccountQueryGroupingUsage.json => EnrollmentAccountQueryGrouping.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{ManagementGroupQueryUsage.json => ManagementGroupForecast.json} (62%) delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryForecast.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{ManagementGroupQueryGroupingUsage.json => ManagementGroupQueryGrouping.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/{ResourceGroupQueryUsage.json => ResourceGroupForecast.json} (76%) delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryForecast.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionForecast.json delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryForecast.json delete mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryUsage.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json index a72b04509131..f0d08a3877cb 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json @@ -441,12 +441,57 @@ "x-ms-examples": { "SubscriptionQuery": { "$ref": "./examples/SubscriptionQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" }, - "SubscriptionQueryUsage": { - "$ref": "./examples/SubscriptionQueryUsage.json" + { + "$ref": "#/parameters/subscriptionIdParameter" }, - "SubscriptionQueryForecast": { - "$ref": "./examples/SubscriptionQueryForecast.json" + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageBySubscription", + "description": "Forecast the usage data for subscriptionId.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionForecast": { + "$ref": "./examples/SubscriptionForecast.json" } }, "parameters": [ @@ -574,14 +619,63 @@ "x-ms-examples": { "ResourceGroupQuery": { "$ref": "./examples/ResourceGroupQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" }, - "ResourceGroupQueryGroupingUsage": { - "$ref": "./examples/ResourceGroupQueryUsage.json" + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } }, - "ResourceGroupQueryGroupingForecast": { - "$ref": "./examples/ResourceGroupQueryForecast.json" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByResourceGroup", + "description": "Forecast the usage data for subscriptionId and resource group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupForecast": { + "$ref": "./examples/ResourceGroupForecast.json" + } + + }, "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -634,16 +728,61 @@ "x-ms-examples": { "BillingAccountQuery": { "$ref": "./examples/BillingAccountQuery.json" - }, - "BillingAccountQueryUsage": { - "$ref": "./examples/BillingAccountQueryUsage.json" }, "BillingAccountQueryGroupingUsage": { - "$ref": "./examples/BillingAccountQueryGroupingUsage.json" + "$ref": "./examples/BillingAccountQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" }, - "BillingAccountQueryForecast": { - "$ref": "./examples/BillingAccountQueryForecast.json" - } + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByBillingAccount", + "description": "Forecast the usage data for billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountForecast": { + "$ref": "./examples/BillingAccountForecast.json" + } }, "parameters": [ { @@ -694,16 +833,64 @@ "x-ms-examples": { "EnrollmentAccountQuery": { "$ref": "./examples/EnrollmentAccountQuery.json" - }, - "EnrollmentAccountQueryUsage": { - "$ref": "./examples/EnrollmentAccountQueryUsage.json" }, "EnrollmentAccountQueryGroupingUsage": { - "$ref": "./examples/EnrollmentAccountQueryGroupingUsage.json" + "$ref": "./examples/EnrollmentAccountQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" }, - "EnrollmentAccountQueryForecast": { - "$ref": "./examples/EnrollmentAccountQueryForecast.json" - } + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByEnrollmentAccount", + "description": "Forecast the usage data for an enrollment account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "EnrollmentAccountForecast": { + "$ref": "./examples/EnrollmentAccountForecast.json" + } }, "parameters": [ { @@ -757,16 +944,64 @@ "x-ms-examples": { "DepartmentQuery": { "$ref": "./examples/DepartmentQuery.json" - }, - "DepartmentQueryUsage": { - "$ref": "./examples/DepartmentQueryUsage.json" }, "DepartmentQueryGroupingUsage": { - "$ref": "./examples/DepartmentQueryGroupingUsage.json" + "$ref": "./examples/DepartmentQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" }, - "DepartmentQueryForecast": { - "$ref": "./examples/DepartmentQueryForecast.json" - } + { + "$ref": "#/parameters/departmentIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByDepartment", + "description": "Forecast the usage data for department.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DepartmentForecast": { + "$ref": "./examples/DepartmentForecast.json" + } }, "parameters": [ { @@ -820,15 +1055,60 @@ "x-ms-examples": { "ManagementGroupQuery": { "$ref": "./examples/ManagementGroupQuery.json" - }, - "ManagementGroupQueryUsage": { - "$ref": "./examples/ManagementGroupQueryUsage.json" }, "ManagementGroupQueryGroupingUsage": { - "$ref": "./examples/ManagementGroupQueryGroupingUsage.json" + "$ref": "./examples/ManagementGroupQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } }, - "ManagementGroupQueryForecast": { - "$ref": "./examples/ManagementGroupQueryForecast.json" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByManagmentGroup", + "description": "Lists the usage data for managment group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ManagementGroupForecast": { + "$ref": "./examples/ManagementGroupForecast.json" } }, "parameters": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountForecast.json similarity index 67% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountForecast.json index a25ce920278b..e47da91768e7 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryUsage.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountForecast.json @@ -58,20 +58,24 @@ "body": { "value": [ { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", + "type": "microsoft.costmanagement/Forecast", "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Forecast?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", "columns": [ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" - }, + }, + { + "name": "CostStatus", + "type": "String" + }, { "name": "Currency", "type": "String" @@ -79,20 +83,41 @@ ], "rows": [ [ - 19.545363672276512, - 20180831, + 19.545363672276512, + 20180831, + "Actual", + "USD" + ], + [ + 20.41979233490323, + 20180930, + "Actual", "USD" ], [ - 173.41979241290323, - 20180930, + 21.322216562625452, + 20181031, + "Actual", "USD" ], [ - 20.359416562625452, - 20181031, + 22.545363672276532, + 20180831, + "Actual", "USD" - ] + ], + [ + 23.41979675590323, + 20180930, + "Forecast", + "USD" + ], + [ + 24.359416562626652, + 20181031, + "Forecast", + "USD" + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQuery.json index d3ea12d457dc..a25ce920278b 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQuery.json @@ -3,11 +3,11 @@ "api-version": "2018-12-01-preview", "billingAccountId": "70664866", "parameters":{ - "type": "UsageAndForecast", + "type": "Usage", "timeframe": "Custom", "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" + "from": "2018-08-01T00:00:00.000Z", + "to": "2018-10-31T00:00:00.000Z" }, "dataset": { "granularity": "Daily", @@ -71,15 +71,7 @@ { "name": "UsageDate", "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, + }, { "name": "Currency", "type": "String" @@ -88,47 +80,19 @@ "rows": [ [ 19.545363672276512, - 20181031, - 0, - 0, + 20180831, "USD" ], [ 173.41979241290323, - 20181031, - 0, - 0, + 20180930, "USD" ], [ 20.359416562625452, - 20181031, - 0, - 0, - "USD" - ], - [ - 0, - 20181231, - 9.4567, - 37.9876, - "USD" - ], - [ - 0, - 20181231, - 78.9887, - 316.87654, + 20181031, "USD" - ], - [ - 0, - "Azue Prod Account", - 20181231, - 10.4567, - 40.564433, - "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryForecast.json deleted file mode 100644 index 60f1e92e6982..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryForecast.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "billingAccountId": "70664866", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-11-01T00:00:00.000Z", - "to": "2019-01-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "and": [ - { - "or":[ - { - "dimension": { - "name": "SubscriptionName", - "operator": "In", - "values": [ - "Azure Dev", - "Azure Prod", - "Azure PPE" - ] - } - }, - { - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - ] - }, - { - "dimension": { - "name": "DepartmentName", - "operator": "In", - "values": [ - "Azure Dept" - ] - } - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20181131, - 9.4567, - 37.9876, - "USD" - ], - [ - 20181231, - 78.9887, - 316.87654, - "USD" - ], - [ - 20190131, - 10.4567, - 40.564433, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryGroupingUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryGrouping.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryGroupingUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/BillingAccountQueryGrouping.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentForecast.json similarity index 67% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentForecast.json index 57a9053bedd1..8d2842b87a33 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryUsage.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentForecast.json @@ -59,20 +59,24 @@ "body": { "value": [ { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", + "type": "microsoft.costmanagement/Forecast", "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", "columns": [ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" - }, + }, + { + "name": "CostStatus", + "type": "String" + }, { "name": "Currency", "type": "String" @@ -80,20 +84,41 @@ ], "rows": [ [ - 19.545363672276512, - 20181031, + 19.545363672276512, + 20181026, + "Actual", + "USD" + ], + [ + 20.41179241293923, + 20181027, + "Actual", "USD" ], [ - 173.41979241290323, - 20181031, + 21.359416562625452, + 20181028, + "Actual", "USD" ], [ - 20.359416562625452, - 20181031, + 22.545363672276512, + 20181029, + "Forecast", "USD" - ] + ], + [ + 23.41979241290323, + 20181030, + "Forecast", + "USD" + ], + [ + 24.359416562625452, + 20181031, + "Forecast", + "USD" + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQuery.json index 65a77a3aaee2..57a9053bedd1 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQuery.json @@ -72,15 +72,7 @@ { "name": "UsageDate", "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, + }, { "name": "Currency", "type": "String" @@ -89,46 +81,19 @@ "rows": [ [ 19.545363672276512, - 20181031, - 0, - 0, + 20181031, "USD" ], [ 173.41979241290323, - 20181031, - 0, - 0, + 20181031, "USD" ], [ 20.359416562625452, - 20181031, - 0, - 0, + 20181031, "USD" - ], - [ - 19.545363672276512, - 20181231, - 9.4567, - 37.9876, - "USD" - ], - [ - 173.41979241290323, - 20181231, - 79.4567, - 437.9876, - "USD" - ], - [ - 20.359416562625452, - 20181231, - 10.24567, - 37.19876, - "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryForecast.json deleted file mode 100644 index 5a3329776bba..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryForecast.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "billingAccountId": "70664866", - "departmentId": "123", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-11-01T00:00:00.000Z", - "to": "2019-01-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "and": [ - { - "or":[ - { - "dimension": { - "name": "SubscriptionName", - "operator": "In", - "values": [ - "Azure Dev Subscription", - "Azure Prod Subscription", - "Azure PPE Subscription" - ] - } - }, - { - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - ] - }, - { - "dimension": { - "name": "AccountName", - "operator": "In", - "values": [ - "Azure Account" - ] - } - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20181131, - 9.4567, - 37.9876, - "USD" - ], - [ - 20181231, - 79.4567, - 437.9876, - "USD" - ], - [ - 20190131, - 10.24567, - 37.19876, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryGroupingUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryGrouping.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryGroupingUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/DepartmentQueryGrouping.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountForecast.json similarity index 64% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountForecast.json index 1dfc1ebdeff8..2857e80970b4 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryUsage.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountForecast.json @@ -46,20 +46,24 @@ "body": { "value": [ { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", + "type": "microsoft.costmanagement/Forecast", "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", "columns": [ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" - }, + }, + { + "name": "CostStatus", + "type": "String" + }, { "name": "Currency", "type": "String" @@ -67,20 +71,41 @@ ], "rows": [ [ - 19.545363672276512, - 20180831, + 168.545323467227622, + 20180826, + "Actual", + "USD" + ], + [ + 169.41979241290344, + 20180927, + "Actual", + "USD" + ], + [ + 170.359416562338452, + 20181028, + "Actual", + "USD" + ], + [ + 172.545363234276512, + 20180829, + "Forecast", "USD" ], [ - 173.41979241290323, - 20180930, + 173.41979241290323, + 20180930, + "Forecast", "USD" ], [ - 20.359416562625452, - 20181031, + 174.359416562625452, + 20181031, + "Forecast", "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQuery.json index ae1e4c4caff1..1dfc1ebdeff8 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQuery.json @@ -7,8 +7,8 @@ "type": "Usage", "timeframe": "Custom", "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" + "from": "2018-08-01T00:00:00.000Z", + "to": "2018-10-31T00:00:00.000Z" }, "dataset": { "granularity": "Daily", @@ -55,19 +55,11 @@ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, + }, { "name": "Currency", "type": "String" @@ -76,46 +68,19 @@ "rows": [ [ 19.545363672276512, - 20181031, - 0, - 0, - "USD" - ], - [ - 173.41979241290323, - 20181031, - 0, - 0, - "USD" - ], - [ - 20.359416562625452, - 20181031, - 0, - 0, - "USD" - ], - [ - 19.545363672276512, - 20181231, - 9.6776786, - 23.7889, + 20180831, "USD" ], [ 173.41979241290323, - 20181231, - 89.5679, - 389.566777, + 20180930, "USD" ], [ 20.359416562625452, - 20181231, - 11.26777655, - 43.64432, + 20181031, "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryForecast.json deleted file mode 100644 index f10b007d89c3..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryForecast.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "billingAccountId": "70664866", - "enrollmentAccountId": "456", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "or":[ - { - "dimension": { - "name": "SubscriptionName", - "operator": "In", - "values": [ - "Azure Dev Subscription", - "Azure Prod Subscription", - "Azure PPE Subscription" - ] - } - }, - { - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20181231, - 9.6776786, - 23.7889, - "USD" - ], - [ - 20181231, - 89.5679, - 389.566777, - "USD" - ], - [ - 20181231, - 11.26777655, - 43.64432, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryGroupingUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryGrouping.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryGroupingUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/EnrollmentAccountQueryGrouping.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupForecast.json similarity index 62% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupForecast.json index 605abffa2f5b..f29b980bf41e 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryUsage.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupForecast.json @@ -45,20 +45,24 @@ "body": { "value": [ { - "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", + "type": "microsoft.costmanagement/Forecast", "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", + "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Forecast?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", "columns": [ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" - }, + }, + { + "name": "CostStatus", + "type": "String" + }, { "name": "Currency", "type": "String" @@ -66,20 +70,41 @@ ], "rows": [ [ - 19.545363672276512, - 20181131, + 19.045363672276512, + 20190126, + "Actual", + "USD" + ], + [ + 19.41979241290323, + 20190127, + "Actual", + "USD" + ], + [ + 20.359416562625452, + 20190128, + "Actual", + "USD" + ], + [ + 19.045363672276512, + 20190129, + "Forecast", "USD" ], [ - 173.41979241290323, - 20181231, + 19.41979241290323, + 20190130, + "Forecast", "USD" ], [ - 20.359416562625452, - 20190131, + 20.359416562625452, + 20190131, + "Forecast", "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQuery.json index 4ef611a90d69..605abffa2f5b 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQuery.json @@ -6,8 +6,8 @@ "type": "Usage", "timeframe": "Custom", "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" + "from": "2018-11-01T00:00:00.000Z", + "to": "2019-01-31T00:00:00.000Z" }, "dataset": { "granularity": "Daily", @@ -58,15 +58,7 @@ { "name": "UsageDate", "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, + }, { "name": "Currency", "type": "String" @@ -75,46 +67,19 @@ "rows": [ [ 19.545363672276512, - 20181031, - 0, - 0, + 20181131, "USD" ], [ 173.41979241290323, - 20181031, - 0, - 0, + 20181231, "USD" ], [ 20.359416562625452, - 20181031, - 0, - 0, + 20190131, "USD" - ], - [ - 19.545363672276512, - 20181231, - 9.4567, - 37.9876, - "USD" - ], - [ - 173.41979241290323, - 20181231, - 78.9887, - 316.87654, - "USD" - ], - [ - 20.359416562625452, - 20181231, - 10.4567, - 40.564433, - "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryForecast.json deleted file mode 100644 index 38384eb0c2b3..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryForecast.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "managementGroupId": "MyMgId", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "or":[ - { - "dimension": { - "name": "SubscriptionName", - "operator": "In", - "values": [ - "Azure Dev", - "Azure Prod", - "Azure PPE" - ] - } - }, - { - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2018-12-01-preview&$skiptoken=AQAAAA%3D%3D", - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20181231, - 9.4567, - 37.9876, - "USD" - ], - [ - 20181231, - 78.9887, - 316.87654, - "USD" - ], - [ - 20181231, - 10.4567, - 40.564433, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryGroupingUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryGrouping.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryGroupingUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ManagementGroupQueryGrouping.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupForecast.json similarity index 76% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryUsage.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupForecast.json index ef7aefedfdfd..137391629751 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryUsage.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupForecast.json @@ -53,20 +53,24 @@ "body": { "value": [ { - "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", + "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Forecast/9af9459d-441d-4055-9ed0-83d4c4a363fb", "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", - "type": "microsoft.costmanagement/Query", + "type": "microsoft.costmanagement/Forecast", "properties": { "nextLink": null, "columns": [ { "name": "PreTaxCost", "type": "Number" - }, + }, { "name": "UsageDate", "type": "Number" }, + { + "name": "CostStatus", + "type": "String" + }, { "name": "Currency", "type": "String" @@ -74,13 +78,27 @@ ], "rows": [ [ - 2.10333307059661, + 19.10333307059661, 20180417, + "Actual", "USD" ], [ - 20.10333307059661, + 20.10333307059661, 20180418, + "Actual", + "USD" + ], + [ + 21.10333307059661, + 20180419, + "Forecast", + "USD" + ], + [ + 22.10333307059661, + 20180420, + "Forecast", "USD" ] ] diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQuery.json index 007a4cf7e265..ef7aefedfdfd 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQuery.json @@ -4,12 +4,8 @@ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481", "resourceGroupName": "ScreenSharingTest-peer", "parameters":{ - "type": "UsageAndForecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2019-12-31T00:00:00.000Z" - }, + "type": "Usage", + "timeframe": "MonthToDate", "dataset": { "granularity": "Daily", "filter":{ @@ -71,14 +67,6 @@ "name": "UsageDate", "type": "Number" }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, { "name": "Currency", "type": "String" @@ -88,29 +76,11 @@ [ 2.10333307059661, 20180417, - 0, - 0, "USD" ], [ 20.10333307059661, 20180418, - 0, - 0, - "USD" - ], - [ - 0, - 20190417, - 1.2087, - 4.35788, - "USD" - ], - [ - 0, - 20190418, - 10.44657, - 43.565767, "USD" ] ] diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryForecast.json deleted file mode 100644 index 5497057f5b8a..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/ResourceGroupQueryForecast.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481", - "resourceGroupName": "ScreenSharingTest-peer", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2019-10-01T00:00:00.000Z", - "to": "2019-12-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "and": [ - { - "or":[ - { - "dimension": { - "name": "ResourceLocation", - "operator": "In", - "values": [ - "East US", - "West Europe" - ] - } - }, - { - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "UAT", - "Prod" - ] - } - } - ] - }, - { - "dimension": { - "name": "ResourceGroup", - "operator": "In", - "values": [ - "API" - ] - } - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", - "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": null, - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20190417, - 545.33555, - 1000.434344, - "USD" - ], - [ - 20190418, - 344.5677, - 789.7666, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionForecast.json new file mode 100644 index 000000000000..5616d3b57ffb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionForecast.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2018-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters":{ + "type": "Usage", + "timeframe": "Custom", + "timePeriod": { + "from": "2018-10-01T00:00:00.000Z", + "to": "2018-12-31T00:00:00.000Z" + }, + "dataset": { + "granularity": "Daily", + "filter":{ + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "Dev", + "PPE", + "Prod" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Forecast/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Forecast", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 214.68795741935486, + 20181222, + "Actual", + "USD" + ], + [ + 215.68795741935486, + 20181223, + "Actual", + "USD" + ], + [ + 216.68795741935486, + 20181224, + "Actual", + "USD" + ], + [ + 217.68795741935486, + 20181225, + "Actual", + "USD" + ], + [ + 218.68795741935486, + 20181226, + "Actual", + "USD" + ], + [ + 219.143849143581657052, + 20181227, + "Actual", + "USD" + ], + [ + 220.143849143588766052, + 20181228, + "Forecast", + "USD" + ], + [ + 221.143433143588766052, + 20181229, + "Forecast", + "USD" + ], + [ + 222.143433555588766052, + 20181230, + "Forecast", + "USD" + ], + [ + 223.143433555588743252, + 20181231, + "Forecast", + "USD" + ] + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQuery.json index ac26dc88e042..6847e8584028 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQuery.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQuery.json @@ -3,7 +3,7 @@ "api-version": "2018-12-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "parameters":{ - "type": "UsageAndForecast", + "type": "Usage", "timeframe": "Custom", "timePeriod": { "from": "2018-10-01T00:00:00.000Z", @@ -43,15 +43,7 @@ { "name": "UsageDate", "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, + }, { "name": "Currency", "type": "String" @@ -60,46 +52,19 @@ "rows": [ [ 2.10333307059661, - 20181017, - 0, - 0, + 20181017, "USD" ], [ 218.68795741935486, - 20181018, - 0, - 0, + 20181018, "USD" ], [ 0.14384913581657052, - 20181019, - 0, - 0, - "USD" - ], - [ - 0, - 20181217, - 1.67777, - 5.9787, - "USD" - ], - [ - 0, - 20181218, - 102.78787, - 456.976554, - "USD" - ], - [ - 0, - 20181219, - 0.07233, - 0.287766, + 20181019, "USD" - ] + ] ] } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryForecast.json deleted file mode 100644 index 9294ae12287f..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryForecast.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "parameters":{ - "type": "Forecast", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", - "name": "55312978-ba1b-415c-9304-cfd9c43c0481", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": null, - "columns": [ - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "ConfidenceLevelsLower", - "type": "String" - }, - { - "name": "ConfidenceLevelsUpper", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 20181217, - 1.67777, - 5.9787, - "USD" - ], - [ - 20181218, - 102.78787, - 456.976554, - "USD" - ], - [ - 20181219, - 0.07233, - 0.287766, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryUsage.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryUsage.json deleted file mode 100644 index 6847e8584028..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/examples/SubscriptionQueryUsage.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "parameters": { - "api-version": "2018-12-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "parameters":{ - "type": "Usage", - "timeframe": "Custom", - "timePeriod": { - "from": "2018-10-01T00:00:00.000Z", - "to": "2018-12-31T00:00:00.000Z" - }, - "dataset": { - "granularity": "Daily", - "filter":{ - "tag": { - "name": "Environment", - "operator": "In", - "values": [ - "Dev", - "PPE", - "Prod" - ] - } - } - } - } - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", - "name": "55312978-ba1b-415c-9304-cfd9c43c0481", - "type": "microsoft.costmanagement/Query", - "properties": { - "nextLink": null, - "columns": [ - { - "name": "PreTaxCost", - "type": "Number" - }, - { - "name": "UsageDate", - "type": "Number" - }, - { - "name": "Currency", - "type": "String" - } - ], - "rows": [ - [ - 2.10333307059661, - 20181017, - "USD" - ], - [ - 218.68795741935486, - 20181018, - "USD" - ], - [ - 0.14384913581657052, - 20181019, - "USD" - ] - ] - } - } - ] - } - } - } -} \ No newline at end of file From b8cf9929ebdfb86ad9dc833eb1920e0e7108f940 Mon Sep 17 00:00:00 2001 From: olrakovs Date: Wed, 5 Dec 2018 11:31:40 +0200 Subject: [PATCH 2/3] editing ReportConfigDefinition --- .../preview/2018-12-01-preview/costmanagement.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json index f0d08a3877cb..8fbc74edd45d 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json @@ -1241,9 +1241,7 @@ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.", "type": "string", "enum": [ - "Usage", - "Forecast", - "UsageAndForecast" + "Usage" ], "x-ms-enum": { "name": "ReportType", From 14807e3b84bcdd85a74330bf0763c2df54fc0e9e Mon Sep 17 00:00:00 2001 From: olrakovs Date: Wed, 5 Dec 2018 11:58:40 +0200 Subject: [PATCH 3/3] revert --- UpgradeLog.htm | Bin 0 -> 32098 bytes UpgradeLog2.htm | Bin 0 -> 29282 bytes UpgradeLog3.htm | Bin 0 -> 29282 bytes UpgradeLog4.htm | Bin 0 -> 29282 bytes .../2018-12-01-preview/costmanagement.json | 4 +++- 5 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 UpgradeLog.htm create mode 100644 UpgradeLog2.htm create mode 100644 UpgradeLog3.htm create mode 100644 UpgradeLog4.htm diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..d3ed2ba62186e950c32c77d793f20b9a94cdcf59 GIT binary patch literal 32098 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