-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New version 2023-05-01 for RP Microsoft.Consumption #23958
New version 2023-05-01 for RP Microsoft.Consumption #23958
Conversation
Hi, @pednekarpraj Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.4)] | new version | base version |
---|---|---|
consumption.json | 2023-05-01(f3304f5) | 2023-03-01(main) |
consumption.json | 2023-05-01(f3304f5) | 2019-05-01-preview(main) |
consumption_pricesheet.json | 2023-05-01(f3304f5) | 2023-03-01(main) |
The following breaking changes are detected by comparison with the latest preview version:
Only 30 items are listed, please refer to log for more details.
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 0 Warnings warning [Detail]
compared tags (via openapi-validator v2.1.3) | new version | base version |
---|---|---|
package-2023-05 | package-2023-05(f3304f5) | default(main) |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
PathForResourceAction |
Path for 'post' method on a resource type MUST follow valid resource naming. Location: Microsoft.Consumption/stable/2023-05-01/consumption_pricesheet.json#L37 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L155 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L252 |
NoDuplicatePathsForScopeParameter |
Path '/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}' with explicitly defined scope is a duplicate of path '/{scope}/providers/Microsoft.Consumption/budgets' that has the scope parameter.'. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L267 |
ResourceNameRestriction |
The resource name parameter 'budgetName' should be defined with a 'pattern' restriction. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L309 |
PutResponseSchemaDescription |
Description of 200 response code of a PUT operation MUST include term 'update'. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L384 |
DeleteOperationResponses |
The delete operation is defined without a 200 or 204 error response implementation,please add it.' Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L430 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L469 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L473 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L577 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L616 |
ResourceNameRestriction |
The resource name parameter 'billingPeriodName' should be defined with a 'pattern' restriction. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L629 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L658 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1109 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1113 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1181 |
GetOperation200 |
The get operation should only return 200. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1185 |
ParametersInPointGet |
Query parameter $expand should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1319 |
ParametersInPointGet |
Query parameter $skiptoken should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1319 |
ParametersInPointGet |
Query parameter $top should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1319 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1354 |
ResourceNameRestriction |
The resource name parameter 'billingPeriodName' should be defined with a 'pattern' restriction. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1367 |
ParametersInPointGet |
Query parameter $expand should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1385 |
ParametersInPointGet |
Query parameter $skiptoken should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1385 |
ParametersInPointGet |
Query parameter $top should be removed. Point Get's MUST not have query parameters other than api version. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1385 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1423 |
OperationsApiResponseSchema |
The response schema of operations API '/providers/Microsoft.Consumption/operations' does not match the ARM specification. Please standardize the schema. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1456 |
OperationsApiSchemaUsesCommonTypes |
Operations API path must follow the schema provided in the common types. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1457 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1508 |
ResourceNameRestriction |
The resource name parameter 'billingPeriodName' should be defined with a 'pattern' restriction. Location: Microsoft.Consumption/stable/2023-05-01/consumption.json#L1521 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
ApiReadinessCheck succeeded [Detail] [Expand]
️❌
~[Staging] ServiceAPIReadinessTest: 34 Errors, 0 Warnings failed [Detail]
Tag package-2023-05; Prod region: Deployed
Test run on region: westcentralus; Operation coverage: total: 32, untested: 0, failed: 31, passed: 1
Service API Readiness Test failed. Check pipeline artifact for detail report.
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
CLIENT_ERROR |
statusCode: 404, errorCode: SubscriptionNotFound, errorMessage: The subscription '00000000-0000-0000-0000-000000000000' could not be found. Source: runtime OperationId: Budgets_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: SubscriptionNotFound, errorMessage: The subscription '00000000-0000-0000-0000-000000000000' could not be found. Source: runtime OperationId: Budgets_List |
CLIENT_ERROR |
statusCode: 404, errorCode: SubscriptionNotFound, errorMessage: The subscription '00000000-0000-0000-0000-000000000000' could not be found. Source: runtime OperationId: Budgets_Get |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id '241921be-b4c4-434b-a1be-47ac003a4590' for follow-up. Source: runtime OperationId: Balances_GetForBillingPeriodByBillingAccount |
CLIENT_ERROR |
statusCode: 403, errorCode: AuthorizationFailed, errorMessage: The client '7904a8be-825f-480e-a728-80a70579dba4' with object id '7904a8be-825f-480e-a728-80a70579dba4' does not have authorization to perform action 'Microsoft.Consumption/pricesheets/action' over scope '/providers/Microsoft.Billing/billingAccounts/billinga3afkbd/billingPeriods/billingpela3tg/providers/Microsoft.Consumption/pricesheets/download' or the scope is invalid. If access was recently granted, please refresh your credentials. Source: runtime OperationId: PriceSheet_DownloadByBillingAccountPeriod |
PATTERN |
String does not match pattern ^[0-9]*$: billingpela3tg Source: request OperationId: PriceSheet_DownloadByBillingAccountPeriod |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id '5ce76f08-65e4-498d-9cb6-4e35d66f1dee' for follow-up. Source: runtime OperationId: Credits_Get |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id 'b8a52d0a-c605-4a65-b968-dce00ed980b2' for follow-up. Source: runtime OperationId: Events_ListByBillingProfile |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id 'd3a8fb12-6450-44bd-870c-aea121f89bd1' for follow-up. Source: runtime OperationId: Lots_ListByBillingProfile |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationTransactions_ListByBillingProfile |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id '8ea0fabe-fabf-4c3e-9707-48d8b82d70e1' for follow-up. Source: runtime OperationId: Lots_ListByCustomer |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id '20f7f4ea-9f60-4515-abca-e4d269604703' for follow-up. Source: runtime OperationId: Balances_GetByBillingAccount |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id 'c5dd73c2-8a21-4a78-831e-7a6a43e8c942' for follow-up. Source: runtime OperationId: Events_ListByBillingAccount |
SERVER_ERROR |
statusCode: 500, errorCode: 500, errorMessage: An exception occurred during processing the request. Use this request id '0ee1cef0-2b3f-4c31-be45-e81d71f12cc5' for follow-up. Source: runtime OperationId: Lots_ListByBillingAccount |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationTransactions_List |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsDetails_ListByReservationOrder |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsSummaries_ListByReservationOrder |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsDetails_ListByReservationOrderAndReservation |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsSummaries_ListByReservationOrderAndReservation |
CLIENT_ERROR |
statusCode: 403, errorCode: AuthorizationFailed, errorMessage: The client '7904a8be-825f-480e-a728-80a70579dba4' with object id '7904a8be-825f-480e-a728-80a70579dba4' does not have authorization to perform action 'Microsoft.Consumption/aggregatedCost/read' over scope '/providers/Microsoft.Management/managementGroups/managemeq5194y/providers/Microsoft.Billing/billingPeriods/billingpela3tg/providers/Microsoft.Consumption' or the scope is invalid. If access was recently granted, please refresh your credentials. Source: runtime OperationId: AggregatedCost_GetForBillingPeriodByManagementGroup |
CLIENT_ERROR |
statusCode: 403, errorCode: AuthorizationFailed, errorMessage: The client '7904a8be-825f-480e-a728-80a70579dba4' with object id '7904a8be-825f-480e-a728-80a70579dba4' does not have authorization to perform action 'Microsoft.Consumption/aggregatedcost/read' over scope '/providers/Microsoft.Management/managementGroups/managemeq5194y/providers/Microsoft.Consumption' or the scope is invalid. If access was recently granted, please refresh your credentials. Source: runtime OperationId: AggregatedCost_GetByManagementGroup |
CLIENT_ERROR |
statusCode: 404, errorCode: 404, errorMessage: Cost management data is not supported for subscription(s) db5eb68e-73e2-4fa8-b18a-46cd1be4cce5 in the provided api-version. Please use api-version 2019-10-01 or later. (Request ID: db652d8d-3cca-4f54-a738-849ef1f9321d) Source: runtime OperationId: PriceSheet_GetByBillingPeriod |
CLIENT_ERROR |
statusCode: 404, errorCode: 404, errorMessage: Cost management data is not supported for subscription(s) db5eb68e-73e2-4fa8-b18a-46cd1be4cce5 in the provided api-version. Please use api-version 2019-10-01 or later. (Request ID: a3dc18a7-a3e3-4b7e-971e-e8aaa06f2764) Source: runtime OperationId: PriceSheet_Get |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsDetails_List |
CLIENT_ERROR |
statusCode: 400, errorCode: InvalidSubscriptionId, errorMessage: The provided subscription identifier '00000000-0000-0000-0000-00000000' is malformed or invalid. Source: runtime OperationId: ReservationRecommendationDetails_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: SubscriptionNotFound, errorMessage: The subscription '00000000-0000-0000-0000-000000000000' could not be found. Source: runtime OperationId: ReservationRecommendations_List |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: Caller is not authorized Source: runtime OperationId: ReservationsSummaries_List |
CLIENT_ERROR |
statusCode: 401, errorCode: 401, errorMessage: No claims present for the caller in the system Source: runtime OperationId: Charges_List |
CLIENT_ERROR |
statusCode: 404, errorCode: SubscriptionNotFound, errorMessage: The subscription '00000000-0000-0000-0000-000000000000' could not be found. Source: runtime OperationId: Marketplaces_List |
CLIENT_ERROR |
statusCode: 404, errorCode: undefined, errorMessage: undefined Source: runtime OperationId: Tags_Get |
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
CadlAPIView succeeded [Detail] [Expand]
️️✔️
TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️
ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️
SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️
PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️
PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️
SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️
Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️
CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
️️✔️
TypeSpec Validation succeeded [Detail] [Expand]
Validation passes for TypeSpec Validation.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
|
Generated ApiView
|
"$ref": "#/parameters/scopeReservationRecommendationDetailsParameter" | ||
}, | ||
{ | ||
"$ref": "#/parameters/recommendationDetailsFilterParameter" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New change in this version. In this latest version 2023-05-01, subscriptionId will be accepted via oData filter for billing account and billing profile request scopes.
"type": "string", | ||
"x-ms-parameter-location": "method" | ||
}, | ||
"recommendationDetailsFilterParameter": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New change in this version. In this latest version 2023-05-01, subscriptionId will be accepted via new optional oData filter parameter for billing account and billing profile request scopes.
Hi, @pednekarpraj, For review efficiency consideration, when creating a new api version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki. Or you could onboard API spec pipeline |
Hi @pednekarpraj, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
@raych1 - Please help review the Go breaking change. |
@msyyc - Please help review the Python breaking change. |
@qiaozha - Please help review JS breaking change. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @pednekarpraj, Your PR has some issues. Please fix the CI sequentially by following the order of
|
{ | ||
"swagger": "2.0", | ||
"info": { | ||
"version": "2023-03-01", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this suppose to be 2023-05-01 ?
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
…-03-01 to version 2023-05-01 Updates readme Updates API version in new specs and examples New version 2023-05-01 for Consumption Avoid breaking change by accepting only subId via filter Changes from https://github.com/Azure/azure-rest-api-specs/pull/23914/files#diff-b9c73fdca8365cb39a74112db329608946bd326cfc04d63b201cec6a83c2250f Code style issues
e4edc41
to
190a833
Compare
* Adds base for updating Microsoft.Consumption from version stable/2023-03-01 to version 2023-05-01 Updates readme Updates API version in new specs and examples New version 2023-05-01 for Consumption Avoid breaking change by accepting only subId via filter Changes from https://github.com/Azure/azure-rest-api-specs/pull/23914/files#diff-b9c73fdca8365cb39a74112db329608946bd326cfc04d63b201cec6a83c2250f Code style issues * Correct versions
In this PR, I am creating a new version 2023-05-01 for Consumption RP.
I am making minor change in the reservation recommendation details API in this PR. Swagger documentation for other APIs in this RP remains same as current public stable version 2023-03-01.
Explanation: In the latest version 2023-05-01, subscriptionId will be accepted via oData filter for billing account and billing profile paths.