ClientModel prototype: LRO abstractions using the "struct" approach#44276
Closed
annelo-msft wants to merge 14 commits intoAzure:mainfrom
Closed
ClientModel prototype: LRO abstractions using the "struct" approach#44276annelo-msft wants to merge 14 commits intoAzure:mainfrom
annelo-msft wants to merge 14 commits intoAzure:mainfrom
Conversation
Collaborator
|
API change check APIView has identified API level changes in this PR and created following API reviews. |
|
Hi @annelo-msft. Thank you for your interest in helping to improve the Azure SDK experience and for your contribution. We've noticed that there hasn't been recent engagement on this pull request. If this is still an active work stream, please let us know by pushing some changes or leaving a comment. Otherwise, we'll close this out in 7 days. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This approach explores adding a third LRO type representing the tuple of status and value for a progressively-resolved result of a service LRO.
Note its similarity to Page in the pageable abstraction set.
This adds a lot of implementation complexity, and makes you implement polling in something that's essentially a model type. Doesn't seem better than #44275
I guess the question is - is there value in having a separate type like page that holds the individual response and some additional meta-data about the operation that's at a lower-level of abstraction. That fact that you access it through Operation.Value seems kludgy and awkward, though. If we let you access it through a different method like "AsPages" might hide the complexity, but I think would also require you to either pass the status type parameter (I wouldn't expect this to be discoverable), or somehow specify the type parameter in the top-level type, which we're trying to avoid.