--- title: 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](https://openapi-generator.tech/docs/configuration) for more details. | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |avoidBoxedModels|If set, `Box<T>` will not be used for models| |false| |bestFitInt|Use best fitting integer type where minimum or maximum is set| |false| |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.|
**hyper**
HTTP client: Hyper (v1.x).
**hyper0x**
HTTP client: Hyper (v0.x).
**reqwest**
HTTP client: Reqwest.
**reqwest-trait**
HTTP client: Reqwest (trait based).
|reqwest| |mockall|Adds `#[automock]` from the mockall crate to api traits. This option is for 'reqwest-trait' library only| |false| |packageName|Rust package name (convention: lowercase).| |openapi| |packageVersion|Rust package version.| |1.0.0| |preferUnsignedInt|Prefer unsigned integers where minimum value is >= 0| |false| |supportAsync|If set, generate async function call instead. This option is for 'reqwest' library only| |true| |supportMiddleware|If set, add support for reqwest-middleware. This option is for 'reqwest' and 'reqwest-trait' library only| |false| |supportMultipleResponses|If set, return type wraps an enum of all possible 2xx schemas. This option is for 'reqwest' and 'reqwest-trait' library only| |false| |supportTokenSource|If set, add support for google-cloud-token. This option is for 'reqwest' and 'reqwest-trait' library only and requires the 'supportAsync' option| |false| |topLevelApiClient|Creates a top level `Api` trait and `ApiClient` struct that contain all Apis. This option is for 'reqwest-trait' library only| |false| |useBonBuilder|Use the bon crate for building parameter types. This option is for the 'reqwest-trait' 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 ## RESERVED WORDS ## 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 |Uuid|✗| |Array|✓|OAS2,OAS3 |Null|✗|OAS3 |AnyType|✗|OAS2,OAS3 |Object|✓|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 |allOf|✗|OAS2,OAS3 |anyOf|✗|OAS3 |oneOf|✓|OAS3 |not|✗|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 |SignatureAuth|✗|OAS3 |AWSV4Signature|✓|ToolingExtension ### Wire Format Feature | Name | Supported | Defined By | | ---- | --------- | ---------- | |JSON|✓|OAS2,OAS3 |XML|✓|OAS2,OAS3 |PROTOBUF|✗|ToolingExtension |Custom|✓|OAS2,OAS3