Skip to content
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

Add LRO rules to semantic/model violations document. #13416

Merged
merged 1 commit into from
Mar 18, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions documentation/Semantic-and-Model-Violations-Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ This document lists the set of automated rules that can be validated against swa
| [ROUNDTRIP_INCONSISTENT_PROPERTY](#ROUNDTRIP_INCONSISTENT_PROPERTY) | |
| [ROUNDTRIP_MISSING_PROPERTY](#ROUNDTRIP_MISSING_PROPERTY) | |
| [ROUNDTRIP_ADDITIONAL_PROPERTY](#ROUNDTRIP_ADDITIONAL_PROPERTY) | |
| [LRO_RESPONSE_CODE](#LRO_RESPONSE_CODE) | |
| [LRO_RESPONSE_HEADER](#LRO_RESPONSE_HEADER) | |


### Validation Warnings
Expand Down Expand Up @@ -827,3 +829,19 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**:
- Check if the property is read-only. If yes, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema.
- Check if the property has a default value. If yes, update the Swagger definition for this property to mark it with "default": <default value> annotation.

### <a name="LRO_RESPONSE_CODE" />LRO_RESPONSE_CODE

**Output Message**: Patch/Post long running operation must return 201 or 202, Delete long running operation must return 202 or 204, Put long running operation must return 202 or 201 or 200, but {statusCode} returned.

**Description**: Long running operation must return specific response code as per http method type when this operation is annotated with x-ms-long-running-operation:true.

**How to fix the violation**: Correct the response code per the guidance or remove annotation of x-ms-long-running-operation.

### <a name="LRO_RESPONSE_HEADER" />LRO_RESPONSE_HEADER

**Output Message**: Long running operation should return {header} in header but not provided.

**Description**: Long running operation must return location header or azure-AsyncOperation header in response when this operation is annotated with x-ms-long-running-operation:true.

**How to fix the violation**: Adding one of these headers to the response.