The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the Open API Initiative format.
AutoRest is an open source tool -- if you need assistance, first check the documentation. If you find a bug or need some help, feel free to submit an issue
AutoRest will release a stable version on the second Wednesday of the month.
Using npm
you can upgrade to the latest stable version of AutoRest:
AutoRest is making a a few structural changes, along with eliminating some deprecated legacy behavior.
Notable changes in this branch:
- Bumping required node.js version to 7.10 or greater. (Will add checks in to ensure that this is the case)
This enables us to target theES2017
javascript standard, vastly simplifying compiled code and has significant performance benefits. - Bumping Dotnet/CLI SDK and Runtime to 2.0
- Updated bootstrapper that implements use-extension
- Moving common TypeScript code into the Perks.Node project so that they can be built and reused independently of building AutoRest.
- Removing all remaining Legacy CLI features, standardizing on the
--switch
format for all cmdline operations
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the Open API Initiative format.
Installing AutoRest on Windows, MacOS or Linux involves two steps:
- Install Node.js (7.10.0 or greater)
for more help, check out Installing Node.JS on different platforms
- Install AutoRest using
npm
# Depending on your configuration you may need to be elevated or root to run this. (on OSX/Linux use 'sudo' )
npm install -g autorest
To update AutoRest if you have previous versions installed, please run:
autorest --latest
or
# Removes all other versions and installs the latest
autorest --reset
For more information, run autorest --help
OS | Status |
---|---|
Windows x64 | Verified - Working |
OSX 10.11 x64 | Verified - Working (may have to install openssl manually?) |
Ubuntu 14.04 x64 (any) | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 libicu52 -y |
Ubuntu 16.04 x64 (desktop) | Verified - Working |
Ubuntu 16.04 x64 (server or via BashForWindows/WSL) | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y |
Ubuntu 16.10 x64 | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y && wget http://mirrors.kernel.org/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb && sudo dpkg -i libicu55_55.1-7_amd64.deb |
Other Linux platforms might work -- if the platform is listed https://github.com/Azure/autorest/releases/tag/dotnet-runtime-1.0.4 -- there is a fairly good chance that it'll work. As more testing is completed, we'll ensure that we update the status here.
Start by reading the documentation for using AutoRest:
- Managing Autorest - shows how to get new updates to AutoRest and choose which version to use for code generation
- Generating a Client using AutoRest - shows simple command line usage for generating a client library.
- Command Line Interface Documentation - explains common command line arguments
- Examples - full, walkthrough-style scenarios for using AutoRest
Get yourself up and coding in AutoRest
- Developer Workstation Requirements - what do you need to install to start working with the AutoRest code
- AutoRest Extensibility and protocol documentation
- Working on AutoRest core - compiling/testing AutoRest core using the build scripts
- Working on an AutoRest extension - creating and testing AutoRest extensions
Some related information:
- Validation Rules & Linting - about the validation rules in AutoRest
- Client Runtimes - information about the client runtimes required for using code generated by AutoRest
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.