From 82843eb928feec196537834ee165666389cc6a95 Mon Sep 17 00:00:00 2001 From: alprosms Date: Thu, 16 Mar 2023 17:02:16 -0400 Subject: [PATCH 01/12] Updating budgets swagger definition to include modifications from RU Alert category --- .../costmanagement.budgets.json | 173 ++++++++++++++---- 1 file changed, 138 insertions(+), 35 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 0252360f047b..dafa577d9086 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -45,8 +45,44 @@ "url": "https://docs.microsoft.com/en-us/rest/api/CostManagement/" }, "x-ms-examples": { - "BudgetsList": { - "$ref": "./examples/Budgets/BudgetsList.json" + "SubscriptionBudgetsList": { + "$ref": "./examples/Budgets/List/RBAC/SubscriptionBudgetsList.json" + }, + "ResourceGroupBudgetsList":{ + "$ref": "./examples/Budgets/List/RBAC/ResourceGroupBudgetsList.json" + }, + "ManagementGroupBudgetsList":{ + "$ref": "./examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json" + }, + "BillingAccountBudgetsList-LegacyEA":{ + "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json" + }, + "BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter":{ + "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json" + }, + "DepartmentBudgetsList-LegacyEA":{ + "$ref": "./examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json" + }, + "EnrollmentAccountBudgetsList-LegacyEA":{ + "$ref": "./examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json" + }, + "BillingAccountBudgetsList-MCA":{ + "$ref": "./examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json" + }, + "BillingAccountBudgetsList-MCA-CategoryTypeFilter":{ + "$ref": "./examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json" + }, + "BillingProfileBudgetsList-MCA":{ + "$ref": "./examples/Budgets/List/MCA/BillingProfileBudgetsList.json" + }, + "BillingProfileBudgetsList-MCA-CategoryTypeFilter":{ + "$ref": "./examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json" + }, + "InvoiceSectionBudgetsList-MCA":{ + "$ref": "./examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json" + }, + "CustomerBudgetsList-MCA-CSP":{ + "$ref": "./examples/Budgets/List/MCA/CustomerBudgetsList.json" } }, "parameters": [ @@ -55,6 +91,9 @@ }, { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/budgetCategoryFilterParameter" } ], "responses": { @@ -87,8 +126,11 @@ "url": "https://docs.microsoft.com/en-us/rest/api/CostManagement/" }, "x-ms-examples": { - "Budget": { - "$ref": "./examples/Budgets/Budget.json" + "GetBudget": { + "$ref": "./examples/Budgets/Get/Cost/GetBudget.json" + }, + "GetRUAlert": { + "$ref": "./examples/Budgets/Get/ReservationUtilization/GetRUAlert.json" } }, "parameters": [ @@ -128,7 +170,25 @@ }, "x-ms-examples": { "CreateOrUpdateBudget": { - "$ref": "./examples/Budgets/CreateOrUpdateBudget.json" + "$ref": "./examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json" + }, + "CreateOrUpdateBillingAccountRUAlert-LegacyEA": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json" + }, + "CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json" + }, + "CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json" + }, + "CreateOrUpdateBillingProfileRUAlert-MCA": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json" + }, + "CreateOrUpdateBillingProfileRUAlert-MCA-ReservedResourceTypeFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json" + }, + "CreateOrUpdateBillingProfileRUAlert-MCA-ReservationIdFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json" } }, "parameters": [ @@ -183,7 +243,7 @@ }, "x-ms-examples": { "DeleteBudget": { - "$ref": "./examples/Budgets/DeleteBudget.json" + "$ref": "./examples/Budgets/Delete/DeleteBudget.json" } }, "parameters": [ @@ -252,10 +312,11 @@ "type": "object", "properties": { "category": { - "description": "The category of the budget.", + "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an RU (Reservation Utilization) Alert.", "type": "string", "enum": [ - "Cost" + "Cost", + "ReservationUtilization" ], "x-ms-enum": { "name": "CategoryType", @@ -267,7 +328,7 @@ "type": "number" }, "timeGrain": { - "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers", + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. Last7Days and Last30Days only apply to RU Alerts.", "type": "string", "enum": [ "Monthly", @@ -275,7 +336,9 @@ "Annually", "BillingMonth", "BillingQuarter", - "BillingAnnual" + "BillingAnnual", + "Last7Days", + "Last30Days" ], "x-ms-enum": { "name": "TimeGrainType", @@ -283,7 +346,6 @@ } }, "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 twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.", "$ref": "#/definitions/BudgetTimePeriod" }, "filter": { @@ -312,22 +374,21 @@ }, "required": [ "category", - "amount", "timeGrain", "timePeriod" ] }, "BudgetTimePeriod": { - "description": "The start and end date for a budget.", + "description": "Has start and end date of the budget.", "type": "object", "properties": { "startDate": { - "description": "The start date for the budget.", + "description": "The start date for the budget.\n\nConstraints for CategoryType: Cost\nMust be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period.\n\nConstraints for CategoryType: ReservationUtilization\nMust be on or after the current date and less than the end date.", "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.", + "description": "The end date for the budget.\n\nConstraints for CategoryType: Cost\nNo constraints. If not provided, we default this to 10 years from the start date.\n\nConstraints for CategoryType: ReservationUtilization\nEnd date cannot be more than 3 years after the start date.", "type": "string", "format": "date-time" } @@ -337,11 +398,11 @@ ] }, "BudgetFilter": { - "description": "May be used to filter budgets by resource group, resource, or meter.", + "description": "May be used to filter budgets with CategoryType: Cost by resource group, resource, or meter and CategoryType: ReservationUtilization by ReservationId or ReservedResourceType.", "type": "object", "properties": { "and": { - "description": "The logical \"AND\" expression. Must have at least 2 items.", + "description": "The logical \"AND\" expression. Applicable to CategoryType: Cost only. Must have at least 2 items.", "type": "array", "items": { "$ref": "#/definitions/BudgetFilterProperties" @@ -350,11 +411,11 @@ "minItems": 0 }, "dimensions": { - "description": "Has comparison expression for a dimension", + "description": "Has comparison expression for a dimension.", "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "Has comparison expression for a tag", + "description": "Has comparison expression for a tag. Applicable to CategoryType: Cost only.", "$ref": "#/definitions/BudgetComparisonExpression" } } @@ -364,11 +425,11 @@ "type": "object", "properties": { "dimensions": { - "description": "Has comparison expression for a dimension", + "description": "Has comparison expression for a dimension.", "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "Has comparison expression for a tag", + "description": "Has comparison expression for a tag. Applicable to CategoryType: Cost only.", "$ref": "#/definitions/BudgetComparisonExpression" } } @@ -408,7 +469,7 @@ ] }, "CurrentSpend": { - "description": "The current amount of cost which is being tracked for a budget.", + "description": "The current amount of cost which is being tracked for a budget. Only applies when CategoryType: Cost.", "type": "object", "properties": { "amount": { @@ -424,7 +485,7 @@ } }, "ForecastSpend": { - "description": "The forecasted cost which is being tracked for a budget.", + "description": "The forecasted cost which is being tracked for a budget. Only applies when CategoryType: Cost.", "type": "object", "properties": { "amount": { @@ -448,12 +509,13 @@ "type": "boolean" }, "operator": { - "description": "The comparison operator.", + "description": "The comparison operator.\n\n Allowed values for CategoryType: Cost\n EqualTo, GreaterThan, GreaterThanOrEqualTo\n\n Allowed values for CategoryType: ReservationUtilization\n LessThan", "type": "string", "enum": [ "EqualTo", "GreaterThan", - "GreaterThanOrEqualTo" + "GreaterThanOrEqualTo", + "LessThan" ], "x-ms-enum": { "name": "BudgetNotificationOperatorType", @@ -461,28 +523,62 @@ "values": [ { "value": "EqualTo", - "description": "Alert will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", + "description": "CategoryType: Cost only.\n Notificaiton will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", "name": "EqualTo" }, { "value": "GreaterThan", - "description": "Alert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.", + "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.", "name": "GreaterThan" }, { "value": "GreaterThanOrEqualTo", - "description": "Alert will be triggered if the evaluated cost is greater than or equal to the threshold value.", + "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.", "name": "GreaterThanOrEqualTo" + }, + { + "value": "LessThan", + "description": "CategoryType: ReservationUtilization only.\n Notification will be triggered if any Reservations in the scope of the RU alert have a utilization less than the threshold percentage.", + "name": "LessThan" } ] } }, "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.", + "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n CategoryType: Cost\n Notification is sent when the cost exceeded the threshold. \n\n CategoryType: ReservationUtilization\n Notification is sent when a reservation has a utilization percentage below the threshold.", "type": "number" }, + "frequency":{ + "description": "Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach.\n CategoryType:ReservationUtilization only.\n If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days)", + "enum": [ + "Daily", + "Weekly", + "Monthly" + ], + "x-ms-enum": { + "name": "frequency", + "modelAsString": true, + "values": [ + { + "value": "Daily", + "description": "After the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.", + "name": "Daily" + }, + { + "value": "Weekly", + "description": "After the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.", + "name": "Weekly" + }, + { + "value": "Monthly", + "description": "After the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.", + "name": "Monthly" + } + ] + } + }, "contactEmails": { - "description": "Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.", + "description": "Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.", "type": "array", "items": { "type": "string" @@ -491,14 +587,14 @@ "maxItems": 50 }, "contactRoles": { - "description": "Contact roles to send the budget notification to when the threshold is exceeded.", + "description": "Contact roles to send the notification to when the threshold is breached. Only supported for CategoryType: Cost.", "type": "array", "items": { "type": "string" } }, "contactGroups": { - "description": "Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.", + "description": "Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported for CategoryType: Cost and at Subscription or Resource Group scopes.", "type": "array", "items": { "type": "string" @@ -507,7 +603,7 @@ "maxItems": 50 }, "thresholdType": { - "description": "The type of threshold", + "description": "The type of threshold. Only applicable for CategoryType: Cost.", "type": "string", "enum": [ "Actual", @@ -519,7 +615,7 @@ "values": [ { "value": "Actual", - "description": "Actual costs budget alerts notify when the actual accrued cost exceeds the allocated budget .", + "description": "Actual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.", "name": "Actual" }, { @@ -577,7 +673,7 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.", + "description": "The scope associated with budget operations.\n\n Supported scopes for CategoryType: Cost\n\n Azure RBAC Scopes:\n '/subscriptions/{subscriptionId}/' for subscription scope,\n '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,\n '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope,\n\n Legacy EA (Enterprise Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope,\n\n MCA (Modern Customer Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only),\n\n AWS Scopes:\n '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope,\n '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for CategoryType: ReservationUtilization\n\n Enterprise Agreement Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\n Modern Customer Agreement Scopes:\n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, @@ -591,6 +687,13 @@ "pattern": "^[a-zA-Z0-9_-]+$", "minLength": 1, "maxLength": 63 + }, + "budgetCategoryFilterParameter": { + "name": "$filter", + "description": "OData filter option. May be used to filter budgets by properties/category. The filter supports 'eq' only.", + "in": "query", + "required": false, + "type": "string" } } } From 0381c5600bc9342cc909a598eaffba94b8b9976f Mon Sep 17 00:00:00 2001 From: alprosms Date: Thu, 16 Mar 2023 17:03:09 -0400 Subject: [PATCH 02/12] Adding new examples for all scenarios of RU Alerts, added new examples for all scopes for Cost Budgets --- .../Cost}/CreateOrUpdateBudget.json | 12 +- ...tRUAlert-LegacyEA-ReservationIdFilter.json | 125 ++++++++++ ...t-LegacyEA-ReservedResourceTypeFilter.json | 125 ++++++++++ ...rUpdateBillingAccountRUAlert-LegacyEA.json | 95 ++++++++ ...ingProfileRUAlert-ReservationIdFilter.json | 126 ++++++++++ ...ileRUAlert-ReservedResourceTypeFilter.json | 126 ++++++++++ .../CreateOrUpdateBillingProfileRUAlert.json | 96 ++++++++ .../Budgets/{ => Delete}/DeleteBudget.json | 0 .../{Budget.json => Get/Cost/GetBudget.json} | 4 +- .../ReservationUtilization/GetRUAlert.json | 51 ++++ ...dgetsList-LegacyEA-CategoryTypeFilter.json | 44 ++++ .../BillingAccountBudgetsList-LegacyEA.json | 105 +++++++++ .../List/LegacyEA/DepartmentBudgetsList.json | 79 +++++++ .../EnrollmentAccountBudgetsList.json | 78 ++++++ ...untBudgetsList-MCA-CategoryTypeFilter.json | 44 ++++ .../MCA/BillingAccountBudgetsList-MCA.json | 105 +++++++++ ...ProfileBudgetsList-CategoryTypeFilter.json | 83 +++++++ .../List/MCA/BillingProfileBudgetsList.json | 144 ++++++++++++ .../Budgets/List/MCA/CustomerBudgetsList.json | 78 ++++++ .../List/MCA/InvoiceSectionBudgetsList.json | 79 +++++++ .../List/RBAC/ManagementGroupBudgetsList.json | 222 ++++++++++++++++++ .../RBAC/ResourceGroupBudgetsList.json} | 55 +---- .../List/RBAC/SubscriptionBudgetsList.json | 191 +++++++++++++++ 23 files changed, 2015 insertions(+), 52 deletions(-) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/{ => CreateOrUpdate/Cost}/CreateOrUpdateBudget.json (96%) create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/{ => Delete}/DeleteBudget.json (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/{Budget.json => Get/Cost/GetBudget.json} (96%) create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/{BudgetsList.json => List/RBAC/ResourceGroupBudgetsList.json} (75%) create mode 100644 specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/SubscriptionBudgetsList.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdateBudget.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json similarity index 96% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdateBudget.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json index 0d5b0d929f01..26d8d4715aac 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdateBudget.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json @@ -12,8 +12,8 @@ "amount": 100.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, "filter": { "and": [ @@ -84,8 +84,8 @@ "amount": 100.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, "filter": { "and": [ @@ -159,8 +159,8 @@ "amount": 100.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, "filter": { "and": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json new file mode 100644 index 000000000000..4a43048bf672 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json new file mode 100644 index 000000000000..9fe2c537355c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json new file mode 100644 index 000000000000..825461544b37 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json new file mode 100644 index 000000000000..ffac70c7789d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "KKKK-LLLL-MMM-NNN", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json new file mode 100644 index 000000000000..78d5b27c7c03 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "KKKK-LLLL-MMM-NNN", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json new file mode 100644 index 000000000000..7e67b1d5d69f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "KKKK-LLLL-MMM-NNN", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", + "parameters": { + "eTag": "\"1d34d016a593709\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/DeleteBudget.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Delete/DeleteBudget.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/DeleteBudget.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Delete/DeleteBudget.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Budget.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/GetBudget.json similarity index 96% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Budget.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/GetBudget.json index 260c1e15af05..979a7ccfbc03 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Budget.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/GetBudget.json @@ -18,8 +18,8 @@ "amount": 100.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, "filter": { "and": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json new file mode 100644 index 000000000000..b173865c03fc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "KKKK-LLLL-MMM-NNN", + "budgetName": "TestRUAlert", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservedResourceType", + "operator": "In", + "values": [ + "VirtualMachines", + "SqlDatabases", + "CosmosDb" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json new file mode 100644 index 000000000000..0a88b2f7806b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "$filter": "properties/category eq 'ReservationUtilization'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json new file mode 100644 index 000000000000..7b8337dc2342 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157c\"", + "properties": { + "category": "Cost", + "amount": 10000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 8000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestBudget2", + "name": "TestBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157d\"", + "properties": { + "category": "Cost", + "amount": 15000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 12000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_70_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 70, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json new file mode 100644 index 000000000000..fb331dbf18ed --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "departmentId": "789101", + "scope": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget1", + "name": "DepartmentBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157e\"", + "properties": { + "category": "Cost", + "amount": 5000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 3000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget2", + "name": "DepartmentBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 8000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 6000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_75_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 75, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} + \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json new file mode 100644 index 000000000000..b8b37ef5eac4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "enrollmentAccountId": "473845", + "scope": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget1", + "name": "EnrollmentAccountBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157e\"", + "properties": { + "category": "Cost", + "amount": 5000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 3000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget2", + "name": "EnrollmentAccountBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 8000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 6000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_75_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 75, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json new file mode 100644 index 000000000000..8dc71ca784e7 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "$filter": "properties/category eq 'ReservationUtilization'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json new file mode 100644 index 000000000000..5332bf4f8d09 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157c\"", + "properties": { + "category": "Cost", + "amount": 10000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 8000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/providers/Microsoft.CostManagement/budgets/TestBudget2", + "name": "TestBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157d\"", + "properties": { + "category": "Cost", + "amount": 15000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 12000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_70_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 70, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", + "name": "TestRUAlert", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json new file mode 100644 index 000000000000..2956810a9ceb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "MYDEVTESTBP", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP", + "$filter": "properties/category eq 'ReservationUtilization'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestRUAlert1", + "name": "TestRUAlert1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestRUAlert2", + "name": "TestRUAlert2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 80, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json new file mode 100644 index 000000000000..e2243d8ed554 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "MYDEVTESTBP", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157c\"", + "properties": { + "category": "Cost", + "amount": 200.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 30.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestBudget2", + "name": "TestBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157d\"", + "properties": { + "category": "Cost", + "amount": 600.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 20.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_70_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 70, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestRUAlert1", + "name": "TestRUAlert1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last30Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": {}, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/providers/Microsoft.CostManagement/budgets/TestRUAlert2", + "name": "TestRUAlert2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "ReservationUtilization", + "timeGrain": "Last7Days", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2025-04-01T00:00:00Z" + }, + "filter": { + "dimensions":{ + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 80, + "frequency": "Daily", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json new file mode 100644 index 000000000000..a1c1e123d21b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "customerId": "00000000-0000-0000-0000-000000000000", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/00000000-0000-0000-0000-000000000000", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157c\"", + "properties": { + "category": "Cost", + "amount": 200.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 30.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/budgets/TestBudget2", + "name": "TestBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157d\"", + "properties": { + "category": "Cost", + "amount": 600.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 20.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_70_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 70, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json new file mode 100644 index 000000000000..defd25719241 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", + "billingProfileId": "MYDEVTESTBP", + "invoiceSectionId": "AAAA-BBBB-CCC-DDD", + "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/invoiceSections/AAAA-BBBB-CCC-DDD" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/invoiceSections/AAAA-BBBB-CCC-DDD/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157c\"", + "properties": { + "category": "Cost", + "amount": 20.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 5.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 80, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/MYDEVTESTBP/invoiceSections/AAAA-BBBB-CCC-DDD/providers/Microsoft.CostManagement/budgets/TestBudget2", + "name": "TestBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157d\"", + "properties": { + "category": "Cost", + "amount": 60.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 20.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_70_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 70, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json new file mode 100644 index 000000000000..8582a99bb95e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "MYDEVTESTMG", + "scope": "Microsoft.Management/managementGroups/MYDEVTESTMG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "Microsoft.Management/managementGroups/MYDEVTESTMG/Microsoft.CostManagement/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 10000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": {}, + "currentSpend": { + "amount": 8000.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_80_Percent": { + "enabled": true, + "operator": "GreaterThan", + "threshold": 80, + "contactEmails": [ + "managers@contoso.com" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 600.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": {}, + "currentSpend": { + "amount": 120.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 200.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": {}, + "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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/BudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ResourceGroupBudgetsList.json similarity index 75% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/BudgetsList.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ResourceGroupBudgetsList.json index 238cea73e79e..01927d32361e 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/BudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/ResourceGroupBudgetsList.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2023-04-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", - "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", "resourceGroupName": "MYDEVTESTRG" }, "responses": { @@ -10,8 +10,8 @@ "body": { "value": [ { - "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget", - "name": "TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget0", + "name": "TestBudget0", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -19,8 +19,8 @@ "amount": 100.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, "filter": { "and": [ @@ -95,52 +95,19 @@ } }, { - "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/budgets/TestBudget", - "name": "TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { "category": "Cost", - "amount": 600.65, + "amount": 200.65, "timeGrain": "Monthly", "timePeriod": { - "startDate": "2017-10-01T00:00:00Z", - "endDate": "2018-10-31T00:00:00Z" - }, - "filter": { - "and": [ - { - "dimensions": { - "name": "ResourceId", - "operator": "In", - "values": [ - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ] - } - }, - { - "tags": { - "name": "category", - "operator": "In", - "values": [ - "Dev", - "Prod" - ] - } - }, - { - "tags": { - "name": "department", - "operator": "In", - "values": [ - "engineering", - "sales" - ] - } - } - ] + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" }, + "filter": {}, "currentSpend": { "amount": 120.89, "unit": "USD" diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/SubscriptionBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/SubscriptionBudgetsList.json new file mode 100644 index 000000000000..c1923ba1006c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/RBAC/SubscriptionBudgetsList.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 600.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": {}, + "currentSpend": { + "amount": 120.89, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "contactRoles": [ + "Contributor", + "Reader" + ], + "contactGroups": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget", + "name": "TestBudget", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 100.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/budgets/TestBudget1", + "name": "TestBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 200.65, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "filter": {}, + "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/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" + } + } + } + } + ] + } + } + } +} From b061b0ebd45b97fed7423d2317e52876a70a70e1 Mon Sep 17 00:00:00 2001 From: alprosms Date: Thu, 16 Mar 2023 17:51:31 -0400 Subject: [PATCH 03/12] Spelling & lintdiff fixes --- .../preview/2023-04-01-preview/costmanagement.budgets.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index dafa577d9086..bbe407eab664 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -523,7 +523,7 @@ "values": [ { "value": "EqualTo", - "description": "CategoryType: Cost only.\n Notificaiton will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", + "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", "name": "EqualTo" }, { @@ -548,8 +548,9 @@ "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n CategoryType: Cost\n Notification is sent when the cost exceeded the threshold. \n\n CategoryType: ReservationUtilization\n Notification is sent when a reservation has a utilization percentage below the threshold.", "type": "number" }, - "frequency":{ + "frequency": { "description": "Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach.\n CategoryType:ReservationUtilization only.\n If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days)", + "type": "string", "enum": [ "Daily", "Weekly", From cd4ab479e9cb2995eba552767da50d85ee961718 Mon Sep 17 00:00:00 2001 From: alprosms Date: Thu, 16 Mar 2023 17:51:55 -0400 Subject: [PATCH 04/12] prettier-fix --- .../costmanagement.budgets.json | 24 +-- ...tRUAlert-LegacyEA-ReservationIdFilter.json | 50 +++---- ...t-LegacyEA-ReservedResourceTypeFilter.json | 6 +- ...ingProfileRUAlert-ReservationIdFilter.json | 6 +- ...ileRUAlert-ReservedResourceTypeFilter.json | 6 +- .../ReservationUtilization/GetRUAlert.json | 4 +- ...dgetsList-LegacyEA-CategoryTypeFilter.json | 2 +- .../BillingAccountBudgetsList-LegacyEA.json | 2 +- .../List/LegacyEA/DepartmentBudgetsList.json | 139 +++++++++-------- .../EnrollmentAccountBudgetsList.json | 140 +++++++++--------- ...untBudgetsList-MCA-CategoryTypeFilter.json | 2 +- .../MCA/BillingAccountBudgetsList-MCA.json | 2 +- ...ProfileBudgetsList-CategoryTypeFilter.json | 4 +- .../List/MCA/BillingProfileBudgetsList.json | 4 +- .../Budgets/List/MCA/CustomerBudgetsList.json | 2 +- .../List/MCA/InvoiceSectionBudgetsList.json | 2 +- 16 files changed, 197 insertions(+), 198 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index bbe407eab664..b3c4003a2b23 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -48,40 +48,40 @@ "SubscriptionBudgetsList": { "$ref": "./examples/Budgets/List/RBAC/SubscriptionBudgetsList.json" }, - "ResourceGroupBudgetsList":{ + "ResourceGroupBudgetsList": { "$ref": "./examples/Budgets/List/RBAC/ResourceGroupBudgetsList.json" }, - "ManagementGroupBudgetsList":{ + "ManagementGroupBudgetsList": { "$ref": "./examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json" }, - "BillingAccountBudgetsList-LegacyEA":{ + "BillingAccountBudgetsList-LegacyEA": { "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json" }, - "BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter":{ + "BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter": { "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json" }, - "DepartmentBudgetsList-LegacyEA":{ + "DepartmentBudgetsList-LegacyEA": { "$ref": "./examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json" }, - "EnrollmentAccountBudgetsList-LegacyEA":{ + "EnrollmentAccountBudgetsList-LegacyEA": { "$ref": "./examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json" }, - "BillingAccountBudgetsList-MCA":{ + "BillingAccountBudgetsList-MCA": { "$ref": "./examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json" }, - "BillingAccountBudgetsList-MCA-CategoryTypeFilter":{ + "BillingAccountBudgetsList-MCA-CategoryTypeFilter": { "$ref": "./examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json" }, - "BillingProfileBudgetsList-MCA":{ + "BillingProfileBudgetsList-MCA": { "$ref": "./examples/Budgets/List/MCA/BillingProfileBudgetsList.json" }, - "BillingProfileBudgetsList-MCA-CategoryTypeFilter":{ + "BillingProfileBudgetsList-MCA-CategoryTypeFilter": { "$ref": "./examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json" }, - "InvoiceSectionBudgetsList-MCA":{ + "InvoiceSectionBudgetsList-MCA": { "$ref": "./examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json" }, - "CustomerBudgetsList-MCA-CSP":{ + "CustomerBudgetsList-MCA-CSP": { "$ref": "./examples/Budgets/List/MCA/CustomerBudgetsList.json" } }, diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json index 4a43048bf672..36b73cab1c55 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json @@ -14,7 +14,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -55,7 +55,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -94,31 +94,31 @@ "startDate": "2023-04-01T00:00:00Z", "endDate": "2025-04-01T00:00:00Z" }, - "filter": { - "dimensions":{ - "name": "ReservationId", - "operator": "In", - "values": [ - "00000000-0000-0000-0000-000000000000", - "00000000-0000-0000-0000-000000000001", - "00000000-0000-0000-0000-000000000002" - ] - } - }, - "notifications": { - "Actual_LessThan_99_Percent": { - "enabled": true, - "operator": "LessThan", - "threshold": 99, - "frequency": "Weekly", - "locale": "en-us", - "contactEmails": [ - "johndoe@contoso.com", - "janesmith@contoso.com" - ] + "filter": { + "dimensions": { + "name": "ReservationId", + "operator": "In", + "values": [ + "00000000-0000-0000-0000-000000000000", + "00000000-0000-0000-0000-000000000001", + "00000000-0000-0000-0000-000000000002" + ] + } + }, + "notifications": { + "Actual_LessThan_99_Percent": { + "enabled": true, + "operator": "LessThan", + "threshold": 99, + "frequency": "Weekly", + "locale": "en-us", + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ] + } } } - } } } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json index 9fe2c537355c..7e25d37ce4ac 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json @@ -14,7 +14,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ @@ -55,7 +55,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ @@ -95,7 +95,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json index ffac70c7789d..963265a0daf7 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json @@ -15,7 +15,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -56,7 +56,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -96,7 +96,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json index 78d5b27c7c03..76c9dab30303 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json @@ -15,7 +15,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ @@ -56,7 +56,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ @@ -96,7 +96,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json index b173865c03fc..b1f79dfa631a 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json @@ -21,7 +21,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservedResourceType", "operator": "In", "values": [ @@ -48,4 +48,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json index 0a88b2f7806b..1de7e886e2f8 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json @@ -41,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json index 7b8337dc2342..e231572e6993 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json @@ -102,4 +102,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json index fb331dbf18ed..58b1eb8c40d6 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json @@ -1,79 +1,78 @@ { - "parameters": { - "api-version": "2023-04-01-preview", - "billingAccountId": "123456", - "departmentId": "789101", - "scope": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget1", - "name": "DepartmentBudget1", - "type": "Microsoft.CostManagement/budgets", - "eTag": "\"1d34d012214157e\"", - "properties": { - "category": "Cost", - "amount": 5000.00, - "timeGrain": "Monthly", - "timePeriod": { - "startDate": "2023-04-01T00:00:00Z", - "endDate": "2024-10-31T00:00:00Z" - }, - "currentSpend": { - "amount": 3000.00, - "unit": "USD" - }, - "notifications": { - "Actual_GreaterThanOrEqualTo_60_Percent": { - "enabled": true, - "operator": "GreaterThanOrEqualTo", - "threshold": 60, - "contactEmails": [ - "johndoe@contoso.com", - "janesmith@contoso.com" - ], - "thresholdType": "Actual" - } + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "departmentId": "789101", + "scope": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget1", + "name": "DepartmentBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157e\"", + "properties": { + "category": "Cost", + "amount": 5000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 3000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" } } - }, - { - "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget2", - "name": "DepartmentBudget2", - "type": "Microsoft.CostManagement/budgets", - "eTag": "\"1d34d012214157f\"", - "properties": { - "category": "Cost", - "amount": 8000.00, - "timeGrain": "Monthly", - "timePeriod": { - "startDate": "2023-04-01T00:00:00Z", - "endDate": "2024-10-31T00:00:00Z" - }, - "currentSpend": { - "amount": 6000.00, - "unit": "USD" - }, - "notifications": { - "Actual_GreaterThanOrEqualTo_75_Percent": { - "enabled": true, - "operator": "GreaterThanOrEqualTo", - "threshold": 75, - "contactEmails": [ - "johndoe@contoso.com", - "janesmith@contoso.com" - ], - "thresholdType": "Actual" - } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/departments/789101/providers/Microsoft.CostManagement/budgets/DepartmentBudget2", + "name": "DepartmentBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 8000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 6000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_75_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 75, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" } } } - ] - } + } + ] } } + } } - \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json index b8b37ef5eac4..016a27c344be 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json @@ -1,78 +1,78 @@ { - "parameters": { - "api-version": "2023-04-01-preview", - "billingAccountId": "123456", - "enrollmentAccountId": "473845", - "scope": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget1", - "name": "EnrollmentAccountBudget1", - "type": "Microsoft.CostManagement/budgets", - "eTag": "\"1d34d012214157e\"", - "properties": { - "category": "Cost", - "amount": 5000.00, - "timeGrain": "Monthly", - "timePeriod": { - "startDate": "2023-04-01T00:00:00Z", - "endDate": "2024-10-31T00:00:00Z" - }, - "currentSpend": { - "amount": 3000.00, - "unit": "USD" - }, - "notifications": { - "Actual_GreaterThanOrEqualTo_60_Percent": { - "enabled": true, - "operator": "GreaterThanOrEqualTo", - "threshold": 60, - "contactEmails": [ - "johndoe@contoso.com", - "janesmith@contoso.com" - ], - "thresholdType": "Actual" - } + "parameters": { + "api-version": "2023-04-01-preview", + "billingAccountId": "123456", + "enrollmentAccountId": "473845", + "scope": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget1", + "name": "EnrollmentAccountBudget1", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157e\"", + "properties": { + "category": "Cost", + "amount": 5000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 3000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_60_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 60, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" } } - }, - { - "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget2", - "name": "EnrollmentAccountBudget2", - "type": "Microsoft.CostManagement/budgets", - "eTag": "\"1d34d012214157f\"", - "properties": { - "category": "Cost", - "amount": 8000.00, - "timeGrain": "Monthly", - "timePeriod": { - "startDate": "2023-04-01T00:00:00Z", - "endDate": "2024-10-31T00:00:00Z" - }, - "currentSpend": { - "amount": 6000.00, - "unit": "USD" - }, - "notifications": { - "Actual_GreaterThanOrEqualTo_75_Percent": { - "enabled": true, - "operator": "GreaterThanOrEqualTo", - "threshold": 75, - "contactEmails": [ - "johndoe@contoso.com", - "janesmith@contoso.com" - ], - "thresholdType": "Actual" - } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/473845/providers/Microsoft.CostManagement/budgets/EnrollmentAccountBudget2", + "name": "EnrollmentAccountBudget2", + "type": "Microsoft.CostManagement/budgets", + "eTag": "\"1d34d012214157f\"", + "properties": { + "category": "Cost", + "amount": 8000.00, + "timeGrain": "Monthly", + "timePeriod": { + "startDate": "2023-04-01T00:00:00Z", + "endDate": "2024-10-31T00:00:00Z" + }, + "currentSpend": { + "amount": 6000.00, + "unit": "USD" + }, + "notifications": { + "Actual_GreaterThanOrEqualTo_75_Percent": { + "enabled": true, + "operator": "GreaterThanOrEqualTo", + "threshold": 75, + "contactEmails": [ + "johndoe@contoso.com", + "janesmith@contoso.com" + ], + "thresholdType": "Actual" } } } - ] - } + } + ] } } -} \ No newline at end of file + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json index 8dc71ca784e7..5ddc44431cf4 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA-CategoryTypeFilter.json @@ -41,4 +41,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json index 5332bf4f8d09..ce0be6a237ac 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json @@ -102,4 +102,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json index 2956810a9ceb..8e6588d87995 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList-CategoryTypeFilter.json @@ -51,7 +51,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -80,4 +80,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json index e2243d8ed554..d311c3ec5a53 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/BillingProfileBudgetsList.json @@ -112,7 +112,7 @@ "endDate": "2025-04-01T00:00:00Z" }, "filter": { - "dimensions":{ + "dimensions": { "name": "ReservationId", "operator": "In", "values": [ @@ -141,4 +141,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json index a1c1e123d21b..56bf6ab2bfe5 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/CustomerBudgetsList.json @@ -75,4 +75,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json index defd25719241..73cb4e9440c7 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/MCA/InvoiceSectionBudgetsList.json @@ -76,4 +76,4 @@ } } } -} \ No newline at end of file +} From 4d15e892f5b57772a2e60f642b54bbbb889d7520 Mon Sep 17 00:00:00 2001 From: alprosms Date: Mon, 20 Mar 2023 11:52:22 -0400 Subject: [PATCH 05/12] Added more descriptions, and some light markdown to larger descripitons --- .../costmanagement.budgets.json | 91 +++++++++++++++---- 1 file changed, 72 insertions(+), 19 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index b3c4003a2b23..4d085bdf79e0 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -312,7 +312,7 @@ "type": "object", "properties": { "category": { - "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an RU (Reservation Utilization) Alert.", + "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an RU (Reservation Utilization) Alert Rule.", "type": "string", "enum": [ "Cost", @@ -320,7 +320,18 @@ ], "x-ms-enum": { "name": "CategoryType", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Cost", + "description": "A Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.", + "name": "Cost" + }, + { + "value": "ReservationUtilization", + "description": "An Alert Rule that evalutes the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold." + } + ] } }, "amount": { @@ -328,7 +339,7 @@ "type": "number" }, "timeGrain": { - "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. Last7Days and Last30Days only apply to RU Alerts.", + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. Last7Days and Last30Days only apply to CategoryType: ReservationUtilization only.", "type": "string", "enum": [ "Monthly", @@ -342,7 +353,49 @@ ], "x-ms-enum": { "name": "TimeGrainType", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Monthly", + "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar month against the amount.", + "name": "Monthly" + }, + { + "value": "Quarterly", + "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar quarter against the amount.", + "name": "Quarterly" + }, + { + "value": "Annually", + "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar year against the amount.", + "name": "Annually" + }, + { + "value": "BillingMonth", + "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing month against the amount.", + "name": "BillingMonth" + }, + { + "value": "BillingQuarter", + "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing quarter against the amount.", + "name": "BillingQuarter" + }, + { + "value": "BillingAnnual", + "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing year against the amount.", + "name": "BillingAnnual" + }, + { + "value": "Last7Days", + "description": "CategoryType: ReservationUtilization only.\n\n The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.", + "name": "BillingMonth" + }, + { + "value": "Last30Days", + "description": "CategoryType: ReservationUtilization only.\n\n The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.", + "name": "BillingMonth" + } + ] } }, "timePeriod": { @@ -354,7 +407,7 @@ "$ref": "#/definitions/BudgetFilter" }, "currentSpend": { - "description": "The current amount of cost which is being tracked for a budget.", + "description": "CategoryType: Cost only.\n\n The current amount of cost which is being tracked for a budget.", "$ref": "#/definitions/CurrentSpend", "readOnly": true }, @@ -367,7 +420,7 @@ "maxItems": 5 }, "forecastSpend": { - "description": "The forecasted cost which is being tracked for a budget.", + "description": "CategoryType: Cost only.\n\n The forecasted cost which is being tracked for a budget.", "$ref": "#/definitions/ForecastSpend", "readOnly": true } @@ -383,12 +436,12 @@ "type": "object", "properties": { "startDate": { - "description": "The start date for the budget.\n\nConstraints for CategoryType: Cost\nMust be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period.\n\nConstraints for CategoryType: ReservationUtilization\nMust be on or after the current date and less than the end date.", + "description": "The start date for the budget.\n\n- Constraints for **CategoryType: Cost** - Must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period.\n\n- Constraints for **CategoryType: ReservationUtilization** - Must be on or after the current date and less than the end date.", "type": "string", "format": "date-time" }, "endDate": { - "description": "The end date for the budget.\n\nConstraints for CategoryType: Cost\nNo constraints. If not provided, we default this to 10 years from the start date.\n\nConstraints for CategoryType: ReservationUtilization\nEnd date cannot be more than 3 years after the start date.", + "description": "The end date for the budget.\n\n- Constraints for **CategoryType: Cost** - No constraints. If not provided, we default this to 10 years from the start date.\n\n- Constraints for **CategoryType: ReservationUtilization** - End date cannot be more than 3 years after the start date.", "type": "string", "format": "date-time" } @@ -402,7 +455,7 @@ "type": "object", "properties": { "and": { - "description": "The logical \"AND\" expression. Applicable to CategoryType: Cost only. Must have at least 2 items.", + "description": "CategoryType: Cost only.\n\n The logical \"AND\" expression. Must have at least 2 items.", "type": "array", "items": { "$ref": "#/definitions/BudgetFilterProperties" @@ -415,7 +468,7 @@ "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "Has comparison expression for a tag. Applicable to CategoryType: Cost only.", + "description": "CategoryType: Cost only.\n\n Has comparison expression for a tag.", "$ref": "#/definitions/BudgetComparisonExpression" } } @@ -429,7 +482,7 @@ "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "Has comparison expression for a tag. Applicable to CategoryType: Cost only.", + "description": "CategoryType: Cost only.\n\n Has comparison expression for a tag.", "$ref": "#/definitions/BudgetComparisonExpression" } } @@ -469,7 +522,7 @@ ] }, "CurrentSpend": { - "description": "The current amount of cost which is being tracked for a budget. Only applies when CategoryType: Cost.", + "description": "CategoryType: Cost only.\n\n The current amount of cost which is being tracked for a budget", "type": "object", "properties": { "amount": { @@ -485,7 +538,7 @@ } }, "ForecastSpend": { - "description": "The forecasted cost which is being tracked for a budget. Only applies when CategoryType: Cost.", + "description": "CategoryType: Cost only.\n\n The forecasted cost which is being tracked for a budget.", "type": "object", "properties": { "amount": { @@ -509,7 +562,7 @@ "type": "boolean" }, "operator": { - "description": "The comparison operator.\n\n Allowed values for CategoryType: Cost\n EqualTo, GreaterThan, GreaterThanOrEqualTo\n\n Allowed values for CategoryType: ReservationUtilization\n LessThan", + "description": "The comparison operator.\n\n- Allowed values for **CategoryType: Cost** - EqualTo, GreaterThan, GreaterThanOrEqualTo\n\n- Allowed values for **CategoryType: ReservationUtilization** - LessThan", "type": "string", "enum": [ "EqualTo", @@ -538,18 +591,18 @@ }, { "value": "LessThan", - "description": "CategoryType: ReservationUtilization only.\n Notification will be triggered if any Reservations in the scope of the RU alert have a utilization less than the threshold percentage.", + "description": "CategoryType: ReservationUtilization only.\n Notification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.", "name": "LessThan" } ] } }, "threshold": { - "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n CategoryType: Cost\n Notification is sent when the cost exceeded the threshold. \n\n CategoryType: ReservationUtilization\n Notification is sent when a reservation has a utilization percentage below the threshold.", + "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n- **CategoryType: Cost** - Notification is sent when the cost exceeded the threshold.\n\n- **CategoryType: ReservationUtilization** - Notification is sent when a reservation has a utilization percentage below the threshold.", "type": "number" }, "frequency": { - "description": "Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach.\n CategoryType:ReservationUtilization only.\n If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days)", + "description": "CategoryType: ReservationUtilization only.\n\nFrequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days)", "type": "string", "enum": [ "Daily", @@ -604,7 +657,7 @@ "maxItems": 50 }, "thresholdType": { - "description": "The type of threshold. Only applicable for CategoryType: Cost.", + "description": "CategoryType: Cost only.\n\n The type of threshold.", "type": "string", "enum": [ "Actual", @@ -674,7 +727,7 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations.\n\n Supported scopes for CategoryType: Cost\n\n Azure RBAC Scopes:\n '/subscriptions/{subscriptionId}/' for subscription scope,\n '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,\n '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope,\n\n Legacy EA (Enterprise Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope,\n\n MCA (Modern Customer Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only),\n\n AWS Scopes:\n '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope,\n '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for CategoryType: ReservationUtilization\n\n Enterprise Agreement Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\n Modern Customer Agreement Scopes:\n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "description": "The scope associated with budget operations.\n\n Supported scopes for CategoryType: Cost\n\n Azure RBAC Scopes: '/subscriptions/{subscriptionId}/' for subscription scope,\n '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,\n '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope,\n\n Legacy EA (Enterprise Agreement) Scopes: \n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope,\n\n MCA (Modern Customer Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only),\n\n AWS Scopes:\n '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope,\n '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for CategoryType: ReservationUtilization\n\n Enterprise Agreement Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\n Modern Customer Agreement Scopes:\n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, From cb20dabee8a8a027955bb9172c1e1e714949bd59 Mon Sep 17 00:00:00 2001 From: alprosms Date: Mon, 20 Mar 2023 13:04:10 -0400 Subject: [PATCH 06/12] Addressing comments --- .../costmanagement.budgets.json | 61 +++++++++---------- ...ateOrUpdate-Cost-Subscription-Budget.json} | 0 ...gacyEA-AlertRule-ReservationIdFilter.json} | 10 +-- ...AlertRule-ReservedResourceTypeFilter.json} | 10 +-- ...ion-BillingAccountLegacyEA-AlertRule.json} | 10 +-- ...rofile-AlertRule-ReservationIdFilter.json} | 10 +-- ...AlertRule-ReservedResourceTypeFilter.json} | 10 +-- ...Utilization-BillingProfile-AlertRule.json} | 10 +-- .../{GetBudget.json => Get-Cost-Budget.json} | 0 ...Get-ReservationUtilization-AlertRule.json} | 6 +- 10 files changed, 63 insertions(+), 64 deletions(-) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/{CreateOrUpdateBudget.json => CreateOrUpdate-Cost-Subscription-Budget.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/{CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json => CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json} (94%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/{CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json => CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json} (93%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/{CreateOrUpdateBillingAccountRUAlert-LegacyEA.json => CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json} (92%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/{CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json => CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter.json} (95%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/{CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json => CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservedResourceTypeFilter.json} (95%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/{CreateOrUpdateBillingProfileRUAlert.json => CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json} (94%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/{GetBudget.json => Get-Cost-Budget.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/{GetRUAlert.json => Get-ReservationUtilization-AlertRule.json} (93%) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 4d085bdf79e0..08a475b416a0 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -126,11 +126,11 @@ "url": "https://docs.microsoft.com/en-us/rest/api/CostManagement/" }, "x-ms-examples": { - "GetBudget": { - "$ref": "./examples/Budgets/Get/Cost/GetBudget.json" + "Get-Cost-Budget": { + "$ref": "./examples/Budgets/Get/Cost/Get-Cost-Budget.json" }, - "GetRUAlert": { - "$ref": "./examples/Budgets/Get/ReservationUtilization/GetRUAlert.json" + "Get-ReservationUtilization-AlertRule": { + "$ref": "./examples/Budgets/Get/ReservationUtilization/Get-ReservationUtilization-AlertRule.json" } }, "parameters": [ @@ -169,26 +169,26 @@ "url": "https://docs.microsoft.com/en-us/rest/api/CostManagement/" }, "x-ms-examples": { - "CreateOrUpdateBudget": { - "$ref": "./examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json" + "CreateOrUpdate-Cost-Subscription-Budget": { + "$ref": "./examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdate-Cost-Subscription-Budget.json" }, - "CreateOrUpdateBillingAccountRUAlert-LegacyEA": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json" }, - "CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json" }, - "CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json" }, - "CreateOrUpdateBillingProfileRUAlert-MCA": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json" + "CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule.json": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json" }, - "CreateOrUpdateBillingProfileRUAlert-MCA-ReservedResourceTypeFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule-ReservedResourceTypeFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservedResourceTypeFilter.json" }, - "CreateOrUpdateBillingProfileRUAlert-MCA-ReservationIdFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter.json" } }, "parameters": [ @@ -312,7 +312,7 @@ "type": "object", "properties": { "category": { - "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an RU (Reservation Utilization) Alert Rule.", + "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an Reservation Utilization Alert Rule.", "type": "string", "enum": [ "Cost", @@ -329,7 +329,7 @@ }, { "value": "ReservationUtilization", - "description": "An Alert Rule that evalutes the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold." + "description": "An Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold." } ] } @@ -413,7 +413,7 @@ }, "notifications": { "type": "object", - "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.", + "description": "Dictionary of notifications associated with the budget.\n- **CategoryType: Cost** - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.\n- **CategoryType: ReservationUtilization** - Only one notification allowed. thresholdType is not applicable.", "additionalProperties": { "$ref": "#/definitions/Notification" }, @@ -432,7 +432,7 @@ ] }, "BudgetTimePeriod": { - "description": "Has start and end date of the budget.", + "description": "The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.", "type": "object", "properties": { "startDate": { @@ -451,7 +451,7 @@ ] }, "BudgetFilter": { - "description": "May be used to filter budgets with CategoryType: Cost by resource group, resource, or meter and CategoryType: ReservationUtilization by ReservationId or ReservedResourceType.", + "description": "May be used to filter budgets by user-specified dimensions and/or tags.", "type": "object", "properties": { "and": { @@ -464,7 +464,7 @@ "minItems": 0 }, "dimensions": { - "description": "Has comparison expression for a dimension.", + "description": "Has comparison expression for a dimension.\n- Allowed dimension names for **CategoryType: Cost** - resource group, resource, or meter.\n- Allowed dimension names for **CategoryType: ReservationUtilization** - ReservationId or ReservedResourceType.", "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { @@ -562,7 +562,7 @@ "type": "boolean" }, "operator": { - "description": "The comparison operator.\n\n- Allowed values for **CategoryType: Cost** - EqualTo, GreaterThan, GreaterThanOrEqualTo\n\n- Allowed values for **CategoryType: ReservationUtilization** - LessThan", + "description": "The comparison operator.\n\n- Allowed values for **CategoryType: Cost** - GreaterThan, GreaterThanOrEqualTo\n\n- Allowed values for **CategoryType: ReservationUtilization** - LessThan", "type": "string", "enum": [ "EqualTo", @@ -576,22 +576,22 @@ "values": [ { "value": "EqualTo", - "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", + "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", "name": "EqualTo" }, { "value": "GreaterThan", - "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.", + "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.", "name": "GreaterThan" }, { "value": "GreaterThanOrEqualTo", - "description": "CategoryType: Cost only.\n Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.", + "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.", "name": "GreaterThanOrEqualTo" }, { "value": "LessThan", - "description": "CategoryType: ReservationUtilization only.\n Notification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.", + "description": "CategoryType: ReservationUtilization only.\n\n Notification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.", "name": "LessThan" } ] @@ -727,8 +727,7 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations.\n\n Supported scopes for CategoryType: Cost\n\n Azure RBAC Scopes: '/subscriptions/{subscriptionId}/' for subscription scope,\n '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,\n '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope,\n\n Legacy EA (Enterprise Agreement) Scopes: \n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope,\n\n MCA (Modern Customer Agreement) Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope,\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only),\n\n AWS Scopes:\n '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope,\n '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for CategoryType: ReservationUtilization\n\n Enterprise Agreement Scopes:\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\n Modern Customer Agreement Scopes:\n\n '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", - "x-ms-parameter-location": "method", + "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n AWS Scopes:\n- '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope\n- '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, "budgetNameParameter": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdate-Cost-Subscription-Budget.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdateBudget.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdate-Cost-Subscription-Budget.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json similarity index 94% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json index 36b73cab1c55..c3e3e715407e 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservationIdFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2023-04-01-preview", "billingAccountId": "123456", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/123456", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -43,8 +43,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -83,8 +83,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json similarity index 93% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json index 7e25d37ce4ac..a4a3a177b2ba 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA-ReservedResourceTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2023-04-01-preview", "billingAccountId": "123456", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/123456", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -43,8 +43,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -83,8 +83,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json similarity index 92% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json index 825461544b37..dd414df0a5fb 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdateBillingAccountRUAlert-LegacyEA.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2023-04-01-preview", "billingAccountId": "123456", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/123456", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -33,8 +33,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -63,8 +63,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter.json similarity index 95% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter.json index 963265a0daf7..2c0c875c0eff 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservationIdFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservationIdFilter.json @@ -3,7 +3,7 @@ "api-version": "2023-04-01-preview", "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", "billingProfileId": "KKKK-LLLL-MMM-NNN", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -44,8 +44,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -84,8 +84,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservedResourceTypeFilter.json similarity index 95% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservedResourceTypeFilter.json index 76c9dab30303..65801ce4fab3 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert-ReservedResourceTypeFilter.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule-ReservedResourceTypeFilter.json @@ -3,7 +3,7 @@ "api-version": "2023-04-01-preview", "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", "billingProfileId": "KKKK-LLLL-MMM-NNN", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -44,8 +44,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -84,8 +84,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json similarity index 94% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json index 7e67b1d5d69f..44c2282c77c2 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdateBillingProfileRUAlert.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json @@ -3,7 +3,7 @@ "api-version": "2023-04-01-preview", "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", "billingProfileId": "KKKK-LLLL-MMM-NNN", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN", "parameters": { "eTag": "\"1d34d016a593709\"", @@ -34,8 +34,8 @@ "responses": { "201": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { @@ -64,8 +64,8 @@ }, "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/GetBudget.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/Get-Cost-Budget.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/GetBudget.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/Cost/Get-Cost-Budget.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/Get-ReservationUtilization-AlertRule.json similarity index 93% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/Get-ReservationUtilization-AlertRule.json index b1f79dfa631a..5b7c9a51cf5b 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/GetRUAlert.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/Get/ReservationUtilization/Get-ReservationUtilization-AlertRule.json @@ -3,14 +3,14 @@ "api-version": "2023-04-01-preview", "billingAccountId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01", "billingProfileId": "KKKK-LLLL-MMM-NNN", - "budgetName": "TestRUAlert", + "budgetName": "TestAlertRule", "scope": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN" }, "responses": { "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestRUAlert", - "name": "TestRUAlert", + "id": "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN/providers/Microsoft.CostManagement/budgets/TestAlertRule", + "name": "TestAlertRule", "type": "Microsoft.CostManagement/budgets", "eTag": "\"1d34d012214157f\"", "properties": { From 898cf4cf67732f391a17189c7acf90124a9fcd81 Mon Sep 17 00:00:00 2001 From: alprosms Date: Mon, 20 Mar 2023 13:26:47 -0400 Subject: [PATCH 07/12] prettier-fix --- .../preview/2023-04-01-preview/costmanagement.budgets.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 08a475b416a0..03d800b02f76 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -727,7 +727,8 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n AWS Scopes:\n- '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope\n- '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", + "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n AWS Scopes:\n- '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope\n- '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, "budgetNameParameter": { From a7e6c5773acc012ae83716f823d3f6664dbd1400 Mon Sep 17 00:00:00 2001 From: alprosms Date: Mon, 20 Mar 2023 13:36:27 -0400 Subject: [PATCH 08/12] Updating description for amount property --- .../preview/2023-04-01-preview/costmanagement.budgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 03d800b02f76..b8eb6f31cf8a 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -335,7 +335,7 @@ } }, "amount": { - "description": "The total amount of cost to track with the budget", + "description": "CategoryType: Cost only.\n\n The total amount of cost to track with the budget", "type": "number" }, "timeGrain": { From 4c717742fe111c94d86a076a96bd028f75469b6d Mon Sep 17 00:00:00 2001 From: alprosms Date: Wed, 22 Mar 2023 17:43:41 -0400 Subject: [PATCH 09/12] addressing Shravan's offline comments --- .../costmanagement.budgets.json | 84 ++++++++++--------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index b8eb6f31cf8a..02633e3a3dc9 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -312,7 +312,7 @@ "type": "object", "properties": { "category": { - "description": "The category of the budget. 'Cost' defines a Budget, 'ReservationUtilization' defines an Reservation Utilization Alert Rule.", + "description": "The category of the budget.\n- 'Cost' defines a Budget.\n- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.", "type": "string", "enum": [ "Cost", @@ -335,11 +335,11 @@ } }, "amount": { - "description": "CategoryType: Cost only.\n\n The total amount of cost to track with the budget", + "description": "The total amount of cost to track with the budget.\n\n Supported for CategoryType(s): Cost.\n\n Required for CategoryType(s): Cost.", "type": "number" }, "timeGrain": { - "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. Last7Days and Last30Days only apply to CategoryType: ReservationUtilization only.", + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.\n\nSupported for CategoryType(s): Cost, ReservationUtilization.\n\n Supported timeGrainTypes for **CategoryType: Cost**\n\n- Monthly\n- Quarterly\n- Annually\n- BillingMonth*\n- BillingQuarter*\n- BillingAnnual*\n\n *only supported for Web Direct customers.\n\n Supported timeGrainTypes for **CategoryType: ReservationUtilizaiton**\n- Last7Days\n- Last30Days\n\n Required for CategoryType(s): Cost, ReservationUtilization.", "type": "string", "enum": [ "Monthly", @@ -357,70 +357,72 @@ "values": [ { "value": "Monthly", - "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar month against the amount.", + "description": "The budget will track costs in the current calendar month against the amount.\n\n Supported for CategoryType: Cost only.", "name": "Monthly" }, { "value": "Quarterly", - "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar quarter against the amount.", + "description": "The budget will track costs in the current calendar quarter against the amount.\n\n Supported for CategoryType: Cost only.", "name": "Quarterly" }, { "value": "Annually", - "description": "CategoryType: Cost only.\n\n The budget will track costs in the current calendar year against the amount.", + "description": "The budget will track costs in the current calendar year against the amount.\n\n Supported for CategoryType: Cost only.", "name": "Annually" }, { "value": "BillingMonth", - "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing month against the amount.", + "description": "The budget will track costs in the current billing month against the amount.\n\n Supported for CategoryType: Cost and Web Direct customers only.", "name": "BillingMonth" }, { "value": "BillingQuarter", - "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing quarter against the amount.", + "description": "The budget will track costs in the current billing quarter against the amount.\n\n Supported for CategoryType: Cost and Web Direct customers only.", "name": "BillingQuarter" }, { "value": "BillingAnnual", - "description": "CategoryType: Cost only. Web Direct customers only.\n\n The budget will track costs in the current billing year against the amount.", + "description": "The budget will track costs in the current billing year against the amount.\n\n Supported for CategoryType: Cost and Web Direct customers only.", "name": "BillingAnnual" }, { "value": "Last7Days", - "description": "CategoryType: ReservationUtilization only.\n\n The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.", - "name": "BillingMonth" + "description": "The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.\n\n Supported for CategoryType: ReservationUtilization only.", + "name": "Last7Days" }, { "value": "Last30Days", - "description": "CategoryType: ReservationUtilization only.\n\n The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.", - "name": "BillingMonth" + "description": "The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.\n\n Supported for CategoryType: ReservationUtilization only.", + "name": "Last30Days" } ] } }, "timePeriod": { + "description": "The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n Required for CategoryType(s): Cost, ReservationUtilization.", + "type": "object", "$ref": "#/definitions/BudgetTimePeriod" }, "filter": { - "description": "May be used to filter budgets by user-specified dimensions and/or tags.", + "description": "May be used to filter budgets by user-specified dimensions and/or tags.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "object", "$ref": "#/definitions/BudgetFilter" }, "currentSpend": { - "description": "CategoryType: Cost only.\n\n The current amount of cost which is being tracked for a budget.", + "description": "The current amount of cost which is being tracked for a budget.\n\n Supported for CategoryType(s): Cost.", "$ref": "#/definitions/CurrentSpend", "readOnly": true }, "notifications": { "type": "object", - "description": "Dictionary of notifications associated with the budget.\n- **CategoryType: Cost** - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.\n- **CategoryType: ReservationUtilization** - Only one notification allowed. thresholdType is not applicable.", + "description": "Dictionary of notifications associated with the budget.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n- Constraints for **CategoryType: Cost** - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.\n- Constraints for **CategoryType: ReservationUtilization** - Only one notification allowed. thresholdType is not applicable.", "additionalProperties": { "$ref": "#/definitions/Notification" }, "maxItems": 5 }, "forecastSpend": { - "description": "CategoryType: Cost only.\n\n The forecasted cost which is being tracked for a budget.", + "description": "The forecasted cost which is being tracked for a budget.\n\n Supported for CategoryType(s): Cost.", "$ref": "#/definitions/ForecastSpend", "readOnly": true } @@ -432,7 +434,7 @@ ] }, "BudgetTimePeriod": { - "description": "The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.", + "description": "The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n Required for CategoryType(s): Cost, ReservationUtilization.", "type": "object", "properties": { "startDate": { @@ -451,11 +453,11 @@ ] }, "BudgetFilter": { - "description": "May be used to filter budgets by user-specified dimensions and/or tags.", + "description": "May be used to filter budgets by user-specified dimensions and/or tags.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "object", "properties": { "and": { - "description": "CategoryType: Cost only.\n\n The logical \"AND\" expression. Must have at least 2 items.", + "description": "The logical \"AND\" expression. Must have at least 2 items.\n\n Supported for CategoryType(s): Cost.", "type": "array", "items": { "$ref": "#/definitions/BudgetFilterProperties" @@ -464,25 +466,25 @@ "minItems": 0 }, "dimensions": { - "description": "Has comparison expression for a dimension.\n- Allowed dimension names for **CategoryType: Cost** - resource group, resource, or meter.\n- Allowed dimension names for **CategoryType: ReservationUtilization** - ReservationId or ReservedResourceType.", + "description": "Has comparison expression for a dimension.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\nSupported dimension names for **CategoryType: ReservationUtilization** \n- ReservationId\n- ReservedResourceType", "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "CategoryType: Cost only.\n\n Has comparison expression for a tag.", + "description": "Has comparison expression for a tag.\n\n Supported for CategoryType(s): Cost.", "$ref": "#/definitions/BudgetComparisonExpression" } } }, "BudgetFilterProperties": { - "description": "The Dimensions or Tags to filter a budget by.", + "description": "The Dimensions or Tags to filter a budget by.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "object", "properties": { "dimensions": { - "description": "Has comparison expression for a dimension.", + "description": "Has comparison expression for a dimension.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\nSupported dimension names for **CategoryType: ReservationUtilization** \n- ReservationId\n- ReservedResourceType", "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "description": "CategoryType: Cost only.\n\n Has comparison expression for a tag.", + "description": "Has comparison expression for a tag.\n\n Supported for CategoryType(s): Cost.", "$ref": "#/definitions/BudgetComparisonExpression" } } @@ -522,7 +524,7 @@ ] }, "CurrentSpend": { - "description": "CategoryType: Cost only.\n\n The current amount of cost which is being tracked for a budget", + "description": "The current amount of cost which is being tracked for a budget.\n\n Supported for CategoryType(s): Cost.", "type": "object", "properties": { "amount": { @@ -538,7 +540,7 @@ } }, "ForecastSpend": { - "description": "CategoryType: Cost only.\n\n The forecasted cost which is being tracked for a budget.", + "description": "The forecasted cost which is being tracked for a budget.\n\n Supported for CategoryType(s): Cost.", "type": "object", "properties": { "amount": { @@ -554,15 +556,15 @@ } }, "Notification": { - "description": "The notification associated with a budget.", + "description": "The notification associated with a budget.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "object", "properties": { "enabled": { - "description": "The notification is enabled or not.", + "description": "The notification is enabled or not.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "boolean" }, "operator": { - "description": "The comparison operator.\n\n- Allowed values for **CategoryType: Cost** - GreaterThan, GreaterThanOrEqualTo\n\n- Allowed values for **CategoryType: ReservationUtilization** - LessThan", + "description": "The comparison operator.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n Supported operators for **CategoryType: Cost**\n- GreaterThan\n- GreaterThanOrEqualTo\n\n Supported operators for **CategoryType: ReservationUtilization**\n- LessThan", "type": "string", "enum": [ "EqualTo", @@ -576,33 +578,33 @@ "values": [ { "value": "EqualTo", - "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future. ", + "description": "Notification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.\n\n Supported for CategoryType(s): Cost.", "name": "EqualTo" }, { "value": "GreaterThan", - "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.", + "description": "Notification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.\n\n Supported for CategoryType(s): Cost.", "name": "GreaterThan" }, { "value": "GreaterThanOrEqualTo", - "description": "CategoryType: Cost only.\n\n Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.", + "description": "Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.\n\n Supported for CategoryType(s): Cost.", "name": "GreaterThanOrEqualTo" }, { "value": "LessThan", - "description": "CategoryType: ReservationUtilization only.\n\n Notification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.", + "description": "Notification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.\n\n Supported for CategoryType(s): ReservationUtilization.", "name": "LessThan" } ] } }, "threshold": { - "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n- **CategoryType: Cost** - Notification is sent when the cost exceeded the threshold.\n\n- **CategoryType: ReservationUtilization** - Notification is sent when a reservation has a utilization percentage below the threshold.", + "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n- **CategoryType: Cost** - Notification is sent when the cost exceeded the threshold.\n\n- **CategoryType: ReservationUtilization** - Notification is sent when a reservation has a utilization percentage below the threshold.", "type": "number" }, "frequency": { - "description": "CategoryType: ReservationUtilization only.\n\nFrequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days)", + "description": "Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).\n\n Supported for CategoryType(s): ReservationUtilization.", "type": "string", "enum": [ "Daily", @@ -632,7 +634,7 @@ } }, "contactEmails": { - "description": "Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.", + "description": "Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "array", "items": { "type": "string" @@ -641,14 +643,14 @@ "maxItems": 50 }, "contactRoles": { - "description": "Contact roles to send the notification to when the threshold is breached. Only supported for CategoryType: Cost.", + "description": "Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.\n\n Supported for CategoryType(s): Cost.", "type": "array", "items": { "type": "string" } }, "contactGroups": { - "description": "Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported for CategoryType: Cost and at Subscription or Resource Group scopes.", + "description": "Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.\n\n Supported for CategoryType(s): Cost.", "type": "array", "items": { "type": "string" @@ -657,7 +659,7 @@ "maxItems": 50 }, "thresholdType": { - "description": "CategoryType: Cost only.\n\n The type of threshold.", + "description": "The type of threshold.\n\n Supported for CategoryType(s): Cost.", "type": "string", "enum": [ "Actual", @@ -682,7 +684,7 @@ "default": "Actual" }, "locale": { - "description": "Language in which the recipient will receive the notification", + "description": "Language in which the recipient will receive the notification, \n\n Supported for CategoryType(s): Cost, ReservationUtilization.", "type": "string", "enum": [ "en-us", From c0260329b43d0cfc446480ceeb690b4ddb231dd7 Mon Sep 17 00:00:00 2001 From: alprosms Date: Wed, 22 Mar 2023 18:05:08 -0400 Subject: [PATCH 10/12] spell check --- .../preview/2023-04-01-preview/costmanagement.budgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 02633e3a3dc9..a44d52c0e702 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -339,7 +339,7 @@ "type": "number" }, "timeGrain": { - "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.\n\nSupported for CategoryType(s): Cost, ReservationUtilization.\n\n Supported timeGrainTypes for **CategoryType: Cost**\n\n- Monthly\n- Quarterly\n- Annually\n- BillingMonth*\n- BillingQuarter*\n- BillingAnnual*\n\n *only supported for Web Direct customers.\n\n Supported timeGrainTypes for **CategoryType: ReservationUtilizaiton**\n- Last7Days\n- Last30Days\n\n Required for CategoryType(s): Cost, ReservationUtilization.", + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.\n\nSupported for CategoryType(s): Cost, ReservationUtilization.\n\n Supported timeGrainTypes for **CategoryType: Cost**\n\n- Monthly\n- Quarterly\n- Annually\n- BillingMonth*\n- BillingQuarter*\n- BillingAnnual*\n\n *only supported for Web Direct customers.\n\n Supported timeGrainTypes for **CategoryType: ReservationUtilization**\n- Last7Days\n- Last30Days\n\n Required for CategoryType(s): Cost, ReservationUtilization.", "type": "string", "enum": [ "Monthly", From 763fb6efe243867029c2b7db6207149bafed971f Mon Sep 17 00:00:00 2001 From: Alex Prosak Date: Tue, 28 Mar 2023 09:35:30 -0700 Subject: [PATCH 11/12] removing aws scopes from scope description --- .../preview/2023-04-01-preview/costmanagement.budgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index a44d52c0e702..0874349c054a 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -729,7 +729,7 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n AWS Scopes:\n- '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for External Billing Account scope\n- '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionId} for External Subscription scope'\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, From f6dbbedd7ddd515b2e865782b9175b74a7032e4d Mon Sep 17 00:00:00 2001 From: Alex Prosak Date: Tue, 28 Mar 2023 11:19:03 -0700 Subject: [PATCH 12/12] Addressing comments from internal review, removed legacy tags for EA --- .../costmanagement.budgets.json | 34 +++++++++---------- ...ountEA-AlertRule-ReservationIdFilter.json} | 0 ...AlertRule-ReservedResourceTypeFilter.json} | 0 ...ilization-BillingAccountEA-AlertRule.json} | 0 ...untBudgetsList-EA-CategoryTypeFilter.json} | 0 .../BillingAccountBudgetsList-EA.json} | 0 .../DepartmentBudgetsList.json | 0 .../EnrollmentAccountBudgetsList.json | 0 8 files changed, 17 insertions(+), 17 deletions(-) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/{LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json => EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/{LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json => EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/{LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json => EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/{LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json => EA/BillingAccountBudgetsList-EA-CategoryTypeFilter.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/{LegacyEA/BillingAccountBudgetsList-LegacyEA.json => EA/BillingAccountBudgetsList-EA.json} (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/{LegacyEA => EA}/DepartmentBudgetsList.json (100%) rename specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/{LegacyEA => EA}/EnrollmentAccountBudgetsList.json (100%) diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json index 0874349c054a..1a92b4efdf27 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/costmanagement.budgets.json @@ -54,17 +54,17 @@ "ManagementGroupBudgetsList": { "$ref": "./examples/Budgets/List/RBAC/ManagementGroupBudgetsList.json" }, - "BillingAccountBudgetsList-LegacyEA": { - "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json" + "BillingAccountBudgetsList-EA": { + "$ref": "./examples/Budgets/List/EA/BillingAccountBudgetsList-EA.json" }, - "BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter": { - "$ref": "./examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json" + "BillingAccountBudgetsList-EA-CategoryTypeFilter": { + "$ref": "./examples/Budgets/List/EA/BillingAccountBudgetsList-EA-CategoryTypeFilter.json" }, - "DepartmentBudgetsList-LegacyEA": { - "$ref": "./examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json" + "DepartmentBudgetsList-EA": { + "$ref": "./examples/Budgets/List/EA/DepartmentBudgetsList.json" }, - "EnrollmentAccountBudgetsList-LegacyEA": { - "$ref": "./examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json" + "EnrollmentAccountBudgetsList-EA": { + "$ref": "./examples/Budgets/List/EA/EnrollmentAccountBudgetsList.json" }, "BillingAccountBudgetsList-MCA": { "$ref": "./examples/Budgets/List/MCA/BillingAccountBudgetsList-MCA.json" @@ -172,14 +172,14 @@ "CreateOrUpdate-Cost-Subscription-Budget": { "$ref": "./examples/Budgets/CreateOrUpdate/Cost/CreateOrUpdate-Cost-Subscription-Budget.json" }, - "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule.json" }, - "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter.json" }, - "CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter": { - "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json" + "CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter": { + "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter.json" }, "CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule.json": { "$ref": "./examples/Budgets/CreateOrUpdate/ReservationUtilization/MCA/CreateOrUpdate-ReservationUtilization-BillingProfile-AlertRule.json" @@ -600,7 +600,7 @@ } }, "threshold": { - "description": "Threshold value associated with a notification. It is always percent and has to be between 0 and 100 with a maximum of 2 decimal places.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n- **CategoryType: Cost** - Notification is sent when the cost exceeded the threshold.\n\n- **CategoryType: ReservationUtilization** - Notification is sent when a reservation has a utilization percentage below the threshold.", + "description": "Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n **CategoryType: Cost** - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.\n\n **CategoryType: ReservationUtilization** - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.", "type": "number" }, "frequency": { @@ -612,7 +612,7 @@ "Monthly" ], "x-ms-enum": { - "name": "frequency", + "name": "Frequency", "modelAsString": true, "values": [ { @@ -729,7 +729,7 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n Legacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\nLegacy EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "description": "The scope associated with budget operations.\n\n Supported scopes for **CategoryType: Cost**\n\n Azure RBAC Scopes:\n- '/subscriptions/{subscriptionId}/' for subscription scope\n- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope\n- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope\n\n EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope\n\n MCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)\n\n Supported scopes for **CategoryType: ReservationUtilization**\n\n EA (Enterprise Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope\n\nMCA (Modern Customer Agreement) Scopes:\n- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservationIdFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule-ReservedResourceTypeFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/LegacyEA/CreateOrUpdate-ReservationUtilization-BillingAccountLegacyEA-AlertRule.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/CreateOrUpdate/ReservationUtilization/EA/CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/BillingAccountBudgetsList-EA-CategoryTypeFilter.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA-CategoryTypeFilter.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/BillingAccountBudgetsList-EA-CategoryTypeFilter.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/BillingAccountBudgetsList-EA.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/BillingAccountBudgetsList-LegacyEA.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/BillingAccountBudgetsList-EA.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/DepartmentBudgetsList.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/DepartmentBudgetsList.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/DepartmentBudgetsList.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/EnrollmentAccountBudgetsList.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/LegacyEA/EnrollmentAccountBudgetsList.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2023-04-01-preview/examples/Budgets/List/EA/EnrollmentAccountBudgetsList.json