github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/clients/abe/api/swagger.yaml (about)

     1  ---
     2  swagger: "2.0"
     3  info:
     4    version: "1.0"
     5    title: "A Bit of Everything"
     6    contact:
     7      name: "gRPC-Gateway project"
     8      url: "https://github.com/grpc-ecosystem/grpc-gateway"
     9      email: "none@example.com"
    10    license:
    11      name: "BSD 3-Clause License"
    12      url: "https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE"
    13    x-something-something: "yadda"
    14  tags:
    15  - name: "echo rpc"
    16    description: "Echo Rpc description"
    17    x-traitTag: true
    18  - name: "ABitOfEverything"
    19    description: "ABitOfEverythingService description -- which should not be used in\
    20      \ place of the documentation comment!"
    21    externalDocs:
    22      description: "Find out more about EchoService"
    23      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    24  - name: "camelCaseServiceName"
    25  - name: "AnotherServiceWithNoBindings"
    26  - name: "SnakeEnumService"
    27  schemes:
    28  - "http"
    29  - "https"
    30  - "wss"
    31  consumes:
    32  - "application/json"
    33  - "application/x-foo-mime"
    34  produces:
    35  - "application/json"
    36  - "application/x-foo-mime"
    37  security:
    38  - ApiKeyAuth: []
    39    BasicAuth: []
    40  - ApiKeyAuth: []
    41    OAuth2:
    42    - "read"
    43    - "write"
    44  paths:
    45    /v1/example/a_bit_of_everything:
    46      post:
    47        tags:
    48        - "ABitOfEverythingService"
    49        operationId: "ABitOfEverythingService_CreateBody"
    50        parameters:
    51        - in: "body"
    52          name: "body"
    53          description: "Intentionally complicated message type to cover many features\
    54            \ of Protobuf."
    55          required: true
    56          schema:
    57            $ref: "#/definitions/examplepbABitOfEverything"
    58          x-exportParamName: "Body"
    59        responses:
    60          200:
    61            description: "A successful response."
    62            schema:
    63              $ref: "#/definitions/examplepbABitOfEverything"
    64          403:
    65            description: "Returned when the user does not have permission to access\
    66              \ the resource."
    67            schema: {}
    68          404:
    69            description: "Returned when the resource does not exist."
    70            schema:
    71              type: "string"
    72              format: "string"
    73          418:
    74            description: "I'm a teapot."
    75            schema:
    76              $ref: "#/definitions/examplepbNumericEnum"
    77          500:
    78            description: "Server error"
    79            schema:
    80              $ref: "#/definitions/examplepbErrorResponse"
    81          default:
    82            description: "An unexpected error response."
    83            schema:
    84              $ref: "#/definitions/rpcStatus"
    85    /v1/example/a_bit_of_everything/echo/{value}:
    86      get:
    87        tags:
    88        - "echo rpc"
    89        summary: "Summary: Echo rpc"
    90        description: "Description Echo"
    91        operationId: "ABitOfEverythingService_Echo"
    92        parameters:
    93        - name: "value"
    94          in: "path"
    95          required: true
    96          type: "string"
    97          x-exportParamName: "Value"
    98        responses:
    99          200:
   100            description: "A successful response."
   101            examples:
   102              application/json:
   103                value: "the input value"
   104            schema:
   105              $ref: "#/definitions/subStringMessage"
   106          403:
   107            description: "Returned when the user does not have permission to access\
   108              \ the resource."
   109            schema: {}
   110          404:
   111            description: "Returned when the resource does not exist."
   112            schema:
   113              type: "integer"
   114              format: "integer"
   115          418:
   116            description: "I'm a teapot."
   117            schema:
   118              $ref: "#/definitions/examplepbNumericEnum"
   119          500:
   120            description: "Server error"
   121            schema:
   122              $ref: "#/definitions/examplepbErrorResponse"
   123          503:
   124            description: "Returned when the resource is temporarily unavailable."
   125            schema: {}
   126            x-number: 100
   127          default:
   128            description: "An unexpected error response."
   129            schema:
   130              $ref: "#/definitions/rpcStatus"
   131        externalDocs:
   132          description: "Find out more Echo"
   133          url: "https://github.com/grpc-ecosystem/grpc-gateway"
   134    /v1/example/a_bit_of_everything/params/get/nested_enum/{singleNested.ok}:
   135      get:
   136        tags:
   137        - "ABitOfEverythingService"
   138        operationId: "ABitOfEverythingService_CheckNestedEnumGetQueryParams"
   139        parameters:
   140        - name: "singleNested.ok"
   141          in: "path"
   142          description: "DeepEnum description."
   143          required: true
   144          type: "string"
   145          enum:
   146          - "FALSE"
   147          - "TRUE"
   148          x-exportParamName: "SingleNestedOk"
   149        - name: "singleNested.name"
   150          in: "query"
   151          description: "name is nested field."
   152          required: false
   153          type: "string"
   154          x-exportParamName: "SingleNestedName"
   155          x-optionalDataType: "String"
   156        - name: "singleNested.amount"
   157          in: "query"
   158          required: false
   159          type: "integer"
   160          format: "int64"
   161          x-exportParamName: "SingleNestedAmount"
   162          x-optionalDataType: "Int64"
   163        - name: "uuid"
   164          in: "query"
   165          required: true
   166          type: "string"
   167          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
   168          format: "uuid"
   169          x-internal: true
   170          x-exportParamName: "Uuid"
   171        - name: "floatValue"
   172          in: "query"
   173          description: "Float value field"
   174          required: true
   175          type: "number"
   176          default: 0.2
   177          format: "float"
   178          x-exportParamName: "FloatValue"
   179        - name: "doubleValue"
   180          in: "query"
   181          required: true
   182          type: "number"
   183          format: "double"
   184          x-exportParamName: "DoubleValue"
   185        - name: "int64Value"
   186          in: "query"
   187          required: true
   188          type: "string"
   189          format: "int64"
   190          x-exportParamName: "Int64Value"
   191        - name: "uint64Value"
   192          in: "query"
   193          required: false
   194          type: "string"
   195          format: "uint64"
   196          x-exportParamName: "Uint64Value"
   197          x-optionalDataType: "String"
   198        - name: "int32Value"
   199          in: "query"
   200          required: false
   201          type: "integer"
   202          format: "int32"
   203          x-exportParamName: "Int32Value"
   204          x-optionalDataType: "Int32"
   205        - name: "fixed64Value"
   206          in: "query"
   207          required: false
   208          type: "string"
   209          format: "uint64"
   210          x-exportParamName: "Fixed64Value"
   211          x-optionalDataType: "String"
   212        - name: "fixed32Value"
   213          in: "query"
   214          required: false
   215          type: "integer"
   216          format: "int64"
   217          x-exportParamName: "Fixed32Value"
   218          x-optionalDataType: "Int64"
   219        - name: "boolValue"
   220          in: "query"
   221          required: false
   222          type: "boolean"
   223          x-exportParamName: "BoolValue"
   224          x-optionalDataType: "Bool"
   225        - name: "stringValue"
   226          in: "query"
   227          required: false
   228          type: "string"
   229          x-exportParamName: "StringValue"
   230          x-optionalDataType: "String"
   231        - name: "bytesValue"
   232          in: "query"
   233          required: false
   234          type: "string"
   235          format: "byte"
   236          x-exportParamName: "BytesValue"
   237          x-optionalDataType: "String"
   238        - name: "uint32Value"
   239          in: "query"
   240          required: false
   241          type: "integer"
   242          format: "int64"
   243          x-exportParamName: "Uint32Value"
   244          x-optionalDataType: "Int64"
   245        - name: "enumValue"
   246          in: "query"
   247          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
   248          required: false
   249          type: "string"
   250          default: "ZERO"
   251          enum:
   252          - "ZERO"
   253          - "ONE"
   254          x-exportParamName: "EnumValue"
   255          x-optionalDataType: "String"
   256        - name: "pathEnumValue"
   257          in: "query"
   258          required: false
   259          type: "string"
   260          default: "ABC"
   261          enum:
   262          - "ABC"
   263          - "DEF"
   264          x-exportParamName: "PathEnumValue"
   265          x-optionalDataType: "String"
   266        - name: "nestedPathEnumValue"
   267          in: "query"
   268          required: false
   269          type: "string"
   270          default: "GHI"
   271          enum:
   272          - "GHI"
   273          - "JKL"
   274          x-exportParamName: "NestedPathEnumValue"
   275          x-optionalDataType: "String"
   276        - name: "sfixed32Value"
   277          in: "query"
   278          required: false
   279          type: "integer"
   280          format: "int32"
   281          x-exportParamName: "Sfixed32Value"
   282          x-optionalDataType: "Int32"
   283        - name: "sfixed64Value"
   284          in: "query"
   285          required: false
   286          type: "string"
   287          format: "int64"
   288          x-exportParamName: "Sfixed64Value"
   289          x-optionalDataType: "String"
   290        - name: "sint32Value"
   291          in: "query"
   292          required: false
   293          type: "integer"
   294          format: "int32"
   295          x-exportParamName: "Sint32Value"
   296          x-optionalDataType: "Int32"
   297        - name: "sint64Value"
   298          in: "query"
   299          required: false
   300          type: "string"
   301          format: "int64"
   302          x-exportParamName: "Sint64Value"
   303          x-optionalDataType: "String"
   304        - name: "repeatedStringValue"
   305          in: "query"
   306          required: false
   307          type: "array"
   308          items:
   309            type: "string"
   310          collectionFormat: "multi"
   311          x-exportParamName: "RepeatedStringValue"
   312        - name: "oneofEmpty"
   313          in: "query"
   314          required: false
   315          type: "object"
   316          x-exportParamName: "OneofEmpty"
   317        - name: "oneofString"
   318          in: "query"
   319          required: false
   320          type: "string"
   321          x-exportParamName: "OneofString"
   322          x-optionalDataType: "String"
   323        - name: "mapValue"
   324          in: "query"
   325          description: "This is a request variable of the map type. The query format\
   326            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   327            \ is string, and the value type is integer, the query parameter is expressed\
   328            \ as Age[\"bob\"]=18"
   329          required: false
   330          x-exportParamName: "MapValue"
   331        - name: "mappedStringValue"
   332          in: "query"
   333          description: "This is a request variable of the map type. The query format\
   334            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   335            \ is string, and the value type is integer, the query parameter is expressed\
   336            \ as Age[\"bob\"]=18"
   337          required: false
   338          type: "string"
   339          x-exportParamName: "MappedStringValue"
   340          x-optionalDataType: "String"
   341        - name: "mappedNestedValue"
   342          in: "query"
   343          description: "This is a request variable of the map type. The query format\
   344            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   345            \ is string, and the value type is integer, the query parameter is expressed\
   346            \ as Age[\"bob\"]=18"
   347          required: false
   348          x-exportParamName: "MappedNestedValue"
   349        - name: "nonConventionalNameValue"
   350          in: "query"
   351          required: false
   352          type: "string"
   353          x-exportParamName: "NonConventionalNameValue"
   354          x-optionalDataType: "String"
   355        - name: "timestampValue"
   356          in: "query"
   357          required: false
   358          type: "string"
   359          format: "date-time"
   360          x-exportParamName: "TimestampValue"
   361          x-optionalDataType: "Time"
   362        - name: "repeatedEnumValue"
   363          in: "query"
   364          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
   365            \ ZERO means 0\n - ONE: ONE means 1"
   366          required: false
   367          type: "array"
   368          items:
   369            type: "string"
   370            enum:
   371            - "ZERO"
   372            - "ONE"
   373          collectionFormat: "multi"
   374          x-exportParamName: "RepeatedEnumValue"
   375        - name: "repeatedEnumAnnotation"
   376          in: "query"
   377          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
   378            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
   379          required: false
   380          type: "array"
   381          items:
   382            type: "string"
   383            enum:
   384            - "ZERO"
   385            - "ONE"
   386          collectionFormat: "multi"
   387          x-exportParamName: "RepeatedEnumAnnotation"
   388        - name: "enumValueAnnotation"
   389          in: "query"
   390          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
   391            \ ZERO means 0\n - ONE: ONE means 1"
   392          required: false
   393          type: "string"
   394          default: "ZERO"
   395          enum:
   396          - "ZERO"
   397          - "ONE"
   398          x-exportParamName: "EnumValueAnnotation"
   399          x-optionalDataType: "String"
   400        - name: "repeatedStringAnnotation"
   401          in: "query"
   402          description: "Repeated string title\n\nRepeated string description."
   403          required: false
   404          type: "array"
   405          items:
   406            type: "string"
   407          collectionFormat: "multi"
   408          x-exportParamName: "RepeatedStringAnnotation"
   409        - name: "nestedAnnotation.name"
   410          in: "query"
   411          description: "name is nested field."
   412          required: false
   413          type: "string"
   414          x-exportParamName: "NestedAnnotationName"
   415          x-optionalDataType: "String"
   416        - name: "nestedAnnotation.amount"
   417          in: "query"
   418          required: false
   419          type: "integer"
   420          format: "int64"
   421          x-exportParamName: "NestedAnnotationAmount"
   422          x-optionalDataType: "Int64"
   423        - name: "int64OverrideType"
   424          in: "query"
   425          required: false
   426          type: "integer"
   427          format: "int64"
   428          x-exportParamName: "Int64OverrideType"
   429          x-optionalDataType: "Int64"
   430        - name: "requiredStringViaFieldBehaviorAnnotation"
   431          in: "query"
   432          description: "mark a field as required in Open API definition"
   433          required: true
   434          type: "string"
   435          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
   436        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
   437          in: "query"
   438          description: "mark a field as readonly in Open API definition"
   439          required: false
   440          type: "string"
   441          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
   442          x-optionalDataType: "String"
   443        - name: "optionalStringValue"
   444          in: "query"
   445          required: false
   446          type: "string"
   447          x-exportParamName: "OptionalStringValue"
   448          x-optionalDataType: "String"
   449        - name: "productId"
   450          in: "query"
   451          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
   452            \ are allowed."
   453          required: false
   454          type: "array"
   455          items:
   456            type: "string"
   457            minLength: 1
   458            maxLength: 19
   459            pattern: "^[0-9]+$"
   460          collectionFormat: "multi"
   461          x-exportParamName: "ProductId"
   462        - name: "optionalStringField"
   463          in: "query"
   464          description: "Test openapiv2 generation of required fields with annotation\
   465            \ and jsonschema to reproduce"
   466          required: false
   467          type: "string"
   468          x-exportParamName: "OptionalStringField"
   469          x-optionalDataType: "String"
   470        - name: "requiredStringField1"
   471          in: "query"
   472          required: true
   473          type: "string"
   474          x-exportParamName: "RequiredStringField1"
   475        - name: "requiredStringField2"
   476          in: "query"
   477          required: true
   478          type: "string"
   479          x-exportParamName: "RequiredStringField2"
   480        - name: "required_field_behavior_json_name_custom"
   481          in: "query"
   482          description: "Test openapiv2 handling of required json_name fields"
   483          required: true
   484          type: "string"
   485          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
   486        - name: "required_field_schema_json_name_custom"
   487          in: "query"
   488          required: true
   489          type: "string"
   490          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
   491        - name: "trailingOnly"
   492          in: "query"
   493          description: "Trailing only"
   494          required: false
   495          type: "string"
   496          x-exportParamName: "TrailingOnly"
   497          x-optionalDataType: "String"
   498        - name: "trailingOnlyDot"
   499          in: "query"
   500          description: "Trailing only dot."
   501          required: false
   502          type: "string"
   503          x-exportParamName: "TrailingOnlyDot"
   504          x-optionalDataType: "String"
   505        - name: "trailingBoth"
   506          in: "query"
   507          description: "Leading both\n\nTrailing both."
   508          required: false
   509          type: "string"
   510          x-exportParamName: "TrailingBoth"
   511          x-optionalDataType: "String"
   512        - name: "trailingMultiline"
   513          in: "query"
   514          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
   515            \nTrailing multiline."
   516          required: false
   517          type: "string"
   518          x-exportParamName: "TrailingMultiline"
   519          x-optionalDataType: "String"
   520        - name: "uuids"
   521          in: "query"
   522          description: "Specify a custom format of repeated field items"
   523          required: false
   524          type: "array"
   525          items:
   526            type: "string"
   527            format: "uuid"
   528          collectionFormat: "multi"
   529          x-exportParamName: "Uuids"
   530        responses:
   531          200:
   532            description: "A successful response."
   533            schema:
   534              $ref: "#/definitions/examplepbABitOfEverything"
   535          403:
   536            description: "Returned when the user does not have permission to access\
   537              \ the resource."
   538            schema: {}
   539          404:
   540            description: "Returned when the resource does not exist."
   541            schema:
   542              type: "string"
   543              format: "string"
   544          418:
   545            description: "I'm a teapot."
   546            schema:
   547              $ref: "#/definitions/examplepbNumericEnum"
   548          500:
   549            description: "Server error"
   550            schema:
   551              $ref: "#/definitions/examplepbErrorResponse"
   552          default:
   553            description: "An unexpected error response."
   554            schema:
   555              $ref: "#/definitions/rpcStatus"
   556    /v1/example/a_bit_of_everything/params/get/{singleNested.name}:
   557      get:
   558        tags:
   559        - "ABitOfEverythingService"
   560        operationId: "ABitOfEverythingService_CheckGetQueryParams"
   561        parameters:
   562        - name: "singleNested.name"
   563          in: "path"
   564          description: "name is nested field."
   565          required: true
   566          type: "string"
   567          x-exportParamName: "SingleNestedName"
   568        - name: "singleNested.amount"
   569          in: "query"
   570          required: false
   571          type: "integer"
   572          format: "int64"
   573          x-exportParamName: "SingleNestedAmount"
   574          x-optionalDataType: "Int64"
   575        - name: "singleNested.ok"
   576          in: "query"
   577          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
   578            \ TRUE is true."
   579          required: false
   580          type: "string"
   581          default: "FALSE"
   582          enum:
   583          - "FALSE"
   584          - "TRUE"
   585          x-exportParamName: "SingleNestedOk"
   586          x-optionalDataType: "String"
   587        - name: "uuid"
   588          in: "query"
   589          required: true
   590          type: "string"
   591          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
   592          format: "uuid"
   593          x-internal: true
   594          x-exportParamName: "Uuid"
   595        - name: "floatValue"
   596          in: "query"
   597          description: "Float value field"
   598          required: true
   599          type: "number"
   600          default: 0.2
   601          format: "float"
   602          x-exportParamName: "FloatValue"
   603        - name: "doubleValue"
   604          in: "query"
   605          required: true
   606          type: "number"
   607          format: "double"
   608          x-exportParamName: "DoubleValue"
   609        - name: "int64Value"
   610          in: "query"
   611          required: true
   612          type: "string"
   613          format: "int64"
   614          x-exportParamName: "Int64Value"
   615        - name: "uint64Value"
   616          in: "query"
   617          required: false
   618          type: "string"
   619          format: "uint64"
   620          x-exportParamName: "Uint64Value"
   621          x-optionalDataType: "String"
   622        - name: "int32Value"
   623          in: "query"
   624          required: false
   625          type: "integer"
   626          format: "int32"
   627          x-exportParamName: "Int32Value"
   628          x-optionalDataType: "Int32"
   629        - name: "fixed64Value"
   630          in: "query"
   631          required: false
   632          type: "string"
   633          format: "uint64"
   634          x-exportParamName: "Fixed64Value"
   635          x-optionalDataType: "String"
   636        - name: "fixed32Value"
   637          in: "query"
   638          required: false
   639          type: "integer"
   640          format: "int64"
   641          x-exportParamName: "Fixed32Value"
   642          x-optionalDataType: "Int64"
   643        - name: "boolValue"
   644          in: "query"
   645          required: false
   646          type: "boolean"
   647          x-exportParamName: "BoolValue"
   648          x-optionalDataType: "Bool"
   649        - name: "stringValue"
   650          in: "query"
   651          required: false
   652          type: "string"
   653          x-exportParamName: "StringValue"
   654          x-optionalDataType: "String"
   655        - name: "bytesValue"
   656          in: "query"
   657          required: false
   658          type: "string"
   659          format: "byte"
   660          x-exportParamName: "BytesValue"
   661          x-optionalDataType: "String"
   662        - name: "uint32Value"
   663          in: "query"
   664          required: false
   665          type: "integer"
   666          format: "int64"
   667          x-exportParamName: "Uint32Value"
   668          x-optionalDataType: "Int64"
   669        - name: "enumValue"
   670          in: "query"
   671          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
   672          required: false
   673          type: "string"
   674          default: "ZERO"
   675          enum:
   676          - "ZERO"
   677          - "ONE"
   678          x-exportParamName: "EnumValue"
   679          x-optionalDataType: "String"
   680        - name: "pathEnumValue"
   681          in: "query"
   682          required: false
   683          type: "string"
   684          default: "ABC"
   685          enum:
   686          - "ABC"
   687          - "DEF"
   688          x-exportParamName: "PathEnumValue"
   689          x-optionalDataType: "String"
   690        - name: "nestedPathEnumValue"
   691          in: "query"
   692          required: false
   693          type: "string"
   694          default: "GHI"
   695          enum:
   696          - "GHI"
   697          - "JKL"
   698          x-exportParamName: "NestedPathEnumValue"
   699          x-optionalDataType: "String"
   700        - name: "sfixed32Value"
   701          in: "query"
   702          required: false
   703          type: "integer"
   704          format: "int32"
   705          x-exportParamName: "Sfixed32Value"
   706          x-optionalDataType: "Int32"
   707        - name: "sfixed64Value"
   708          in: "query"
   709          required: false
   710          type: "string"
   711          format: "int64"
   712          x-exportParamName: "Sfixed64Value"
   713          x-optionalDataType: "String"
   714        - name: "sint32Value"
   715          in: "query"
   716          required: false
   717          type: "integer"
   718          format: "int32"
   719          x-exportParamName: "Sint32Value"
   720          x-optionalDataType: "Int32"
   721        - name: "sint64Value"
   722          in: "query"
   723          required: false
   724          type: "string"
   725          format: "int64"
   726          x-exportParamName: "Sint64Value"
   727          x-optionalDataType: "String"
   728        - name: "repeatedStringValue"
   729          in: "query"
   730          required: false
   731          type: "array"
   732          items:
   733            type: "string"
   734          collectionFormat: "multi"
   735          x-exportParamName: "RepeatedStringValue"
   736        - name: "oneofEmpty"
   737          in: "query"
   738          required: false
   739          type: "object"
   740          x-exportParamName: "OneofEmpty"
   741        - name: "oneofString"
   742          in: "query"
   743          required: false
   744          type: "string"
   745          x-exportParamName: "OneofString"
   746          x-optionalDataType: "String"
   747        - name: "mapValue"
   748          in: "query"
   749          description: "This is a request variable of the map type. The query format\
   750            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   751            \ is string, and the value type is integer, the query parameter is expressed\
   752            \ as Age[\"bob\"]=18"
   753          required: false
   754          x-exportParamName: "MapValue"
   755        - name: "mappedStringValue"
   756          in: "query"
   757          description: "This is a request variable of the map type. The query format\
   758            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   759            \ is string, and the value type is integer, the query parameter is expressed\
   760            \ as Age[\"bob\"]=18"
   761          required: false
   762          type: "string"
   763          x-exportParamName: "MappedStringValue"
   764          x-optionalDataType: "String"
   765        - name: "mappedNestedValue"
   766          in: "query"
   767          description: "This is a request variable of the map type. The query format\
   768            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
   769            \ is string, and the value type is integer, the query parameter is expressed\
   770            \ as Age[\"bob\"]=18"
   771          required: false
   772          x-exportParamName: "MappedNestedValue"
   773        - name: "nonConventionalNameValue"
   774          in: "query"
   775          required: false
   776          type: "string"
   777          x-exportParamName: "NonConventionalNameValue"
   778          x-optionalDataType: "String"
   779        - name: "timestampValue"
   780          in: "query"
   781          required: false
   782          type: "string"
   783          format: "date-time"
   784          x-exportParamName: "TimestampValue"
   785          x-optionalDataType: "Time"
   786        - name: "repeatedEnumValue"
   787          in: "query"
   788          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
   789            \ ZERO means 0\n - ONE: ONE means 1"
   790          required: false
   791          type: "array"
   792          items:
   793            type: "string"
   794            enum:
   795            - "ZERO"
   796            - "ONE"
   797          collectionFormat: "multi"
   798          x-exportParamName: "RepeatedEnumValue"
   799        - name: "repeatedEnumAnnotation"
   800          in: "query"
   801          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
   802            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
   803          required: false
   804          type: "array"
   805          items:
   806            type: "string"
   807            enum:
   808            - "ZERO"
   809            - "ONE"
   810          collectionFormat: "multi"
   811          x-exportParamName: "RepeatedEnumAnnotation"
   812        - name: "enumValueAnnotation"
   813          in: "query"
   814          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
   815            \ ZERO means 0\n - ONE: ONE means 1"
   816          required: false
   817          type: "string"
   818          default: "ZERO"
   819          enum:
   820          - "ZERO"
   821          - "ONE"
   822          x-exportParamName: "EnumValueAnnotation"
   823          x-optionalDataType: "String"
   824        - name: "repeatedStringAnnotation"
   825          in: "query"
   826          description: "Repeated string title\n\nRepeated string description."
   827          required: false
   828          type: "array"
   829          items:
   830            type: "string"
   831          collectionFormat: "multi"
   832          x-exportParamName: "RepeatedStringAnnotation"
   833        - name: "nestedAnnotation.amount"
   834          in: "query"
   835          required: false
   836          type: "integer"
   837          format: "int64"
   838          x-exportParamName: "NestedAnnotationAmount"
   839          x-optionalDataType: "Int64"
   840        - name: "nestedAnnotation.ok"
   841          in: "query"
   842          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
   843            \ TRUE is true."
   844          required: false
   845          type: "string"
   846          default: "FALSE"
   847          enum:
   848          - "FALSE"
   849          - "TRUE"
   850          x-exportParamName: "NestedAnnotationOk"
   851          x-optionalDataType: "String"
   852        - name: "int64OverrideType"
   853          in: "query"
   854          required: false
   855          type: "integer"
   856          format: "int64"
   857          x-exportParamName: "Int64OverrideType"
   858          x-optionalDataType: "Int64"
   859        - name: "requiredStringViaFieldBehaviorAnnotation"
   860          in: "query"
   861          description: "mark a field as required in Open API definition"
   862          required: true
   863          type: "string"
   864          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
   865        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
   866          in: "query"
   867          description: "mark a field as readonly in Open API definition"
   868          required: false
   869          type: "string"
   870          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
   871          x-optionalDataType: "String"
   872        - name: "optionalStringValue"
   873          in: "query"
   874          required: false
   875          type: "string"
   876          x-exportParamName: "OptionalStringValue"
   877          x-optionalDataType: "String"
   878        - name: "productId"
   879          in: "query"
   880          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
   881            \ are allowed."
   882          required: false
   883          type: "array"
   884          items:
   885            type: "string"
   886            minLength: 1
   887            maxLength: 19
   888            pattern: "^[0-9]+$"
   889          collectionFormat: "multi"
   890          x-exportParamName: "ProductId"
   891        - name: "optionalStringField"
   892          in: "query"
   893          description: "Test openapiv2 generation of required fields with annotation\
   894            \ and jsonschema to reproduce"
   895          required: false
   896          type: "string"
   897          x-exportParamName: "OptionalStringField"
   898          x-optionalDataType: "String"
   899        - name: "requiredStringField1"
   900          in: "query"
   901          required: true
   902          type: "string"
   903          x-exportParamName: "RequiredStringField1"
   904        - name: "requiredStringField2"
   905          in: "query"
   906          required: true
   907          type: "string"
   908          x-exportParamName: "RequiredStringField2"
   909        - name: "required_field_behavior_json_name_custom"
   910          in: "query"
   911          description: "Test openapiv2 handling of required json_name fields"
   912          required: true
   913          type: "string"
   914          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
   915        - name: "required_field_schema_json_name_custom"
   916          in: "query"
   917          required: true
   918          type: "string"
   919          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
   920        - name: "trailingOnly"
   921          in: "query"
   922          description: "Trailing only"
   923          required: false
   924          type: "string"
   925          x-exportParamName: "TrailingOnly"
   926          x-optionalDataType: "String"
   927        - name: "trailingOnlyDot"
   928          in: "query"
   929          description: "Trailing only dot."
   930          required: false
   931          type: "string"
   932          x-exportParamName: "TrailingOnlyDot"
   933          x-optionalDataType: "String"
   934        - name: "trailingBoth"
   935          in: "query"
   936          description: "Leading both\n\nTrailing both."
   937          required: false
   938          type: "string"
   939          x-exportParamName: "TrailingBoth"
   940          x-optionalDataType: "String"
   941        - name: "trailingMultiline"
   942          in: "query"
   943          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
   944            \nTrailing multiline."
   945          required: false
   946          type: "string"
   947          x-exportParamName: "TrailingMultiline"
   948          x-optionalDataType: "String"
   949        - name: "uuids"
   950          in: "query"
   951          description: "Specify a custom format of repeated field items"
   952          required: false
   953          type: "array"
   954          items:
   955            type: "string"
   956            format: "uuid"
   957          collectionFormat: "multi"
   958          x-exportParamName: "Uuids"
   959        responses:
   960          200:
   961            description: "A successful response."
   962            schema:
   963              $ref: "#/definitions/examplepbABitOfEverything"
   964          403:
   965            description: "Returned when the user does not have permission to access\
   966              \ the resource."
   967            schema: {}
   968          404:
   969            description: "Returned when the resource does not exist."
   970            schema:
   971              type: "string"
   972              format: "string"
   973          418:
   974            description: "I'm a teapot."
   975            schema:
   976              $ref: "#/definitions/examplepbNumericEnum"
   977          500:
   978            description: "Server error"
   979            schema:
   980              $ref: "#/definitions/examplepbErrorResponse"
   981          default:
   982            description: "An unexpected error response."
   983            schema:
   984              $ref: "#/definitions/rpcStatus"
   985    /v1/example/a_bit_of_everything/params/post/{stringValue}:
   986      post:
   987        tags:
   988        - "ABitOfEverythingService"
   989        operationId: "ABitOfEverythingService_CheckPostQueryParams"
   990        parameters:
   991        - name: "stringValue"
   992          in: "path"
   993          required: true
   994          type: "string"
   995          x-exportParamName: "StringValue"
   996        - in: "body"
   997          name: "singleNested"
   998          required: true
   999          schema:
  1000            $ref: "#/definitions/ABitOfEverythingNested"
  1001          x-exportParamName: "SingleNested"
  1002        - name: "uuid"
  1003          in: "query"
  1004          required: true
  1005          type: "string"
  1006          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
  1007          format: "uuid"
  1008          x-internal: true
  1009          x-exportParamName: "Uuid"
  1010        - name: "floatValue"
  1011          in: "query"
  1012          description: "Float value field"
  1013          required: true
  1014          type: "number"
  1015          default: 0.2
  1016          format: "float"
  1017          x-exportParamName: "FloatValue"
  1018        - name: "doubleValue"
  1019          in: "query"
  1020          required: true
  1021          type: "number"
  1022          format: "double"
  1023          x-exportParamName: "DoubleValue"
  1024        - name: "int64Value"
  1025          in: "query"
  1026          required: true
  1027          type: "string"
  1028          format: "int64"
  1029          x-exportParamName: "Int64Value"
  1030        - name: "uint64Value"
  1031          in: "query"
  1032          required: false
  1033          type: "string"
  1034          format: "uint64"
  1035          x-exportParamName: "Uint64Value"
  1036          x-optionalDataType: "String"
  1037        - name: "int32Value"
  1038          in: "query"
  1039          required: false
  1040          type: "integer"
  1041          format: "int32"
  1042          x-exportParamName: "Int32Value"
  1043          x-optionalDataType: "Int32"
  1044        - name: "fixed64Value"
  1045          in: "query"
  1046          required: false
  1047          type: "string"
  1048          format: "uint64"
  1049          x-exportParamName: "Fixed64Value"
  1050          x-optionalDataType: "String"
  1051        - name: "fixed32Value"
  1052          in: "query"
  1053          required: false
  1054          type: "integer"
  1055          format: "int64"
  1056          x-exportParamName: "Fixed32Value"
  1057          x-optionalDataType: "Int64"
  1058        - name: "boolValue"
  1059          in: "query"
  1060          required: false
  1061          type: "boolean"
  1062          x-exportParamName: "BoolValue"
  1063          x-optionalDataType: "Bool"
  1064        - name: "bytesValue"
  1065          in: "query"
  1066          required: false
  1067          type: "string"
  1068          format: "byte"
  1069          x-exportParamName: "BytesValue"
  1070          x-optionalDataType: "String"
  1071        - name: "uint32Value"
  1072          in: "query"
  1073          required: false
  1074          type: "integer"
  1075          format: "int64"
  1076          x-exportParamName: "Uint32Value"
  1077          x-optionalDataType: "Int64"
  1078        - name: "enumValue"
  1079          in: "query"
  1080          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  1081          required: false
  1082          type: "string"
  1083          default: "ZERO"
  1084          enum:
  1085          - "ZERO"
  1086          - "ONE"
  1087          x-exportParamName: "EnumValue"
  1088          x-optionalDataType: "String"
  1089        - name: "pathEnumValue"
  1090          in: "query"
  1091          required: false
  1092          type: "string"
  1093          default: "ABC"
  1094          enum:
  1095          - "ABC"
  1096          - "DEF"
  1097          x-exportParamName: "PathEnumValue"
  1098          x-optionalDataType: "String"
  1099        - name: "nestedPathEnumValue"
  1100          in: "query"
  1101          required: false
  1102          type: "string"
  1103          default: "GHI"
  1104          enum:
  1105          - "GHI"
  1106          - "JKL"
  1107          x-exportParamName: "NestedPathEnumValue"
  1108          x-optionalDataType: "String"
  1109        - name: "sfixed32Value"
  1110          in: "query"
  1111          required: false
  1112          type: "integer"
  1113          format: "int32"
  1114          x-exportParamName: "Sfixed32Value"
  1115          x-optionalDataType: "Int32"
  1116        - name: "sfixed64Value"
  1117          in: "query"
  1118          required: false
  1119          type: "string"
  1120          format: "int64"
  1121          x-exportParamName: "Sfixed64Value"
  1122          x-optionalDataType: "String"
  1123        - name: "sint32Value"
  1124          in: "query"
  1125          required: false
  1126          type: "integer"
  1127          format: "int32"
  1128          x-exportParamName: "Sint32Value"
  1129          x-optionalDataType: "Int32"
  1130        - name: "sint64Value"
  1131          in: "query"
  1132          required: false
  1133          type: "string"
  1134          format: "int64"
  1135          x-exportParamName: "Sint64Value"
  1136          x-optionalDataType: "String"
  1137        - name: "repeatedStringValue"
  1138          in: "query"
  1139          required: false
  1140          type: "array"
  1141          items:
  1142            type: "string"
  1143          collectionFormat: "multi"
  1144          x-exportParamName: "RepeatedStringValue"
  1145        - name: "oneofEmpty"
  1146          in: "query"
  1147          required: false
  1148          type: "object"
  1149          x-exportParamName: "OneofEmpty"
  1150        - name: "oneofString"
  1151          in: "query"
  1152          required: false
  1153          type: "string"
  1154          x-exportParamName: "OneofString"
  1155          x-optionalDataType: "String"
  1156        - name: "mapValue"
  1157          in: "query"
  1158          description: "This is a request variable of the map type. The query format\
  1159            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1160            \ is string, and the value type is integer, the query parameter is expressed\
  1161            \ as Age[\"bob\"]=18"
  1162          required: false
  1163          x-exportParamName: "MapValue"
  1164        - name: "mappedStringValue"
  1165          in: "query"
  1166          description: "This is a request variable of the map type. The query format\
  1167            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1168            \ is string, and the value type is integer, the query parameter is expressed\
  1169            \ as Age[\"bob\"]=18"
  1170          required: false
  1171          type: "string"
  1172          x-exportParamName: "MappedStringValue"
  1173          x-optionalDataType: "String"
  1174        - name: "mappedNestedValue"
  1175          in: "query"
  1176          description: "This is a request variable of the map type. The query format\
  1177            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1178            \ is string, and the value type is integer, the query parameter is expressed\
  1179            \ as Age[\"bob\"]=18"
  1180          required: false
  1181          x-exportParamName: "MappedNestedValue"
  1182        - name: "nonConventionalNameValue"
  1183          in: "query"
  1184          required: false
  1185          type: "string"
  1186          x-exportParamName: "NonConventionalNameValue"
  1187          x-optionalDataType: "String"
  1188        - name: "timestampValue"
  1189          in: "query"
  1190          required: false
  1191          type: "string"
  1192          format: "date-time"
  1193          x-exportParamName: "TimestampValue"
  1194          x-optionalDataType: "Time"
  1195        - name: "repeatedEnumValue"
  1196          in: "query"
  1197          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  1198            \ ZERO means 0\n - ONE: ONE means 1"
  1199          required: false
  1200          type: "array"
  1201          items:
  1202            type: "string"
  1203            enum:
  1204            - "ZERO"
  1205            - "ONE"
  1206          collectionFormat: "multi"
  1207          x-exportParamName: "RepeatedEnumValue"
  1208        - name: "repeatedEnumAnnotation"
  1209          in: "query"
  1210          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  1211            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  1212          required: false
  1213          type: "array"
  1214          items:
  1215            type: "string"
  1216            enum:
  1217            - "ZERO"
  1218            - "ONE"
  1219          collectionFormat: "multi"
  1220          x-exportParamName: "RepeatedEnumAnnotation"
  1221        - name: "enumValueAnnotation"
  1222          in: "query"
  1223          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  1224            \ ZERO means 0\n - ONE: ONE means 1"
  1225          required: false
  1226          type: "string"
  1227          default: "ZERO"
  1228          enum:
  1229          - "ZERO"
  1230          - "ONE"
  1231          x-exportParamName: "EnumValueAnnotation"
  1232          x-optionalDataType: "String"
  1233        - name: "repeatedStringAnnotation"
  1234          in: "query"
  1235          description: "Repeated string title\n\nRepeated string description."
  1236          required: false
  1237          type: "array"
  1238          items:
  1239            type: "string"
  1240          collectionFormat: "multi"
  1241          x-exportParamName: "RepeatedStringAnnotation"
  1242        - name: "nestedAnnotation.name"
  1243          in: "query"
  1244          description: "name is nested field."
  1245          required: false
  1246          type: "string"
  1247          x-exportParamName: "NestedAnnotationName"
  1248          x-optionalDataType: "String"
  1249        - name: "nestedAnnotation.amount"
  1250          in: "query"
  1251          required: false
  1252          type: "integer"
  1253          format: "int64"
  1254          x-exportParamName: "NestedAnnotationAmount"
  1255          x-optionalDataType: "Int64"
  1256        - name: "nestedAnnotation.ok"
  1257          in: "query"
  1258          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  1259            \ TRUE is true."
  1260          required: false
  1261          type: "string"
  1262          default: "FALSE"
  1263          enum:
  1264          - "FALSE"
  1265          - "TRUE"
  1266          x-exportParamName: "NestedAnnotationOk"
  1267          x-optionalDataType: "String"
  1268        - name: "int64OverrideType"
  1269          in: "query"
  1270          required: false
  1271          type: "integer"
  1272          format: "int64"
  1273          x-exportParamName: "Int64OverrideType"
  1274          x-optionalDataType: "Int64"
  1275        - name: "requiredStringViaFieldBehaviorAnnotation"
  1276          in: "query"
  1277          description: "mark a field as required in Open API definition"
  1278          required: true
  1279          type: "string"
  1280          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  1281        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  1282          in: "query"
  1283          description: "mark a field as readonly in Open API definition"
  1284          required: false
  1285          type: "string"
  1286          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  1287          x-optionalDataType: "String"
  1288        - name: "optionalStringValue"
  1289          in: "query"
  1290          required: false
  1291          type: "string"
  1292          x-exportParamName: "OptionalStringValue"
  1293          x-optionalDataType: "String"
  1294        - name: "productId"
  1295          in: "query"
  1296          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  1297            \ are allowed."
  1298          required: false
  1299          type: "array"
  1300          items:
  1301            type: "string"
  1302            minLength: 1
  1303            maxLength: 19
  1304            pattern: "^[0-9]+$"
  1305          collectionFormat: "multi"
  1306          x-exportParamName: "ProductId"
  1307        - name: "optionalStringField"
  1308          in: "query"
  1309          description: "Test openapiv2 generation of required fields with annotation\
  1310            \ and jsonschema to reproduce"
  1311          required: false
  1312          type: "string"
  1313          x-exportParamName: "OptionalStringField"
  1314          x-optionalDataType: "String"
  1315        - name: "requiredStringField1"
  1316          in: "query"
  1317          required: true
  1318          type: "string"
  1319          x-exportParamName: "RequiredStringField1"
  1320        - name: "requiredStringField2"
  1321          in: "query"
  1322          required: true
  1323          type: "string"
  1324          x-exportParamName: "RequiredStringField2"
  1325        - name: "required_field_behavior_json_name_custom"
  1326          in: "query"
  1327          description: "Test openapiv2 handling of required json_name fields"
  1328          required: true
  1329          type: "string"
  1330          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  1331        - name: "required_field_schema_json_name_custom"
  1332          in: "query"
  1333          required: true
  1334          type: "string"
  1335          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  1336        - name: "trailingOnly"
  1337          in: "query"
  1338          description: "Trailing only"
  1339          required: false
  1340          type: "string"
  1341          x-exportParamName: "TrailingOnly"
  1342          x-optionalDataType: "String"
  1343        - name: "trailingOnlyDot"
  1344          in: "query"
  1345          description: "Trailing only dot."
  1346          required: false
  1347          type: "string"
  1348          x-exportParamName: "TrailingOnlyDot"
  1349          x-optionalDataType: "String"
  1350        - name: "trailingBoth"
  1351          in: "query"
  1352          description: "Leading both\n\nTrailing both."
  1353          required: false
  1354          type: "string"
  1355          x-exportParamName: "TrailingBoth"
  1356          x-optionalDataType: "String"
  1357        - name: "trailingMultiline"
  1358          in: "query"
  1359          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  1360            \nTrailing multiline."
  1361          required: false
  1362          type: "string"
  1363          x-exportParamName: "TrailingMultiline"
  1364          x-optionalDataType: "String"
  1365        - name: "uuids"
  1366          in: "query"
  1367          description: "Specify a custom format of repeated field items"
  1368          required: false
  1369          type: "array"
  1370          items:
  1371            type: "string"
  1372            format: "uuid"
  1373          collectionFormat: "multi"
  1374          x-exportParamName: "Uuids"
  1375        responses:
  1376          200:
  1377            description: "A successful response."
  1378            schema:
  1379              $ref: "#/definitions/examplepbABitOfEverything"
  1380          403:
  1381            description: "Returned when the user does not have permission to access\
  1382              \ the resource."
  1383            schema: {}
  1384          404:
  1385            description: "Returned when the resource does not exist."
  1386            schema:
  1387              type: "string"
  1388              format: "string"
  1389          418:
  1390            description: "I'm a teapot."
  1391            schema:
  1392              $ref: "#/definitions/examplepbNumericEnum"
  1393          500:
  1394            description: "Server error"
  1395            schema:
  1396              $ref: "#/definitions/examplepbErrorResponse"
  1397          default:
  1398            description: "An unexpected error response."
  1399            schema:
  1400              $ref: "#/definitions/rpcStatus"
  1401    /v1/example/a_bit_of_everything/query/{uuidName}:
  1402      get:
  1403        tags:
  1404        - "ABitOfEverything"
  1405        operationId: "ABitOfEverythingService_GetQuery"
  1406        parameters:
  1407        - name: "uuidName"
  1408          in: "path"
  1409          required: true
  1410          type: "string"
  1411          format: "uuid"
  1412          x-internal: true
  1413          x-exportParamName: "UuidName"
  1414        - name: "singleNested.name"
  1415          in: "query"
  1416          description: "name is nested field."
  1417          required: false
  1418          type: "string"
  1419          x-exportParamName: "SingleNestedName"
  1420          x-optionalDataType: "String"
  1421        - name: "singleNested.amount"
  1422          in: "query"
  1423          required: false
  1424          type: "integer"
  1425          format: "int64"
  1426          x-exportParamName: "SingleNestedAmount"
  1427          x-optionalDataType: "Int64"
  1428        - name: "singleNested.ok"
  1429          in: "query"
  1430          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  1431            \ TRUE is true."
  1432          required: false
  1433          type: "string"
  1434          default: "FALSE"
  1435          enum:
  1436          - "FALSE"
  1437          - "TRUE"
  1438          x-exportParamName: "SingleNestedOk"
  1439          x-optionalDataType: "String"
  1440        - name: "floatValue"
  1441          in: "query"
  1442          description: "Float value field"
  1443          required: true
  1444          type: "number"
  1445          default: 0.2
  1446          format: "float"
  1447          x-exportParamName: "FloatValue"
  1448        - name: "doubleValue"
  1449          in: "query"
  1450          required: true
  1451          type: "number"
  1452          format: "double"
  1453          x-exportParamName: "DoubleValue"
  1454        - name: "int64Value"
  1455          in: "query"
  1456          required: true
  1457          type: "string"
  1458          format: "int64"
  1459          x-exportParamName: "Int64Value"
  1460        - name: "uint64Value"
  1461          in: "query"
  1462          required: false
  1463          type: "string"
  1464          format: "uint64"
  1465          x-exportParamName: "Uint64Value"
  1466          x-optionalDataType: "String"
  1467        - name: "int32Value"
  1468          in: "query"
  1469          required: false
  1470          type: "integer"
  1471          format: "int32"
  1472          x-exportParamName: "Int32Value"
  1473          x-optionalDataType: "Int32"
  1474        - name: "fixed64Value"
  1475          in: "query"
  1476          required: false
  1477          type: "string"
  1478          format: "uint64"
  1479          x-exportParamName: "Fixed64Value"
  1480          x-optionalDataType: "String"
  1481        - name: "fixed32Value"
  1482          in: "query"
  1483          required: false
  1484          type: "integer"
  1485          format: "int64"
  1486          x-exportParamName: "Fixed32Value"
  1487          x-optionalDataType: "Int64"
  1488        - name: "boolValue"
  1489          in: "query"
  1490          required: false
  1491          type: "boolean"
  1492          x-exportParamName: "BoolValue"
  1493          x-optionalDataType: "Bool"
  1494        - name: "stringValue"
  1495          in: "query"
  1496          required: false
  1497          type: "string"
  1498          x-exportParamName: "StringValue"
  1499          x-optionalDataType: "String"
  1500        - name: "bytesValue"
  1501          in: "query"
  1502          required: false
  1503          type: "string"
  1504          format: "byte"
  1505          x-exportParamName: "BytesValue"
  1506          x-optionalDataType: "String"
  1507        - name: "uint32Value"
  1508          in: "query"
  1509          required: false
  1510          type: "integer"
  1511          format: "int64"
  1512          x-exportParamName: "Uint32Value"
  1513          x-optionalDataType: "Int64"
  1514        - name: "enumValue"
  1515          in: "query"
  1516          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  1517          required: false
  1518          type: "string"
  1519          default: "ZERO"
  1520          enum:
  1521          - "ZERO"
  1522          - "ONE"
  1523          x-exportParamName: "EnumValue"
  1524          x-optionalDataType: "String"
  1525        - name: "pathEnumValue"
  1526          in: "query"
  1527          required: false
  1528          type: "string"
  1529          default: "ABC"
  1530          enum:
  1531          - "ABC"
  1532          - "DEF"
  1533          x-exportParamName: "PathEnumValue"
  1534          x-optionalDataType: "String"
  1535        - name: "nestedPathEnumValue"
  1536          in: "query"
  1537          required: false
  1538          type: "string"
  1539          default: "GHI"
  1540          enum:
  1541          - "GHI"
  1542          - "JKL"
  1543          x-exportParamName: "NestedPathEnumValue"
  1544          x-optionalDataType: "String"
  1545        - name: "sfixed32Value"
  1546          in: "query"
  1547          required: false
  1548          type: "integer"
  1549          format: "int32"
  1550          x-exportParamName: "Sfixed32Value"
  1551          x-optionalDataType: "Int32"
  1552        - name: "sfixed64Value"
  1553          in: "query"
  1554          required: false
  1555          type: "string"
  1556          format: "int64"
  1557          x-exportParamName: "Sfixed64Value"
  1558          x-optionalDataType: "String"
  1559        - name: "sint32Value"
  1560          in: "query"
  1561          required: false
  1562          type: "integer"
  1563          format: "int32"
  1564          x-exportParamName: "Sint32Value"
  1565          x-optionalDataType: "Int32"
  1566        - name: "sint64Value"
  1567          in: "query"
  1568          required: false
  1569          type: "string"
  1570          format: "int64"
  1571          x-exportParamName: "Sint64Value"
  1572          x-optionalDataType: "String"
  1573        - name: "repeatedStringValue"
  1574          in: "query"
  1575          required: false
  1576          type: "array"
  1577          items:
  1578            type: "string"
  1579          collectionFormat: "multi"
  1580          x-exportParamName: "RepeatedStringValue"
  1581        - name: "oneofEmpty"
  1582          in: "query"
  1583          required: false
  1584          type: "object"
  1585          x-exportParamName: "OneofEmpty"
  1586        - name: "oneofString"
  1587          in: "query"
  1588          required: false
  1589          type: "string"
  1590          x-exportParamName: "OneofString"
  1591          x-optionalDataType: "String"
  1592        - name: "mapValue"
  1593          in: "query"
  1594          description: "This is a request variable of the map type. The query format\
  1595            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1596            \ is string, and the value type is integer, the query parameter is expressed\
  1597            \ as Age[\"bob\"]=18"
  1598          required: false
  1599          x-exportParamName: "MapValue"
  1600        - name: "mappedStringValue"
  1601          in: "query"
  1602          description: "This is a request variable of the map type. The query format\
  1603            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1604            \ is string, and the value type is integer, the query parameter is expressed\
  1605            \ as Age[\"bob\"]=18"
  1606          required: false
  1607          type: "string"
  1608          x-exportParamName: "MappedStringValue"
  1609          x-optionalDataType: "String"
  1610        - name: "mappedNestedValue"
  1611          in: "query"
  1612          description: "This is a request variable of the map type. The query format\
  1613            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  1614            \ is string, and the value type is integer, the query parameter is expressed\
  1615            \ as Age[\"bob\"]=18"
  1616          required: false
  1617          x-exportParamName: "MappedNestedValue"
  1618        - name: "nonConventionalNameValue"
  1619          in: "query"
  1620          required: false
  1621          type: "string"
  1622          x-exportParamName: "NonConventionalNameValue"
  1623          x-optionalDataType: "String"
  1624        - name: "timestampValue"
  1625          in: "query"
  1626          required: false
  1627          type: "string"
  1628          format: "date-time"
  1629          x-exportParamName: "TimestampValue"
  1630          x-optionalDataType: "Time"
  1631        - name: "repeatedEnumValue"
  1632          in: "query"
  1633          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  1634            \ ZERO means 0\n - ONE: ONE means 1"
  1635          required: false
  1636          type: "array"
  1637          items:
  1638            type: "string"
  1639            enum:
  1640            - "ZERO"
  1641            - "ONE"
  1642          collectionFormat: "multi"
  1643          x-exportParamName: "RepeatedEnumValue"
  1644        - name: "repeatedEnumAnnotation"
  1645          in: "query"
  1646          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  1647            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  1648          required: false
  1649          type: "array"
  1650          items:
  1651            type: "string"
  1652            enum:
  1653            - "ZERO"
  1654            - "ONE"
  1655          collectionFormat: "multi"
  1656          x-exportParamName: "RepeatedEnumAnnotation"
  1657        - name: "enumValueAnnotation"
  1658          in: "query"
  1659          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  1660            \ ZERO means 0\n - ONE: ONE means 1"
  1661          required: false
  1662          type: "string"
  1663          default: "ZERO"
  1664          enum:
  1665          - "ZERO"
  1666          - "ONE"
  1667          x-exportParamName: "EnumValueAnnotation"
  1668          x-optionalDataType: "String"
  1669        - name: "repeatedStringAnnotation"
  1670          in: "query"
  1671          description: "Repeated string title\n\nRepeated string description."
  1672          required: false
  1673          type: "array"
  1674          items:
  1675            type: "string"
  1676          collectionFormat: "multi"
  1677          x-exportParamName: "RepeatedStringAnnotation"
  1678        - name: "nestedAnnotation.name"
  1679          in: "query"
  1680          description: "name is nested field."
  1681          required: false
  1682          type: "string"
  1683          x-exportParamName: "NestedAnnotationName"
  1684          x-optionalDataType: "String"
  1685        - name: "nestedAnnotation.amount"
  1686          in: "query"
  1687          required: false
  1688          type: "integer"
  1689          format: "int64"
  1690          x-exportParamName: "NestedAnnotationAmount"
  1691          x-optionalDataType: "Int64"
  1692        - name: "nestedAnnotation.ok"
  1693          in: "query"
  1694          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  1695            \ TRUE is true."
  1696          required: false
  1697          type: "string"
  1698          default: "FALSE"
  1699          enum:
  1700          - "FALSE"
  1701          - "TRUE"
  1702          x-exportParamName: "NestedAnnotationOk"
  1703          x-optionalDataType: "String"
  1704        - name: "int64OverrideType"
  1705          in: "query"
  1706          required: false
  1707          type: "integer"
  1708          format: "int64"
  1709          x-exportParamName: "Int64OverrideType"
  1710          x-optionalDataType: "Int64"
  1711        - name: "requiredStringViaFieldBehaviorAnnotation"
  1712          in: "query"
  1713          description: "mark a field as required in Open API definition"
  1714          required: true
  1715          type: "string"
  1716          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  1717        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  1718          in: "query"
  1719          description: "mark a field as readonly in Open API definition"
  1720          required: false
  1721          type: "string"
  1722          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  1723          x-optionalDataType: "String"
  1724        - name: "optionalStringValue"
  1725          in: "query"
  1726          required: false
  1727          type: "string"
  1728          x-exportParamName: "OptionalStringValue"
  1729          x-optionalDataType: "String"
  1730        - name: "productId"
  1731          in: "query"
  1732          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  1733            \ are allowed."
  1734          required: false
  1735          type: "array"
  1736          items:
  1737            type: "string"
  1738            minLength: 1
  1739            maxLength: 19
  1740            pattern: "^[0-9]+$"
  1741          collectionFormat: "multi"
  1742          x-exportParamName: "ProductId"
  1743        - name: "optionalStringField"
  1744          in: "query"
  1745          description: "Test openapiv2 generation of required fields with annotation\
  1746            \ and jsonschema to reproduce"
  1747          required: false
  1748          type: "string"
  1749          x-exportParamName: "OptionalStringField"
  1750          x-optionalDataType: "String"
  1751        - name: "requiredStringField1"
  1752          in: "query"
  1753          required: true
  1754          type: "string"
  1755          x-exportParamName: "RequiredStringField1"
  1756        - name: "requiredStringField2"
  1757          in: "query"
  1758          required: true
  1759          type: "string"
  1760          x-exportParamName: "RequiredStringField2"
  1761        - name: "required_field_behavior_json_name_custom"
  1762          in: "query"
  1763          description: "Test openapiv2 handling of required json_name fields"
  1764          required: true
  1765          type: "string"
  1766          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  1767        - name: "required_field_schema_json_name_custom"
  1768          in: "query"
  1769          required: true
  1770          type: "string"
  1771          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  1772        - name: "trailingOnly"
  1773          in: "query"
  1774          description: "Trailing only"
  1775          required: false
  1776          type: "string"
  1777          x-exportParamName: "TrailingOnly"
  1778          x-optionalDataType: "String"
  1779        - name: "trailingOnlyDot"
  1780          in: "query"
  1781          description: "Trailing only dot."
  1782          required: false
  1783          type: "string"
  1784          x-exportParamName: "TrailingOnlyDot"
  1785          x-optionalDataType: "String"
  1786        - name: "trailingBoth"
  1787          in: "query"
  1788          description: "Leading both\n\nTrailing both."
  1789          required: false
  1790          type: "string"
  1791          x-exportParamName: "TrailingBoth"
  1792          x-optionalDataType: "String"
  1793        - name: "trailingMultiline"
  1794          in: "query"
  1795          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  1796            \nTrailing multiline."
  1797          required: false
  1798          type: "string"
  1799          x-exportParamName: "TrailingMultiline"
  1800          x-optionalDataType: "String"
  1801        - name: "uuids"
  1802          in: "query"
  1803          description: "Specify a custom format of repeated field items"
  1804          required: false
  1805          type: "array"
  1806          items:
  1807            type: "string"
  1808            format: "uuid"
  1809          collectionFormat: "multi"
  1810          x-exportParamName: "Uuids"
  1811        responses:
  1812          200:
  1813            description: "A successful response."
  1814            schema:
  1815              type: "object"
  1816          403:
  1817            description: "Returned when the user does not have permission to access\
  1818              \ the resource."
  1819            schema: {}
  1820          404:
  1821            description: "Returned when the resource does not exist."
  1822            schema:
  1823              type: "string"
  1824              format: "string"
  1825          418:
  1826            description: "I'm a teapot."
  1827            schema:
  1828              $ref: "#/definitions/examplepbNumericEnum"
  1829          500:
  1830            description: "Server error"
  1831            schema:
  1832              $ref: "#/definitions/examplepbErrorResponse"
  1833          default:
  1834            description: "An unexpected error response."
  1835            schema:
  1836              $ref: "#/definitions/rpcStatus"
  1837        security: []
  1838        externalDocs:
  1839          description: "Find out more about GetQuery"
  1840          url: "https://github.com/grpc-ecosystem/grpc-gateway"
  1841        deprecated: true
  1842    ? /v1/example/a_bit_of_everything/{floatValue}/{doubleValue}/{int64Value}/separator/{uint64Value}/{int32Value}/{fixed64Value}/{fixed32Value}/{boolValue}/{stringValue}/{uint32Value}/{sfixed32Value}/{sfixed64Value}/{sint32Value}/{sint64Value}/{nonConventionalNameValue}/{enumValue}/{pathEnumValue}/{nestedPathEnumValue}/{enumValueAnnotation}
  1843    : post:
  1844        tags:
  1845        - "ABitOfEverythingService"
  1846        summary: "Create a new ABitOfEverything"
  1847        description: "This API creates a new ABitOfEverything"
  1848        operationId: "ABitOfEverythingService_Create"
  1849        parameters:
  1850        - name: "floatValue"
  1851          in: "path"
  1852          description: "Float value field"
  1853          required: true
  1854          type: "number"
  1855          default: 0.2
  1856          format: "float"
  1857          x-exportParamName: "FloatValue"
  1858        - name: "doubleValue"
  1859          in: "path"
  1860          required: true
  1861          type: "number"
  1862          format: "double"
  1863          x-exportParamName: "DoubleValue"
  1864        - name: "int64Value"
  1865          in: "path"
  1866          required: true
  1867          type: "string"
  1868          format: "int64"
  1869          x-exportParamName: "Int64Value"
  1870        - name: "uint64Value"
  1871          in: "path"
  1872          required: true
  1873          type: "string"
  1874          format: "uint64"
  1875          x-exportParamName: "Uint64Value"
  1876        - name: "int32Value"
  1877          in: "path"
  1878          required: true
  1879          type: "integer"
  1880          format: "int32"
  1881          x-exportParamName: "Int32Value"
  1882        - name: "fixed64Value"
  1883          in: "path"
  1884          required: true
  1885          type: "string"
  1886          format: "uint64"
  1887          x-exportParamName: "Fixed64Value"
  1888        - name: "fixed32Value"
  1889          in: "path"
  1890          required: true
  1891          type: "integer"
  1892          format: "int64"
  1893          x-exportParamName: "Fixed32Value"
  1894        - name: "boolValue"
  1895          in: "path"
  1896          required: true
  1897          type: "boolean"
  1898          x-exportParamName: "BoolValue"
  1899        - name: "stringValue"
  1900          in: "path"
  1901          required: true
  1902          type: "string"
  1903          pattern: "strprefix/[^/]+"
  1904          x-exportParamName: "StringValue"
  1905        - name: "uint32Value"
  1906          in: "path"
  1907          required: true
  1908          type: "integer"
  1909          format: "int64"
  1910          x-exportParamName: "Uint32Value"
  1911        - name: "sfixed32Value"
  1912          in: "path"
  1913          required: true
  1914          type: "integer"
  1915          format: "int32"
  1916          x-exportParamName: "Sfixed32Value"
  1917        - name: "sfixed64Value"
  1918          in: "path"
  1919          required: true
  1920          type: "string"
  1921          format: "int64"
  1922          x-exportParamName: "Sfixed64Value"
  1923        - name: "sint32Value"
  1924          in: "path"
  1925          required: true
  1926          type: "integer"
  1927          format: "int32"
  1928          x-exportParamName: "Sint32Value"
  1929        - name: "sint64Value"
  1930          in: "path"
  1931          required: true
  1932          type: "string"
  1933          format: "int64"
  1934          x-exportParamName: "Sint64Value"
  1935        - name: "nonConventionalNameValue"
  1936          in: "path"
  1937          required: true
  1938          type: "string"
  1939          x-exportParamName: "NonConventionalNameValue"
  1940        - name: "enumValue"
  1941          in: "path"
  1942          required: true
  1943          type: "string"
  1944          enum:
  1945          - "ZERO"
  1946          - "ONE"
  1947          x-exportParamName: "EnumValue"
  1948        - name: "pathEnumValue"
  1949          in: "path"
  1950          required: true
  1951          type: "string"
  1952          enum:
  1953          - "ABC"
  1954          - "DEF"
  1955          x-exportParamName: "PathEnumValue"
  1956        - name: "nestedPathEnumValue"
  1957          in: "path"
  1958          required: true
  1959          type: "string"
  1960          enum:
  1961          - "GHI"
  1962          - "JKL"
  1963          x-exportParamName: "NestedPathEnumValue"
  1964        - name: "enumValueAnnotation"
  1965          in: "path"
  1966          description: "Numeric enum description."
  1967          required: true
  1968          type: "string"
  1969          enum:
  1970          - "ZERO"
  1971          - "ONE"
  1972          x-exportParamName: "EnumValueAnnotation"
  1973        - name: "singleNested.name"
  1974          in: "query"
  1975          description: "name is nested field."
  1976          required: false
  1977          type: "string"
  1978          x-exportParamName: "SingleNestedName"
  1979          x-optionalDataType: "String"
  1980        - name: "singleNested.amount"
  1981          in: "query"
  1982          required: false
  1983          type: "integer"
  1984          format: "int64"
  1985          x-exportParamName: "SingleNestedAmount"
  1986          x-optionalDataType: "Int64"
  1987        - name: "singleNested.ok"
  1988          in: "query"
  1989          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  1990            \ TRUE is true."
  1991          required: false
  1992          type: "string"
  1993          default: "FALSE"
  1994          enum:
  1995          - "FALSE"
  1996          - "TRUE"
  1997          x-exportParamName: "SingleNestedOk"
  1998          x-optionalDataType: "String"
  1999        - name: "uuid"
  2000          in: "query"
  2001          required: true
  2002          type: "string"
  2003          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
  2004          format: "uuid"
  2005          x-internal: true
  2006          x-exportParamName: "Uuid"
  2007        - name: "bytesValue"
  2008          in: "query"
  2009          required: false
  2010          type: "string"
  2011          format: "byte"
  2012          x-exportParamName: "BytesValue"
  2013          x-optionalDataType: "String"
  2014        - name: "repeatedStringValue"
  2015          in: "query"
  2016          required: false
  2017          type: "array"
  2018          items:
  2019            type: "string"
  2020          collectionFormat: "multi"
  2021          x-exportParamName: "RepeatedStringValue"
  2022        - name: "oneofEmpty"
  2023          in: "query"
  2024          required: false
  2025          type: "object"
  2026          x-exportParamName: "OneofEmpty"
  2027        - name: "oneofString"
  2028          in: "query"
  2029          required: false
  2030          type: "string"
  2031          x-exportParamName: "OneofString"
  2032          x-optionalDataType: "String"
  2033        - name: "mapValue"
  2034          in: "query"
  2035          description: "This is a request variable of the map type. The query format\
  2036            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2037            \ is string, and the value type is integer, the query parameter is expressed\
  2038            \ as Age[\"bob\"]=18"
  2039          required: false
  2040          x-exportParamName: "MapValue"
  2041        - name: "mappedStringValue"
  2042          in: "query"
  2043          description: "This is a request variable of the map type. The query format\
  2044            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2045            \ is string, and the value type is integer, the query parameter is expressed\
  2046            \ as Age[\"bob\"]=18"
  2047          required: false
  2048          type: "string"
  2049          x-exportParamName: "MappedStringValue"
  2050          x-optionalDataType: "String"
  2051        - name: "mappedNestedValue"
  2052          in: "query"
  2053          description: "This is a request variable of the map type. The query format\
  2054            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2055            \ is string, and the value type is integer, the query parameter is expressed\
  2056            \ as Age[\"bob\"]=18"
  2057          required: false
  2058          x-exportParamName: "MappedNestedValue"
  2059        - name: "timestampValue"
  2060          in: "query"
  2061          required: false
  2062          type: "string"
  2063          format: "date-time"
  2064          x-exportParamName: "TimestampValue"
  2065          x-optionalDataType: "Time"
  2066        - name: "repeatedEnumValue"
  2067          in: "query"
  2068          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  2069            \ ZERO means 0\n - ONE: ONE means 1"
  2070          required: false
  2071          type: "array"
  2072          items:
  2073            type: "string"
  2074            enum:
  2075            - "ZERO"
  2076            - "ONE"
  2077          collectionFormat: "multi"
  2078          x-exportParamName: "RepeatedEnumValue"
  2079        - name: "repeatedEnumAnnotation"
  2080          in: "query"
  2081          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  2082            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  2083          required: false
  2084          type: "array"
  2085          items:
  2086            type: "string"
  2087            enum:
  2088            - "ZERO"
  2089            - "ONE"
  2090          collectionFormat: "multi"
  2091          x-exportParamName: "RepeatedEnumAnnotation"
  2092        - name: "repeatedStringAnnotation"
  2093          in: "query"
  2094          description: "Repeated string title\n\nRepeated string description."
  2095          required: false
  2096          type: "array"
  2097          items:
  2098            type: "string"
  2099          collectionFormat: "multi"
  2100          x-exportParamName: "RepeatedStringAnnotation"
  2101        - name: "nestedAnnotation.name"
  2102          in: "query"
  2103          description: "name is nested field."
  2104          required: false
  2105          type: "string"
  2106          x-exportParamName: "NestedAnnotationName"
  2107          x-optionalDataType: "String"
  2108        - name: "nestedAnnotation.amount"
  2109          in: "query"
  2110          required: false
  2111          type: "integer"
  2112          format: "int64"
  2113          x-exportParamName: "NestedAnnotationAmount"
  2114          x-optionalDataType: "Int64"
  2115        - name: "nestedAnnotation.ok"
  2116          in: "query"
  2117          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  2118            \ TRUE is true."
  2119          required: false
  2120          type: "string"
  2121          default: "FALSE"
  2122          enum:
  2123          - "FALSE"
  2124          - "TRUE"
  2125          x-exportParamName: "NestedAnnotationOk"
  2126          x-optionalDataType: "String"
  2127        - name: "int64OverrideType"
  2128          in: "query"
  2129          required: false
  2130          type: "integer"
  2131          format: "int64"
  2132          x-exportParamName: "Int64OverrideType"
  2133          x-optionalDataType: "Int64"
  2134        - name: "requiredStringViaFieldBehaviorAnnotation"
  2135          in: "query"
  2136          description: "mark a field as required in Open API definition"
  2137          required: true
  2138          type: "string"
  2139          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  2140        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  2141          in: "query"
  2142          description: "mark a field as readonly in Open API definition"
  2143          required: false
  2144          type: "string"
  2145          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  2146          x-optionalDataType: "String"
  2147        - name: "optionalStringValue"
  2148          in: "query"
  2149          required: false
  2150          type: "string"
  2151          x-exportParamName: "OptionalStringValue"
  2152          x-optionalDataType: "String"
  2153        - name: "productId"
  2154          in: "query"
  2155          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  2156            \ are allowed."
  2157          required: false
  2158          type: "array"
  2159          items:
  2160            type: "string"
  2161            minLength: 1
  2162            maxLength: 19
  2163            pattern: "^[0-9]+$"
  2164          collectionFormat: "multi"
  2165          x-exportParamName: "ProductId"
  2166        - name: "optionalStringField"
  2167          in: "query"
  2168          description: "Test openapiv2 generation of required fields with annotation\
  2169            \ and jsonschema to reproduce"
  2170          required: false
  2171          type: "string"
  2172          x-exportParamName: "OptionalStringField"
  2173          x-optionalDataType: "String"
  2174        - name: "requiredStringField1"
  2175          in: "query"
  2176          required: true
  2177          type: "string"
  2178          x-exportParamName: "RequiredStringField1"
  2179        - name: "requiredStringField2"
  2180          in: "query"
  2181          required: true
  2182          type: "string"
  2183          x-exportParamName: "RequiredStringField2"
  2184        - name: "required_field_behavior_json_name_custom"
  2185          in: "query"
  2186          description: "Test openapiv2 handling of required json_name fields"
  2187          required: true
  2188          type: "string"
  2189          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  2190        - name: "required_field_schema_json_name_custom"
  2191          in: "query"
  2192          required: true
  2193          type: "string"
  2194          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  2195        - name: "trailingOnly"
  2196          in: "query"
  2197          description: "Trailing only"
  2198          required: false
  2199          type: "string"
  2200          x-exportParamName: "TrailingOnly"
  2201          x-optionalDataType: "String"
  2202        - name: "trailingOnlyDot"
  2203          in: "query"
  2204          description: "Trailing only dot."
  2205          required: false
  2206          type: "string"
  2207          x-exportParamName: "TrailingOnlyDot"
  2208          x-optionalDataType: "String"
  2209        - name: "trailingBoth"
  2210          in: "query"
  2211          description: "Leading both\n\nTrailing both."
  2212          required: false
  2213          type: "string"
  2214          x-exportParamName: "TrailingBoth"
  2215          x-optionalDataType: "String"
  2216        - name: "trailingMultiline"
  2217          in: "query"
  2218          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  2219            \nTrailing multiline."
  2220          required: false
  2221          type: "string"
  2222          x-exportParamName: "TrailingMultiline"
  2223          x-optionalDataType: "String"
  2224        - name: "uuids"
  2225          in: "query"
  2226          description: "Specify a custom format of repeated field items"
  2227          required: false
  2228          type: "array"
  2229          items:
  2230            type: "string"
  2231            format: "uuid"
  2232          collectionFormat: "multi"
  2233          x-exportParamName: "Uuids"
  2234        responses:
  2235          200:
  2236            description: "A successful response."
  2237            schema:
  2238              $ref: "#/definitions/examplepbABitOfEverything"
  2239          403:
  2240            description: "Returned when the user does not have permission to access\
  2241              \ the resource."
  2242            schema: {}
  2243          404:
  2244            description: "Returned when the resource does not exist."
  2245            schema:
  2246              type: "string"
  2247              format: "string"
  2248          418:
  2249            description: "I'm a teapot."
  2250            schema:
  2251              $ref: "#/definitions/examplepbNumericEnum"
  2252          500:
  2253            description: "Server error"
  2254            schema:
  2255              $ref: "#/definitions/examplepbErrorResponse"
  2256          default:
  2257            description: "An unexpected error response."
  2258            schema:
  2259              $ref: "#/definitions/rpcStatus"
  2260    /v1/example/a_bit_of_everything/{uuidName}:
  2261      head:
  2262        tags:
  2263        - "ABitOfEverythingService"
  2264        operationId: "ABitOfEverythingService_Exists"
  2265        parameters:
  2266        - name: "uuidName"
  2267          in: "path"
  2268          required: true
  2269          type: "string"
  2270          format: "uuid"
  2271          x-internal: true
  2272          x-exportParamName: "UuidName"
  2273        - name: "singleNested.name"
  2274          in: "query"
  2275          description: "name is nested field."
  2276          required: false
  2277          type: "string"
  2278          x-exportParamName: "SingleNestedName"
  2279          x-optionalDataType: "String"
  2280        - name: "singleNested.amount"
  2281          in: "query"
  2282          required: false
  2283          type: "integer"
  2284          format: "int64"
  2285          x-exportParamName: "SingleNestedAmount"
  2286          x-optionalDataType: "Int64"
  2287        - name: "singleNested.ok"
  2288          in: "query"
  2289          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  2290            \ TRUE is true."
  2291          required: false
  2292          type: "string"
  2293          default: "FALSE"
  2294          enum:
  2295          - "FALSE"
  2296          - "TRUE"
  2297          x-exportParamName: "SingleNestedOk"
  2298          x-optionalDataType: "String"
  2299        - name: "floatValue"
  2300          in: "query"
  2301          description: "Float value field"
  2302          required: true
  2303          type: "number"
  2304          default: 0.2
  2305          format: "float"
  2306          x-exportParamName: "FloatValue"
  2307        - name: "doubleValue"
  2308          in: "query"
  2309          required: true
  2310          type: "number"
  2311          format: "double"
  2312          x-exportParamName: "DoubleValue"
  2313        - name: "int64Value"
  2314          in: "query"
  2315          required: true
  2316          type: "string"
  2317          format: "int64"
  2318          x-exportParamName: "Int64Value"
  2319        - name: "uint64Value"
  2320          in: "query"
  2321          required: false
  2322          type: "string"
  2323          format: "uint64"
  2324          x-exportParamName: "Uint64Value"
  2325          x-optionalDataType: "String"
  2326        - name: "int32Value"
  2327          in: "query"
  2328          required: false
  2329          type: "integer"
  2330          format: "int32"
  2331          x-exportParamName: "Int32Value"
  2332          x-optionalDataType: "Int32"
  2333        - name: "fixed64Value"
  2334          in: "query"
  2335          required: false
  2336          type: "string"
  2337          format: "uint64"
  2338          x-exportParamName: "Fixed64Value"
  2339          x-optionalDataType: "String"
  2340        - name: "fixed32Value"
  2341          in: "query"
  2342          required: false
  2343          type: "integer"
  2344          format: "int64"
  2345          x-exportParamName: "Fixed32Value"
  2346          x-optionalDataType: "Int64"
  2347        - name: "boolValue"
  2348          in: "query"
  2349          required: false
  2350          type: "boolean"
  2351          x-exportParamName: "BoolValue"
  2352          x-optionalDataType: "Bool"
  2353        - name: "stringValue"
  2354          in: "query"
  2355          required: false
  2356          type: "string"
  2357          x-exportParamName: "StringValue"
  2358          x-optionalDataType: "String"
  2359        - name: "bytesValue"
  2360          in: "query"
  2361          required: false
  2362          type: "string"
  2363          format: "byte"
  2364          x-exportParamName: "BytesValue"
  2365          x-optionalDataType: "String"
  2366        - name: "uint32Value"
  2367          in: "query"
  2368          required: false
  2369          type: "integer"
  2370          format: "int64"
  2371          x-exportParamName: "Uint32Value"
  2372          x-optionalDataType: "Int64"
  2373        - name: "enumValue"
  2374          in: "query"
  2375          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  2376          required: false
  2377          type: "string"
  2378          default: "ZERO"
  2379          enum:
  2380          - "ZERO"
  2381          - "ONE"
  2382          x-exportParamName: "EnumValue"
  2383          x-optionalDataType: "String"
  2384        - name: "pathEnumValue"
  2385          in: "query"
  2386          required: false
  2387          type: "string"
  2388          default: "ABC"
  2389          enum:
  2390          - "ABC"
  2391          - "DEF"
  2392          x-exportParamName: "PathEnumValue"
  2393          x-optionalDataType: "String"
  2394        - name: "nestedPathEnumValue"
  2395          in: "query"
  2396          required: false
  2397          type: "string"
  2398          default: "GHI"
  2399          enum:
  2400          - "GHI"
  2401          - "JKL"
  2402          x-exportParamName: "NestedPathEnumValue"
  2403          x-optionalDataType: "String"
  2404        - name: "sfixed32Value"
  2405          in: "query"
  2406          required: false
  2407          type: "integer"
  2408          format: "int32"
  2409          x-exportParamName: "Sfixed32Value"
  2410          x-optionalDataType: "Int32"
  2411        - name: "sfixed64Value"
  2412          in: "query"
  2413          required: false
  2414          type: "string"
  2415          format: "int64"
  2416          x-exportParamName: "Sfixed64Value"
  2417          x-optionalDataType: "String"
  2418        - name: "sint32Value"
  2419          in: "query"
  2420          required: false
  2421          type: "integer"
  2422          format: "int32"
  2423          x-exportParamName: "Sint32Value"
  2424          x-optionalDataType: "Int32"
  2425        - name: "sint64Value"
  2426          in: "query"
  2427          required: false
  2428          type: "string"
  2429          format: "int64"
  2430          x-exportParamName: "Sint64Value"
  2431          x-optionalDataType: "String"
  2432        - name: "repeatedStringValue"
  2433          in: "query"
  2434          required: false
  2435          type: "array"
  2436          items:
  2437            type: "string"
  2438          collectionFormat: "multi"
  2439          x-exportParamName: "RepeatedStringValue"
  2440        - name: "oneofEmpty"
  2441          in: "query"
  2442          required: false
  2443          type: "object"
  2444          x-exportParamName: "OneofEmpty"
  2445        - name: "oneofString"
  2446          in: "query"
  2447          required: false
  2448          type: "string"
  2449          x-exportParamName: "OneofString"
  2450          x-optionalDataType: "String"
  2451        - name: "mapValue"
  2452          in: "query"
  2453          description: "This is a request variable of the map type. The query format\
  2454            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2455            \ is string, and the value type is integer, the query parameter is expressed\
  2456            \ as Age[\"bob\"]=18"
  2457          required: false
  2458          x-exportParamName: "MapValue"
  2459        - name: "mappedStringValue"
  2460          in: "query"
  2461          description: "This is a request variable of the map type. The query format\
  2462            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2463            \ is string, and the value type is integer, the query parameter is expressed\
  2464            \ as Age[\"bob\"]=18"
  2465          required: false
  2466          type: "string"
  2467          x-exportParamName: "MappedStringValue"
  2468          x-optionalDataType: "String"
  2469        - name: "mappedNestedValue"
  2470          in: "query"
  2471          description: "This is a request variable of the map type. The query format\
  2472            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2473            \ is string, and the value type is integer, the query parameter is expressed\
  2474            \ as Age[\"bob\"]=18"
  2475          required: false
  2476          x-exportParamName: "MappedNestedValue"
  2477        - name: "nonConventionalNameValue"
  2478          in: "query"
  2479          required: false
  2480          type: "string"
  2481          x-exportParamName: "NonConventionalNameValue"
  2482          x-optionalDataType: "String"
  2483        - name: "timestampValue"
  2484          in: "query"
  2485          required: false
  2486          type: "string"
  2487          format: "date-time"
  2488          x-exportParamName: "TimestampValue"
  2489          x-optionalDataType: "Time"
  2490        - name: "repeatedEnumValue"
  2491          in: "query"
  2492          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  2493            \ ZERO means 0\n - ONE: ONE means 1"
  2494          required: false
  2495          type: "array"
  2496          items:
  2497            type: "string"
  2498            enum:
  2499            - "ZERO"
  2500            - "ONE"
  2501          collectionFormat: "multi"
  2502          x-exportParamName: "RepeatedEnumValue"
  2503        - name: "repeatedEnumAnnotation"
  2504          in: "query"
  2505          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  2506            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  2507          required: false
  2508          type: "array"
  2509          items:
  2510            type: "string"
  2511            enum:
  2512            - "ZERO"
  2513            - "ONE"
  2514          collectionFormat: "multi"
  2515          x-exportParamName: "RepeatedEnumAnnotation"
  2516        - name: "enumValueAnnotation"
  2517          in: "query"
  2518          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  2519            \ ZERO means 0\n - ONE: ONE means 1"
  2520          required: false
  2521          type: "string"
  2522          default: "ZERO"
  2523          enum:
  2524          - "ZERO"
  2525          - "ONE"
  2526          x-exportParamName: "EnumValueAnnotation"
  2527          x-optionalDataType: "String"
  2528        - name: "repeatedStringAnnotation"
  2529          in: "query"
  2530          description: "Repeated string title\n\nRepeated string description."
  2531          required: false
  2532          type: "array"
  2533          items:
  2534            type: "string"
  2535          collectionFormat: "multi"
  2536          x-exportParamName: "RepeatedStringAnnotation"
  2537        - name: "nestedAnnotation.name"
  2538          in: "query"
  2539          description: "name is nested field."
  2540          required: false
  2541          type: "string"
  2542          x-exportParamName: "NestedAnnotationName"
  2543          x-optionalDataType: "String"
  2544        - name: "nestedAnnotation.amount"
  2545          in: "query"
  2546          required: false
  2547          type: "integer"
  2548          format: "int64"
  2549          x-exportParamName: "NestedAnnotationAmount"
  2550          x-optionalDataType: "Int64"
  2551        - name: "nestedAnnotation.ok"
  2552          in: "query"
  2553          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  2554            \ TRUE is true."
  2555          required: false
  2556          type: "string"
  2557          default: "FALSE"
  2558          enum:
  2559          - "FALSE"
  2560          - "TRUE"
  2561          x-exportParamName: "NestedAnnotationOk"
  2562          x-optionalDataType: "String"
  2563        - name: "int64OverrideType"
  2564          in: "query"
  2565          required: false
  2566          type: "integer"
  2567          format: "int64"
  2568          x-exportParamName: "Int64OverrideType"
  2569          x-optionalDataType: "Int64"
  2570        - name: "requiredStringViaFieldBehaviorAnnotation"
  2571          in: "query"
  2572          description: "mark a field as required in Open API definition"
  2573          required: true
  2574          type: "string"
  2575          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  2576        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  2577          in: "query"
  2578          description: "mark a field as readonly in Open API definition"
  2579          required: false
  2580          type: "string"
  2581          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  2582          x-optionalDataType: "String"
  2583        - name: "optionalStringValue"
  2584          in: "query"
  2585          required: false
  2586          type: "string"
  2587          x-exportParamName: "OptionalStringValue"
  2588          x-optionalDataType: "String"
  2589        - name: "productId"
  2590          in: "query"
  2591          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  2592            \ are allowed."
  2593          required: false
  2594          type: "array"
  2595          items:
  2596            type: "string"
  2597            minLength: 1
  2598            maxLength: 19
  2599            pattern: "^[0-9]+$"
  2600          collectionFormat: "multi"
  2601          x-exportParamName: "ProductId"
  2602        - name: "optionalStringField"
  2603          in: "query"
  2604          description: "Test openapiv2 generation of required fields with annotation\
  2605            \ and jsonschema to reproduce"
  2606          required: false
  2607          type: "string"
  2608          x-exportParamName: "OptionalStringField"
  2609          x-optionalDataType: "String"
  2610        - name: "requiredStringField1"
  2611          in: "query"
  2612          required: true
  2613          type: "string"
  2614          x-exportParamName: "RequiredStringField1"
  2615        - name: "requiredStringField2"
  2616          in: "query"
  2617          required: true
  2618          type: "string"
  2619          x-exportParamName: "RequiredStringField2"
  2620        - name: "required_field_behavior_json_name_custom"
  2621          in: "query"
  2622          description: "Test openapiv2 handling of required json_name fields"
  2623          required: true
  2624          type: "string"
  2625          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  2626        - name: "required_field_schema_json_name_custom"
  2627          in: "query"
  2628          required: true
  2629          type: "string"
  2630          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  2631        - name: "trailingOnly"
  2632          in: "query"
  2633          description: "Trailing only"
  2634          required: false
  2635          type: "string"
  2636          x-exportParamName: "TrailingOnly"
  2637          x-optionalDataType: "String"
  2638        - name: "trailingOnlyDot"
  2639          in: "query"
  2640          description: "Trailing only dot."
  2641          required: false
  2642          type: "string"
  2643          x-exportParamName: "TrailingOnlyDot"
  2644          x-optionalDataType: "String"
  2645        - name: "trailingBoth"
  2646          in: "query"
  2647          description: "Leading both\n\nTrailing both."
  2648          required: false
  2649          type: "string"
  2650          x-exportParamName: "TrailingBoth"
  2651          x-optionalDataType: "String"
  2652        - name: "trailingMultiline"
  2653          in: "query"
  2654          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  2655            \nTrailing multiline."
  2656          required: false
  2657          type: "string"
  2658          x-exportParamName: "TrailingMultiline"
  2659          x-optionalDataType: "String"
  2660        - name: "uuids"
  2661          in: "query"
  2662          description: "Specify a custom format of repeated field items"
  2663          required: false
  2664          type: "array"
  2665          items:
  2666            type: "string"
  2667            format: "uuid"
  2668          collectionFormat: "multi"
  2669          x-exportParamName: "Uuids"
  2670        responses:
  2671          200:
  2672            description: "A successful response."
  2673            schema:
  2674              type: "object"
  2675          default:
  2676            description: "An unexpected error response."
  2677            schema:
  2678              $ref: "#/definitions/rpcStatus"
  2679      put:
  2680        tags:
  2681        - "ABitOfEverythingService"
  2682        operationId: "ABitOfEverythingService_Update"
  2683        parameters:
  2684        - name: "uuidName"
  2685          in: "path"
  2686          required: true
  2687          type: "string"
  2688          format: "uuid"
  2689          x-internal: true
  2690          x-exportParamName: "UuidName"
  2691        - in: "body"
  2692          name: "body"
  2693          required: true
  2694          schema:
  2695            $ref: "#/definitions/examplepbABitOfEverythingServiceUpdateBody"
  2696          x-exportParamName: "Body"
  2697        responses:
  2698          200:
  2699            description: "A successful response."
  2700            schema:
  2701              type: "object"
  2702          403:
  2703            description: "Returned when the user does not have permission to access\
  2704              \ the resource."
  2705            schema: {}
  2706          404:
  2707            description: "Returned when the resource does not exist."
  2708            schema:
  2709              type: "string"
  2710              format: "string"
  2711          418:
  2712            description: "I'm a teapot."
  2713            schema:
  2714              $ref: "#/definitions/examplepbNumericEnum"
  2715          500:
  2716            description: "Server error"
  2717            schema:
  2718              $ref: "#/definitions/examplepbErrorResponse"
  2719          default:
  2720            description: "An unexpected error response."
  2721            schema:
  2722              $ref: "#/definitions/rpcStatus"
  2723      options:
  2724        tags:
  2725        - "ABitOfEverythingService"
  2726        operationId: "ABitOfEverythingService_CustomOptionsRequest"
  2727        parameters:
  2728        - name: "uuidName"
  2729          in: "path"
  2730          required: true
  2731          type: "string"
  2732          format: "uuid"
  2733          x-internal: true
  2734          x-exportParamName: "UuidName"
  2735        - name: "singleNested.name"
  2736          in: "query"
  2737          description: "name is nested field."
  2738          required: false
  2739          type: "string"
  2740          x-exportParamName: "SingleNestedName"
  2741          x-optionalDataType: "String"
  2742        - name: "singleNested.amount"
  2743          in: "query"
  2744          required: false
  2745          type: "integer"
  2746          format: "int64"
  2747          x-exportParamName: "SingleNestedAmount"
  2748          x-optionalDataType: "Int64"
  2749        - name: "singleNested.ok"
  2750          in: "query"
  2751          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  2752            \ TRUE is true."
  2753          required: false
  2754          type: "string"
  2755          default: "FALSE"
  2756          enum:
  2757          - "FALSE"
  2758          - "TRUE"
  2759          x-exportParamName: "SingleNestedOk"
  2760          x-optionalDataType: "String"
  2761        - name: "floatValue"
  2762          in: "query"
  2763          description: "Float value field"
  2764          required: true
  2765          type: "number"
  2766          default: 0.2
  2767          format: "float"
  2768          x-exportParamName: "FloatValue"
  2769        - name: "doubleValue"
  2770          in: "query"
  2771          required: true
  2772          type: "number"
  2773          format: "double"
  2774          x-exportParamName: "DoubleValue"
  2775        - name: "int64Value"
  2776          in: "query"
  2777          required: true
  2778          type: "string"
  2779          format: "int64"
  2780          x-exportParamName: "Int64Value"
  2781        - name: "uint64Value"
  2782          in: "query"
  2783          required: false
  2784          type: "string"
  2785          format: "uint64"
  2786          x-exportParamName: "Uint64Value"
  2787          x-optionalDataType: "String"
  2788        - name: "int32Value"
  2789          in: "query"
  2790          required: false
  2791          type: "integer"
  2792          format: "int32"
  2793          x-exportParamName: "Int32Value"
  2794          x-optionalDataType: "Int32"
  2795        - name: "fixed64Value"
  2796          in: "query"
  2797          required: false
  2798          type: "string"
  2799          format: "uint64"
  2800          x-exportParamName: "Fixed64Value"
  2801          x-optionalDataType: "String"
  2802        - name: "fixed32Value"
  2803          in: "query"
  2804          required: false
  2805          type: "integer"
  2806          format: "int64"
  2807          x-exportParamName: "Fixed32Value"
  2808          x-optionalDataType: "Int64"
  2809        - name: "boolValue"
  2810          in: "query"
  2811          required: false
  2812          type: "boolean"
  2813          x-exportParamName: "BoolValue"
  2814          x-optionalDataType: "Bool"
  2815        - name: "stringValue"
  2816          in: "query"
  2817          required: false
  2818          type: "string"
  2819          x-exportParamName: "StringValue"
  2820          x-optionalDataType: "String"
  2821        - name: "bytesValue"
  2822          in: "query"
  2823          required: false
  2824          type: "string"
  2825          format: "byte"
  2826          x-exportParamName: "BytesValue"
  2827          x-optionalDataType: "String"
  2828        - name: "uint32Value"
  2829          in: "query"
  2830          required: false
  2831          type: "integer"
  2832          format: "int64"
  2833          x-exportParamName: "Uint32Value"
  2834          x-optionalDataType: "Int64"
  2835        - name: "enumValue"
  2836          in: "query"
  2837          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  2838          required: false
  2839          type: "string"
  2840          default: "ZERO"
  2841          enum:
  2842          - "ZERO"
  2843          - "ONE"
  2844          x-exportParamName: "EnumValue"
  2845          x-optionalDataType: "String"
  2846        - name: "pathEnumValue"
  2847          in: "query"
  2848          required: false
  2849          type: "string"
  2850          default: "ABC"
  2851          enum:
  2852          - "ABC"
  2853          - "DEF"
  2854          x-exportParamName: "PathEnumValue"
  2855          x-optionalDataType: "String"
  2856        - name: "nestedPathEnumValue"
  2857          in: "query"
  2858          required: false
  2859          type: "string"
  2860          default: "GHI"
  2861          enum:
  2862          - "GHI"
  2863          - "JKL"
  2864          x-exportParamName: "NestedPathEnumValue"
  2865          x-optionalDataType: "String"
  2866        - name: "sfixed32Value"
  2867          in: "query"
  2868          required: false
  2869          type: "integer"
  2870          format: "int32"
  2871          x-exportParamName: "Sfixed32Value"
  2872          x-optionalDataType: "Int32"
  2873        - name: "sfixed64Value"
  2874          in: "query"
  2875          required: false
  2876          type: "string"
  2877          format: "int64"
  2878          x-exportParamName: "Sfixed64Value"
  2879          x-optionalDataType: "String"
  2880        - name: "sint32Value"
  2881          in: "query"
  2882          required: false
  2883          type: "integer"
  2884          format: "int32"
  2885          x-exportParamName: "Sint32Value"
  2886          x-optionalDataType: "Int32"
  2887        - name: "sint64Value"
  2888          in: "query"
  2889          required: false
  2890          type: "string"
  2891          format: "int64"
  2892          x-exportParamName: "Sint64Value"
  2893          x-optionalDataType: "String"
  2894        - name: "repeatedStringValue"
  2895          in: "query"
  2896          required: false
  2897          type: "array"
  2898          items:
  2899            type: "string"
  2900          collectionFormat: "multi"
  2901          x-exportParamName: "RepeatedStringValue"
  2902        - name: "oneofEmpty"
  2903          in: "query"
  2904          required: false
  2905          type: "object"
  2906          x-exportParamName: "OneofEmpty"
  2907        - name: "oneofString"
  2908          in: "query"
  2909          required: false
  2910          type: "string"
  2911          x-exportParamName: "OneofString"
  2912          x-optionalDataType: "String"
  2913        - name: "mapValue"
  2914          in: "query"
  2915          description: "This is a request variable of the map type. The query format\
  2916            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2917            \ is string, and the value type is integer, the query parameter is expressed\
  2918            \ as Age[\"bob\"]=18"
  2919          required: false
  2920          x-exportParamName: "MapValue"
  2921        - name: "mappedStringValue"
  2922          in: "query"
  2923          description: "This is a request variable of the map type. The query format\
  2924            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2925            \ is string, and the value type is integer, the query parameter is expressed\
  2926            \ as Age[\"bob\"]=18"
  2927          required: false
  2928          type: "string"
  2929          x-exportParamName: "MappedStringValue"
  2930          x-optionalDataType: "String"
  2931        - name: "mappedNestedValue"
  2932          in: "query"
  2933          description: "This is a request variable of the map type. The query format\
  2934            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  2935            \ is string, and the value type is integer, the query parameter is expressed\
  2936            \ as Age[\"bob\"]=18"
  2937          required: false
  2938          x-exportParamName: "MappedNestedValue"
  2939        - name: "nonConventionalNameValue"
  2940          in: "query"
  2941          required: false
  2942          type: "string"
  2943          x-exportParamName: "NonConventionalNameValue"
  2944          x-optionalDataType: "String"
  2945        - name: "timestampValue"
  2946          in: "query"
  2947          required: false
  2948          type: "string"
  2949          format: "date-time"
  2950          x-exportParamName: "TimestampValue"
  2951          x-optionalDataType: "Time"
  2952        - name: "repeatedEnumValue"
  2953          in: "query"
  2954          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  2955            \ ZERO means 0\n - ONE: ONE means 1"
  2956          required: false
  2957          type: "array"
  2958          items:
  2959            type: "string"
  2960            enum:
  2961            - "ZERO"
  2962            - "ONE"
  2963          collectionFormat: "multi"
  2964          x-exportParamName: "RepeatedEnumValue"
  2965        - name: "repeatedEnumAnnotation"
  2966          in: "query"
  2967          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  2968            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  2969          required: false
  2970          type: "array"
  2971          items:
  2972            type: "string"
  2973            enum:
  2974            - "ZERO"
  2975            - "ONE"
  2976          collectionFormat: "multi"
  2977          x-exportParamName: "RepeatedEnumAnnotation"
  2978        - name: "enumValueAnnotation"
  2979          in: "query"
  2980          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  2981            \ ZERO means 0\n - ONE: ONE means 1"
  2982          required: false
  2983          type: "string"
  2984          default: "ZERO"
  2985          enum:
  2986          - "ZERO"
  2987          - "ONE"
  2988          x-exportParamName: "EnumValueAnnotation"
  2989          x-optionalDataType: "String"
  2990        - name: "repeatedStringAnnotation"
  2991          in: "query"
  2992          description: "Repeated string title\n\nRepeated string description."
  2993          required: false
  2994          type: "array"
  2995          items:
  2996            type: "string"
  2997          collectionFormat: "multi"
  2998          x-exportParamName: "RepeatedStringAnnotation"
  2999        - name: "nestedAnnotation.name"
  3000          in: "query"
  3001          description: "name is nested field."
  3002          required: false
  3003          type: "string"
  3004          x-exportParamName: "NestedAnnotationName"
  3005          x-optionalDataType: "String"
  3006        - name: "nestedAnnotation.amount"
  3007          in: "query"
  3008          required: false
  3009          type: "integer"
  3010          format: "int64"
  3011          x-exportParamName: "NestedAnnotationAmount"
  3012          x-optionalDataType: "Int64"
  3013        - name: "nestedAnnotation.ok"
  3014          in: "query"
  3015          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  3016            \ TRUE is true."
  3017          required: false
  3018          type: "string"
  3019          default: "FALSE"
  3020          enum:
  3021          - "FALSE"
  3022          - "TRUE"
  3023          x-exportParamName: "NestedAnnotationOk"
  3024          x-optionalDataType: "String"
  3025        - name: "int64OverrideType"
  3026          in: "query"
  3027          required: false
  3028          type: "integer"
  3029          format: "int64"
  3030          x-exportParamName: "Int64OverrideType"
  3031          x-optionalDataType: "Int64"
  3032        - name: "requiredStringViaFieldBehaviorAnnotation"
  3033          in: "query"
  3034          description: "mark a field as required in Open API definition"
  3035          required: true
  3036          type: "string"
  3037          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  3038        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  3039          in: "query"
  3040          description: "mark a field as readonly in Open API definition"
  3041          required: false
  3042          type: "string"
  3043          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  3044          x-optionalDataType: "String"
  3045        - name: "optionalStringValue"
  3046          in: "query"
  3047          required: false
  3048          type: "string"
  3049          x-exportParamName: "OptionalStringValue"
  3050          x-optionalDataType: "String"
  3051        - name: "productId"
  3052          in: "query"
  3053          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  3054            \ are allowed."
  3055          required: false
  3056          type: "array"
  3057          items:
  3058            type: "string"
  3059            minLength: 1
  3060            maxLength: 19
  3061            pattern: "^[0-9]+$"
  3062          collectionFormat: "multi"
  3063          x-exportParamName: "ProductId"
  3064        - name: "optionalStringField"
  3065          in: "query"
  3066          description: "Test openapiv2 generation of required fields with annotation\
  3067            \ and jsonschema to reproduce"
  3068          required: false
  3069          type: "string"
  3070          x-exportParamName: "OptionalStringField"
  3071          x-optionalDataType: "String"
  3072        - name: "requiredStringField1"
  3073          in: "query"
  3074          required: true
  3075          type: "string"
  3076          x-exportParamName: "RequiredStringField1"
  3077        - name: "requiredStringField2"
  3078          in: "query"
  3079          required: true
  3080          type: "string"
  3081          x-exportParamName: "RequiredStringField2"
  3082        - name: "required_field_behavior_json_name_custom"
  3083          in: "query"
  3084          description: "Test openapiv2 handling of required json_name fields"
  3085          required: true
  3086          type: "string"
  3087          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  3088        - name: "required_field_schema_json_name_custom"
  3089          in: "query"
  3090          required: true
  3091          type: "string"
  3092          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  3093        - name: "trailingOnly"
  3094          in: "query"
  3095          description: "Trailing only"
  3096          required: false
  3097          type: "string"
  3098          x-exportParamName: "TrailingOnly"
  3099          x-optionalDataType: "String"
  3100        - name: "trailingOnlyDot"
  3101          in: "query"
  3102          description: "Trailing only dot."
  3103          required: false
  3104          type: "string"
  3105          x-exportParamName: "TrailingOnlyDot"
  3106          x-optionalDataType: "String"
  3107        - name: "trailingBoth"
  3108          in: "query"
  3109          description: "Leading both\n\nTrailing both."
  3110          required: false
  3111          type: "string"
  3112          x-exportParamName: "TrailingBoth"
  3113          x-optionalDataType: "String"
  3114        - name: "trailingMultiline"
  3115          in: "query"
  3116          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  3117            \nTrailing multiline."
  3118          required: false
  3119          type: "string"
  3120          x-exportParamName: "TrailingMultiline"
  3121          x-optionalDataType: "String"
  3122        - name: "uuids"
  3123          in: "query"
  3124          description: "Specify a custom format of repeated field items"
  3125          required: false
  3126          type: "array"
  3127          items:
  3128            type: "string"
  3129            format: "uuid"
  3130          collectionFormat: "multi"
  3131          x-exportParamName: "Uuids"
  3132        responses:
  3133          200:
  3134            description: "A successful response."
  3135            schema:
  3136              type: "object"
  3137          default:
  3138            description: "An unexpected error response."
  3139            schema:
  3140              $ref: "#/definitions/rpcStatus"
  3141    /v1/example/a_bit_of_everything/{uuidName}:custom:
  3142      post:
  3143        tags:
  3144        - "ABitOfEverythingService"
  3145        operationId: "ABitOfEverythingService_Custom"
  3146        parameters:
  3147        - name: "uuidName"
  3148          in: "path"
  3149          required: true
  3150          type: "string"
  3151          format: "uuid"
  3152          x-internal: true
  3153          x-exportParamName: "UuidName"
  3154        - name: "singleNested.name"
  3155          in: "query"
  3156          description: "name is nested field."
  3157          required: false
  3158          type: "string"
  3159          x-exportParamName: "SingleNestedName"
  3160          x-optionalDataType: "String"
  3161        - name: "singleNested.amount"
  3162          in: "query"
  3163          required: false
  3164          type: "integer"
  3165          format: "int64"
  3166          x-exportParamName: "SingleNestedAmount"
  3167          x-optionalDataType: "Int64"
  3168        - name: "singleNested.ok"
  3169          in: "query"
  3170          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  3171            \ TRUE is true."
  3172          required: false
  3173          type: "string"
  3174          default: "FALSE"
  3175          enum:
  3176          - "FALSE"
  3177          - "TRUE"
  3178          x-exportParamName: "SingleNestedOk"
  3179          x-optionalDataType: "String"
  3180        - name: "floatValue"
  3181          in: "query"
  3182          description: "Float value field"
  3183          required: true
  3184          type: "number"
  3185          default: 0.2
  3186          format: "float"
  3187          x-exportParamName: "FloatValue"
  3188        - name: "doubleValue"
  3189          in: "query"
  3190          required: true
  3191          type: "number"
  3192          format: "double"
  3193          x-exportParamName: "DoubleValue"
  3194        - name: "int64Value"
  3195          in: "query"
  3196          required: true
  3197          type: "string"
  3198          format: "int64"
  3199          x-exportParamName: "Int64Value"
  3200        - name: "uint64Value"
  3201          in: "query"
  3202          required: false
  3203          type: "string"
  3204          format: "uint64"
  3205          x-exportParamName: "Uint64Value"
  3206          x-optionalDataType: "String"
  3207        - name: "int32Value"
  3208          in: "query"
  3209          required: false
  3210          type: "integer"
  3211          format: "int32"
  3212          x-exportParamName: "Int32Value"
  3213          x-optionalDataType: "Int32"
  3214        - name: "fixed64Value"
  3215          in: "query"
  3216          required: false
  3217          type: "string"
  3218          format: "uint64"
  3219          x-exportParamName: "Fixed64Value"
  3220          x-optionalDataType: "String"
  3221        - name: "fixed32Value"
  3222          in: "query"
  3223          required: false
  3224          type: "integer"
  3225          format: "int64"
  3226          x-exportParamName: "Fixed32Value"
  3227          x-optionalDataType: "Int64"
  3228        - name: "boolValue"
  3229          in: "query"
  3230          required: false
  3231          type: "boolean"
  3232          x-exportParamName: "BoolValue"
  3233          x-optionalDataType: "Bool"
  3234        - name: "stringValue"
  3235          in: "query"
  3236          required: false
  3237          type: "string"
  3238          x-exportParamName: "StringValue"
  3239          x-optionalDataType: "String"
  3240        - name: "bytesValue"
  3241          in: "query"
  3242          required: false
  3243          type: "string"
  3244          format: "byte"
  3245          x-exportParamName: "BytesValue"
  3246          x-optionalDataType: "String"
  3247        - name: "uint32Value"
  3248          in: "query"
  3249          required: false
  3250          type: "integer"
  3251          format: "int64"
  3252          x-exportParamName: "Uint32Value"
  3253          x-optionalDataType: "Int64"
  3254        - name: "enumValue"
  3255          in: "query"
  3256          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  3257          required: false
  3258          type: "string"
  3259          default: "ZERO"
  3260          enum:
  3261          - "ZERO"
  3262          - "ONE"
  3263          x-exportParamName: "EnumValue"
  3264          x-optionalDataType: "String"
  3265        - name: "pathEnumValue"
  3266          in: "query"
  3267          required: false
  3268          type: "string"
  3269          default: "ABC"
  3270          enum:
  3271          - "ABC"
  3272          - "DEF"
  3273          x-exportParamName: "PathEnumValue"
  3274          x-optionalDataType: "String"
  3275        - name: "nestedPathEnumValue"
  3276          in: "query"
  3277          required: false
  3278          type: "string"
  3279          default: "GHI"
  3280          enum:
  3281          - "GHI"
  3282          - "JKL"
  3283          x-exportParamName: "NestedPathEnumValue"
  3284          x-optionalDataType: "String"
  3285        - name: "sfixed32Value"
  3286          in: "query"
  3287          required: false
  3288          type: "integer"
  3289          format: "int32"
  3290          x-exportParamName: "Sfixed32Value"
  3291          x-optionalDataType: "Int32"
  3292        - name: "sfixed64Value"
  3293          in: "query"
  3294          required: false
  3295          type: "string"
  3296          format: "int64"
  3297          x-exportParamName: "Sfixed64Value"
  3298          x-optionalDataType: "String"
  3299        - name: "sint32Value"
  3300          in: "query"
  3301          required: false
  3302          type: "integer"
  3303          format: "int32"
  3304          x-exportParamName: "Sint32Value"
  3305          x-optionalDataType: "Int32"
  3306        - name: "sint64Value"
  3307          in: "query"
  3308          required: false
  3309          type: "string"
  3310          format: "int64"
  3311          x-exportParamName: "Sint64Value"
  3312          x-optionalDataType: "String"
  3313        - name: "repeatedStringValue"
  3314          in: "query"
  3315          required: false
  3316          type: "array"
  3317          items:
  3318            type: "string"
  3319          collectionFormat: "multi"
  3320          x-exportParamName: "RepeatedStringValue"
  3321        - name: "oneofEmpty"
  3322          in: "query"
  3323          required: false
  3324          type: "object"
  3325          x-exportParamName: "OneofEmpty"
  3326        - name: "oneofString"
  3327          in: "query"
  3328          required: false
  3329          type: "string"
  3330          x-exportParamName: "OneofString"
  3331          x-optionalDataType: "String"
  3332        - name: "mapValue"
  3333          in: "query"
  3334          description: "This is a request variable of the map type. The query format\
  3335            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3336            \ is string, and the value type is integer, the query parameter is expressed\
  3337            \ as Age[\"bob\"]=18"
  3338          required: false
  3339          x-exportParamName: "MapValue"
  3340        - name: "mappedStringValue"
  3341          in: "query"
  3342          description: "This is a request variable of the map type. The query format\
  3343            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3344            \ is string, and the value type is integer, the query parameter is expressed\
  3345            \ as Age[\"bob\"]=18"
  3346          required: false
  3347          type: "string"
  3348          x-exportParamName: "MappedStringValue"
  3349          x-optionalDataType: "String"
  3350        - name: "mappedNestedValue"
  3351          in: "query"
  3352          description: "This is a request variable of the map type. The query format\
  3353            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3354            \ is string, and the value type is integer, the query parameter is expressed\
  3355            \ as Age[\"bob\"]=18"
  3356          required: false
  3357          x-exportParamName: "MappedNestedValue"
  3358        - name: "nonConventionalNameValue"
  3359          in: "query"
  3360          required: false
  3361          type: "string"
  3362          x-exportParamName: "NonConventionalNameValue"
  3363          x-optionalDataType: "String"
  3364        - name: "timestampValue"
  3365          in: "query"
  3366          required: false
  3367          type: "string"
  3368          format: "date-time"
  3369          x-exportParamName: "TimestampValue"
  3370          x-optionalDataType: "Time"
  3371        - name: "repeatedEnumValue"
  3372          in: "query"
  3373          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  3374            \ ZERO means 0\n - ONE: ONE means 1"
  3375          required: false
  3376          type: "array"
  3377          items:
  3378            type: "string"
  3379            enum:
  3380            - "ZERO"
  3381            - "ONE"
  3382          collectionFormat: "multi"
  3383          x-exportParamName: "RepeatedEnumValue"
  3384        - name: "repeatedEnumAnnotation"
  3385          in: "query"
  3386          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  3387            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  3388          required: false
  3389          type: "array"
  3390          items:
  3391            type: "string"
  3392            enum:
  3393            - "ZERO"
  3394            - "ONE"
  3395          collectionFormat: "multi"
  3396          x-exportParamName: "RepeatedEnumAnnotation"
  3397        - name: "enumValueAnnotation"
  3398          in: "query"
  3399          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  3400            \ ZERO means 0\n - ONE: ONE means 1"
  3401          required: false
  3402          type: "string"
  3403          default: "ZERO"
  3404          enum:
  3405          - "ZERO"
  3406          - "ONE"
  3407          x-exportParamName: "EnumValueAnnotation"
  3408          x-optionalDataType: "String"
  3409        - name: "repeatedStringAnnotation"
  3410          in: "query"
  3411          description: "Repeated string title\n\nRepeated string description."
  3412          required: false
  3413          type: "array"
  3414          items:
  3415            type: "string"
  3416          collectionFormat: "multi"
  3417          x-exportParamName: "RepeatedStringAnnotation"
  3418        - name: "nestedAnnotation.name"
  3419          in: "query"
  3420          description: "name is nested field."
  3421          required: false
  3422          type: "string"
  3423          x-exportParamName: "NestedAnnotationName"
  3424          x-optionalDataType: "String"
  3425        - name: "nestedAnnotation.amount"
  3426          in: "query"
  3427          required: false
  3428          type: "integer"
  3429          format: "int64"
  3430          x-exportParamName: "NestedAnnotationAmount"
  3431          x-optionalDataType: "Int64"
  3432        - name: "nestedAnnotation.ok"
  3433          in: "query"
  3434          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  3435            \ TRUE is true."
  3436          required: false
  3437          type: "string"
  3438          default: "FALSE"
  3439          enum:
  3440          - "FALSE"
  3441          - "TRUE"
  3442          x-exportParamName: "NestedAnnotationOk"
  3443          x-optionalDataType: "String"
  3444        - name: "int64OverrideType"
  3445          in: "query"
  3446          required: false
  3447          type: "integer"
  3448          format: "int64"
  3449          x-exportParamName: "Int64OverrideType"
  3450          x-optionalDataType: "Int64"
  3451        - name: "requiredStringViaFieldBehaviorAnnotation"
  3452          in: "query"
  3453          description: "mark a field as required in Open API definition"
  3454          required: true
  3455          type: "string"
  3456          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  3457        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  3458          in: "query"
  3459          description: "mark a field as readonly in Open API definition"
  3460          required: false
  3461          type: "string"
  3462          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  3463          x-optionalDataType: "String"
  3464        - name: "optionalStringValue"
  3465          in: "query"
  3466          required: false
  3467          type: "string"
  3468          x-exportParamName: "OptionalStringValue"
  3469          x-optionalDataType: "String"
  3470        - name: "productId"
  3471          in: "query"
  3472          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  3473            \ are allowed."
  3474          required: false
  3475          type: "array"
  3476          items:
  3477            type: "string"
  3478            minLength: 1
  3479            maxLength: 19
  3480            pattern: "^[0-9]+$"
  3481          collectionFormat: "multi"
  3482          x-exportParamName: "ProductId"
  3483        - name: "optionalStringField"
  3484          in: "query"
  3485          description: "Test openapiv2 generation of required fields with annotation\
  3486            \ and jsonschema to reproduce"
  3487          required: false
  3488          type: "string"
  3489          x-exportParamName: "OptionalStringField"
  3490          x-optionalDataType: "String"
  3491        - name: "requiredStringField1"
  3492          in: "query"
  3493          required: true
  3494          type: "string"
  3495          x-exportParamName: "RequiredStringField1"
  3496        - name: "requiredStringField2"
  3497          in: "query"
  3498          required: true
  3499          type: "string"
  3500          x-exportParamName: "RequiredStringField2"
  3501        - name: "required_field_behavior_json_name_custom"
  3502          in: "query"
  3503          description: "Test openapiv2 handling of required json_name fields"
  3504          required: true
  3505          type: "string"
  3506          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  3507        - name: "required_field_schema_json_name_custom"
  3508          in: "query"
  3509          required: true
  3510          type: "string"
  3511          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  3512        - name: "trailingOnly"
  3513          in: "query"
  3514          description: "Trailing only"
  3515          required: false
  3516          type: "string"
  3517          x-exportParamName: "TrailingOnly"
  3518          x-optionalDataType: "String"
  3519        - name: "trailingOnlyDot"
  3520          in: "query"
  3521          description: "Trailing only dot."
  3522          required: false
  3523          type: "string"
  3524          x-exportParamName: "TrailingOnlyDot"
  3525          x-optionalDataType: "String"
  3526        - name: "trailingBoth"
  3527          in: "query"
  3528          description: "Leading both\n\nTrailing both."
  3529          required: false
  3530          type: "string"
  3531          x-exportParamName: "TrailingBoth"
  3532          x-optionalDataType: "String"
  3533        - name: "trailingMultiline"
  3534          in: "query"
  3535          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  3536            \nTrailing multiline."
  3537          required: false
  3538          type: "string"
  3539          x-exportParamName: "TrailingMultiline"
  3540          x-optionalDataType: "String"
  3541        - name: "uuids"
  3542          in: "query"
  3543          description: "Specify a custom format of repeated field items"
  3544          required: false
  3545          type: "array"
  3546          items:
  3547            type: "string"
  3548            format: "uuid"
  3549          collectionFormat: "multi"
  3550          x-exportParamName: "Uuids"
  3551        responses:
  3552          200:
  3553            description: "A successful response."
  3554            schema:
  3555              $ref: "#/definitions/examplepbABitOfEverything"
  3556          403:
  3557            description: "Returned when the user does not have permission to access\
  3558              \ the resource."
  3559            schema: {}
  3560          404:
  3561            description: "Returned when the resource does not exist."
  3562            schema:
  3563              type: "string"
  3564              format: "string"
  3565          418:
  3566            description: "I'm a teapot."
  3567            schema:
  3568              $ref: "#/definitions/examplepbNumericEnum"
  3569          500:
  3570            description: "Server error"
  3571            schema:
  3572              $ref: "#/definitions/examplepbErrorResponse"
  3573          default:
  3574            description: "An unexpected error response."
  3575            schema:
  3576              $ref: "#/definitions/rpcStatus"
  3577    /v1/example/a_bit_of_everything/{uuidName}:custom:custom:
  3578      post:
  3579        tags:
  3580        - "ABitOfEverythingService"
  3581        operationId: "ABitOfEverythingService_DoubleColon"
  3582        parameters:
  3583        - name: "uuidName"
  3584          in: "path"
  3585          required: true
  3586          type: "string"
  3587          format: "uuid"
  3588          x-internal: true
  3589          x-exportParamName: "UuidName"
  3590        - name: "singleNested.name"
  3591          in: "query"
  3592          description: "name is nested field."
  3593          required: false
  3594          type: "string"
  3595          x-exportParamName: "SingleNestedName"
  3596          x-optionalDataType: "String"
  3597        - name: "singleNested.amount"
  3598          in: "query"
  3599          required: false
  3600          type: "integer"
  3601          format: "int64"
  3602          x-exportParamName: "SingleNestedAmount"
  3603          x-optionalDataType: "Int64"
  3604        - name: "singleNested.ok"
  3605          in: "query"
  3606          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  3607            \ TRUE is true."
  3608          required: false
  3609          type: "string"
  3610          default: "FALSE"
  3611          enum:
  3612          - "FALSE"
  3613          - "TRUE"
  3614          x-exportParamName: "SingleNestedOk"
  3615          x-optionalDataType: "String"
  3616        - name: "floatValue"
  3617          in: "query"
  3618          description: "Float value field"
  3619          required: true
  3620          type: "number"
  3621          default: 0.2
  3622          format: "float"
  3623          x-exportParamName: "FloatValue"
  3624        - name: "doubleValue"
  3625          in: "query"
  3626          required: true
  3627          type: "number"
  3628          format: "double"
  3629          x-exportParamName: "DoubleValue"
  3630        - name: "int64Value"
  3631          in: "query"
  3632          required: true
  3633          type: "string"
  3634          format: "int64"
  3635          x-exportParamName: "Int64Value"
  3636        - name: "uint64Value"
  3637          in: "query"
  3638          required: false
  3639          type: "string"
  3640          format: "uint64"
  3641          x-exportParamName: "Uint64Value"
  3642          x-optionalDataType: "String"
  3643        - name: "int32Value"
  3644          in: "query"
  3645          required: false
  3646          type: "integer"
  3647          format: "int32"
  3648          x-exportParamName: "Int32Value"
  3649          x-optionalDataType: "Int32"
  3650        - name: "fixed64Value"
  3651          in: "query"
  3652          required: false
  3653          type: "string"
  3654          format: "uint64"
  3655          x-exportParamName: "Fixed64Value"
  3656          x-optionalDataType: "String"
  3657        - name: "fixed32Value"
  3658          in: "query"
  3659          required: false
  3660          type: "integer"
  3661          format: "int64"
  3662          x-exportParamName: "Fixed32Value"
  3663          x-optionalDataType: "Int64"
  3664        - name: "boolValue"
  3665          in: "query"
  3666          required: false
  3667          type: "boolean"
  3668          x-exportParamName: "BoolValue"
  3669          x-optionalDataType: "Bool"
  3670        - name: "stringValue"
  3671          in: "query"
  3672          required: false
  3673          type: "string"
  3674          x-exportParamName: "StringValue"
  3675          x-optionalDataType: "String"
  3676        - name: "bytesValue"
  3677          in: "query"
  3678          required: false
  3679          type: "string"
  3680          format: "byte"
  3681          x-exportParamName: "BytesValue"
  3682          x-optionalDataType: "String"
  3683        - name: "uint32Value"
  3684          in: "query"
  3685          required: false
  3686          type: "integer"
  3687          format: "int64"
  3688          x-exportParamName: "Uint32Value"
  3689          x-optionalDataType: "Int64"
  3690        - name: "enumValue"
  3691          in: "query"
  3692          description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
  3693          required: false
  3694          type: "string"
  3695          default: "ZERO"
  3696          enum:
  3697          - "ZERO"
  3698          - "ONE"
  3699          x-exportParamName: "EnumValue"
  3700          x-optionalDataType: "String"
  3701        - name: "pathEnumValue"
  3702          in: "query"
  3703          required: false
  3704          type: "string"
  3705          default: "ABC"
  3706          enum:
  3707          - "ABC"
  3708          - "DEF"
  3709          x-exportParamName: "PathEnumValue"
  3710          x-optionalDataType: "String"
  3711        - name: "nestedPathEnumValue"
  3712          in: "query"
  3713          required: false
  3714          type: "string"
  3715          default: "GHI"
  3716          enum:
  3717          - "GHI"
  3718          - "JKL"
  3719          x-exportParamName: "NestedPathEnumValue"
  3720          x-optionalDataType: "String"
  3721        - name: "sfixed32Value"
  3722          in: "query"
  3723          required: false
  3724          type: "integer"
  3725          format: "int32"
  3726          x-exportParamName: "Sfixed32Value"
  3727          x-optionalDataType: "Int32"
  3728        - name: "sfixed64Value"
  3729          in: "query"
  3730          required: false
  3731          type: "string"
  3732          format: "int64"
  3733          x-exportParamName: "Sfixed64Value"
  3734          x-optionalDataType: "String"
  3735        - name: "sint32Value"
  3736          in: "query"
  3737          required: false
  3738          type: "integer"
  3739          format: "int32"
  3740          x-exportParamName: "Sint32Value"
  3741          x-optionalDataType: "Int32"
  3742        - name: "sint64Value"
  3743          in: "query"
  3744          required: false
  3745          type: "string"
  3746          format: "int64"
  3747          x-exportParamName: "Sint64Value"
  3748          x-optionalDataType: "String"
  3749        - name: "repeatedStringValue"
  3750          in: "query"
  3751          required: false
  3752          type: "array"
  3753          items:
  3754            type: "string"
  3755          collectionFormat: "multi"
  3756          x-exportParamName: "RepeatedStringValue"
  3757        - name: "oneofEmpty"
  3758          in: "query"
  3759          required: false
  3760          type: "object"
  3761          x-exportParamName: "OneofEmpty"
  3762        - name: "oneofString"
  3763          in: "query"
  3764          required: false
  3765          type: "string"
  3766          x-exportParamName: "OneofString"
  3767          x-optionalDataType: "String"
  3768        - name: "mapValue"
  3769          in: "query"
  3770          description: "This is a request variable of the map type. The query format\
  3771            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3772            \ is string, and the value type is integer, the query parameter is expressed\
  3773            \ as Age[\"bob\"]=18"
  3774          required: false
  3775          x-exportParamName: "MapValue"
  3776        - name: "mappedStringValue"
  3777          in: "query"
  3778          description: "This is a request variable of the map type. The query format\
  3779            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3780            \ is string, and the value type is integer, the query parameter is expressed\
  3781            \ as Age[\"bob\"]=18"
  3782          required: false
  3783          type: "string"
  3784          x-exportParamName: "MappedStringValue"
  3785          x-optionalDataType: "String"
  3786        - name: "mappedNestedValue"
  3787          in: "query"
  3788          description: "This is a request variable of the map type. The query format\
  3789            \ is \"map_name[key]=value\", e.g. If the map name is Age, the key type\
  3790            \ is string, and the value type is integer, the query parameter is expressed\
  3791            \ as Age[\"bob\"]=18"
  3792          required: false
  3793          x-exportParamName: "MappedNestedValue"
  3794        - name: "nonConventionalNameValue"
  3795          in: "query"
  3796          required: false
  3797          type: "string"
  3798          x-exportParamName: "NonConventionalNameValue"
  3799          x-optionalDataType: "String"
  3800        - name: "timestampValue"
  3801          in: "query"
  3802          required: false
  3803          type: "string"
  3804          format: "date-time"
  3805          x-exportParamName: "TimestampValue"
  3806          x-optionalDataType: "Time"
  3807        - name: "repeatedEnumValue"
  3808          in: "query"
  3809          description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
  3810            \ ZERO means 0\n - ONE: ONE means 1"
  3811          required: false
  3812          type: "array"
  3813          items:
  3814            type: "string"
  3815            enum:
  3816            - "ZERO"
  3817            - "ONE"
  3818          collectionFormat: "multi"
  3819          x-exportParamName: "RepeatedEnumValue"
  3820        - name: "repeatedEnumAnnotation"
  3821          in: "query"
  3822          description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
  3823            \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
  3824          required: false
  3825          type: "array"
  3826          items:
  3827            type: "string"
  3828            enum:
  3829            - "ZERO"
  3830            - "ONE"
  3831          collectionFormat: "multi"
  3832          x-exportParamName: "RepeatedEnumAnnotation"
  3833        - name: "enumValueAnnotation"
  3834          in: "query"
  3835          description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
  3836            \ ZERO means 0\n - ONE: ONE means 1"
  3837          required: false
  3838          type: "string"
  3839          default: "ZERO"
  3840          enum:
  3841          - "ZERO"
  3842          - "ONE"
  3843          x-exportParamName: "EnumValueAnnotation"
  3844          x-optionalDataType: "String"
  3845        - name: "repeatedStringAnnotation"
  3846          in: "query"
  3847          description: "Repeated string title\n\nRepeated string description."
  3848          required: false
  3849          type: "array"
  3850          items:
  3851            type: "string"
  3852          collectionFormat: "multi"
  3853          x-exportParamName: "RepeatedStringAnnotation"
  3854        - name: "nestedAnnotation.name"
  3855          in: "query"
  3856          description: "name is nested field."
  3857          required: false
  3858          type: "string"
  3859          x-exportParamName: "NestedAnnotationName"
  3860          x-optionalDataType: "String"
  3861        - name: "nestedAnnotation.amount"
  3862          in: "query"
  3863          required: false
  3864          type: "integer"
  3865          format: "int64"
  3866          x-exportParamName: "NestedAnnotationAmount"
  3867          x-optionalDataType: "Int64"
  3868        - name: "nestedAnnotation.ok"
  3869          in: "query"
  3870          description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
  3871            \ TRUE is true."
  3872          required: false
  3873          type: "string"
  3874          default: "FALSE"
  3875          enum:
  3876          - "FALSE"
  3877          - "TRUE"
  3878          x-exportParamName: "NestedAnnotationOk"
  3879          x-optionalDataType: "String"
  3880        - name: "int64OverrideType"
  3881          in: "query"
  3882          required: false
  3883          type: "integer"
  3884          format: "int64"
  3885          x-exportParamName: "Int64OverrideType"
  3886          x-optionalDataType: "Int64"
  3887        - name: "requiredStringViaFieldBehaviorAnnotation"
  3888          in: "query"
  3889          description: "mark a field as required in Open API definition"
  3890          required: true
  3891          type: "string"
  3892          x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
  3893        - name: "outputOnlyStringViaFieldBehaviorAnnotation"
  3894          in: "query"
  3895          description: "mark a field as readonly in Open API definition"
  3896          required: false
  3897          type: "string"
  3898          x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
  3899          x-optionalDataType: "String"
  3900        - name: "optionalStringValue"
  3901          in: "query"
  3902          required: false
  3903          type: "string"
  3904          x-exportParamName: "OptionalStringValue"
  3905          x-optionalDataType: "String"
  3906        - name: "productId"
  3907          in: "query"
  3908          description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
  3909            \ are allowed."
  3910          required: false
  3911          type: "array"
  3912          items:
  3913            type: "string"
  3914            minLength: 1
  3915            maxLength: 19
  3916            pattern: "^[0-9]+$"
  3917          collectionFormat: "multi"
  3918          x-exportParamName: "ProductId"
  3919        - name: "optionalStringField"
  3920          in: "query"
  3921          description: "Test openapiv2 generation of required fields with annotation\
  3922            \ and jsonschema to reproduce"
  3923          required: false
  3924          type: "string"
  3925          x-exportParamName: "OptionalStringField"
  3926          x-optionalDataType: "String"
  3927        - name: "requiredStringField1"
  3928          in: "query"
  3929          required: true
  3930          type: "string"
  3931          x-exportParamName: "RequiredStringField1"
  3932        - name: "requiredStringField2"
  3933          in: "query"
  3934          required: true
  3935          type: "string"
  3936          x-exportParamName: "RequiredStringField2"
  3937        - name: "required_field_behavior_json_name_custom"
  3938          in: "query"
  3939          description: "Test openapiv2 handling of required json_name fields"
  3940          required: true
  3941          type: "string"
  3942          x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
  3943        - name: "required_field_schema_json_name_custom"
  3944          in: "query"
  3945          required: true
  3946          type: "string"
  3947          x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
  3948        - name: "trailingOnly"
  3949          in: "query"
  3950          description: "Trailing only"
  3951          required: false
  3952          type: "string"
  3953          x-exportParamName: "TrailingOnly"
  3954          x-optionalDataType: "String"
  3955        - name: "trailingOnlyDot"
  3956          in: "query"
  3957          description: "Trailing only dot."
  3958          required: false
  3959          type: "string"
  3960          x-exportParamName: "TrailingOnlyDot"
  3961          x-optionalDataType: "String"
  3962        - name: "trailingBoth"
  3963          in: "query"
  3964          description: "Leading both\n\nTrailing both."
  3965          required: false
  3966          type: "string"
  3967          x-exportParamName: "TrailingBoth"
  3968          x-optionalDataType: "String"
  3969        - name: "trailingMultiline"
  3970          in: "query"
  3971          description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
  3972            \nTrailing multiline."
  3973          required: false
  3974          type: "string"
  3975          x-exportParamName: "TrailingMultiline"
  3976          x-optionalDataType: "String"
  3977        - name: "uuids"
  3978          in: "query"
  3979          description: "Specify a custom format of repeated field items"
  3980          required: false
  3981          type: "array"
  3982          items:
  3983            type: "string"
  3984            format: "uuid"
  3985          collectionFormat: "multi"
  3986          x-exportParamName: "Uuids"
  3987        responses:
  3988          200:
  3989            description: "A successful response."
  3990            schema:
  3991              $ref: "#/definitions/examplepbABitOfEverything"
  3992          403:
  3993            description: "Returned when the user does not have permission to access\
  3994              \ the resource."
  3995            schema: {}
  3996          404:
  3997            description: "Returned when the resource does not exist."
  3998            schema:
  3999              type: "string"
  4000              format: "string"
  4001          418:
  4002            description: "I'm a teapot."
  4003            schema:
  4004              $ref: "#/definitions/examplepbNumericEnum"
  4005          500:
  4006            description: "Server error"
  4007            schema:
  4008              $ref: "#/definitions/examplepbErrorResponse"
  4009          default:
  4010            description: "An unexpected error response."
  4011            schema:
  4012              $ref: "#/definitions/rpcStatus"
  4013    /v1/example/a_bit_of_everything/{uuid}:
  4014      get:
  4015        tags:
  4016        - "ABitOfEverythingService"
  4017        operationId: "ABitOfEverythingService_Lookup"
  4018        parameters:
  4019        - name: "uuid"
  4020          in: "path"
  4021          required: true
  4022          type: "string"
  4023          x-exportParamName: "Uuid"
  4024        responses:
  4025          200:
  4026            description: "A successful response."
  4027            schema:
  4028              $ref: "#/definitions/examplepbABitOfEverything"
  4029          403:
  4030            description: "Returned when the user does not have permission to access\
  4031              \ the resource."
  4032            schema: {}
  4033          404:
  4034            description: "Returned when the resource does not exist."
  4035            schema:
  4036              type: "string"
  4037              format: "string"
  4038          418:
  4039            description: "I'm a teapot."
  4040            schema:
  4041              $ref: "#/definitions/examplepbNumericEnum"
  4042          500:
  4043            description: "Server error"
  4044            schema:
  4045              $ref: "#/definitions/examplepbErrorResponse"
  4046          default:
  4047            description: "An unexpected error response."
  4048            schema:
  4049              $ref: "#/definitions/rpcStatus"
  4050      delete:
  4051        tags:
  4052        - "ABitOfEverything"
  4053        operationId: "ABitOfEverythingService_Delete"
  4054        parameters:
  4055        - name: "uuid"
  4056          in: "path"
  4057          required: true
  4058          type: "string"
  4059          x-exportParamName: "Uuid"
  4060        responses:
  4061          200:
  4062            description: "A successful response."
  4063            schema:
  4064              type: "object"
  4065          403:
  4066            description: "Returned when the user does not have permission to access\
  4067              \ the resource."
  4068            schema: {}
  4069          404:
  4070            description: "Returned when the resource does not exist."
  4071            schema:
  4072              type: "string"
  4073              format: "string"
  4074          418:
  4075            description: "I'm a teapot."
  4076            schema:
  4077              $ref: "#/definitions/examplepbNumericEnum"
  4078          500:
  4079            description: "Server error"
  4080            schema:
  4081              $ref: "#/definitions/examplepbErrorResponse"
  4082          default:
  4083            description: "An unexpected error response."
  4084            schema:
  4085              $ref: "#/definitions/rpcStatus"
  4086        security:
  4087        - ApiKeyAuth: []
  4088          OAuth2:
  4089          - "read"
  4090          - "write"
  4091        x-irreversible: true
  4092    ? /v1/example/a_bit_of_everything_repeated/{pathRepeatedFloatValue}/{pathRepeatedDoubleValue}/{pathRepeatedInt64Value}/{pathRepeatedUint64Value}/{pathRepeatedInt32Value}/{pathRepeatedFixed64Value}/{pathRepeatedFixed32Value}/{pathRepeatedBoolValue}/{pathRepeatedStringValue}/{pathRepeatedBytesValue}/{pathRepeatedUint32Value}/{pathRepeatedEnumValue}/{pathRepeatedSfixed32Value}/{pathRepeatedSfixed64Value}/{pathRepeatedSint32Value}/{pathRepeatedSint64Value}
  4093    : get:
  4094        tags:
  4095        - "ABitOfEverythingService"
  4096        operationId: "ABitOfEverythingService_GetRepeatedQuery"
  4097        parameters:
  4098        - name: "pathRepeatedFloatValue"
  4099          in: "path"
  4100          description: "repeated values. they are comma-separated in path"
  4101          required: true
  4102          type: "array"
  4103          items:
  4104            type: "number"
  4105            format: "float"
  4106          collectionFormat: "csv"
  4107          minItems: 1
  4108          x-exportParamName: "PathRepeatedFloatValue"
  4109        - name: "pathRepeatedDoubleValue"
  4110          in: "path"
  4111          required: true
  4112          type: "array"
  4113          items:
  4114            type: "number"
  4115            format: "double"
  4116          collectionFormat: "csv"
  4117          minItems: 1
  4118          x-exportParamName: "PathRepeatedDoubleValue"
  4119        - name: "pathRepeatedInt64Value"
  4120          in: "path"
  4121          required: true
  4122          type: "array"
  4123          items:
  4124            type: "string"
  4125            format: "int64"
  4126          collectionFormat: "csv"
  4127          minItems: 1
  4128          x-exportParamName: "PathRepeatedInt64Value"
  4129        - name: "pathRepeatedUint64Value"
  4130          in: "path"
  4131          required: true
  4132          type: "array"
  4133          items:
  4134            type: "string"
  4135            format: "uint64"
  4136          collectionFormat: "csv"
  4137          minItems: 1
  4138          x-exportParamName: "PathRepeatedUint64Value"
  4139        - name: "pathRepeatedInt32Value"
  4140          in: "path"
  4141          required: true
  4142          type: "array"
  4143          items:
  4144            type: "integer"
  4145            format: "int32"
  4146          collectionFormat: "csv"
  4147          minItems: 1
  4148          x-exportParamName: "PathRepeatedInt32Value"
  4149        - name: "pathRepeatedFixed64Value"
  4150          in: "path"
  4151          required: true
  4152          type: "array"
  4153          items:
  4154            type: "string"
  4155            format: "uint64"
  4156          collectionFormat: "csv"
  4157          minItems: 1
  4158          x-exportParamName: "PathRepeatedFixed64Value"
  4159        - name: "pathRepeatedFixed32Value"
  4160          in: "path"
  4161          required: true
  4162          type: "array"
  4163          items:
  4164            type: "integer"
  4165            format: "int64"
  4166          collectionFormat: "csv"
  4167          minItems: 1
  4168          x-exportParamName: "PathRepeatedFixed32Value"
  4169        - name: "pathRepeatedBoolValue"
  4170          in: "path"
  4171          required: true
  4172          type: "array"
  4173          items:
  4174            type: "boolean"
  4175          collectionFormat: "csv"
  4176          minItems: 1
  4177          x-exportParamName: "PathRepeatedBoolValue"
  4178        - name: "pathRepeatedStringValue"
  4179          in: "path"
  4180          required: true
  4181          type: "array"
  4182          items:
  4183            type: "string"
  4184          collectionFormat: "csv"
  4185          minItems: 1
  4186          x-exportParamName: "PathRepeatedStringValue"
  4187        - name: "pathRepeatedBytesValue"
  4188          in: "path"
  4189          required: true
  4190          type: "array"
  4191          items:
  4192            type: "string"
  4193            format: "byte"
  4194            pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  4195          collectionFormat: "csv"
  4196          minItems: 1
  4197          x-exportParamName: "PathRepeatedBytesValue"
  4198        - name: "pathRepeatedUint32Value"
  4199          in: "path"
  4200          required: true
  4201          type: "array"
  4202          items:
  4203            type: "integer"
  4204            format: "int64"
  4205          collectionFormat: "csv"
  4206          minItems: 1
  4207          x-exportParamName: "PathRepeatedUint32Value"
  4208        - name: "pathRepeatedEnumValue"
  4209          in: "path"
  4210          required: true
  4211          type: "array"
  4212          items:
  4213            type: "string"
  4214            enum:
  4215            - "ZERO"
  4216            - "ONE"
  4217          collectionFormat: "csv"
  4218          minItems: 1
  4219          x-exportParamName: "PathRepeatedEnumValue"
  4220        - name: "pathRepeatedSfixed32Value"
  4221          in: "path"
  4222          required: true
  4223          type: "array"
  4224          items:
  4225            type: "integer"
  4226            format: "int32"
  4227          collectionFormat: "csv"
  4228          minItems: 1
  4229          x-exportParamName: "PathRepeatedSfixed32Value"
  4230        - name: "pathRepeatedSfixed64Value"
  4231          in: "path"
  4232          required: true
  4233          type: "array"
  4234          items:
  4235            type: "string"
  4236            format: "int64"
  4237          collectionFormat: "csv"
  4238          minItems: 1
  4239          x-exportParamName: "PathRepeatedSfixed64Value"
  4240        - name: "pathRepeatedSint32Value"
  4241          in: "path"
  4242          required: true
  4243          type: "array"
  4244          items:
  4245            type: "integer"
  4246            format: "int32"
  4247          collectionFormat: "csv"
  4248          minItems: 1
  4249          x-exportParamName: "PathRepeatedSint32Value"
  4250        - name: "pathRepeatedSint64Value"
  4251          in: "path"
  4252          required: true
  4253          type: "array"
  4254          items:
  4255            type: "string"
  4256            format: "int64"
  4257          collectionFormat: "csv"
  4258          minItems: 1
  4259          x-exportParamName: "PathRepeatedSint64Value"
  4260        responses:
  4261          200:
  4262            description: "A successful response."
  4263            schema:
  4264              $ref: "#/definitions/examplepbABitOfEverythingRepeated"
  4265          403:
  4266            description: "Returned when the user does not have permission to access\
  4267              \ the resource."
  4268            schema: {}
  4269          404:
  4270            description: "Returned when the resource does not exist."
  4271            schema:
  4272              type: "string"
  4273              format: "string"
  4274          418:
  4275            description: "I'm a teapot."
  4276            schema:
  4277              $ref: "#/definitions/examplepbNumericEnum"
  4278          500:
  4279            description: "Server error"
  4280            schema:
  4281              $ref: "#/definitions/examplepbErrorResponse"
  4282          default:
  4283            description: "An unexpected error response."
  4284            schema:
  4285              $ref: "#/definitions/rpcStatus"
  4286    /v1/example/checkStatus:
  4287      get:
  4288        tags:
  4289        - "ABitOfEverythingService"
  4290        operationId: "ABitOfEverythingService_CheckStatus"
  4291        parameters: []
  4292        responses:
  4293          200:
  4294            description: "A successful response."
  4295            schema:
  4296              $ref: "#/definitions/examplepbCheckStatusResponse"
  4297          403:
  4298            description: "Returned when the user does not have permission to access\
  4299              \ the resource."
  4300            schema: {}
  4301          404:
  4302            description: "Returned when the resource does not exist."
  4303            schema:
  4304              type: "string"
  4305              format: "string"
  4306          418:
  4307            description: "I'm a teapot."
  4308            schema:
  4309              $ref: "#/definitions/examplepbNumericEnum"
  4310          500:
  4311            description: "Server error"
  4312            schema:
  4313              $ref: "#/definitions/examplepbErrorResponse"
  4314          default:
  4315            description: "An unexpected error response."
  4316            schema:
  4317              $ref: "#/definitions/rpcStatus"
  4318    /v1/example/deep_path/{singleNested.name}:
  4319      post:
  4320        tags:
  4321        - "ABitOfEverythingService"
  4322        operationId: "ABitOfEverythingService_DeepPathEcho"
  4323        parameters:
  4324        - name: "singleNested.name"
  4325          in: "path"
  4326          description: "name is nested field."
  4327          required: true
  4328          type: "string"
  4329          x-exportParamName: "SingleNestedName"
  4330        - in: "body"
  4331          name: "body"
  4332          required: true
  4333          schema:
  4334            $ref: "#/definitions/ABitOfEverythingServiceDeepPathEchoBody"
  4335          x-exportParamName: "Body"
  4336        responses:
  4337          200:
  4338            description: "A successful response."
  4339            schema:
  4340              $ref: "#/definitions/examplepbABitOfEverything"
  4341          403:
  4342            description: "Returned when the user does not have permission to access\
  4343              \ the resource."
  4344            schema: {}
  4345          404:
  4346            description: "Returned when the resource does not exist."
  4347            schema:
  4348              type: "string"
  4349              format: "string"
  4350          418:
  4351            description: "I'm a teapot."
  4352            schema:
  4353              $ref: "#/definitions/examplepbNumericEnum"
  4354          500:
  4355            description: "Server error"
  4356            schema:
  4357              $ref: "#/definitions/examplepbErrorResponse"
  4358          default:
  4359            description: "An unexpected error response."
  4360            schema:
  4361              $ref: "#/definitions/rpcStatus"
  4362    /v1/example/oneofenum:
  4363      post:
  4364        tags:
  4365        - "ABitOfEverythingService"
  4366        operationId: "ABitOfEverythingService_PostOneofEnum"
  4367        parameters:
  4368        - in: "body"
  4369          name: "exampleEnum"
  4370          required: true
  4371          schema:
  4372            $ref: "#/definitions/oneofenumExampleEnum"
  4373          x-exportParamName: "ExampleEnum"
  4374        responses:
  4375          200:
  4376            description: "A successful response."
  4377            schema:
  4378              type: "object"
  4379          403:
  4380            description: "Returned when the user does not have permission to access\
  4381              \ the resource."
  4382            schema: {}
  4383          404:
  4384            description: "Returned when the resource does not exist."
  4385            schema:
  4386              type: "string"
  4387              format: "string"
  4388          418:
  4389            description: "I'm a teapot."
  4390            schema:
  4391              $ref: "#/definitions/examplepbNumericEnum"
  4392          500:
  4393            description: "Server error"
  4394            schema:
  4395              $ref: "#/definitions/examplepbErrorResponse"
  4396          default:
  4397            description: "An unexpected error response."
  4398            schema:
  4399              $ref: "#/definitions/rpcStatus"
  4400    /v1/example/requiredmessagetype:
  4401      post:
  4402        tags:
  4403        - "ABitOfEverythingService"
  4404        operationId: "ABitOfEverythingService_PostRequiredMessageType"
  4405        parameters:
  4406        - in: "body"
  4407          name: "body"
  4408          required: true
  4409          schema:
  4410            $ref: "#/definitions/examplepbRequiredMessageTypeRequest"
  4411          x-exportParamName: "Body"
  4412        responses:
  4413          200:
  4414            description: "A successful response."
  4415            schema:
  4416              type: "object"
  4417          403:
  4418            description: "Returned when the user does not have permission to access\
  4419              \ the resource."
  4420            schema: {}
  4421          404:
  4422            description: "Returned when the resource does not exist."
  4423            schema:
  4424              type: "string"
  4425              format: "string"
  4426          418:
  4427            description: "I'm a teapot."
  4428            schema:
  4429              $ref: "#/definitions/examplepbNumericEnum"
  4430          500:
  4431            description: "Server error"
  4432            schema:
  4433              $ref: "#/definitions/examplepbErrorResponse"
  4434          default:
  4435            description: "An unexpected error response."
  4436            schema:
  4437              $ref: "#/definitions/rpcStatus"
  4438    /v1/example/snake/{who}/{what}/{where}:
  4439      get:
  4440        tags:
  4441        - "SnakeEnumService"
  4442        operationId: "SnakeEnumService_SnakeEnum"
  4443        parameters:
  4444        - name: "who"
  4445          in: "path"
  4446          required: true
  4447          type: "string"
  4448          enum:
  4449          - "value_e"
  4450          - "value_f"
  4451          x-exportParamName: "Who"
  4452        - name: "what"
  4453          in: "path"
  4454          required: true
  4455          type: "string"
  4456          enum:
  4457          - "value_c"
  4458          - "value_d"
  4459          x-exportParamName: "What"
  4460        - name: "where"
  4461          in: "path"
  4462          required: true
  4463          type: "string"
  4464          enum:
  4465          - "value_x"
  4466          - "value_y"
  4467          x-exportParamName: "Where"
  4468        responses:
  4469          200:
  4470            description: "A successful response."
  4471            schema:
  4472              $ref: "#/definitions/examplepbSnakeEnumResponse"
  4473          403:
  4474            description: "Returned when the user does not have permission to access\
  4475              \ the resource."
  4476            schema: {}
  4477          404:
  4478            description: "Returned when the resource does not exist."
  4479            schema:
  4480              type: "string"
  4481              format: "string"
  4482          418:
  4483            description: "I'm a teapot."
  4484            schema:
  4485              $ref: "#/definitions/examplepbNumericEnum"
  4486          500:
  4487            description: "Server error"
  4488            schema:
  4489              $ref: "#/definitions/examplepbErrorResponse"
  4490          default:
  4491            description: "An unexpected error response."
  4492            schema:
  4493              $ref: "#/definitions/rpcStatus"
  4494    /v1/{book.name}:
  4495      patch:
  4496        tags:
  4497        - "ABitOfEverythingService"
  4498        operationId: "ABitOfEverythingService_UpdateBook"
  4499        parameters:
  4500        - name: "book.name"
  4501          in: "path"
  4502          description: "The resource name of the book.\n\nFormat: `publishers/{publisher}/books/{book}`\n\
  4503            \nExample: `publishers/1257894000000000000/books/my-book`"
  4504          required: true
  4505          type: "string"
  4506          pattern: "publishers/[^/]+/books/[^/]+"
  4507          x-exportParamName: "BookName"
  4508        - in: "body"
  4509          name: "book"
  4510          description: "The book to update.\n\nThe book's `name` field is used to identify\
  4511            \ the book to be updated.\nFormat: publishers/{publisher}/books/{book}"
  4512          required: true
  4513          schema:
  4514            $ref: "The book to update."
  4515          x-exportParamName: "Book"
  4516        - name: "allowMissing"
  4517          in: "query"
  4518          description: "If set to true, and the book is not found, a new book will be\
  4519            \ created.\nIn this situation, `update_mask` is ignored."
  4520          required: false
  4521          type: "boolean"
  4522          x-exportParamName: "AllowMissing"
  4523          x-optionalDataType: "Bool"
  4524        responses:
  4525          200:
  4526            description: "A successful response."
  4527            schema:
  4528              $ref: "#/definitions/examplepbBook"
  4529          403:
  4530            description: "Returned when the user does not have permission to access\
  4531              \ the resource."
  4532            schema: {}
  4533          404:
  4534            description: "Returned when the resource does not exist."
  4535            schema:
  4536              type: "string"
  4537              format: "string"
  4538          418:
  4539            description: "I'm a teapot."
  4540            schema:
  4541              $ref: "#/definitions/examplepbNumericEnum"
  4542          500:
  4543            description: "Server error"
  4544            schema:
  4545              $ref: "#/definitions/examplepbErrorResponse"
  4546          default:
  4547            description: "An unexpected error response."
  4548            schema:
  4549              $ref: "#/definitions/rpcStatus"
  4550    /v1/{parent}/books:
  4551      post:
  4552        tags:
  4553        - "ABitOfEverythingService"
  4554        summary: "Create a book."
  4555        operationId: "ABitOfEverythingService_CreateBook"
  4556        parameters:
  4557        - name: "parent"
  4558          in: "path"
  4559          description: "The publisher in which to create the book.\n\nFormat: `publishers/{publisher}`\n\
  4560            \nExample: `publishers/1257894000000000000`"
  4561          required: true
  4562          type: "string"
  4563          pattern: "publishers/[^/]+"
  4564          x-exportParamName: "Parent"
  4565        - in: "body"
  4566          name: "book"
  4567          description: "The book to create."
  4568          required: true
  4569          schema:
  4570            $ref: "#/definitions/examplepbBook"
  4571          x-exportParamName: "Book"
  4572        - name: "bookId"
  4573          in: "query"
  4574          description: "The ID to use for the book.\n\nThis must start with an alphanumeric\
  4575            \ character."
  4576          required: false
  4577          type: "string"
  4578          x-exportParamName: "BookId"
  4579          x-optionalDataType: "String"
  4580        responses:
  4581          200:
  4582            description: "A successful response."
  4583            schema:
  4584              $ref: "#/definitions/examplepbBook"
  4585          403:
  4586            description: "Returned when the user does not have permission to access\
  4587              \ the resource."
  4588            schema: {}
  4589          404:
  4590            description: "Returned when the resource does not exist."
  4591            schema:
  4592              type: "string"
  4593              format: "string"
  4594          418:
  4595            description: "I'm a teapot."
  4596            schema:
  4597              $ref: "#/definitions/examplepbNumericEnum"
  4598          500:
  4599            description: "Server error"
  4600            schema:
  4601              $ref: "#/definitions/examplepbErrorResponse"
  4602          default:
  4603            description: "An unexpected error response."
  4604            schema:
  4605              $ref: "#/definitions/rpcStatus"
  4606    /v2/example/a_bit_of_everything/{uuidName}:
  4607      put:
  4608        tags:
  4609        - "ABitOfEverythingService"
  4610        operationId: "ABitOfEverythingService_UpdateV2"
  4611        parameters:
  4612        - name: "uuidName"
  4613          in: "path"
  4614          required: true
  4615          type: "string"
  4616          format: "uuid"
  4617          x-internal: true
  4618          x-exportParamName: "UuidName"
  4619        - in: "body"
  4620          name: "abe"
  4621          description: "A bit of everything\n\nIntentionally complicated message type\
  4622            \ to cover many features of Protobuf."
  4623          required: true
  4624          schema:
  4625            $ref: "#/definitions/A bit of everything"
  4626          x-exportParamName: "Abe"
  4627        - name: "updateMask"
  4628          in: "query"
  4629          description: "The paths to update."
  4630          required: false
  4631          type: "string"
  4632          x-exportParamName: "UpdateMask"
  4633          x-optionalDataType: "String"
  4634        responses:
  4635          200:
  4636            description: "A successful response."
  4637            schema:
  4638              type: "object"
  4639          403:
  4640            description: "Returned when the user does not have permission to access\
  4641              \ the resource."
  4642            schema: {}
  4643          404:
  4644            description: "Returned when the resource does not exist."
  4645            schema:
  4646              type: "string"
  4647              format: "string"
  4648          418:
  4649            description: "I'm a teapot."
  4650            schema:
  4651              $ref: "#/definitions/examplepbNumericEnum"
  4652          500:
  4653            description: "Server error"
  4654            schema:
  4655              $ref: "#/definitions/examplepbErrorResponse"
  4656          default:
  4657            description: "An unexpected error response."
  4658            schema:
  4659              $ref: "#/definitions/rpcStatus"
  4660      patch:
  4661        tags:
  4662        - "ABitOfEverythingService"
  4663        operationId: "ABitOfEverythingService_UpdateV22"
  4664        parameters:
  4665        - name: "uuidName"
  4666          in: "path"
  4667          required: true
  4668          type: "string"
  4669          format: "uuid"
  4670          x-internal: true
  4671          x-exportParamName: "UuidName"
  4672        - in: "body"
  4673          name: "abe"
  4674          description: "A bit of everything\n\nIntentionally complicated message type\
  4675            \ to cover many features of Protobuf."
  4676          required: true
  4677          schema:
  4678            $ref: "#/definitions/A bit of everything_1"
  4679          x-exportParamName: "Abe"
  4680        responses:
  4681          200:
  4682            description: "A successful response."
  4683            schema:
  4684              type: "object"
  4685          403:
  4686            description: "Returned when the user does not have permission to access\
  4687              \ the resource."
  4688            schema: {}
  4689          404:
  4690            description: "Returned when the resource does not exist."
  4691            schema:
  4692              type: "string"
  4693              format: "string"
  4694          418:
  4695            description: "I'm a teapot."
  4696            schema:
  4697              $ref: "#/definitions/examplepbNumericEnum"
  4698          500:
  4699            description: "Server error"
  4700            schema:
  4701              $ref: "#/definitions/examplepbErrorResponse"
  4702          default:
  4703            description: "An unexpected error response."
  4704            schema:
  4705              $ref: "#/definitions/rpcStatus"
  4706    /v2/example/echo:
  4707      get:
  4708        tags:
  4709        - "echo rpc"
  4710        summary: "Summary: Echo rpc"
  4711        description: "Description Echo"
  4712        operationId: "ABitOfEverythingService_Echo3"
  4713        parameters:
  4714        - name: "value"
  4715          in: "query"
  4716          required: false
  4717          type: "string"
  4718          x-exportParamName: "Value"
  4719          x-optionalDataType: "String"
  4720        responses:
  4721          200:
  4722            description: "A successful response."
  4723            examples:
  4724              application/json:
  4725                value: "the input value"
  4726            schema:
  4727              $ref: "#/definitions/subStringMessage"
  4728          403:
  4729            description: "Returned when the user does not have permission to access\
  4730              \ the resource."
  4731            schema: {}
  4732          404:
  4733            description: "Returned when the resource does not exist."
  4734            schema:
  4735              type: "integer"
  4736              format: "integer"
  4737          418:
  4738            description: "I'm a teapot."
  4739            schema:
  4740              $ref: "#/definitions/examplepbNumericEnum"
  4741          500:
  4742            description: "Server error"
  4743            schema:
  4744              $ref: "#/definitions/examplepbErrorResponse"
  4745          503:
  4746            description: "Returned when the resource is temporarily unavailable."
  4747            schema: {}
  4748            x-number: 100
  4749          default:
  4750            description: "An unexpected error response."
  4751            schema:
  4752              $ref: "#/definitions/rpcStatus"
  4753        externalDocs:
  4754          description: "Find out more Echo"
  4755          url: "https://github.com/grpc-ecosystem/grpc-gateway"
  4756      post:
  4757        tags:
  4758        - "echo rpc"
  4759        summary: "Summary: Echo rpc"
  4760        description: "Description Echo"
  4761        operationId: "ABitOfEverythingService_Echo2"
  4762        parameters:
  4763        - in: "body"
  4764          name: "value"
  4765          required: true
  4766          schema:
  4767            type: "string"
  4768          x-exportParamName: "Value"
  4769        responses:
  4770          200:
  4771            description: "A successful response."
  4772            examples:
  4773              application/json:
  4774                value: "the input value"
  4775            schema:
  4776              $ref: "#/definitions/subStringMessage"
  4777          403:
  4778            description: "Returned when the user does not have permission to access\
  4779              \ the resource."
  4780            schema: {}
  4781          404:
  4782            description: "Returned when the resource does not exist."
  4783            schema:
  4784              type: "integer"
  4785              format: "integer"
  4786          418:
  4787            description: "I'm a teapot."
  4788            schema:
  4789              $ref: "#/definitions/examplepbNumericEnum"
  4790          500:
  4791            description: "Server error"
  4792            schema:
  4793              $ref: "#/definitions/examplepbErrorResponse"
  4794          503:
  4795            description: "Returned when the resource is temporarily unavailable."
  4796            schema: {}
  4797            x-number: 100
  4798          default:
  4799            description: "An unexpected error response."
  4800            schema:
  4801              $ref: "#/definitions/rpcStatus"
  4802        externalDocs:
  4803          description: "Find out more Echo"
  4804          url: "https://github.com/grpc-ecosystem/grpc-gateway"
  4805    /v2/example/empty:
  4806      get:
  4807        tags:
  4808        - "camelCaseServiceName"
  4809        operationId: "camelCaseServiceName_Empty"
  4810        parameters: []
  4811        responses:
  4812          200:
  4813            description: "A successful response."
  4814            schema:
  4815              type: "object"
  4816          403:
  4817            description: "Returned when the user does not have permission to access\
  4818              \ the resource."
  4819            schema: {}
  4820          404:
  4821            description: "Returned when the resource does not exist."
  4822            schema:
  4823              type: "string"
  4824              format: "string"
  4825          418:
  4826            description: "I'm a teapot."
  4827            schema:
  4828              $ref: "#/definitions/examplepbNumericEnum"
  4829          500:
  4830            description: "Server error"
  4831            schema:
  4832              $ref: "#/definitions/examplepbErrorResponse"
  4833          default:
  4834            description: "An unexpected error response."
  4835            schema:
  4836              $ref: "#/definitions/rpcStatus"
  4837    /v2/example/errorwithdetails:
  4838      get:
  4839        tags:
  4840        - "ABitOfEverythingService"
  4841        operationId: "ABitOfEverythingService_ErrorWithDetails"
  4842        parameters: []
  4843        responses:
  4844          200:
  4845            description: "A successful response."
  4846            schema:
  4847              type: "object"
  4848          403:
  4849            description: "Returned when the user does not have permission to access\
  4850              \ the resource."
  4851            schema: {}
  4852          404:
  4853            description: "Returned when the resource does not exist."
  4854            schema:
  4855              type: "string"
  4856              format: "string"
  4857          418:
  4858            description: "I'm a teapot."
  4859            schema:
  4860              $ref: "#/definitions/examplepbNumericEnum"
  4861          500:
  4862            description: "Server error"
  4863            schema:
  4864              $ref: "#/definitions/examplepbErrorResponse"
  4865          default:
  4866            description: "An unexpected error response."
  4867            schema:
  4868              $ref: "#/definitions/rpcStatus"
  4869    /v2/example/overwriterequestcontenttype:
  4870      post:
  4871        tags:
  4872        - "ABitOfEverything"
  4873        operationId: "ABitOfEverythingService_OverwriteRequestContentType"
  4874        consumes:
  4875        - "application/x-bar-mime"
  4876        parameters:
  4877        - in: "body"
  4878          name: "body"
  4879          required: true
  4880          schema:
  4881            $ref: "#/definitions/examplepbBody"
  4882          x-exportParamName: "Body"
  4883        responses:
  4884          200:
  4885            description: "A successful response."
  4886            schema:
  4887              type: "object"
  4888          403:
  4889            description: "Returned when the user does not have permission to access\
  4890              \ the resource."
  4891            schema: {}
  4892          404:
  4893            description: "Returned when the resource does not exist."
  4894            schema:
  4895              type: "string"
  4896              format: "string"
  4897          418:
  4898            description: "I'm a teapot."
  4899            schema:
  4900              $ref: "#/definitions/examplepbNumericEnum"
  4901          500:
  4902            description: "Server error"
  4903            schema:
  4904              $ref: "#/definitions/examplepbErrorResponse"
  4905          default:
  4906            description: "An unexpected error response."
  4907            schema:
  4908              $ref: "#/definitions/rpcStatus"
  4909    /v2/example/overwriteresponsecontenttype:
  4910      get:
  4911        tags:
  4912        - "ABitOfEverything"
  4913        operationId: "ABitOfEverythingService_OverwriteResponseContentType"
  4914        produces:
  4915        - "application/text"
  4916        parameters: []
  4917        responses:
  4918          200:
  4919            description: "A successful response."
  4920            schema:
  4921              type: "string"
  4922          403:
  4923            description: "Returned when the user does not have permission to access\
  4924              \ the resource."
  4925            schema: {}
  4926          404:
  4927            description: "Returned when the resource does not exist."
  4928            schema:
  4929              type: "string"
  4930              format: "string"
  4931          418:
  4932            description: "I'm a teapot."
  4933            schema:
  4934              $ref: "#/definitions/examplepbNumericEnum"
  4935          500:
  4936            description: "Server error"
  4937            schema:
  4938              $ref: "#/definitions/examplepbErrorResponse"
  4939          default:
  4940            description: "An unexpected error response."
  4941            schema:
  4942              $ref: "#/definitions/rpcStatus"
  4943    /v2/example/postwithemptybody/{name}:
  4944      post:
  4945        tags:
  4946        - "ABitOfEverythingService"
  4947        operationId: "ABitOfEverythingService_PostWithEmptyBody"
  4948        parameters:
  4949        - name: "name"
  4950          in: "path"
  4951          required: true
  4952          type: "string"
  4953          x-exportParamName: "Name"
  4954        - in: "body"
  4955          name: "body"
  4956          required: true
  4957          schema:
  4958            $ref: "#/definitions/ABitOfEverythingServicePostWithEmptyBodyBody"
  4959          x-exportParamName: "Body"
  4960        responses:
  4961          200:
  4962            description: "A successful response."
  4963            schema:
  4964              type: "object"
  4965          403:
  4966            description: "Returned when the user does not have permission to access\
  4967              \ the resource."
  4968            schema: {}
  4969          404:
  4970            description: "Returned when the resource does not exist."
  4971            schema:
  4972              type: "string"
  4973              format: "string"
  4974          418:
  4975            description: "I'm a teapot."
  4976            schema:
  4977              $ref: "#/definitions/examplepbNumericEnum"
  4978          500:
  4979            description: "Server error"
  4980            schema:
  4981              $ref: "#/definitions/examplepbErrorResponse"
  4982          default:
  4983            description: "An unexpected error response."
  4984            schema:
  4985              $ref: "#/definitions/rpcStatus"
  4986    /v2/example/timeout:
  4987      get:
  4988        tags:
  4989        - "ABitOfEverythingService"
  4990        operationId: "ABitOfEverythingService_Timeout"
  4991        parameters: []
  4992        responses:
  4993          200:
  4994            description: "A successful response."
  4995            schema:
  4996              type: "object"
  4997          403:
  4998            description: "Returned when the user does not have permission to access\
  4999              \ the resource."
  5000            schema: {}
  5001          404:
  5002            description: "Returned when the resource does not exist."
  5003            schema:
  5004              type: "string"
  5005              format: "string"
  5006          418:
  5007            description: "I'm a teapot."
  5008            schema:
  5009              $ref: "#/definitions/examplepbNumericEnum"
  5010          500:
  5011            description: "Server error"
  5012            schema:
  5013              $ref: "#/definitions/examplepbErrorResponse"
  5014          default:
  5015            description: "An unexpected error response."
  5016            schema:
  5017              $ref: "#/definitions/rpcStatus"
  5018    /v2/example/withbody/{id}:
  5019      post:
  5020        tags:
  5021        - "ABitOfEverythingService"
  5022        operationId: "ABitOfEverythingService_GetMessageWithBody"
  5023        parameters:
  5024        - name: "id"
  5025          in: "path"
  5026          required: true
  5027          type: "string"
  5028          x-exportParamName: "Id"
  5029        - in: "body"
  5030          name: "data"
  5031          required: true
  5032          schema:
  5033            $ref: "#/definitions/examplepbBody"
  5034          x-exportParamName: "Data"
  5035        responses:
  5036          200:
  5037            description: "A successful response."
  5038            schema:
  5039              type: "object"
  5040          403:
  5041            description: "Returned when the user does not have permission to access\
  5042              \ the resource."
  5043            schema: {}
  5044          404:
  5045            description: "Returned when the resource does not exist."
  5046            schema:
  5047              type: "string"
  5048              format: "string"
  5049          418:
  5050            description: "I'm a teapot."
  5051            schema:
  5052              $ref: "#/definitions/examplepbNumericEnum"
  5053          500:
  5054            description: "Server error"
  5055            schema:
  5056              $ref: "#/definitions/examplepbErrorResponse"
  5057          default:
  5058            description: "An unexpected error response."
  5059            schema:
  5060              $ref: "#/definitions/rpcStatus"
  5061    /v2/{value}:check:
  5062      get:
  5063        tags:
  5064        - "ABitOfEverythingService"
  5065        operationId: "ABitOfEverythingService_CheckExternalPathEnum"
  5066        parameters:
  5067        - name: "value"
  5068          in: "path"
  5069          required: true
  5070          type: "string"
  5071          enum:
  5072          - "ABC"
  5073          - "DEF"
  5074          x-exportParamName: "Value"
  5075        responses:
  5076          200:
  5077            description: "A successful response."
  5078            schema:
  5079              type: "object"
  5080          403:
  5081            description: "Returned when the user does not have permission to access\
  5082              \ the resource."
  5083            schema: {}
  5084          404:
  5085            description: "Returned when the resource does not exist."
  5086            schema:
  5087              type: "string"
  5088              format: "string"
  5089          418:
  5090            description: "I'm a teapot."
  5091            schema:
  5092              $ref: "#/definitions/examplepbNumericEnum"
  5093          500:
  5094            description: "Server error"
  5095            schema:
  5096              $ref: "#/definitions/examplepbErrorResponse"
  5097          default:
  5098            description: "An unexpected error response."
  5099            schema:
  5100              $ref: "#/definitions/rpcStatus"
  5101    /v2a/example/a_bit_of_everything/{uuidName}:
  5102      patch:
  5103        tags:
  5104        - "ABitOfEverythingService"
  5105        operationId: "ABitOfEverythingService_UpdateV23"
  5106        parameters:
  5107        - name: "uuidName"
  5108          in: "path"
  5109          required: true
  5110          type: "string"
  5111          format: "uuid"
  5112          x-internal: true
  5113          x-exportParamName: "UuidName"
  5114        - in: "body"
  5115          name: "body"
  5116          required: true
  5117          schema:
  5118            $ref: "#/definitions/ABitOfEverythingServiceUpdateV2Body"
  5119          x-exportParamName: "Body"
  5120        responses:
  5121          200:
  5122            description: "A successful response."
  5123            schema:
  5124              type: "object"
  5125          403:
  5126            description: "Returned when the user does not have permission to access\
  5127              \ the resource."
  5128            schema: {}
  5129          404:
  5130            description: "Returned when the resource does not exist."
  5131            schema:
  5132              type: "string"
  5133              format: "string"
  5134          418:
  5135            description: "I'm a teapot."
  5136            schema:
  5137              $ref: "#/definitions/examplepbNumericEnum"
  5138          500:
  5139            description: "Server error"
  5140            schema:
  5141              $ref: "#/definitions/examplepbErrorResponse"
  5142          default:
  5143            description: "An unexpected error response."
  5144            schema:
  5145              $ref: "#/definitions/rpcStatus"
  5146    /v3/{value}:check:
  5147      get:
  5148        tags:
  5149        - "ABitOfEverythingService"
  5150        operationId: "ABitOfEverythingService_CheckExternalNestedPathEnum"
  5151        parameters:
  5152        - name: "value"
  5153          in: "path"
  5154          required: true
  5155          type: "string"
  5156          enum:
  5157          - "GHI"
  5158          - "JKL"
  5159          x-exportParamName: "Value"
  5160        responses:
  5161          200:
  5162            description: "A successful response."
  5163            schema:
  5164              type: "object"
  5165          403:
  5166            description: "Returned when the user does not have permission to access\
  5167              \ the resource."
  5168            schema: {}
  5169          404:
  5170            description: "Returned when the resource does not exist."
  5171            schema:
  5172              type: "string"
  5173              format: "string"
  5174          418:
  5175            description: "I'm a teapot."
  5176            schema:
  5177              $ref: "#/definitions/examplepbNumericEnum"
  5178          500:
  5179            description: "Server error"
  5180            schema:
  5181              $ref: "#/definitions/examplepbErrorResponse"
  5182          default:
  5183            description: "An unexpected error response."
  5184            schema:
  5185              $ref: "#/definitions/rpcStatus"
  5186  securityDefinitions:
  5187    ApiKeyAuth:
  5188      type: "apiKey"
  5189      name: "X-API-Key"
  5190      in: "header"
  5191      x-amazon-apigateway-authorizer:
  5192        authorizerResultTtlInSeconds: 60
  5193        type: "token"
  5194      x-amazon-apigateway-authtype: "oauth2"
  5195    BasicAuth:
  5196      type: "basic"
  5197    OAuth2:
  5198      type: "oauth2"
  5199      authorizationUrl: "https://example.com/oauth/authorize"
  5200      tokenUrl: "https://example.com/oauth/token"
  5201      flow: "accessCode"
  5202      scopes:
  5203        admin: "Grants read and write access to administrative information"
  5204        read: "Grants read access"
  5205        write: "Grants write access"
  5206  definitions:
  5207    ABitOfEverythingNested:
  5208      type: "object"
  5209      properties:
  5210        name:
  5211          type: "string"
  5212          description: "name is nested field."
  5213        amount:
  5214          type: "integer"
  5215          format: "int64"
  5216        ok:
  5217          description: "DeepEnum description."
  5218          $ref: "#/definitions/NestedDeepEnum"
  5219      description: "Nested is nested type."
  5220      example:
  5221        ok: "TRUE"
  5222    ABitOfEverythingServiceDeepPathEchoBody:
  5223      type: "object"
  5224      required:
  5225      - "doubleValue"
  5226      - "floatValue"
  5227      - "int64Value"
  5228      - "requiredStringField1"
  5229      - "requiredStringField2"
  5230      - "requiredStringViaFieldBehaviorAnnotation"
  5231      - "required_field_behavior_json_name_custom"
  5232      - "required_field_schema_json_name_custom"
  5233      - "uuid"
  5234      properties:
  5235        singleNested:
  5236          $ref: "#/definitions/ABitOfEverythingServiceDeepPathEchoBody_singleNested"
  5237        uuid:
  5238          type: "string"
  5239          format: "uuid"
  5240          minLength: 1
  5241          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
  5242          x-internal: true
  5243        nested:
  5244          type: "array"
  5245          items:
  5246            $ref: "#/definitions/ABitOfEverythingNested"
  5247        floatValue:
  5248          type: "number"
  5249          format: "float"
  5250          description: "Float value field"
  5251          default: 0.2
  5252        doubleValue:
  5253          type: "number"
  5254          format: "double"
  5255        int64Value:
  5256          type: "string"
  5257          format: "int64"
  5258        uint64Value:
  5259          type: "string"
  5260          format: "uint64"
  5261        int32Value:
  5262          type: "integer"
  5263          format: "int32"
  5264        fixed64Value:
  5265          type: "string"
  5266          format: "uint64"
  5267        fixed32Value:
  5268          type: "integer"
  5269          format: "int64"
  5270        boolValue:
  5271          type: "boolean"
  5272        stringValue:
  5273          type: "string"
  5274        bytesValue:
  5275          type: "string"
  5276          format: "byte"
  5277          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  5278        uint32Value:
  5279          type: "integer"
  5280          format: "int64"
  5281        enumValue:
  5282          $ref: "#/definitions/examplepbNumericEnum"
  5283        pathEnumValue:
  5284          $ref: "#/definitions/pathenumPathEnum"
  5285        nestedPathEnumValue:
  5286          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  5287        sfixed32Value:
  5288          type: "integer"
  5289          format: "int32"
  5290        sfixed64Value:
  5291          type: "string"
  5292          format: "int64"
  5293        sint32Value:
  5294          type: "integer"
  5295          format: "int32"
  5296        sint64Value:
  5297          type: "string"
  5298          format: "int64"
  5299        repeatedStringValue:
  5300          type: "array"
  5301          items:
  5302            type: "string"
  5303        oneofEmpty:
  5304          type: "object"
  5305          properties: {}
  5306        oneofString:
  5307          type: "string"
  5308        mapValue:
  5309          type: "object"
  5310          additionalProperties:
  5311            $ref: "#/definitions/examplepbNumericEnum"
  5312        mappedStringValue:
  5313          type: "object"
  5314          additionalProperties:
  5315            type: "string"
  5316        mappedNestedValue:
  5317          type: "object"
  5318          additionalProperties:
  5319            $ref: "#/definitions/ABitOfEverythingNested"
  5320        nonConventionalNameValue:
  5321          type: "string"
  5322        timestampValue:
  5323          type: "string"
  5324          format: "date-time"
  5325        repeatedEnumValue:
  5326          type: "array"
  5327          title: "repeated enum value. it is comma-separated in query"
  5328          items:
  5329            $ref: "#/definitions/examplepbNumericEnum"
  5330        repeatedEnumAnnotation:
  5331          type: "array"
  5332          description: "Repeated numeric enum description."
  5333          title: "Repeated numeric enum title"
  5334          items:
  5335            $ref: "#/definitions/examplepbNumericEnum"
  5336        enumValueAnnotation:
  5337          description: "Numeric enum description."
  5338          title: "Numeric enum title"
  5339          $ref: "#/definitions/examplepbNumericEnum"
  5340        repeatedStringAnnotation:
  5341          type: "array"
  5342          description: "Repeated string description."
  5343          title: "Repeated string title"
  5344          items:
  5345            type: "string"
  5346        repeatedNestedAnnotation:
  5347          type: "array"
  5348          description: "Repeated nested object description."
  5349          title: "Repeated nested object title"
  5350          items:
  5351            $ref: "#/definitions/ABitOfEverythingNested"
  5352        nestedAnnotation:
  5353          description: "Nested object description."
  5354          title: "Nested object title"
  5355          $ref: "#/definitions/ABitOfEverythingNested"
  5356        int64OverrideType:
  5357          type: "integer"
  5358          format: "int64"
  5359        requiredStringViaFieldBehaviorAnnotation:
  5360          type: "string"
  5361          title: "mark a field as required in Open API definition"
  5362        outputOnlyStringViaFieldBehaviorAnnotation:
  5363          type: "string"
  5364          title: "mark a field as readonly in Open API definition"
  5365          readOnly: true
  5366        optionalStringValue:
  5367          type: "string"
  5368        productId:
  5369          type: "array"
  5370          description: "Only digits are allowed."
  5371          title: "Test openapiv2 generation of repeated fields"
  5372          items:
  5373            type: "string"
  5374            minLength: 1
  5375            maxLength: 19
  5376            pattern: "^[0-9]+$"
  5377        optionalStringField:
  5378          type: "string"
  5379          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  5380            \ to reproduce"
  5381        requiredStringField1:
  5382          type: "string"
  5383        requiredStringField2:
  5384          type: "string"
  5385        required_field_behavior_json_name_custom:
  5386          type: "string"
  5387          title: "Test openapiv2 handling of required json_name fields"
  5388        required_field_schema_json_name_custom:
  5389          type: "string"
  5390        trailingOnly:
  5391          type: "string"
  5392          title: "Trailing only"
  5393        trailingOnlyDot:
  5394          type: "string"
  5395          description: "Trailing only dot."
  5396        trailingBoth:
  5397          type: "string"
  5398          description: "Trailing both."
  5399          title: "Leading both"
  5400        trailingMultiline:
  5401          type: "string"
  5402          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  5403          title: "Leading multiline"
  5404        uuids:
  5405          type: "array"
  5406          title: "Specify a custom format of repeated field items"
  5407          items:
  5408            type: "string"
  5409            format: "uuid"
  5410      externalDocs:
  5411        description: "Find out more about ABitOfEverything"
  5412        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  5413      title: "A bit of everything"
  5414      description: "Intentionally complicated message type to cover many features of\
  5415        \ Protobuf."
  5416      example:
  5417        int64_value: 12
  5418        double_value: 12.3
  5419      x-a-bit-of-everything-foo: "bar"
  5420    ABitOfEverythingServicePostWithEmptyBodyBody:
  5421      type: "object"
  5422    ABitOfEverythingServiceUpdateV2Body:
  5423      type: "object"
  5424      properties:
  5425        abe:
  5426          $ref: "#/definitions/A bit of everything_2"
  5427        updateMask:
  5428          type: "string"
  5429          description: "The paths to update."
  5430      title: "UpdateV2Request request for update includes the message and the update\
  5431        \ mask"
  5432      example:
  5433        abe: "{\"int64_value\":12,\"double_value\":12.3}"
  5434        updateMask: "updateMask"
  5435    MessagePathEnumNestedPathEnum:
  5436      type: "string"
  5437      enum:
  5438      - "GHI"
  5439      - "JKL"
  5440      default: "GHI"
  5441    NestedDeepEnum:
  5442      type: "string"
  5443      description: "DeepEnum is one or zero.\n\n - FALSE: FALSE is false.\n - TRUE:\
  5444        \ TRUE is true."
  5445      enum:
  5446      - "FALSE"
  5447      - "TRUE"
  5448      default: "FALSE"
  5449    examplepbABitOfEverything:
  5450      type: "object"
  5451      required:
  5452      - "doubleValue"
  5453      - "floatValue"
  5454      - "int64Value"
  5455      - "requiredStringField1"
  5456      - "requiredStringField2"
  5457      - "requiredStringViaFieldBehaviorAnnotation"
  5458      - "required_field_behavior_json_name_custom"
  5459      - "required_field_schema_json_name_custom"
  5460      - "uuid"
  5461      properties:
  5462        singleNested:
  5463          $ref: "#/definitions/ABitOfEverythingNested"
  5464        uuid:
  5465          type: "string"
  5466          format: "uuid"
  5467          minLength: 1
  5468          pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
  5469          x-internal: true
  5470        nested:
  5471          type: "array"
  5472          items:
  5473            $ref: "#/definitions/ABitOfEverythingNested"
  5474        floatValue:
  5475          type: "number"
  5476          format: "float"
  5477          description: "Float value field"
  5478          default: 0.2
  5479        doubleValue:
  5480          type: "number"
  5481          format: "double"
  5482        int64Value:
  5483          type: "string"
  5484          format: "int64"
  5485        uint64Value:
  5486          type: "string"
  5487          format: "uint64"
  5488        int32Value:
  5489          type: "integer"
  5490          format: "int32"
  5491        fixed64Value:
  5492          type: "string"
  5493          format: "uint64"
  5494        fixed32Value:
  5495          type: "integer"
  5496          format: "int64"
  5497        boolValue:
  5498          type: "boolean"
  5499        stringValue:
  5500          type: "string"
  5501        bytesValue:
  5502          type: "string"
  5503          format: "byte"
  5504          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  5505        uint32Value:
  5506          type: "integer"
  5507          format: "int64"
  5508        enumValue:
  5509          $ref: "#/definitions/examplepbNumericEnum"
  5510        pathEnumValue:
  5511          $ref: "#/definitions/pathenumPathEnum"
  5512        nestedPathEnumValue:
  5513          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  5514        sfixed32Value:
  5515          type: "integer"
  5516          format: "int32"
  5517        sfixed64Value:
  5518          type: "string"
  5519          format: "int64"
  5520        sint32Value:
  5521          type: "integer"
  5522          format: "int32"
  5523        sint64Value:
  5524          type: "string"
  5525          format: "int64"
  5526        repeatedStringValue:
  5527          type: "array"
  5528          items:
  5529            type: "string"
  5530        oneofEmpty:
  5531          type: "object"
  5532          properties: {}
  5533        oneofString:
  5534          type: "string"
  5535        mapValue:
  5536          type: "object"
  5537          additionalProperties:
  5538            $ref: "#/definitions/examplepbNumericEnum"
  5539        mappedStringValue:
  5540          type: "object"
  5541          additionalProperties:
  5542            type: "string"
  5543        mappedNestedValue:
  5544          type: "object"
  5545          additionalProperties:
  5546            $ref: "#/definitions/ABitOfEverythingNested"
  5547        nonConventionalNameValue:
  5548          type: "string"
  5549        timestampValue:
  5550          type: "string"
  5551          format: "date-time"
  5552        repeatedEnumValue:
  5553          type: "array"
  5554          title: "repeated enum value. it is comma-separated in query"
  5555          items:
  5556            $ref: "#/definitions/examplepbNumericEnum"
  5557        repeatedEnumAnnotation:
  5558          type: "array"
  5559          description: "Repeated numeric enum description."
  5560          title: "Repeated numeric enum title"
  5561          items:
  5562            $ref: "#/definitions/examplepbNumericEnum"
  5563        enumValueAnnotation:
  5564          description: "Numeric enum description."
  5565          title: "Numeric enum title"
  5566          $ref: "#/definitions/examplepbNumericEnum"
  5567        repeatedStringAnnotation:
  5568          type: "array"
  5569          description: "Repeated string description."
  5570          title: "Repeated string title"
  5571          items:
  5572            type: "string"
  5573        repeatedNestedAnnotation:
  5574          type: "array"
  5575          description: "Repeated nested object description."
  5576          title: "Repeated nested object title"
  5577          items:
  5578            $ref: "#/definitions/ABitOfEverythingNested"
  5579        nestedAnnotation:
  5580          description: "Nested object description."
  5581          title: "Nested object title"
  5582          $ref: "#/definitions/ABitOfEverythingNested"
  5583        int64OverrideType:
  5584          type: "integer"
  5585          format: "int64"
  5586        requiredStringViaFieldBehaviorAnnotation:
  5587          type: "string"
  5588          title: "mark a field as required in Open API definition"
  5589        outputOnlyStringViaFieldBehaviorAnnotation:
  5590          type: "string"
  5591          title: "mark a field as readonly in Open API definition"
  5592          readOnly: true
  5593        optionalStringValue:
  5594          type: "string"
  5595        productId:
  5596          type: "array"
  5597          description: "Only digits are allowed."
  5598          title: "Test openapiv2 generation of repeated fields"
  5599          items:
  5600            type: "string"
  5601            minLength: 1
  5602            maxLength: 19
  5603            pattern: "^[0-9]+$"
  5604        optionalStringField:
  5605          type: "string"
  5606          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  5607            \ to reproduce"
  5608        requiredStringField1:
  5609          type: "string"
  5610        requiredStringField2:
  5611          type: "string"
  5612        required_field_behavior_json_name_custom:
  5613          type: "string"
  5614          title: "Test openapiv2 handling of required json_name fields"
  5615        required_field_schema_json_name_custom:
  5616          type: "string"
  5617        trailingOnly:
  5618          type: "string"
  5619          title: "Trailing only"
  5620        trailingOnlyDot:
  5621          type: "string"
  5622          description: "Trailing only dot."
  5623        trailingBoth:
  5624          type: "string"
  5625          description: "Trailing both."
  5626          title: "Leading both"
  5627        trailingMultiline:
  5628          type: "string"
  5629          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  5630          title: "Leading multiline"
  5631        uuids:
  5632          type: "array"
  5633          title: "Specify a custom format of repeated field items"
  5634          items:
  5635            type: "string"
  5636            format: "uuid"
  5637      externalDocs:
  5638        description: "Find out more about ABitOfEverything"
  5639        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  5640      title: "A bit of everything"
  5641      description: "Intentionally complicated message type to cover many features of\
  5642        \ Protobuf."
  5643      example:
  5644        int64_value: 12
  5645        double_value: 12.3
  5646      x-a-bit-of-everything-foo: "bar"
  5647    examplepbABitOfEverythingRepeated:
  5648      type: "object"
  5649      properties:
  5650        pathRepeatedFloatValue:
  5651          type: "array"
  5652          title: "repeated values. they are comma-separated in path"
  5653          items:
  5654            type: "number"
  5655            format: "float"
  5656        pathRepeatedDoubleValue:
  5657          type: "array"
  5658          items:
  5659            type: "number"
  5660            format: "double"
  5661        pathRepeatedInt64Value:
  5662          type: "array"
  5663          items:
  5664            type: "string"
  5665            format: "int64"
  5666        pathRepeatedUint64Value:
  5667          type: "array"
  5668          items:
  5669            type: "string"
  5670            format: "uint64"
  5671        pathRepeatedInt32Value:
  5672          type: "array"
  5673          items:
  5674            type: "integer"
  5675            format: "int32"
  5676        pathRepeatedFixed64Value:
  5677          type: "array"
  5678          items:
  5679            type: "string"
  5680            format: "uint64"
  5681        pathRepeatedFixed32Value:
  5682          type: "array"
  5683          items:
  5684            type: "integer"
  5685            format: "int64"
  5686        pathRepeatedBoolValue:
  5687          type: "array"
  5688          items:
  5689            type: "boolean"
  5690        pathRepeatedStringValue:
  5691          type: "array"
  5692          items:
  5693            type: "string"
  5694        pathRepeatedBytesValue:
  5695          type: "array"
  5696          items:
  5697            type: "string"
  5698            format: "byte"
  5699            pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  5700        pathRepeatedUint32Value:
  5701          type: "array"
  5702          items:
  5703            type: "integer"
  5704            format: "int64"
  5705        pathRepeatedEnumValue:
  5706          type: "array"
  5707          items:
  5708            $ref: "#/definitions/examplepbNumericEnum"
  5709        pathRepeatedSfixed32Value:
  5710          type: "array"
  5711          items:
  5712            type: "integer"
  5713            format: "int32"
  5714        pathRepeatedSfixed64Value:
  5715          type: "array"
  5716          items:
  5717            type: "string"
  5718            format: "int64"
  5719        pathRepeatedSint32Value:
  5720          type: "array"
  5721          items:
  5722            type: "integer"
  5723            format: "int32"
  5724        pathRepeatedSint64Value:
  5725          type: "array"
  5726          items:
  5727            type: "string"
  5728            format: "int64"
  5729      title: "ABitOfEverythingRepeated is used to validate repeated path parameter functionality"
  5730      example:
  5731        path_repeated_bool_value:
  5732        - true
  5733        - true
  5734        - false
  5735        - true
  5736        path_repeated_int32_value:
  5737        - 1
  5738        - 2
  5739        - 3
  5740    examplepbABitOfEverythingServiceUpdateBody:
  5741      type: "object"
  5742      required:
  5743      - "doubleValue"
  5744      - "floatValue"
  5745      - "int64Value"
  5746      - "requiredStringField1"
  5747      - "requiredStringField2"
  5748      - "requiredStringViaFieldBehaviorAnnotation"
  5749      - "required_field_behavior_json_name_custom"
  5750      - "required_field_schema_json_name_custom"
  5751      properties:
  5752        singleNested:
  5753          $ref: "#/definitions/ABitOfEverythingNested"
  5754        nested:
  5755          type: "array"
  5756          items:
  5757            $ref: "#/definitions/ABitOfEverythingNested"
  5758        floatValue:
  5759          type: "number"
  5760          format: "float"
  5761          description: "Float value field"
  5762          default: 0.2
  5763        doubleValue:
  5764          type: "number"
  5765          format: "double"
  5766        int64Value:
  5767          type: "string"
  5768          format: "int64"
  5769        uint64Value:
  5770          type: "string"
  5771          format: "uint64"
  5772        int32Value:
  5773          type: "integer"
  5774          format: "int32"
  5775        fixed64Value:
  5776          type: "string"
  5777          format: "uint64"
  5778        fixed32Value:
  5779          type: "integer"
  5780          format: "int64"
  5781        boolValue:
  5782          type: "boolean"
  5783        stringValue:
  5784          type: "string"
  5785        bytesValue:
  5786          type: "string"
  5787          format: "byte"
  5788          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  5789        uint32Value:
  5790          type: "integer"
  5791          format: "int64"
  5792        enumValue:
  5793          $ref: "#/definitions/examplepbNumericEnum"
  5794        pathEnumValue:
  5795          $ref: "#/definitions/pathenumPathEnum"
  5796        nestedPathEnumValue:
  5797          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  5798        sfixed32Value:
  5799          type: "integer"
  5800          format: "int32"
  5801        sfixed64Value:
  5802          type: "string"
  5803          format: "int64"
  5804        sint32Value:
  5805          type: "integer"
  5806          format: "int32"
  5807        sint64Value:
  5808          type: "string"
  5809          format: "int64"
  5810        repeatedStringValue:
  5811          type: "array"
  5812          items:
  5813            type: "string"
  5814        oneofEmpty:
  5815          type: "object"
  5816          properties: {}
  5817        oneofString:
  5818          type: "string"
  5819        mapValue:
  5820          type: "object"
  5821          additionalProperties:
  5822            $ref: "#/definitions/examplepbNumericEnum"
  5823        mappedStringValue:
  5824          type: "object"
  5825          additionalProperties:
  5826            type: "string"
  5827        mappedNestedValue:
  5828          type: "object"
  5829          additionalProperties:
  5830            $ref: "#/definitions/ABitOfEverythingNested"
  5831        nonConventionalNameValue:
  5832          type: "string"
  5833        timestampValue:
  5834          type: "string"
  5835          format: "date-time"
  5836        repeatedEnumValue:
  5837          type: "array"
  5838          title: "repeated enum value. it is comma-separated in query"
  5839          items:
  5840            $ref: "#/definitions/examplepbNumericEnum"
  5841        repeatedEnumAnnotation:
  5842          type: "array"
  5843          description: "Repeated numeric enum description."
  5844          title: "Repeated numeric enum title"
  5845          items:
  5846            $ref: "#/definitions/examplepbNumericEnum"
  5847        enumValueAnnotation:
  5848          description: "Numeric enum description."
  5849          title: "Numeric enum title"
  5850          $ref: "#/definitions/examplepbNumericEnum"
  5851        repeatedStringAnnotation:
  5852          type: "array"
  5853          description: "Repeated string description."
  5854          title: "Repeated string title"
  5855          items:
  5856            type: "string"
  5857        repeatedNestedAnnotation:
  5858          type: "array"
  5859          description: "Repeated nested object description."
  5860          title: "Repeated nested object title"
  5861          items:
  5862            $ref: "#/definitions/ABitOfEverythingNested"
  5863        nestedAnnotation:
  5864          description: "Nested object description."
  5865          title: "Nested object title"
  5866          $ref: "#/definitions/ABitOfEverythingNested"
  5867        int64OverrideType:
  5868          type: "integer"
  5869          format: "int64"
  5870        requiredStringViaFieldBehaviorAnnotation:
  5871          type: "string"
  5872          title: "mark a field as required in Open API definition"
  5873        outputOnlyStringViaFieldBehaviorAnnotation:
  5874          type: "string"
  5875          title: "mark a field as readonly in Open API definition"
  5876          readOnly: true
  5877        optionalStringValue:
  5878          type: "string"
  5879        productId:
  5880          type: "array"
  5881          description: "Only digits are allowed."
  5882          title: "Test openapiv2 generation of repeated fields"
  5883          items:
  5884            type: "string"
  5885            minLength: 1
  5886            maxLength: 19
  5887            pattern: "^[0-9]+$"
  5888        optionalStringField:
  5889          type: "string"
  5890          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  5891            \ to reproduce"
  5892        requiredStringField1:
  5893          type: "string"
  5894        requiredStringField2:
  5895          type: "string"
  5896        required_field_behavior_json_name_custom:
  5897          type: "string"
  5898          title: "Test openapiv2 handling of required json_name fields"
  5899        required_field_schema_json_name_custom:
  5900          type: "string"
  5901        trailingOnly:
  5902          type: "string"
  5903          title: "Trailing only"
  5904        trailingOnlyDot:
  5905          type: "string"
  5906          description: "Trailing only dot."
  5907        trailingBoth:
  5908          type: "string"
  5909          description: "Trailing both."
  5910          title: "Leading both"
  5911        trailingMultiline:
  5912          type: "string"
  5913          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  5914          title: "Leading multiline"
  5915        uuids:
  5916          type: "array"
  5917          title: "Specify a custom format of repeated field items"
  5918          items:
  5919            type: "string"
  5920            format: "uuid"
  5921      externalDocs:
  5922        description: "Find out more about ABitOfEverything"
  5923        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  5924      title: "A bit of everything"
  5925      description: "Intentionally complicated message type to cover many features of\
  5926        \ Protobuf."
  5927      example:
  5928        int64_value: 12
  5929        double_value: 12.3
  5930      x-a-bit-of-everything-foo: "bar"
  5931    examplepbBar:
  5932      type: "object"
  5933      required:
  5934      - "id"
  5935      properties:
  5936        id:
  5937          type: "string"
  5938    examplepbBody:
  5939      type: "object"
  5940      properties:
  5941        name:
  5942          type: "string"
  5943    examplepbBook:
  5944      type: "object"
  5945      properties:
  5946        name:
  5947          type: "string"
  5948          description: "The resource name of the book.\n\nFormat: `publishers/{publisher}/books/{book}`\n\
  5949            \nExample: `publishers/1257894000000000000/books/my-book`"
  5950        id:
  5951          type: "string"
  5952          description: "Output only. The book's ID."
  5953          readOnly: true
  5954        createTime:
  5955          type: "string"
  5956          format: "date-time"
  5957          description: "Output only. Creation time of the book."
  5958          readOnly: true
  5959      description: "An example resource type from AIP-123 used to test the behavior\
  5960        \ described in\nthe CreateBookRequest message.\n\nSee: https://google.aip.dev/123"
  5961      example:
  5962        createTime: "2000-01-23T04:56:07.000+00:00"
  5963        name: "name"
  5964        id: "id"
  5965    examplepbCheckStatusResponse:
  5966      type: "object"
  5967      properties:
  5968        status:
  5969          $ref: "#/definitions/rpcStatus"
  5970      example:
  5971        status:
  5972          code: 0
  5973          details:
  5974          - '@type': "@type"
  5975          - '@type': "@type"
  5976          message: "message"
  5977    examplepbErrorObject:
  5978      type: "object"
  5979      properties:
  5980        code:
  5981          type: "integer"
  5982          format: "integer"
  5983          description: "Response code"
  5984          title: "code"
  5985        message:
  5986          type: "string"
  5987          description: "Response message"
  5988          title: "message"
  5989          pattern: "^[a-zA-Z0-9]{1, 32}$"
  5990    examplepbErrorResponse:
  5991      type: "object"
  5992      properties:
  5993        correlationId:
  5994          type: "string"
  5995          format: "uuid"
  5996          example: "2438ac3c-37eb-4902-adef-ed16b4431030"
  5997          description: "Unique event identifier for server requests"
  5998          title: "x-correlation-id"
  5999          pattern: "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$"
  6000        error:
  6001          $ref: "#/definitions/examplepbErrorObject"
  6002    examplepbNumericEnum:
  6003      type: "string"
  6004      description: "NumericEnum is one or zero.\n\n - ZERO: ZERO means 0\n - ONE: ONE\
  6005        \ means 1"
  6006      enum:
  6007      - "ZERO"
  6008      - "ONE"
  6009      default: "ZERO"
  6010    examplepbRequiredMessageTypeRequest:
  6011      type: "object"
  6012      required:
  6013      - "foo"
  6014      - "id"
  6015      properties:
  6016        id:
  6017          type: "string"
  6018        foo:
  6019          $ref: "#/definitions/protoexamplepbFoo"
  6020      title: "Required message type -> OpenAPI\nhttps://github.com/grpc-ecosystem/grpc-gateway/issues/2837"
  6021    examplepbSnakeEnumResponse:
  6022      type: "object"
  6023    examplepbsnake_case_0_enum:
  6024      type: "string"
  6025      title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
  6026        for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
  6027      description: "- value_e: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_f:\
  6028        \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
  6029      enum:
  6030      - "value_e"
  6031      - "value_f"
  6032      default: "value_e"
  6033    examplepbsnake_case_enum:
  6034      type: "string"
  6035      title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
  6036        for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
  6037      description: "- value_c: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_d:\
  6038        \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
  6039      enum:
  6040      - "value_c"
  6041      - "value_d"
  6042      default: "value_c"
  6043    oneofenumExampleEnum:
  6044      type: "string"
  6045      enum:
  6046      - "EXAMPLE_ENUM_UNSPECIFIED"
  6047      - "EXAMPLE_ENUM_FIRST"
  6048      default: "EXAMPLE_ENUM_UNSPECIFIED"
  6049    pathenumPathEnum:
  6050      type: "string"
  6051      enum:
  6052      - "ABC"
  6053      - "DEF"
  6054      default: "ABC"
  6055    pathenumsnake_case_for_import:
  6056      type: "string"
  6057      title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
  6058        for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
  6059      description: "- value_x: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_y:\
  6060        \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
  6061      enum:
  6062      - "value_x"
  6063      - "value_y"
  6064      default: "value_x"
  6065    protobufAny:
  6066      type: "object"
  6067      properties:
  6068        '@type':
  6069          type: "string"
  6070          description: "A URL/resource name that uniquely identifies the type of the\
  6071            \ serialized\nprotocol buffer message. This string must contain at least\n\
  6072            one \"/\" character. The last segment of the URL's path must represent\n\
  6073            the fully qualified name of the type (as in\n`path/google.protobuf.Duration`).\
  6074            \ The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\
  6075            \nIn practice, teams usually precompile into the binary all types that they\n\
  6076            expect it to use in the context of Any. However, for URLs which use the\n\
  6077            scheme `http`, `https`, or no scheme, one can optionally set up a type\n\
  6078            server that maps type URLs to message definitions as follows:\n\n* If no\
  6079            \ scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must\
  6080            \ yield a [google.protobuf.Type][]\n  value in binary format, or produce\
  6081            \ an error.\n* Applications are allowed to cache lookup results based on\
  6082            \ the\n  URL, or have them precompiled into a binary to avoid any\n  lookup.\
  6083            \ Therefore, binary compatibility needs to be preserved\n  on changes to\
  6084            \ types. (Use versioned type names to manage\n  breaking changes.)\n\nNote:\
  6085            \ this functionality is not currently available in the official\nprotobuf\
  6086            \ release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\
  6087            \nSchemes other than `http`, `https` (or the empty scheme) might be\nused\
  6088            \ with implementation specific semantics."
  6089      description: "`Any` contains an arbitrary serialized protocol buffer message along\
  6090        \ with a\nURL that describes the type of the serialized message.\n\nProtobuf\
  6091        \ library provides support to pack/unpack Any values in the form\nof utility\
  6092        \ functions or additional generated methods of the Any type.\n\nExample 1: Pack\
  6093        \ and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n\
  6094        \    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack\
  6095        \ and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n\
  6096        \    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n\
  6097        \    }\n\nExample 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n\
  6098        \    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n\
  6099        \      any.Unpack(foo)\n      ...\n\nExample 4: Pack and unpack a message in\
  6100        \ Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err\
  6101        \ != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err\
  6102        \ := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods\
  6103        \ provided by protobuf library will by default use\n'type.googleapis.com/full.type.name'\
  6104        \ as the type URL and the unpack\nmethods only use the fully qualified type\
  6105        \ name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\"\
  6106        \ will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an\
  6107        \ `Any` value uses the regular\nrepresentation of the deserialized, embedded\
  6108        \ message, with an\nadditional field `@type` which contains the type URL. Example:\n\
  6109        \n    package google.profile;\n    message Person {\n      string first_name\
  6110        \ = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\"\
  6111        ,\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf\
  6112        \ the embedded message type is well-known and has a custom JSON\nrepresentation,\
  6113        \ that representation will be embedded adding a field\n`value` which holds the\
  6114        \ custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\
  6115        \n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n\
  6116        \      \"value\": \"1.212s\"\n    }"
  6117      example:
  6118        '@type': "@type"
  6119      additionalProperties: {}
  6120    protoexamplepbFoo:
  6121      type: "object"
  6122      required:
  6123      - "bar"
  6124      properties:
  6125        bar:
  6126          $ref: "#/definitions/examplepbBar"
  6127    rpcStatus:
  6128      type: "object"
  6129      properties:
  6130        code:
  6131          type: "integer"
  6132          format: "int32"
  6133          description: "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]."
  6134        message:
  6135          type: "string"
  6136          description: "A developer-facing error message, which should be in English.\
  6137            \ Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details]\
  6138            \ field, or localized by the client."
  6139        details:
  6140          type: "array"
  6141          description: "A list of messages that carry the error details.  There is a\
  6142            \ common set of\nmessage types for APIs to use."
  6143          items:
  6144            $ref: "#/definitions/protobufAny"
  6145      description: "The `Status` type defines a logical error model that is suitable\
  6146        \ for\ndifferent programming environments, including REST APIs and RPC APIs.\
  6147        \ It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\n\
  6148        three pieces of data: error code, error message, and error details.\n\nYou can\
  6149        \ find out more about this error model and how to work with it in the\n[API\
  6150        \ Design Guide](https://cloud.google.com/apis/design/errors)."
  6151      example:
  6152        code: 0
  6153        details:
  6154        - '@type': "@type"
  6155        - '@type': "@type"
  6156        message: "message"
  6157    subStringMessage:
  6158      type: "object"
  6159      properties:
  6160        value:
  6161          type: "string"
  6162    The book to update.:
  6163      type: "object"
  6164      properties:
  6165        id:
  6166          type: "string"
  6167          description: "Output only. The book's ID."
  6168          readOnly: true
  6169        createTime:
  6170          type: "string"
  6171          format: "date-time"
  6172          description: "Output only. Creation time of the book."
  6173          readOnly: true
  6174      title: "The book to update."
  6175      description: "The book's `name` field is used to identify the book to be updated.\n\
  6176        Format: publishers/{publisher}/books/{book}"
  6177    A bit of everything:
  6178      type: "object"
  6179      required:
  6180      - "doubleValue"
  6181      - "floatValue"
  6182      - "int64Value"
  6183      - "requiredStringField1"
  6184      - "requiredStringField2"
  6185      - "requiredStringViaFieldBehaviorAnnotation"
  6186      - "required_field_behavior_json_name_custom"
  6187      - "required_field_schema_json_name_custom"
  6188      properties:
  6189        singleNested:
  6190          $ref: "#/definitions/ABitOfEverythingNested"
  6191        nested:
  6192          type: "array"
  6193          items:
  6194            $ref: "#/definitions/ABitOfEverythingNested"
  6195        floatValue:
  6196          type: "number"
  6197          format: "float"
  6198          description: "Float value field"
  6199          default: 0.2
  6200        doubleValue:
  6201          type: "number"
  6202          format: "double"
  6203        int64Value:
  6204          type: "string"
  6205          format: "int64"
  6206        uint64Value:
  6207          type: "string"
  6208          format: "uint64"
  6209        int32Value:
  6210          type: "integer"
  6211          format: "int32"
  6212        fixed64Value:
  6213          type: "string"
  6214          format: "uint64"
  6215        fixed32Value:
  6216          type: "integer"
  6217          format: "int64"
  6218        boolValue:
  6219          type: "boolean"
  6220        stringValue:
  6221          type: "string"
  6222        bytesValue:
  6223          type: "string"
  6224          format: "byte"
  6225          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  6226        uint32Value:
  6227          type: "integer"
  6228          format: "int64"
  6229        enumValue:
  6230          $ref: "#/definitions/examplepbNumericEnum"
  6231        pathEnumValue:
  6232          $ref: "#/definitions/pathenumPathEnum"
  6233        nestedPathEnumValue:
  6234          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  6235        sfixed32Value:
  6236          type: "integer"
  6237          format: "int32"
  6238        sfixed64Value:
  6239          type: "string"
  6240          format: "int64"
  6241        sint32Value:
  6242          type: "integer"
  6243          format: "int32"
  6244        sint64Value:
  6245          type: "string"
  6246          format: "int64"
  6247        repeatedStringValue:
  6248          type: "array"
  6249          items:
  6250            type: "string"
  6251        oneofEmpty:
  6252          type: "object"
  6253          properties: {}
  6254        oneofString:
  6255          type: "string"
  6256        mapValue:
  6257          type: "object"
  6258          additionalProperties:
  6259            $ref: "#/definitions/examplepbNumericEnum"
  6260        mappedStringValue:
  6261          type: "object"
  6262          additionalProperties:
  6263            type: "string"
  6264        mappedNestedValue:
  6265          type: "object"
  6266          additionalProperties:
  6267            $ref: "#/definitions/ABitOfEverythingNested"
  6268        nonConventionalNameValue:
  6269          type: "string"
  6270        timestampValue:
  6271          type: "string"
  6272          format: "date-time"
  6273        repeatedEnumValue:
  6274          type: "array"
  6275          title: "repeated enum value. it is comma-separated in query"
  6276          items:
  6277            $ref: "#/definitions/examplepbNumericEnum"
  6278        repeatedEnumAnnotation:
  6279          type: "array"
  6280          description: "Repeated numeric enum description."
  6281          title: "Repeated numeric enum title"
  6282          items:
  6283            $ref: "#/definitions/examplepbNumericEnum"
  6284        enumValueAnnotation:
  6285          description: "Numeric enum description."
  6286          title: "Numeric enum title"
  6287          $ref: "#/definitions/examplepbNumericEnum"
  6288        repeatedStringAnnotation:
  6289          type: "array"
  6290          description: "Repeated string description."
  6291          title: "Repeated string title"
  6292          items:
  6293            type: "string"
  6294        repeatedNestedAnnotation:
  6295          type: "array"
  6296          description: "Repeated nested object description."
  6297          title: "Repeated nested object title"
  6298          items:
  6299            $ref: "#/definitions/ABitOfEverythingNested"
  6300        nestedAnnotation:
  6301          description: "Nested object description."
  6302          title: "Nested object title"
  6303          $ref: "#/definitions/ABitOfEverythingNested"
  6304        int64OverrideType:
  6305          type: "integer"
  6306          format: "int64"
  6307        requiredStringViaFieldBehaviorAnnotation:
  6308          type: "string"
  6309          title: "mark a field as required in Open API definition"
  6310        outputOnlyStringViaFieldBehaviorAnnotation:
  6311          type: "string"
  6312          title: "mark a field as readonly in Open API definition"
  6313          readOnly: true
  6314        optionalStringValue:
  6315          type: "string"
  6316        productId:
  6317          type: "array"
  6318          description: "Only digits are allowed."
  6319          title: "Test openapiv2 generation of repeated fields"
  6320          items:
  6321            type: "string"
  6322            minLength: 1
  6323            maxLength: 19
  6324            pattern: "^[0-9]+$"
  6325        optionalStringField:
  6326          type: "string"
  6327          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  6328            \ to reproduce"
  6329        requiredStringField1:
  6330          type: "string"
  6331        requiredStringField2:
  6332          type: "string"
  6333        required_field_behavior_json_name_custom:
  6334          type: "string"
  6335          title: "Test openapiv2 handling of required json_name fields"
  6336        required_field_schema_json_name_custom:
  6337          type: "string"
  6338        trailingOnly:
  6339          type: "string"
  6340          title: "Trailing only"
  6341        trailingOnlyDot:
  6342          type: "string"
  6343          description: "Trailing only dot."
  6344        trailingBoth:
  6345          type: "string"
  6346          description: "Trailing both."
  6347          title: "Leading both"
  6348        trailingMultiline:
  6349          type: "string"
  6350          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  6351          title: "Leading multiline"
  6352        uuids:
  6353          type: "array"
  6354          title: "Specify a custom format of repeated field items"
  6355          items:
  6356            type: "string"
  6357            format: "uuid"
  6358      externalDocs:
  6359        description: "Find out more about ABitOfEverything"
  6360        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  6361      title: "A bit of everything"
  6362      description: "Intentionally complicated message type to cover many features of\
  6363        \ Protobuf."
  6364      example:
  6365        int64_value: 12
  6366        double_value: 12.3
  6367      x-a-bit-of-everything-foo: "bar"
  6368    A bit of everything_1:
  6369      type: "object"
  6370      required:
  6371      - "doubleValue"
  6372      - "floatValue"
  6373      - "int64Value"
  6374      - "requiredStringField1"
  6375      - "requiredStringField2"
  6376      - "requiredStringViaFieldBehaviorAnnotation"
  6377      - "required_field_behavior_json_name_custom"
  6378      - "required_field_schema_json_name_custom"
  6379      properties:
  6380        singleNested:
  6381          $ref: "#/definitions/ABitOfEverythingNested"
  6382        nested:
  6383          type: "array"
  6384          items:
  6385            $ref: "#/definitions/ABitOfEverythingNested"
  6386        floatValue:
  6387          type: "number"
  6388          format: "float"
  6389          description: "Float value field"
  6390          default: 0.2
  6391        doubleValue:
  6392          type: "number"
  6393          format: "double"
  6394        int64Value:
  6395          type: "string"
  6396          format: "int64"
  6397        uint64Value:
  6398          type: "string"
  6399          format: "uint64"
  6400        int32Value:
  6401          type: "integer"
  6402          format: "int32"
  6403        fixed64Value:
  6404          type: "string"
  6405          format: "uint64"
  6406        fixed32Value:
  6407          type: "integer"
  6408          format: "int64"
  6409        boolValue:
  6410          type: "boolean"
  6411        stringValue:
  6412          type: "string"
  6413        bytesValue:
  6414          type: "string"
  6415          format: "byte"
  6416          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  6417        uint32Value:
  6418          type: "integer"
  6419          format: "int64"
  6420        enumValue:
  6421          $ref: "#/definitions/examplepbNumericEnum"
  6422        pathEnumValue:
  6423          $ref: "#/definitions/pathenumPathEnum"
  6424        nestedPathEnumValue:
  6425          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  6426        sfixed32Value:
  6427          type: "integer"
  6428          format: "int32"
  6429        sfixed64Value:
  6430          type: "string"
  6431          format: "int64"
  6432        sint32Value:
  6433          type: "integer"
  6434          format: "int32"
  6435        sint64Value:
  6436          type: "string"
  6437          format: "int64"
  6438        repeatedStringValue:
  6439          type: "array"
  6440          items:
  6441            type: "string"
  6442        oneofEmpty:
  6443          type: "object"
  6444          properties: {}
  6445        oneofString:
  6446          type: "string"
  6447        mapValue:
  6448          type: "object"
  6449          additionalProperties:
  6450            $ref: "#/definitions/examplepbNumericEnum"
  6451        mappedStringValue:
  6452          type: "object"
  6453          additionalProperties:
  6454            type: "string"
  6455        mappedNestedValue:
  6456          type: "object"
  6457          additionalProperties:
  6458            $ref: "#/definitions/ABitOfEverythingNested"
  6459        nonConventionalNameValue:
  6460          type: "string"
  6461        timestampValue:
  6462          type: "string"
  6463          format: "date-time"
  6464        repeatedEnumValue:
  6465          type: "array"
  6466          title: "repeated enum value. it is comma-separated in query"
  6467          items:
  6468            $ref: "#/definitions/examplepbNumericEnum"
  6469        repeatedEnumAnnotation:
  6470          type: "array"
  6471          description: "Repeated numeric enum description."
  6472          title: "Repeated numeric enum title"
  6473          items:
  6474            $ref: "#/definitions/examplepbNumericEnum"
  6475        enumValueAnnotation:
  6476          description: "Numeric enum description."
  6477          title: "Numeric enum title"
  6478          $ref: "#/definitions/examplepbNumericEnum"
  6479        repeatedStringAnnotation:
  6480          type: "array"
  6481          description: "Repeated string description."
  6482          title: "Repeated string title"
  6483          items:
  6484            type: "string"
  6485        repeatedNestedAnnotation:
  6486          type: "array"
  6487          description: "Repeated nested object description."
  6488          title: "Repeated nested object title"
  6489          items:
  6490            $ref: "#/definitions/ABitOfEverythingNested"
  6491        nestedAnnotation:
  6492          description: "Nested object description."
  6493          title: "Nested object title"
  6494          $ref: "#/definitions/ABitOfEverythingNested"
  6495        int64OverrideType:
  6496          type: "integer"
  6497          format: "int64"
  6498        requiredStringViaFieldBehaviorAnnotation:
  6499          type: "string"
  6500          title: "mark a field as required in Open API definition"
  6501        outputOnlyStringViaFieldBehaviorAnnotation:
  6502          type: "string"
  6503          title: "mark a field as readonly in Open API definition"
  6504          readOnly: true
  6505        optionalStringValue:
  6506          type: "string"
  6507        productId:
  6508          type: "array"
  6509          description: "Only digits are allowed."
  6510          title: "Test openapiv2 generation of repeated fields"
  6511          items:
  6512            type: "string"
  6513            minLength: 1
  6514            maxLength: 19
  6515            pattern: "^[0-9]+$"
  6516        optionalStringField:
  6517          type: "string"
  6518          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  6519            \ to reproduce"
  6520        requiredStringField1:
  6521          type: "string"
  6522        requiredStringField2:
  6523          type: "string"
  6524        required_field_behavior_json_name_custom:
  6525          type: "string"
  6526          title: "Test openapiv2 handling of required json_name fields"
  6527        required_field_schema_json_name_custom:
  6528          type: "string"
  6529        trailingOnly:
  6530          type: "string"
  6531          title: "Trailing only"
  6532        trailingOnlyDot:
  6533          type: "string"
  6534          description: "Trailing only dot."
  6535        trailingBoth:
  6536          type: "string"
  6537          description: "Trailing both."
  6538          title: "Leading both"
  6539        trailingMultiline:
  6540          type: "string"
  6541          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  6542          title: "Leading multiline"
  6543        uuids:
  6544          type: "array"
  6545          title: "Specify a custom format of repeated field items"
  6546          items:
  6547            type: "string"
  6548            format: "uuid"
  6549      externalDocs:
  6550        description: "Find out more about ABitOfEverything"
  6551        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  6552      title: "A bit of everything"
  6553      description: "Intentionally complicated message type to cover many features of\
  6554        \ Protobuf."
  6555      example:
  6556        int64_value: 12
  6557        double_value: 12.3
  6558      x-a-bit-of-everything-foo: "bar"
  6559    ABitOfEverythingServiceDeepPathEchoBody_singleNested:
  6560      properties:
  6561        amount:
  6562          type: "integer"
  6563          format: "int64"
  6564        ok:
  6565          description: "DeepEnum description."
  6566          $ref: "#/definitions/NestedDeepEnum"
  6567      description: "Nested is nested type."
  6568      example: "{\"ok\":\"TRUE\"}"
  6569    A bit of everything_2:
  6570      properties:
  6571        singleNested:
  6572          $ref: "#/definitions/ABitOfEverythingNested"
  6573        nested:
  6574          type: "array"
  6575          items:
  6576            $ref: "#/definitions/ABitOfEverythingNested"
  6577        floatValue:
  6578          type: "number"
  6579          format: "float"
  6580          description: "Float value field"
  6581          default: 0.2
  6582        doubleValue:
  6583          type: "number"
  6584          format: "double"
  6585        int64Value:
  6586          type: "string"
  6587          format: "int64"
  6588        uint64Value:
  6589          type: "string"
  6590          format: "uint64"
  6591        int32Value:
  6592          type: "integer"
  6593          format: "int32"
  6594        fixed64Value:
  6595          type: "string"
  6596          format: "uint64"
  6597        fixed32Value:
  6598          type: "integer"
  6599          format: "int64"
  6600        boolValue:
  6601          type: "boolean"
  6602        stringValue:
  6603          type: "string"
  6604        bytesValue:
  6605          type: "string"
  6606          format: "byte"
  6607          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
  6608        uint32Value:
  6609          type: "integer"
  6610          format: "int64"
  6611        enumValue:
  6612          $ref: "#/definitions/examplepbNumericEnum"
  6613        pathEnumValue:
  6614          $ref: "#/definitions/pathenumPathEnum"
  6615        nestedPathEnumValue:
  6616          $ref: "#/definitions/MessagePathEnumNestedPathEnum"
  6617        sfixed32Value:
  6618          type: "integer"
  6619          format: "int32"
  6620        sfixed64Value:
  6621          type: "string"
  6622          format: "int64"
  6623        sint32Value:
  6624          type: "integer"
  6625          format: "int32"
  6626        sint64Value:
  6627          type: "string"
  6628          format: "int64"
  6629        repeatedStringValue:
  6630          type: "array"
  6631          items:
  6632            type: "string"
  6633        oneofEmpty:
  6634          type: "object"
  6635          properties: {}
  6636        oneofString:
  6637          type: "string"
  6638        mapValue:
  6639          type: "object"
  6640          additionalProperties:
  6641            $ref: "#/definitions/examplepbNumericEnum"
  6642        mappedStringValue:
  6643          type: "object"
  6644          additionalProperties:
  6645            type: "string"
  6646        mappedNestedValue:
  6647          type: "object"
  6648          additionalProperties:
  6649            $ref: "#/definitions/ABitOfEverythingNested"
  6650        nonConventionalNameValue:
  6651          type: "string"
  6652        timestampValue:
  6653          type: "string"
  6654          format: "date-time"
  6655        repeatedEnumValue:
  6656          type: "array"
  6657          title: "repeated enum value. it is comma-separated in query"
  6658          items:
  6659            $ref: "#/definitions/examplepbNumericEnum"
  6660        repeatedEnumAnnotation:
  6661          type: "array"
  6662          description: "Repeated numeric enum description."
  6663          title: "Repeated numeric enum title"
  6664          items:
  6665            $ref: "#/definitions/examplepbNumericEnum"
  6666        enumValueAnnotation:
  6667          description: "Numeric enum description."
  6668          title: "Numeric enum title"
  6669          $ref: "#/definitions/examplepbNumericEnum"
  6670        repeatedStringAnnotation:
  6671          type: "array"
  6672          description: "Repeated string description."
  6673          title: "Repeated string title"
  6674          items:
  6675            type: "string"
  6676        repeatedNestedAnnotation:
  6677          type: "array"
  6678          description: "Repeated nested object description."
  6679          title: "Repeated nested object title"
  6680          items:
  6681            $ref: "#/definitions/ABitOfEverythingNested"
  6682        nestedAnnotation:
  6683          description: "Nested object description."
  6684          title: "Nested object title"
  6685          $ref: "#/definitions/ABitOfEverythingNested"
  6686        int64OverrideType:
  6687          type: "integer"
  6688          format: "int64"
  6689        requiredStringViaFieldBehaviorAnnotation:
  6690          type: "string"
  6691          title: "mark a field as required in Open API definition"
  6692        outputOnlyStringViaFieldBehaviorAnnotation:
  6693          type: "string"
  6694          title: "mark a field as readonly in Open API definition"
  6695          readOnly: true
  6696        optionalStringValue:
  6697          type: "string"
  6698        productId:
  6699          type: "array"
  6700          description: "Only digits are allowed."
  6701          title: "Test openapiv2 generation of repeated fields"
  6702          items:
  6703            type: "string"
  6704            minLength: 1
  6705            maxLength: 19
  6706            pattern: "^[0-9]+$"
  6707        optionalStringField:
  6708          type: "string"
  6709          title: "Test openapiv2 generation of required fields with annotation and jsonschema\
  6710            \ to reproduce"
  6711        requiredStringField1:
  6712          type: "string"
  6713        requiredStringField2:
  6714          type: "string"
  6715        required_field_behavior_json_name_custom:
  6716          type: "string"
  6717          title: "Test openapiv2 handling of required json_name fields"
  6718        required_field_schema_json_name_custom:
  6719          type: "string"
  6720        trailingOnly:
  6721          type: "string"
  6722          title: "Trailing only"
  6723        trailingOnlyDot:
  6724          type: "string"
  6725          description: "Trailing only dot."
  6726        trailingBoth:
  6727          type: "string"
  6728          description: "Trailing both."
  6729          title: "Leading both"
  6730        trailingMultiline:
  6731          type: "string"
  6732          description: "This is an example of a multi-line comment.\n\nTrailing multiline."
  6733          title: "Leading multiline"
  6734        uuids:
  6735          type: "array"
  6736          title: "Specify a custom format of repeated field items"
  6737          items:
  6738            type: "string"
  6739            format: "uuid"
  6740      description: "Intentionally complicated message type to cover many features of\
  6741        \ Protobuf."
  6742      example: "{\"int64_value\":12,\"double_value\":12.3}"
  6743  externalDocs:
  6744    description: "More about gRPC-Gateway"
  6745    url: "https://github.com/grpc-ecosystem/grpc-gateway"
  6746  x-grpc-gateway-baz-list:
  6747  - "one"
  6748  - true
  6749  x-grpc-gateway-foo: "bar"