-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
[Hub Generated] Review request for Microsoft.DigitalTwins to add version stable/2023-01-31 #21643
[Hub Generated] Review request for Microsoft.DigitalTwins to add version stable/2023-01-31 #21643
Conversation
Hi, @sjiherzig 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 |
---|---|---|
digitaltwins.json | 2023-01-31(0f20935) | 2022-10-31(main) |
digitaltwins.json | 2023-01-31(0f20935) | 2021-06-30-preview(main) |
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 0 Warnings warning [Detail]
compared tags (via openapi-validator v2.0.0) | new version | base version |
---|---|---|
package-2023-01 | package-2023-01(0f20935) | 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 |
---|---|
CreateOperationAsyncResponseValidation |
An async PUT operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L84 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L194 |
DeleteOperationAsyncResponseValidation |
An async DELETE operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L208 |
DeleteResponseBodyEmpty |
The delete response body must be empty. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L240 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L244 |
CreateOperationAsyncResponseValidation |
An async PUT operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L357 |
DeleteOperationAsyncResponseValidation |
An async DELETE operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L422 |
DeleteResponseBodyEmpty |
The delete response body must be empty. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L457 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L461 |
ResourceNameRestriction |
The resource name parameter 'privateEndpointConnectionName' should be defined with a 'pattern' restriction. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L773 |
DeleteOperationAsyncResponseValidation |
An async DELETE operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L817 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L850 |
CreateOperationAsyncResponseValidation |
An async PUT operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L864 |
CreateOperationAsyncResponseValidation |
An async PUT operation must return 201. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L902 |
CreateOperationAsyncResponseValidation |
Only 201 is the supported response code for PUT async response. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L903 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L903 |
CreateOperationAsyncResponseValidation |
An async PUT operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1013 |
DeleteOperationAsyncResponseValidation |
An async DELETE operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1075 |
DeleteResponseBodyEmpty |
The delete response body must be empty. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1105 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1109 |
MissingTypeObject |
The schema 'DigitalTwinsResource' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1260 |
MissingTypeObject |
The schema 'DigitalTwinsIdentity' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1311 |
MissingTypeObject |
The schema 'ErrorResponse' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1389 |
MissingTypeObject |
The schema 'ErrorDefinition' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1398 |
XmsIdentifierValidation |
Missing identifier id in array item property Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1411 |
XmsIdentifierValidation |
Missing identifier id in array item property Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1449 |
MissingTypeObject |
The schema 'DigitalTwinsEndpointResource' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1661 |
MissingTypeObject |
The schema 'DigitalTwinsEndpointResourceProperties' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L1678 |
ProvisioningStateValidation |
ProvisioningState must have terminal states: Succeeded, Failed and Canceled. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L2007 |
XmsParameterLocation |
The parameter 'subscriptionId' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'. Location: Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json#L2244 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
ApiReadinessCheck succeeded [Detail] [Expand]
️❌
~[Staging] ServiceAPIReadinessTest: 7 Errors, 0 Warnings failed [Detail]
Tag package-2023-01; Prod region: Deployed
Test run on region: westcentralus; Operation coverage: total: 22, untested: 0, failed: 7, passed: 15
Service API Readiness Test failed. Check pipeline artifact for detail report.
Rule | Message |
---|---|
CLIENT_ERROR |
statusCode: 409, errorCode: Conflict, errorMessage: Can't update instance SubscriptionId: db5eb68e-73e2-4fa8-b18a-46cd1be4cce5, ResourceGroup: apiTest-LKQMDW-21643, ResourceName : resourcednrz8t state from Activating to Updating Source: runtime OperationId: DigitalTwins_Update |
CLIENT_ERROR |
statusCode: 400, errorCode: BadRequest, errorMessage: Cannot perform action while Digital Twins instance is in 'Activating' state. Instance must be in state 'Active'. Source: runtime OperationId: TimeSeriesDatabaseConnections_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: NotFound, errorMessage: The time series database connection was not found. Source: runtime OperationId: TimeSeriesDatabaseConnections_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: NotFound, errorMessage: The resource was not found. Source: runtime OperationId: PrivateEndpointConnections_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: NotFound, errorMessage: The resource was not found. Source: runtime OperationId: PrivateEndpointConnections_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: NotFound, errorMessage: The resource was not found. Source: runtime OperationId: PrivateLinkResources_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: NotFound, errorMessage: The resource was not found. Source: runtime OperationId: PrivateEndpointConnections_Delete |
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
CadlAPIView 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.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
|
Generated ApiView
|
* Added lifecycle event tables and deletion option * Add examples, add deletion option * Add default value for recordPropertyAndItemRemovals
Hi, @sjiherzig your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). |
API will be made available by early next year. |
...ion/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2023-01-31/digitaltwins.json
Show resolved
Hide resolved
Hi @sjiherzig as the new api version is '2023-01-31', if it's OK to merge this PR at 2023-01-31? Do you have another plan? |
@zzvswxy It's fine to merge - we still need to update the ARM manifest to make the version public, but I think the danger is low. You can go ahead and merge. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @tadelesh , can you help me to check the GO SDK breaking change? Thanks |
There is no Go breaking change. It is a false auto-added label. I've removed it. |
When both location & Azure-AsyncOperation headers are present, location is used first in API Test, as it's required header while the other is optional. The problem is when we poll with location header, if the operation is not completed, the location response should be 202, but the service returned 201. |
Hi @sjiherzig , do you think we can merge the PR? Or you want to merge it later when the ServiceAPIReadinessTest is passed. |
Interesting... my understanding of the ARM RPC is that Location is required only for PATCH, DELETE and POST, but not for PUT. For PUT, "Location" is only used if the service returns 202 on the initial request (and does not make the resource available immediately - i.e., a GET would still return 404). But if 200 or 201 is returned, it follows the "new" Azure-AsyncOp pattern. Is that not the correct interpretation @leni-msft ? We're sending the location header as a backup method, but maybe we should remove it entirely from PUT... it currently does not break CLI, SDK or Portal. |
Yes @zzvswxy, please merge it now, since we want to release the API version soon. |
@sjiherzig You're right, for PUT operation, location header is not required. We can optimize the logic (maybe by distinguishing PUT and non-PUT operations) cc. @jianyexi for awareness. |
…ion stable/2023-01-31 (Azure#21643) * Adds base for updating Microsoft.DigitalTwins from version stable/2022-10-31 to version 2023-01-31 * Updates readme * Updates API version in new specs and examples * Added lifecycle event tables and deletion option (Azure#21644) * Added lifecycle event tables and deletion option * Add examples, add deletion option * Add default value for recordPropertyAndItemRemovals * Convert boolean into enum (Azure#22083)
This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM API Information (Control Plane)
Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:
Contribution checklist (MS Employees Only):
If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist
Otherwise your PR may be subject to ARM review requirements. Complete the following:
Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.
If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.