-
Notifications
You must be signed in to change notification settings - Fork 252
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
initial 100 service mgmt APIs generated by AutoRust #31
Conversation
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.
Overall, it's looking good. I'm really just not so sure we want this to be a separate crate. Can we talk through the pros and cons of having this as a separate crate?
Of course! Thanks for the review. The other SDKs publish the AutoRest generated bindings in separate packages. They do keep the models and operations separate. Both group operations based on a naming convention for the operationId. Azure SDK for Python
Azure SDK for Go
The Go SDK versions the generated Service APIs & SDKs separately. I think our code layout should look like Go, where the services are in a separate directory.
To be like the other Azure SDKs, we should publish the generated Service API crates and keep them separate from the SDK crates. |
Commit 563b786 allows you to list virtual machines, but unfortunately de-serialization is failing for me.
To troubleshoot, the http response can be captured using an http proxy like mitmproxy. Then it matter of troubleshooting the serde de-serialization by reducing the json. |
079dde9 added code generated for the control plane (resource manager) APIs of 70 services. A good way to review this pull request is to check out the branch. With the GitHub CLI https://cli.github.com/ installed, you can do a |
@ctaggart with the massive amount of crates in the workspace, how are clean build times affected? |
There are 168 service directories in https://github.com/Azure/azure-rest-api-specs/tree/master/specification. If we estimate that we are able to add 70 more mgmt crates, and may be 70 svc crates, that may be another 14 minutes or 28 minutes total on GitHub Action builds. |
On my personal MacBook that is a couple of years old, a real 3m9.370s real 3m18.807s |
Basic error handling of errors and invalid responses is in place. Here is one that I just received:
|
I think it is ready to merge with error responses and error handling in place. I opened up issues for the additional work. |
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.
I'd like to get this into the main branch and then go from there 👍
The code generated from AutoRust is now usable. I wanted to get feedback on the generated code and how it may be integrated here. This code is generated by running
cargo run --example
storage_mgmt, followed by acargo fmt
in this project.See the example storage_account_list.rs for an example of using the generated API. Example output:
Outstanding issues
time
crate for dates #51