Documentation for the rust Generator
METADATA
| Property | Value | Notes | 
|---|---|---|
| generator name | rust | pass this to the generate command after -g | 
| generator stability | STABLE | |
| generator type | CLIENT | |
| generator language | Rust | |
| generator default templating engine | mustache | |
| helpTxt | Generates a Rust client library (beta). | 
CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
| Option | Description | Values | Default | 
|---|---|---|---|
| enumNameSuffix | Suffix that will be appended to all enum names. | ||
| hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
| library | library template (sub-template) to use. | 
 | reqwest | 
| packageName | Rust package name (convention: lowercase). | openapi | |
| packageVersion | Rust package version. | 1.0.0 | |
| supportAsync | If set, generate async function call instead. This option is for 'reqwest' library only | true | |
| supportMultipleResponses | If set, return type wraps an enum of all possible 2xx schemas. This option is for 'reqwest' library only | false | |
| useSingleRequestParameter | Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. | false | |
| withAWSV4Signature | whether to include AWS v4 signature support | false | 
IMPORT MAPPING
| Type/Alias | Imports | 
|---|
INSTANTIATION TYPES
| Type/Alias | Instantiated By | 
|---|
LANGUAGE PRIMITIVES
- String
- bool
- char
- f32
- f64
- i16
- i32
- i64
- i8
- isize
- str
- u16
- u32
- u64
- u8
- usize
RESERVED WORDS
- abstract
- alignof
- as
- async
- await
- become
- box
- break
- const
- continue
- crate
- do
- dyn
- else
- enum
- extern
- false
- final
- fn
- for
- if
- impl
- in
- let
- loop
- macro
- match
- mod
- move
- mut
- offsetof
- override
- priv
- proc
- pub
- pure
- ref
- return
- self
- sizeof
- static
- struct
- super
- trait
- true
- try
- type
- typeof
- unsafe
- unsized
- use
- virtual
- where
- while
- yield
FEATURE SET
Client Modification Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasePath | ✓ | ToolingExtension | 
| Authorizations | ✗ | ToolingExtension | 
| UserAgent | ✓ | ToolingExtension | 
| MockServer | ✗ | ToolingExtension | 
Data Type Feature
| Name | Supported | Defined By | 
|---|---|---|
| Custom | ✗ | OAS2,OAS3 | 
| Int32 | ✓ | OAS2,OAS3 | 
| Int64 | ✓ | OAS2,OAS3 | 
| Float | ✓ | OAS2,OAS3 | 
| Double | ✓ | OAS2,OAS3 | 
| Decimal | ✓ | ToolingExtension | 
| String | ✓ | OAS2,OAS3 | 
| Byte | ✓ | OAS2,OAS3 | 
| Binary | ✓ | OAS2,OAS3 | 
| Boolean | ✓ | OAS2,OAS3 | 
| Date | ✓ | OAS2,OAS3 | 
| DateTime | ✓ | OAS2,OAS3 | 
| Password | ✓ | OAS2,OAS3 | 
| File | ✓ | OAS2 | 
| Array | ✓ | OAS2,OAS3 | 
| Maps | ✓ | ToolingExtension | 
| CollectionFormat | ✓ | OAS2 | 
| CollectionFormatMulti | ✓ | OAS2 | 
| Enum | ✓ | OAS2,OAS3 | 
| ArrayOfEnum | ✓ | ToolingExtension | 
| ArrayOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| ArrayOfCollectionOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfEnum | ✓ | ToolingExtension | 
| MapOfEnum | ✓ | ToolingExtension | 
| MapOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| MapOfCollectionOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfEnum | ✓ | ToolingExtension | 
Documentation Feature
| Name | Supported | Defined By | 
|---|---|---|
| Readme | ✓ | ToolingExtension | 
| Model | ✓ | ToolingExtension | 
| Api | ✓ | ToolingExtension | 
Global Feature
| Name | Supported | Defined By | 
|---|---|---|
| Host | ✓ | OAS2,OAS3 | 
| BasePath | ✓ | OAS2,OAS3 | 
| Info | ✓ | OAS2,OAS3 | 
| Schemes | ✗ | OAS2,OAS3 | 
| PartialSchemes | ✓ | OAS2,OAS3 | 
| Consumes | ✓ | OAS2 | 
| Produces | ✓ | OAS2 | 
| ExternalDocumentation | ✓ | OAS2,OAS3 | 
| Examples | ✓ | OAS2,OAS3 | 
| XMLStructureDefinitions | ✗ | OAS2,OAS3 | 
| MultiServer | ✗ | OAS3 | 
| ParameterizedServer | ✗ | OAS3 | 
| ParameterStyling | ✗ | OAS3 | 
| Callbacks | ✗ | OAS3 | 
| LinkObjects | ✗ | OAS3 | 
Parameter Feature
| Name | Supported | Defined By | 
|---|---|---|
| Path | ✓ | OAS2,OAS3 | 
| Query | ✓ | OAS2,OAS3 | 
| Header | ✓ | OAS2,OAS3 | 
| Body | ✓ | OAS2 | 
| FormUnencoded | ✓ | OAS2 | 
| FormMultipart | ✓ | OAS2 | 
| Cookie | ✗ | OAS3 | 
Schema Support Feature
| Name | Supported | Defined By | 
|---|---|---|
| Simple | ✓ | OAS2,OAS3 | 
| Composite | ✓ | OAS2,OAS3 | 
| Polymorphism | ✗ | OAS2,OAS3 | 
| Union | ✗ | OAS3 | 
Security Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasicAuth | ✓ | OAS2,OAS3 | 
| ApiKey | ✓ | OAS2,OAS3 | 
| OpenIDConnect | ✗ | OAS3 | 
| BearerToken | ✗ | OAS3 | 
| OAuth2_Implicit | ✓ | OAS2,OAS3 | 
| OAuth2_Password | ✗ | OAS2,OAS3 | 
| OAuth2_ClientCredentials | ✗ | OAS2,OAS3 | 
| OAuth2_AuthorizationCode | ✗ | OAS2,OAS3 | 
Wire Format Feature
| Name | Supported | Defined By | 
|---|---|---|
| JSON | ✓ | OAS2,OAS3 | 
| XML | ✓ | OAS2,OAS3 | 
| PROTOBUF | ✗ | ToolingExtension | 
| Custom | ✓ | OAS2,OAS3 |