From 5da5eeb4aaf9d78550e180743f0ea0b76976c29c Mon Sep 17 00:00:00 2001 From: Anirban Sarkar <33848291+asarkar84@users.noreply.github.com> Date: Tue, 13 Mar 2018 13:33:13 -0700 Subject: [PATCH] Added Tags filter for budgets and updated the api version (#2625) * Added Tags filter for budgets and updated the api version Added Tags filter for budgets and updated the api version * Updated comments Updated comments * Incorporated review comments Incorporated review comments * Incorporated review comments Incorporated review comments * Incorporated review comment Incorporated review comment --- .../stable/2018-03-31/consumption.json | 2131 +++++++++++++++++ .../stable/2018-03-31/examples/Budget.json | 71 + .../2018-03-31/examples/BudgetsList.json | 159 ++ .../examples/CreateOrUpdateBudget.json | 184 ++ .../2018-03-31/examples/DeleteBudget.json | 12 + .../2018-03-31/examples/MarketplacesList.json | 42 + .../MarketplacesListForBillingPeriod.json | 44 + .../2018-03-31/examples/PriceSheet.json | 33 + .../2018-03-31/examples/PriceSheetExpand.json | 44 + .../examples/PriceSheetForBillingPeriod.json | 34 + .../examples/ReservationDetails.json | 34 + .../ReservationDetailsWithReservationId.json | 35 + .../examples/ReservationSummariesDaily.json | 36 + ...vationSummariesDailyWithReservationId.json | 37 + .../examples/ReservationSummariesMonthly.json | 35 + ...tionSummariesMonthlyWithReservationId.json | 36 + .../examples/UsageDetailsExpand.json | 58 + .../2018-03-31/examples/UsageDetailsList.json | 38 + .../UsageDetailsListForBillingPeriod.json | 39 + .../consumption/resource-manager/readme.md | 21 +- 20 files changed, 3122 insertions(+), 1 deletion(-) create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/consumption.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/Budget.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/BudgetsList.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/CreateOrUpdateBudget.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/DeleteBudget.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesList.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesListForBillingPeriod.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheet.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetExpand.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetForBillingPeriod.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetails.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetailsWithReservationId.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDaily.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDailyWithReservationId.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthly.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthlyWithReservationId.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsExpand.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsList.json create mode 100644 specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsListForBillingPeriod.json diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/consumption.json new file mode 100644 index 000000000000..077dbd24d7be --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/consumption.json @@ -0,0 +1,2131 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-03-31", + "title": "ConsumptionManagementClient", + "description": "Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails": { + "get": { + "tags": [ + "UsageDetails" + ], + "operationId": "UsageDetails_List", + "description": "Lists the usage details for a scope by billing period. Usage details are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "UsageDetailsList": { + "$ref": "./examples/UsageDetailsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/additionalProperties or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsageDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails": { + "get": { + "tags": [ + "UsageDetails" + ], + "operationId": "UsageDetails_ListByBillingPeriod", + "description": "Lists the usage details for a scope by billing period. Usage details are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "UsageDetailsListForBillingPeriod": { + "$ref": "./examples/UsageDetailsListForBillingPeriod.json" + }, + "UsageDetailsExpand": { + "$ref": "./examples/UsageDetailsExpand.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/additionalProperties or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsageDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces": { + "get": { + "tags": [ + "Marketplaces" + ], + "x-ms-odata": "#/definitions/Marketplace", + "operationId": "Marketplaces_List", + "description": "Lists the marketplaces for a scope by subscriptionId. Marketplaces are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "MarketplacesList": { + "$ref": "./examples/MarketplacesList.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N marketplaces.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MarketplacesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces": { + "get": { + "tags": [ + "Marketplaces" + ], + "x-ms-odata": "#/definitions/Marketplace", + "operationId": "Marketplaces_ListByBillingPeriod", + "description": "Lists the marketplaces for a scope by billing period and subscripotionId. Marketplaces are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "MarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesListForBillingPeriod.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N marketplaces.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MarketplacesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries": { + "get": { + "tags": [ + "ReservedInstances" + ], + "operationId": "ReservationsSummaries_ListByReservationOrder", + "description": "Lists the reservations summaries for daily or monthly grain.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationSummariesDaily": { + "$ref": "./examples/ReservationSummariesDaily.json" + }, + "ReservationSummariesMonthly": { + "$ref": "./examples/ReservationSummariesMonthly.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/grainParameter" + }, + { + "name": "$filter", + "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationSummariesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries": { + "get": { + "tags": [ + "ReservedInstances" + ], + "operationId": "ReservationsSummaries_ListByReservationOrderAndReservation", + "description": "Lists the reservations summaries for daily or monthly grain.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationSummariesDailyWithReservationId": { + "$ref": "./examples/ReservationSummariesDailyWithReservationId.json" + }, + "ReservationSummariesMonthlyWithReservationId": { + "$ref": "./examples/ReservationSummariesMonthlyWithReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/reservationIdParameter" + }, + { + "$ref": "#/parameters/grainParameter" + }, + { + "name": "$filter", + "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationSummariesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails": { + "get": { + "tags": [ + "ReservedInstances" + ], + "operationId": "ReservationsDetails_ListByReservationOrder", + "description": "Lists the reservations details for provided date range.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationDetails": { + "$ref": "./examples/ReservationDetails.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "name": "$filter", + "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails": { + "get": { + "tags": [ + "ReservedInstances" + ], + "operationId": "ReservationsDetails_ListByReservationOrderAndReservation", + "description": "Lists the reservations details for provided date range.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationDetailsWithReservationId": { + "$ref": "./examples/ReservationDetailsWithReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/reservationIdParameter" + }, + { + "name": "$filter", + "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_List", + "description": "Lists all budgets for a subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "BudgetsList": { + "$ref": "./examples/BudgetsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BudgetsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_ListByResourceGroupName", + "description": "Lists all budgets for a resource group under a subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "BudgetsList": { + "$ref": "./examples/BudgetsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BudgetsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_Get", + "description": "Gets the budget for a subscription by budget name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "Budget": { + "$ref": "./examples/Budget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_CreateOrUpdate", + "description": "The operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "CreateOrUpdateBudget": { + "$ref": "./examples/CreateOrUpdateBudget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Budget" + }, + "description": "Parameters supplied to the Create Budget operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_Delete", + "description": "The operation to delete a budget.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "DeleteBudget": { + "$ref": "./examples/DeleteBudget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_GetByResourceGroupName", + "description": "Gets the budget for a resource group under a subscription by budget name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "Budget": { + "$ref": "./examples/Budget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_CreateOrUpdateByResourceGroupName", + "description": "The operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "CreateOrUpdateBudget": { + "$ref": "./examples/CreateOrUpdateBudget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Budget" + }, + "description": "Parameters supplied to the Create Budget operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_DeleteByResourceGroupName", + "description": "The operation to delete a budget.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "DeleteBudget": { + "$ref": "./examples/DeleteBudget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Consumption/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": { + "get": { + "tags": [ + "PriceSheet" + ], + "operationId": "PriceSheet_Get", + "description": "Gets the price sheet for a scope by subscriptionId. Price sheet is available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "PriceSheet": { + "$ref": "./examples/PriceSheet.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the top N results.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PriceSheetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default": { + "get": { + "tags": [ + "PriceSheet" + ], + "operationId": "PriceSheet_GetByBillingPeriod", + "description": "Get the price sheet for a scope by subscriptionId and billing period. Price sheet is available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "PriceSheetForBillingPeriod": { + "$ref": "./examples/PriceSheetForBillingPeriod.json" + }, + "PriceSheetExpand": { + "$ref": "./examples/PriceSheetExpand.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "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.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the top N results.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PriceSheetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "MeterDetails": { + "description": "The properties of the meter detail.", + "properties": { + "meterName": { + "description": "The name of the meter, within the given meter category", + "type": "string", + "readOnly": true + }, + "meterCategory": { + "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..", + "type": "string", + "readOnly": true + }, + "meterSubCategory": { + "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.", + "type": "string", + "readOnly": true + }, + "meterLocation": { + "description": "The location in which the Azure service is available.", + "type": "string", + "readOnly": true + }, + "totalIncludedQuantity": { + "description": "The total included quantity associated with the offer.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "pretaxStandardRate": { + "description": "The pretax listing price.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "UsageDetail": { + "description": "An usage detail resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UsageDetailProperties", + "title": "Usage detail properties" + } + } + }, + "UsageDetailsListResult": { + "description": "Result of listing usage details. It contains a list of available usage details in reverse chronological order by billing period.", + "properties": { + "value": { + "description": "The list of usage details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UsageDetail" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "UsageDetailProperties": { + "description": "The properties of the usage detail.", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "The id of the invoice resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "The start of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usageEnd": { + "description": "The end of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "instanceName": { + "description": "The name of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "instanceId": { + "description": "The uri of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "instanceLocation": { + "description": "The location of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the meter is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "usageQuantity": { + "description": "The quantity of usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "billableQuantity": { + "description": "The billable usage quantity.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "pretaxCost": { + "description": "The amount of cost before tax.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "isEstimated": { + "description": "The estimated usage is subject to change.", + "type": "boolean", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID).", + "type": "string", + "format":"uuid", + "readOnly": true + }, + "meterDetails": { + "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/MeterDetails", + "readOnly": true + }, + "subscriptionGuid": { + "description": "Subscription guid.", + "type": "string", + "format":"uuid", + "readOnly": true + }, + "subscriptionName": { + "description": "Subscription name.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "departmentName": { + "description": "Department name.", + "type": "string", + "readOnly": true + }, + "product": { + "description": "Product name.", + "type": "string", + "readOnly": true + }, + "consumedService": { + "description": "Consumed service name.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a costcenter exists", + "type": "string", + "readOnly": true + }, + "additionalProperties": { + "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.", + "type": "string", + "readOnly": true + } + } + }, + "Marketplace": { + "description": "An marketplace resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MarketplaceProperties", + "title": "Marketplace properties" + } + } + }, + "MarketplacesListResult": { + "description": "Result of listing marketplaces. It contains a list of available marketplaces in reverse chronological order by billing period.", + "type": "object", + "properties": { + "value": { + "description": "The list of marketplaces.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Marketplace" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "MarketplaceProperties": { + "description": "The properties of the marketplace usage detail.", + "type": "object", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "The start of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usageEnd": { + "description": "The end of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "resourceRate": { + "description": "The marketplace resource rate.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "offerName": { + "description": "The type of offer.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "The name of resource group.", + "type": "string", + "readOnly": true + }, + "orderNumber": { + "description": "The order number.", + "type": "string", + "readOnly": true + }, + "instanceName": { + "description": "The name of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "instanceId": { + "description": "The uri of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the meter is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "consumedQuantity": { + "description": "The quantity of usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unitOfMeasure": { + "description": "The unit of measure.", + "type": "string", + "readOnly": true + }, + "pretaxCost": { + "description": "The amount of cost before tax.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "isEstimated": { + "description": "The estimated usage is subject to change.", + "type": "boolean", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID).", + "type": "string", + "format":"uuid", + "readOnly": true + }, + "subscriptionGuid": { + "description": "Subscription guid.", + "type": "string", + "format":"uuid", + "readOnly": true + }, + "subscriptionName": { + "description": "Subscription name.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "departmentName": { + "description": "Department name.", + "type": "string", + "readOnly": true + }, + "consumedService": { + "description": "Consumed service name.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a costcenter exists", + "type": "string", + "readOnly": true + }, + "additionalProperties": { + "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.", + "type": "string", + "readOnly": true + }, + "publisherName": { + "description": "The name of publisher.", + "type": "string", + "readOnly": true + }, + "planName": { + "description": "The name of plan.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationSummaries": { + "description": "reservation summaries resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationSummariesProperties", + "title": "Reservation Summaries properties" + } + } + }, + "ReservationSummariesListResult": { + "description": "Result of listing reservation summaries.", + "properties": { + "value": { + "description": "The list of reservation summaries.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationSummaries" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationSummariesProperties": { + "description": "The properties of the reservation summaries.", + "properties": { + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.", + "type": "string", + "readOnly": true + }, + "skuName": { + "description": "This is the ARM Sku name. It can be used to join with the servicetype field in additoinalinfo in usage records.", + "type": "string", + "readOnly": true + }, + "reservedHours": { + "description": "This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "usageDate": { + "description": "Data corresponding to the utilization record. If the grain of data is monthly, it will be first day of month.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usedHours": { + "description": "Total used hours by the reservation", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "minUtilizationPercentage": { + "description": "This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will return 10% for that day", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "avgUtilizationPercentage": { + "description": "This is average utilization for the entire time range. (day or month depending on the grain)", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "maxUtilizationPercentage": { + "description": "This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will return 100% for that day.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "ReservationDetails": { + "description": "reservation details resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationDetailsProperties", + "title": "Reservation Details properties" + } + } + }, + "ReservationDetailsListResult": { + "description": "Result of listing reservation details.", + "properties": { + "value": { + "description": "The list of reservation details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationDetails" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationDetailsProperties": { + "description": "The properties of the reservation details.", + "properties": { + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.", + "type": "string", + "readOnly": true + }, + "skuName": { + "description": "This is the ARM Sku name. It can be used to join with the servicetype field in additoinalinfo in usage records.", + "type": "string", + "readOnly": true + }, + "reservedHours": { + "description": "This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "usageDate": { + "description": "The date on which consumption occurred.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usedHours": { + "description": "This is the total hours used by the instance.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "instanceId": { + "description": "This identifier is the name of the resource or the fully qualified Resource ID.", + "type": "string", + "readOnly": true + }, + "totalReservedQuantity": { + "description": "This is the total count of instances that are reserved for the reservationid.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "BudgetsListResult": { + "description": "Result of listing budgets. It contains a list of available budgets in the scope provided.", + "properties": { + "value": { + "description": "The list of budgets.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Budget" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Budget": { + "description": "A budget resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BudgetProperties", + "title": "Budget properties" + } + } + }, + "BudgetProperties": { + "description": "The properties of the budget.", + "properties": { + "category": { + "description": "The category of the budget, whether the budget tracks cost or usage.", + "type": "string", + "enum": [ + "Cost", + "Usage" + ], + "x-ms-enum": { + "name": "CategoryType", + "modelAsString": true + } + }, + "amount": { + "description": "The total amount of cost to track with the budget", + "type": "number", + "format": "decimal" + }, + "timeGrain": { + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.", + "type": "string", + "enum": [ + "Monthly", + "Quarterly", + "Annually" + ], + "x-ms-enum": { + "name": "TimeGrainType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain preiod. There are no restrictions on the end date.", + "$ref": "#/definitions/BudgetTimePeriod" + }, + "filters": { + "description": "May be used to filter budgets by resource group, resource, or meter.", + "type": "object", + "$ref": "#/definitions/Filters" + }, + "currentSpend": { + "description": "The current amount of cost which is being tracked for a budget.", + "$ref": "#/definitions/CurrentSpend", + "readOnly": true + }, + "notifications": { + "type": "object", + "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/Notification" + }, + "maxItems": 5 + } + }, + "required": [ + "category", + "amount", + "timeGrain", + "timePeriod" + ] + }, + "BudgetTimePeriod": { + "description": "The start and end date for a budget.", + "properties": { + "startDate": { + "description": "The start date for the budget.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date for the budget. If not provided, we default this to 10 years from the start date.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "startDate" + ] + }, + "Filters": { + "description": "May be used to filter budgets by resource group, resource, or meter.", + "properties": { + "resourceGroups": { + "description": "The list of filters on resource groups, allowed at subscription level only.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 10 + }, + "resources": { + "description": "The list of filters on resources.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 10 + }, + "meters": { + "description": "The list of filters on meters (GUID), mandatory for budgets of usage category. ", + "type": "array", + "items": { + "type": "string", + "format":"uuid" + }, + "minItems": 0, + "maxItems": 10 + }, + "tags": { + "type": "object", + "description": "The dictionary of filters on tags.", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "minItems": 0, + "maxItems": 10 + } + } + }, + "CurrentSpend": { + "description": "The current amount of cost which is being tracked for a budget.", + "properties": { + "amount": { + "description": "The total amount of cost which is being tracked by the budget.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unit": { + "description": "The unit of measure for the budget amount.", + "type": "string", + "readOnly": true + } + } + }, + "Notification": { + "description": "The notification associated with a budget.", + "properties": { + "enabled": { + "description": "The notification is enabled or not.", + "type": "boolean" + }, + "operator": { + "description": "The comparison operator.", + "type": "string", + "enum": [ + "EqualTo", + "GreaterThan", + "GreaterThanOrEqualTo" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "threshold": { + "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.", + "type": "number", + "format": "decimal" + }, + "contactEmails": { + "description": "Email addresses to send the budget notification to when the threshold is exceeded.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 50 + }, + "contactRoles": { + "description": "Contact roles to send the budget notification to when the threshold is exceeded.", + "type": "array", + "items": { + "type": "string" + } + }, + "contactGroups": { + "description": "Action groups to send the budget notification to when the threshold is exceeded.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 50 + } + }, + "required": [ + "enabled", + "operator", + "threshold", + "contactEmails" + ] + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Operation": { + "description": "A Consumption REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Consumption.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: UsageDetail, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "eTag": { + "type": "string", + "description": "eTag of the resource. To handle concurrent update scenarion, this field will be used to determine whether the user is updating the latest version or not." + } + }, + "x-ms-azure-resource": true + }, + "PriceSheetResult": { + "description": "An pricesheet resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PriceSheetModel", + "title": "Price sheet properties" + } + } + }, + "PriceSheetModel": { + "description": "price sheet result. It contains the pricesheet associated with billing period", + "properties": { + "pricesheets": { + "description": "Price sheet", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PriceSheetProperties" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "PriceSheetProperties": { + "description": "The properties of the price sheet.", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID)", + "type": "string", + "format":"uuid", + "readOnly": true + }, + "meterDetails": { + "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/MeterDetails", + "readOnly": true + }, + "unitOfMeasure": { + "description": "Unit of measure", + "type": "string", + "readOnly": true + }, + "includedQuantity": { + "description": "Included quality for an offer", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "partNumber": { + "description": "Part Number", + "type": "string", + "readOnly": true + }, + "unitPrice": { + "description": "Unit Price", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "currencyCode": { + "description": "Currency Code", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-03-31." + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Azure Resource Group Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "budgetNameParameter": { + "name": "budgetName", + "in": "path", + "description": "Budget Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingPeriodNameParameter": { + "name": "billingPeriodName", + "in": "path", + "description": "Billing Period Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "reservationOrderIdParameter": { + "name": "reservationOrderId", + "in": "path", + "description": "Order Id of the reservation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "reservationIdParameter": { + "name": "reservationId", + "in": "path", + "description": "Id of the reservation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "grainParameter": { + "name": "grain", + "description": "Can be daily or monthly", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "daily", + "monthly" + ], + "x-ms-enum": { + "name": "datagrain", + "modelAsString": true, + "values": [ + { + "value": "daily", + "description": "Daily grain of data", + "name": "DailyGrain" + }, + { + "value": "monthly", + "description": "Monthly grain of data", + "name": "MonthlyGrain" + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/Budget.json new file mode 100644 index 000000000000..a1d05d081d63 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/Budget.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MPDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/BudgetsList.json new file mode 100644 index 000000000000..8ac06213049f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/BudgetsList.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MYDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ] + }, + "Actual_GreaterThanOrEqualTo_90_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 90, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + }, + { + "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 600.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MYDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "currentSpend": { + "amount": 120.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_40_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 40, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ] + }, + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/CreateOrUpdateBudget.json new file mode 100644 index 000000000000..947aaadf56e7 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/CreateOrUpdateBudget.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MYDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MPDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.Consumption/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2017-10-01T00:00:00Z", + "endDate": "2018-10-31T00:00:00Z" + }, + "filters": { + "resourceGroups": [ + "MPDEVTESTRG" + ], + "resources": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ], + "meters": [ + "00000000-0000-0000-0000-000000000000" + ], + "tags": { + "category": [ + "Dev", + "Prod" + ], + "department": [ + "engineering", + "sales" + ] + } + }, + "currentSpend": { + "amount": 80.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThan_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/DeleteBudget.json new file mode 100644 index 000000000000..d77e16b29e22 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/DeleteBudget.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "budgetName": "TestBudget" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesList.json new file mode 100644 index 000000000000..8c10effe6f71 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Consumption/marketPlaces/marketplaceId1", + "name": "marketplaceId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan1", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesListForBillingPeriod.json new file mode 100644 index 000000000000..3550e9657336 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/MarketplacesListForBillingPeriod.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplacesId1", + "name": "marketplacesId1", + "type": "Microsoft.Consumption/marketPlaces", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "currency": "USD", + "consumedQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "offerName": "offer1", + "resourceGroup": "TEST", + "orderNumber": "00000000-0000-0000-0000-000000000000", + "publisherName": "xyz", + "planName": "plan2", + "resourceRate": 0.24, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "azure subscription" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheet.json new file mode 100644 index 000000000000..cee0e7c90bf0 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheet.json @@ -0,0 +1,33 @@ +{ + "parameters": + { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": + { + "200": + { + "body": + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": + { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR" + }] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetExpand.json new file mode 100644 index 000000000000..31e47d096115 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetExpand.json @@ -0,0 +1,44 @@ +{ + "parameters": + { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801", + "$expand": "meterDetails" + }, + "responses": + { + "200": + { + "body": + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": + { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D&$expand=properties/pricesheets/meterDetails", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR", + "meterDetails": + { + "meterName": "Data Transfer Out (GB)", + "meterCategory": "Networking", + "unit": "GB", + "meterLocation": "Zone 2", + "totalIncludedQuantity": 0, + "pretaxStandardRate": 0.138 + } + }] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetForBillingPeriod.json new file mode 100644 index 000000000000..dbb0a1b7b5ea --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/PriceSheetForBillingPeriod.json @@ -0,0 +1,34 @@ +{ + "parameters": + { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201801" + }, + "responses": + { + "200": + { + "body": + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": + { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31", + "pricesheets": [ + { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "meterId": "00000000-0000-0000-0000-000000000000", + "unitOfMeasure": "100 Hours", + "includedQuantity": 100, + "partNumber": "XX-11110", + "unitPrice": 0.00328, + "currencyCode": "EUR" + }] + } + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetails.json new file mode 100644 index 000000000000..c5a3460cd183 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetails.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129", + "type": "Microsoft.Consumption/reservationDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2017-11-29T00:00:00Z", + "skuName": "Standard_D2_v2", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/abc-sql2014sp33", + "totalReservedQuantity": 1.000000000000000, + "reservedHours": 24.000000000000000, + "usedHours": 24.000000000000000 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetailsWithReservationId.json new file mode 100644 index 000000000000..67ce88344331 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationDetailsWithReservationId.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129", + "type": "Microsoft.Consumption/reservationDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "usageDate": "2017-11-29T00:00:00Z", + "skuName": "Standard_D2_v2", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/wvn-sql2014sp33", + "totalReservedQuantity": 1.000000000000000, + "reservedHours": 24.000000000000000, + "usedHours": 24.000000000000000 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDaily.json new file mode 100644 index 000000000000..108f4de1d686 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDaily.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "grain":"daily", + "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationsummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDailyWithReservationId.json new file mode 100644 index 000000000000..29d5d9195bbf --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesDailyWithReservationId.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "grain":"daily", + "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationsummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0 + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthly.json new file mode 100644 index 000000000000..9a6e028b6b6b --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthly.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "grain":"monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationsummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthlyWithReservationId.json new file mode 100644 index 000000000000..63446aec57d4 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/ReservationSummariesMonthlyWithReservationId.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "grain":"monthly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001", + "type": "Microsoft.Consumption/reservationsummaries", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "reservationId": "00000000-0000-0000-0000-000000000000", + "skuName": "Standard_D8s_v3", + "reservedHours": 0.0, + "usageDate": "2017-10-01T00:00:00Z", + "usedHours": 0.0, + "minUtilizationPercentage": 0.0, + "avgUtilizationPercentage": 0.0, + "maxUtilizationPercentage": 0.0 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsExpand.json new file mode 100644 index 000000000000..00651e1d75bb --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsExpand.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201702", + "$expand": "meterDetails,additionalProperties", + "$filter": "properties/usageEnd ge '2018-01-14' AND properties/usageEnd le '2018-02-14'", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1", + "name": "usageDetailsId1", + "type": "Microsoft.Consumption/usageDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "instanceLocation": "eastasia", + "currency": "USD", + "usageQuantity": 0.00328, + "billableQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000", + "meterDetails": { + "meterName": "Data Transfer Out (GB)", + "meterCategory": "Networking", + "unit": "GB", + "meterLocation": "Zone 2", + "totalIncludedQuantity": 0, + "pretaxStandardRate": 0.138 + }, + "subscriptionGuid": "00000000-0000-0000-0000-000000000000", + "subscriptionName": "Dummy subscription", + "accountName": "My account name", + "departmentName": "My department name", + "product": "My product name", + "consumedService": "My consumed service", + "costCenter": "Cost center 1", + "additionalProperties": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsList.json new file mode 100644 index 000000000000..3be20fd1e299 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/usageDetails/usageDetailsId1", + "name": "usageDetailsId1", + "type": "Microsoft.Consumption/usageDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "instanceLocation": "eastasia", + "currency": "USD", + "usageQuantity": 0.00328, + "billableQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsListForBillingPeriod.json new file mode 100644 index 000000000000..05e7bde1f6fd --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-03-31/examples/UsageDetailsListForBillingPeriod.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "billingPeriodName": "201702" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1", + "name": "usageDetailsId1", + "type": "Microsoft.Consumption/usageDetails", + "tags": { + "env": "newcrp", + "dev": "tools" + }, + "properties": { + "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702", + "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789", + "usageStart": "2017-02-13T00:00:00Z", + "usageEnd": "2017-02-13T23:59:59Z", + "instanceName": "shared1", + "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1", + "instanceLocation": "eastasia", + "currency": "USD", + "usageQuantity": 0.00328, + "billableQuantity": 0.00328, + "pretaxCost": 0.67, + "isEstimated": false, + "meterId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md index 65b3c969eb8b..3f323329bfb7 100644 --- a/specification/consumption/resource-manager/readme.md +++ b/specification/consumption/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the Consumption API. ``` yaml openapi-type: arm -tag: package-2018-01 +tag: package-2018-03 azure-validator: true ``` @@ -49,6 +49,16 @@ input-file: - Microsoft.Consumption/stable/2018-01-31/consumption.json ``` +--- +### Tag: package-2018-03 + +These settings apply only when `--tag=package-2018-03` is specified on the command line. + +``` yaml $(tag) == 'package-2018-03' +input-file: +- Microsoft.Consumption/stable/2018-03-31/consumption.json +``` + ## Suppression ``` yaml directive: @@ -154,6 +164,7 @@ batch: - tag: package-2017-11-30 - tag: package-2017-12-30-preview - tag: package-2018-01-31 + - tag: package-2018-03-31 ``` @@ -190,6 +201,14 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2018-03' && $(go) +output-folder: $(go-sdk-folder)/services/consumption/mgmt/2018-03-31/consumption +``` + ## Java These settings apply only when `--java` is specified on the command line.