# Config Options for go

Option | Description | Values | Default
--- | --- | --- | ---
disallowAdditionalPropertiesIfNotPresent | Specify the behavior when the 'additionalProperties' keyword is not present in the OAS document. If false: the 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications. If true: when the 'additionalProperties' keyword is not present in a schema, the value of 'additionalProperties' is set to false, i.e. no additional properties are allowed. Note: this mode is not compliant with the JSON schema specification. This is the original openapi-generator behavior.This setting is currently ignored for OAS 2.0 documents: 1) When the 'additionalProperties' keyword is not present in a 2.0 schema, additional properties are NOT allowed. 2) Boolean values of the 'additionalProperties' keyword are ignored. It's as if additional properties are NOT allowed.Note: the root cause are issues #1369 and #1371, which must be resolved in the swagger-parser project. | false The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications. true when the 'additionalProperties' keyword is not present in a schema, the value of 'additionalProperties' is automatically set to false, i.e. no additional properties are allowed. Note: this mode is not compliant with the JSON schema specification. This is the original openapi-generator behavior. | true
enumClassPrefix | Prefix enum with class name |  | false
generateInterfaces | Generate interfaces for api classes |  | false
hideGenerationTimestamp | Hides the generation timestamp when files are generated. |  | true
isGoSubmodule | whether the generated Go module is a submodule |  | false
packageName | Go package name (convention: lowercase). |  | openapi
packageVersion | Go package version. |  | 1.0.0
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. |  | false
structPrefix | whether to prefix struct with the class name. e.g. DeletePetOpts => PetApiDeletePetOpts |  | false
useOneOfDiscriminatorLookup | Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and onlye one match in oneOf's schemas) will be skipped. |  | false
withAWSV4Signature | whether to include AWS v4 signature support |  | false
withXml | whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) |  | false

## #IMPORT MAPPING

Type/Alias | Imports
--- | ---

## #INSTANTIATION TYPES

Type/Alias | Instantiated By
--- | ---

## #LANGUAGE PRIMITIVES

- bool
- byte
- complex128
- complex64
- float32
- float64
- int
- int32
- int64
- interface
- map[string]interface
- rune
- string
- uint
- uint32
- uint64

## #RESERVED WORDS

- bool
- break
- byte
- case
- chan
- complex128
- complex64
- const
- continue
- default
- defer
- else
- error
- fallthrough
- float32
- float64
- for
- func
- go
- goto
- if
- import
- int
- int16
- int32
- int64
- int8
- interface
- map
- nil
- package
- range
- return
- rune
- select
- string
- struct
- switch
- type
- uint
- uint16
- uint32
- uint64
- uint8
- uintptr
- var

## #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

Edit this page
Last updated on 2020-9-12 by William Cheng

- IMPORT MAPPING
- INSTANTIATION TYPES
- LANGUAGE PRIMITIVES
- RESERVED WORDS
- FEATURE SET
  - Client Modification Feature
  - Data Type Feature
  - Documentation Feature
  - Global Feature
  - Parameter Feature
  - Schema Support Feature
  - Security Feature
  - Wire Format Feature