Coder Social home page Coder Social logo

usmslm102 / autorest Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azure/autorest

0.0 0.0 0.0 66.41 MB

OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python, Ruby

License: MIT License

JavaScript 2.16% PowerShell 7.52% TypeScript 87.20% CoffeeScript 3.00% Dockerfile 0.12%

autorest's Introduction

AutoRest

The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.

Support Policy

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

Getting Started using AutoRest image

Start by reading the documentation for using AutoRest:

New! AutoRest Version 3.0

AutoRest 3.0 introduces a large number of internal changes to support new scenarios.

Features

OpenAPI3 support!

AutoRest 3.0 finally supports OpenAPI3 files as an input format, with the following caveats:

  • existing AutoRest v2 generators may not support all features from OpenAPI3. (see next section)
  • anyOf, oneOf are not currently supported
  • other OpenAPI3 specific features may not be entirely supported.

Generators

A new set of language generator plugins are being written that adopt the lighter-weight patterns for Azure Core libraries.
Existing V2 generators will default to processing with the AutoRest 2 pipeline.
If you want to force it to use the v3 (to get support for OpenAPI3 ) add --v3 to the command line:

autorest --v3 --csharp ...

Generator Command Notes
PowerShell autorest --powershell ... Fully V3 Supported - use to generate powershell modules
CSharp autorest --csharp ... v2 generator, may use OpenAPI3 with --v3 switch (may be some differences) - v3 generator in progress
Python autorest --python ... v2 generator, may use OpenAPI3 with --v3 switch (may be some differences) - v3 generator in progress
Java autorest --java ... v2 generator, may use OpenAPI3 with --v3 switch (may be some differences) - v3 generator in progress
TypeScript autorest --typescript ... v2 generator, may use OpenAPI3 with --v3 switch (may be some differences) - v3 generator in progress
Go autorest --go ... v2 generator, may use OpenAPI3 with --v3 switch (may be some differences) - v3 generator in progress
Ruby autorest --ruby ... v2 generator - does not support v3 feature, no OpenAPI3 support

New V3 Pipeline

In AutoRest v3, the pipeline has been drastically rebuilt, which allows support for:

  • OpenAPI3 inputs
  • Supporting merging multiple API versions
  • Model Deduplication and Subset reduction across multiple API versions
  • Azure Profile support (v3 generator required)

Some related information:

Supported Platforms

While AutoRest itself runs on NodeJS, some generators use the .NET Core 2.0 runtime, which is the most limiting factor. See dotnet/core/release-notes/2.0/2.0-supported-os.md for a list of supported platforms.


Code of Conduct

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.

autorest's People

Contributors

amarzavery avatar annatisch avatar bretjohnson avatar brjohnstmsft avatar daviwil avatar devigned avatar dsgouda avatar fearthecowboy avatar jhancock93 avatar jhendrixmsft avatar jianghaolu avatar john-hart avatar lmazuel avatar markcowl avatar marstr avatar matthchr avatar mcardosos avatar nelsondaniel avatar nicklebedev37 avatar niklasgustafsson avatar nschonni avatar ogail avatar olydis avatar sarangan12 avatar stankovski avatar tbombach avatar veronicagg avatar vishrutshah avatar xingwu1 avatar yugangw-msft avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.