...

Text file src/github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/clients/abe/api/swagger.yaml

Documentation: github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/clients/abe/api

     1---
     2swagger: "2.0"
     3info:
     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"
    14tags:
    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"
    27schemes:
    28- "http"
    29- "https"
    30- "wss"
    31consumes:
    32- "application/json"
    33- "application/x-foo-mime"
    34produces:
    35- "application/json"
    36- "application/x-foo-mime"
    37security:
    38- ApiKeyAuth: []
    39  BasicAuth: []
    40- ApiKeyAuth: []
    41  OAuth2:
    42  - "read"
    43  - "write"
    44paths:
    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"
  5186securityDefinitions:
  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"
  5206definitions:
  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}"
  6743externalDocs:
  6744  description: "More about gRPC-Gateway"
  6745  url: "https://github.com/grpc-ecosystem/grpc-gateway"
  6746x-grpc-gateway-baz-list:
  6747- "one"
  6748- true
  6749x-grpc-gateway-foo: "bar"

View as plain text