Azure / Azure/typespec-azure

[Bug]: Status Monitor Schema Not Populated in OpenAPI Spec for LongRunningResourceCreateWithServiceProvidedName

Open
#2,413 2 comments 0 reactions 0 assignees View on GitHub
bug lib:azure-core
Dominant language
TypeScript
Stars
27
Forks
90
Avg merge
1d 22h
Merged PRs (30d)
156

Description

### Describe the bug

The linter reports the following issue:

A 202 response should include a schema for the operation status monitor.spectral(az-lro-response-schema)

This occurs when using Operations.LongRunningResourceCreateWithServiceProvidedName, even though a polling operation is correctly linked. The OpenAPI spec does not automatically populate the status monitor schema for this operation.

Instead of the standard Operation-Location header, the operation generated is called 'Location'. Causing an addition header creation

### Reproduction

Playground Sample : [Link](https://azure.github.io/typespec-azure/playground/?c=aW1wb3J0ICJAdHlwZXNwZWMvaHR0cCI7CtIZcmVzdNUZdmVyc2lvbmluZ8wfYXp1cmUtdG9vbHMvyCstxhVjb3JlIjsKCnVzaW5nIFR5cGVTcGVjLkh0dHA70BVSZXN00RVWyXLIG0HEWS5Db3Jl0hIuVHJhaXRzOwoKQHVzZUF1dGgoCiAgQXBpS2V5xA48xgtMb2NhdGlvbi5oZWFkZXIsICJhcGkta2V5Ij4gfCBPxCoyxS9bCiAgICB7xQYgIOQA3DrHH0Zsb3fkAKUuaW1wbGljaXQsxyVhdXRob3JpesVhVXJsOiAi5AFoczovL2xvZ2luLmNvbnRvc28uY29tL2NvbW1vbi9vxDUyL3YyLjAvyEBlIshSc2NvcGVzOiBbyUl3aWRnZXTNSi5kZWZhdWx0Il3GN30KICBdPgopCkBzZXJ2aWNlKCN7IHRpdGxlOiAiQ8Y5IFfFSCBNYW5hZ2VyIiB9xy9lcuQBNyJ7ZW5kcG9pbnR9x3LlAJPQPkFQSXPFGeYBJy8qKiAKU3Vw5AIcZWTIJVPmAIVzIMhTcyAocHJvdG9jb2wgYW5kIGhvc3RuYW1lLCBmb3IgZXhhbXBsZToK6QDyZXN0dXMuYXBpLvIA%2FSkuCiAqL8V%2ByF86IHN0cmluZ%2BQAmH3kAQbnArplZCjnAL8u5gCa5wD86AJocykK5ACGc3BhY2Ug1So7CgrkAONUaMkg7wFHIOcBcSDHcy7kAJxlbnVtIMhk5QEqxEXHESAyMDIyLTA4LTMxxCwgIOQCvURlcGVuZGVuY3ko6wLgyEMudjFfMF9QcmV2aWV3XzIpCiAgYMlGMGAsCn0KCi8vIE1vZGVscyAv0wHqAMdjb2xvciBvZiBhIOcBXOQAhnVu5ACa5gDbQ8Ui5AC26AFW5wDBQmxhY2vHJSDGJuUAwcUYOiAixQgiyS9XaGl0ZdMvxRg6ICLFCMovUuoCQMstUmVkOiAiUmVkyilHcmVl6ACszCvFGDogIsUIyi9CbHX0AIbEF%2BUAtHXkAITkAUEqKiBB7AEUQHJlc291cmNlKCLGFnMiKQpt5AFkyE%2FoAdrkAVjGIyDkAlDFPiAgQGtlecg7TmFtZSLkAbhAdmlzaWJpbGl0eShMaWZlY3ljbGUuUmVhZMQexD7oAs076ADBy17lAb3HX8UMOuwBtM0ySUTkAeV0yTwncyBtYW51ZmFjdHVyZchFzBNJZM17Li4uRXRhZ1Byb3BlcnR5O%2BgBJMRdcmVwYWlyIHN0YXRl8QJMQGxyb1N0YXR1c%2B0CV1LFNMQZZfQCXcYlx1pzIHN1Y2NlZWRlZMVTICBTyBA6ICLJDOsCbM4%2BZmFpbMk7RsUNOiAixgnZNXdlcmUgY2FuY2XKPEPHD%2BQFR8cL0UB3YXMgc2VudCB0b%2BUBcPMBZ1NlbnRUb03LGeQAx9EV7AKJc3VibWl05AVV5wFtcmVxdWVzdOUFMu0BcOwCk%2BYBZVLHK%2BwCoOkBrOoCE89axU0gyA7lAanoAl%2FrAbztAmVkxFTkBdF0aW1lIHdoZW7FX8dYaXMgc2NoZWR1bGVk5AEdb2NjdegBEskZRGF0ZVRp5AL3dXRjyA3fZcdl5gDl5AF%2FY3JlYXTpAbXHDt9a31rHWnVwxCXIWscO31rfWsdaY2%2FkBvXKXMkQ117rA39wYXJhbWV0ZeQC6usCDuUB5HVzyWb1AhzmA5pQxELqBpv0BDEgYmXkCW%2FmAczpAKZAcGF0aAogxyTsBDPvBUMnc%2BQAp%2FEFSsQU5AVIQHBhcmVudFLIGeYAo%2B4FYFBhcu4CxOQFH%2BgApcld7gVpxDT%2FBW3%2FBW3lAQp0byB1c2XlAV5yZW9yZGXEJdB4xAvvBTXyAU3EJf8FfP8FfO8FfGRldGFpbHPEYGHoAJ3vBB3qAT%2FxBCHEFVLGNfAEJklkZW50aWZpZXMgd2hvIHNpZ25lZCBvZuYAyM9q6APHxSVPZmZCee4CCi8gQW7oCdnmAKvkC71sZXRvbiDoAg7lANNQcm92aWRlcyBhbmFseXRpY3MgYWJvdXTFdeQBhOQDRm1haW50ZW7kBYLGTeYAzfACXclD%2FwJh6AENQclz7AJmaegBCHLlAU%2FkAIjJWSBvYmplY3QuIMQqcmXkBONvbmx5IG9u5gKeZCAnY3VyxHkn7QKdyUFJZP8CmsQeaeQGcMdI5A1Q6wMCdW1iZeUJv3VzZeUCBOoDscdxdXNlQ2915AsVaW50NjTXP%2BQEmHPLPeUEk%2B8D7MYPzk3pA%2BbsAr7EUcZHc%2FABk8wn6glA7Ab17QF8zC8ncyB1bmlxdeQDTu0BTcwl%2FwFQ6gFQ8wOlz23rCbv5BBvPM2Z1bGwgYWRkcmVz5gD6IMgO%2FwPP5QMiT3BlcuUOOfgLtGFsaWFz6A1O5g7tID0g5w1vc1JlcGVhdGFibGXnA8pzICblCSrGH0NvbmRpxF5hbNYgbGnlAyDFG0lkO8hv6wCWPewPbegDSsogPO0Amj47CgrkA6ZyZuQNTuYDYecDWesA6yDnChrnC8vEI%2BcGtusD2CDkASjFL%2BgB%2BHNoYXJlZFJvdXRlCiAgZ2V0xinJV8ZW5AOPyRNzLkfkBvTvALXGKTzGP%2BQAs%2BUAn8d3yjznAKBD5QhKcyBvcucH%2B3PqAKRhc3luY2hyb25vdXNseegHHm9sbGluZ8lJ5wR3cy74ALPkAp%2FmCLBPclXFY8df7gDLTG9uZ1J1buQRGugA0%2BYAnMg27QDS%2FwCH%2FwCH7ACHQ3VzdG9t%2FwCN6QCNV2l0aOcCFOcF12TkB4znAJzkD55SZXNwb25zZUjlEYtz5QI6POgRckBkb2MoIuQDZ2JhY2tncm91bmQgam9iIGzoEcLlA%2BzFK%2BYRzCgi6QCXLegR58ok5wEGyBnHF%2BkCXMgY6gOrxB99Pj7kA6A%3D&e=%40azure-tools%2Ftypespec-autorest&options=%7B%22linterRuleSet%22%3A%7B%22extends%22%3A%5B%22%40azure-tools%2Ftypespec-azure-rulesets%2Fdata-plane%22%5D%7D%7D)

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/azure/typespec-azure/blob/main/CODE_OF_CONDUCT.md)
- [x] Check that this issue is about the Azure libraries for typespec. For bug in the typespec language or core libraries file it in the [TypeSpec repo](https://github.com/Microsoft/TypeSpec/issues/new/choose)
- [x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

Contributor guide

Open the contributing guide

Research direction

Start with the linked TypeSpec Playground reproduction for Operations.LongRunningResourceCreateWithServiceProvidedName and inspect the generated OpenAPI response and headers under the az-lro-response-schema rule. The work is done when the 202 response includes the status monitor schema and the operation uses the expected Operation-Location header without an additional Location header.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi, typescript
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.