---
swagger: "2.0"
info:
  version: "1.0"
  title: "A Bit of Everything"
  contact:
    name: "gRPC-Gateway project"
    url: "https://github.com/grpc-ecosystem/grpc-gateway"
    email: "none@example.com"
  license:
    name: "BSD 3-Clause License"
    url: "https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE"
  x-something-something: "yadda"
tags:
- name: "echo rpc"
  description: "Echo Rpc description"
  x-traitTag: true
- name: "ABitOfEverything"
  description: "ABitOfEverythingService description -- which should not be used in\
    \ place of the documentation comment!"
  externalDocs:
    description: "Find out more about EchoService"
    url: "https://github.com/grpc-ecosystem/grpc-gateway"
- name: "camelCaseServiceName"
- name: "AnotherServiceWithNoBindings"
- name: "SnakeEnumService"
schemes:
- "http"
- "https"
- "wss"
consumes:
- "application/json"
- "application/x-foo-mime"
produces:
- "application/json"
- "application/x-foo-mime"
security:
- ApiKeyAuth: []
  BasicAuth: []
- ApiKeyAuth: []
  OAuth2:
  - "read"
  - "write"
paths:
  /v1/example/a_bit_of_everything:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CreateBody"
      parameters:
      - in: "body"
        name: "body"
        description: "Intentionally complicated message type to cover many features\
          \ of Protobuf."
        required: true
        schema:
          $ref: "#/definitions/examplepbABitOfEverything"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/echo/{value}:
    get:
      tags:
      - "echo rpc"
      summary: "Summary: Echo rpc"
      description: "Description Echo"
      operationId: "ABitOfEverythingService_Echo"
      parameters:
      - name: "value"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "Value"
      responses:
        200:
          description: "A successful response."
          examples:
            application/json:
              value: "the input value"
          schema:
            $ref: "#/definitions/subStringMessage"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "integer"
            format: "integer"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        503:
          description: "Returned when the resource is temporarily unavailable."
          schema: {}
          x-number: 100
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
      externalDocs:
        description: "Find out more Echo"
        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  /v1/example/a_bit_of_everything/params/get/nested_enum/{singleNested.ok}:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckNestedEnumGetQueryParams"
      parameters:
      - name: "singleNested.ok"
        in: "path"
        description: "DeepEnum description."
        required: true
        type: "string"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "uuid"
        in: "query"
        required: true
        type: "string"
        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}"
        format: "uuid"
        x-internal: true
        x-exportParamName: "Uuid"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/params/get/{singleNested.name}:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckGetQueryParams"
      parameters:
      - name: "singleNested.name"
        in: "path"
        description: "name is nested field."
        required: true
        type: "string"
        x-exportParamName: "SingleNestedName"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "uuid"
        in: "query"
        required: true
        type: "string"
        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}"
        format: "uuid"
        x-internal: true
        x-exportParamName: "Uuid"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/params/post/{stringValue}:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckPostQueryParams"
      parameters:
      - name: "stringValue"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "StringValue"
      - in: "body"
        name: "singleNested"
        required: true
        schema:
          $ref: "#/definitions/ABitOfEverythingNested"
        x-exportParamName: "SingleNested"
      - name: "uuid"
        in: "query"
        required: true
        type: "string"
        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}"
        format: "uuid"
        x-internal: true
        x-exportParamName: "Uuid"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/query/{uuidName}:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_GetQuery"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
      security: []
      externalDocs:
        description: "Find out more about GetQuery"
        url: "https://github.com/grpc-ecosystem/grpc-gateway"
      deprecated: true
  ? /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}
  : post:
      tags:
      - "ABitOfEverything"
      summary: "Create a new ABitOfEverything"
      description: "This API creates a new ABitOfEverything"
      operationId: "ABitOfEverythingService_Create"
      parameters:
      - name: "floatValue"
        in: "path"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "path"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "path"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "path"
        required: true
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
      - name: "int32Value"
        in: "path"
        required: true
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
      - name: "fixed64Value"
        in: "path"
        required: true
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
      - name: "fixed32Value"
        in: "path"
        required: true
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
      - name: "boolValue"
        in: "path"
        required: true
        type: "boolean"
        x-exportParamName: "BoolValue"
      - name: "stringValue"
        in: "path"
        required: true
        type: "string"
        pattern: "strprefix/[^/]+"
        x-exportParamName: "StringValue"
      - name: "uint32Value"
        in: "path"
        required: true
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
      - name: "sfixed32Value"
        in: "path"
        required: true
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
      - name: "sfixed64Value"
        in: "path"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
      - name: "sint32Value"
        in: "path"
        required: true
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
      - name: "sint64Value"
        in: "path"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
      - name: "nonConventionalNameValue"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
      - name: "enumValue"
        in: "path"
        required: true
        type: "string"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
      - name: "pathEnumValue"
        in: "path"
        required: true
        type: "string"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
      - name: "nestedPathEnumValue"
        in: "path"
        required: true
        type: "string"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
      - name: "enumValueAnnotation"
        in: "path"
        description: "Numeric enum description."
        required: true
        type: "string"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "uuid"
        in: "query"
        required: true
        type: "string"
        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}"
        format: "uuid"
        x-internal: true
        x-exportParamName: "Uuid"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/{uuidName}:
    head:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Exists"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
    put:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Update"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/examplepbABitOfEverythingServiceUpdateBody"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
    options:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CustomOptionsRequest"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/{uuidName}:custom:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Custom"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/{uuidName}:custom:custom:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_DoubleColon"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - name: "singleNested.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "SingleNestedName"
        x-optionalDataType: "String"
      - name: "singleNested.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "SingleNestedAmount"
        x-optionalDataType: "Int64"
      - name: "singleNested.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "SingleNestedOk"
        x-optionalDataType: "String"
      - name: "floatValue"
        in: "query"
        description: "Float value field"
        required: true
        type: "number"
        default: 0.2
        format: "float"
        x-exportParamName: "FloatValue"
      - name: "doubleValue"
        in: "query"
        required: true
        type: "number"
        format: "double"
        x-exportParamName: "DoubleValue"
      - name: "int64Value"
        in: "query"
        required: true
        type: "string"
        format: "int64"
        x-exportParamName: "Int64Value"
      - name: "uint64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Uint64Value"
        x-optionalDataType: "String"
      - name: "int32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Int32Value"
        x-optionalDataType: "Int32"
      - name: "fixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "uint64"
        x-exportParamName: "Fixed64Value"
        x-optionalDataType: "String"
      - name: "fixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Fixed32Value"
        x-optionalDataType: "Int64"
      - name: "boolValue"
        in: "query"
        required: false
        type: "boolean"
        x-exportParamName: "BoolValue"
        x-optionalDataType: "Bool"
      - name: "stringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "StringValue"
        x-optionalDataType: "String"
      - name: "bytesValue"
        in: "query"
        required: false
        type: "string"
        format: "byte"
        x-exportParamName: "BytesValue"
        x-optionalDataType: "String"
      - name: "uint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Uint32Value"
        x-optionalDataType: "Int64"
      - name: "enumValue"
        in: "query"
        description: " - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValue"
        x-optionalDataType: "String"
      - name: "pathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "ABC"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "PathEnumValue"
        x-optionalDataType: "String"
      - name: "nestedPathEnumValue"
        in: "query"
        required: false
        type: "string"
        default: "GHI"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "NestedPathEnumValue"
        x-optionalDataType: "String"
      - name: "sfixed32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sfixed32Value"
        x-optionalDataType: "Int32"
      - name: "sfixed64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sfixed64Value"
        x-optionalDataType: "String"
      - name: "sint32Value"
        in: "query"
        required: false
        type: "integer"
        format: "int32"
        x-exportParamName: "Sint32Value"
        x-optionalDataType: "Int32"
      - name: "sint64Value"
        in: "query"
        required: false
        type: "string"
        format: "int64"
        x-exportParamName: "Sint64Value"
        x-optionalDataType: "String"
      - name: "repeatedStringValue"
        in: "query"
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringValue"
      - name: "oneofEmpty"
        in: "query"
        required: false
        type: "object"
        x-exportParamName: "OneofEmpty"
      - name: "oneofString"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OneofString"
        x-optionalDataType: "String"
      - name: "mapValue"
        in: "query"
        description: "map of numeric enum"
        required: false
        x-exportParamName: "MapValue"
      - name: "mappedStringValue"
        in: "query"
        description: "Map of string title\n\nMap of string description."
        required: false
        type: "string"
        x-exportParamName: "MappedStringValue"
        x-optionalDataType: "String"
      - name: "mappedNestedValue"
        in: "query"
        required: false
        x-exportParamName: "MappedNestedValue"
      - name: "nonConventionalNameValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "NonConventionalNameValue"
        x-optionalDataType: "String"
      - name: "timestampValue"
        in: "query"
        required: false
        type: "string"
        format: "date-time"
        x-exportParamName: "TimestampValue"
        x-optionalDataType: "Time"
      - name: "repeatedEnumValue"
        in: "query"
        description: "repeated enum value. it is comma-separated in query\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumValue"
      - name: "repeatedEnumAnnotation"
        in: "query"
        description: "Repeated numeric enum title\n\nRepeated numeric enum description.\n\
          \n - ZERO: ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedEnumAnnotation"
      - name: "enumValueAnnotation"
        in: "query"
        description: "Numeric enum title\n\nNumeric enum description.\n\n - ZERO:\
          \ ZERO means 0\n - ONE: ONE means 1"
        required: false
        type: "string"
        default: "ZERO"
        enum:
        - "ZERO"
        - "ONE"
        x-exportParamName: "EnumValueAnnotation"
        x-optionalDataType: "String"
      - name: "repeatedStringAnnotation"
        in: "query"
        description: "Repeated string title\n\nRepeated string description."
        required: false
        type: "array"
        items:
          type: "string"
        collectionFormat: "multi"
        x-exportParamName: "RepeatedStringAnnotation"
      - name: "nestedAnnotation.name"
        in: "query"
        description: "name is nested field."
        required: false
        type: "string"
        x-exportParamName: "NestedAnnotationName"
        x-optionalDataType: "String"
      - name: "nestedAnnotation.amount"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "NestedAnnotationAmount"
        x-optionalDataType: "Int64"
      - name: "nestedAnnotation.ok"
        in: "query"
        description: "DeepEnum description.\n\n - FALSE: FALSE is false.\n - TRUE:\
          \ TRUE is true."
        required: false
        type: "string"
        default: "FALSE"
        enum:
        - "FALSE"
        - "TRUE"
        x-exportParamName: "NestedAnnotationOk"
        x-optionalDataType: "String"
      - name: "int64OverrideType"
        in: "query"
        required: false
        type: "integer"
        format: "int64"
        x-exportParamName: "Int64OverrideType"
        x-optionalDataType: "Int64"
      - name: "requiredStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as required in Open API definition"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringViaFieldBehaviorAnnotation"
      - name: "outputOnlyStringViaFieldBehaviorAnnotation"
        in: "query"
        description: "mark a field as readonly in Open API definition"
        required: false
        type: "string"
        x-exportParamName: "OutputOnlyStringViaFieldBehaviorAnnotation"
        x-optionalDataType: "String"
      - name: "optionalStringValue"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringValue"
        x-optionalDataType: "String"
      - name: "productId"
        in: "query"
        description: "Test openapiv2 generation of repeated fields\n\nOnly digits\
          \ are allowed."
        required: false
        type: "array"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
        collectionFormat: "multi"
        x-exportParamName: "ProductId"
      - name: "optionalStringField"
        in: "query"
        description: "Test openapiv2 generation of required fields with annotation\
          \ and jsonschema to reproduce"
        required: false
        type: "string"
        x-exportParamName: "OptionalStringField"
        x-optionalDataType: "String"
      - name: "requiredStringField1"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField1"
      - name: "requiredStringField2"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredStringField2"
      - name: "required_field_behavior_json_name_custom"
        in: "query"
        description: "Test openapiv2 handling of required json_name fields"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldBehaviorJsonNameCustom"
      - name: "required_field_schema_json_name_custom"
        in: "query"
        required: true
        type: "string"
        x-exportParamName: "RequiredFieldSchemaJsonNameCustom"
      - name: "trailingOnly"
        in: "query"
        description: "Trailing only"
        required: false
        type: "string"
        x-exportParamName: "TrailingOnly"
        x-optionalDataType: "String"
      - name: "trailingOnlyDot"
        in: "query"
        description: "Trailing only dot."
        required: false
        type: "string"
        x-exportParamName: "TrailingOnlyDot"
        x-optionalDataType: "String"
      - name: "trailingBoth"
        in: "query"
        description: "Leading both\n\nTrailing both."
        required: false
        type: "string"
        x-exportParamName: "TrailingBoth"
        x-optionalDataType: "String"
      - name: "trailingMultiline"
        in: "query"
        description: "Leading multiline\n\nThis is an example of a multi-line comment.\n\
          \nTrailing multiline."
        required: false
        type: "string"
        x-exportParamName: "TrailingMultiline"
        x-optionalDataType: "String"
      - name: "uuids"
        in: "query"
        description: "Specify a custom format of repeated field items"
        required: false
        type: "array"
        items:
          type: "string"
          format: "uuid"
        collectionFormat: "multi"
        x-exportParamName: "Uuids"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/a_bit_of_everything/{uuid}:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Lookup"
      parameters:
      - name: "uuid"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "Uuid"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
    delete:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Delete"
      parameters:
      - name: "uuid"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "Uuid"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
      security:
      - ApiKeyAuth: []
        OAuth2:
        - "read"
        - "write"
      x-irreversible: true
  ? /v1/example/a_bit_of_everything_repeated/{pathRepeatedFloatValue}/{pathRepeatedDoubleValue}/{pathRepeatedInt64Value}/{pathRepeatedUint64Value}/{pathRepeatedInt32Value}/{pathRepeatedFixed64Value}/{pathRepeatedFixed32Value}/{pathRepeatedBoolValue}/{pathRepeatedStringValue}/{pathRepeatedBytesValue}/{pathRepeatedUint32Value}/{pathRepeatedEnumValue}/{pathRepeatedSfixed32Value}/{pathRepeatedSfixed64Value}/{pathRepeatedSint32Value}/{pathRepeatedSint64Value}
  : get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_GetRepeatedQuery"
      parameters:
      - name: "pathRepeatedFloatValue"
        in: "path"
        description: "repeated values. they are comma-separated in path"
        required: true
        type: "array"
        items:
          type: "number"
          format: "float"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedFloatValue"
      - name: "pathRepeatedDoubleValue"
        in: "path"
        required: true
        type: "array"
        items:
          type: "number"
          format: "double"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedDoubleValue"
      - name: "pathRepeatedInt64Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "int64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedInt64Value"
      - name: "pathRepeatedUint64Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "uint64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedUint64Value"
      - name: "pathRepeatedInt32Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "integer"
          format: "int32"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedInt32Value"
      - name: "pathRepeatedFixed64Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "uint64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedFixed64Value"
      - name: "pathRepeatedFixed32Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "integer"
          format: "int64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedFixed32Value"
      - name: "pathRepeatedBoolValue"
        in: "path"
        required: true
        type: "array"
        items:
          type: "boolean"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedBoolValue"
      - name: "pathRepeatedStringValue"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedStringValue"
      - name: "pathRepeatedBytesValue"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "byte"
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedBytesValue"
      - name: "pathRepeatedUint32Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "integer"
          format: "int64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedUint32Value"
      - name: "pathRepeatedEnumValue"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          enum:
          - "ZERO"
          - "ONE"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedEnumValue"
      - name: "pathRepeatedSfixed32Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "integer"
          format: "int32"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedSfixed32Value"
      - name: "pathRepeatedSfixed64Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "int64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedSfixed64Value"
      - name: "pathRepeatedSint32Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "integer"
          format: "int32"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedSint32Value"
      - name: "pathRepeatedSint64Value"
        in: "path"
        required: true
        type: "array"
        items:
          type: "string"
          format: "int64"
        collectionFormat: "csv"
        minItems: 1
        x-exportParamName: "PathRepeatedSint64Value"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverythingRepeated"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/checkStatus:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckStatus"
      parameters: []
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbCheckStatusResponse"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/deep_path/{singleNested.name}:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_DeepPathEcho"
      parameters:
      - name: "singleNested.name"
        in: "path"
        description: "name is nested field."
        required: true
        type: "string"
        x-exportParamName: "SingleNestedName"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/ABitOfEverythingServiceDeepPathEchoBody"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbABitOfEverything"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/oneofenum:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_PostOneofEnum"
      parameters:
      - in: "body"
        name: "exampleEnum"
        required: true
        schema:
          $ref: "#/definitions/oneofenumExampleEnum"
        x-exportParamName: "ExampleEnum"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/requiredmessagetype:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_PostRequiredMessageType"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/examplepbRequiredMessageTypeRequest"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/example/snake/{who}/{what}/{where}:
    get:
      tags:
      - "SnakeEnumService"
      operationId: "SnakeEnumService_SnakeEnum"
      parameters:
      - name: "who"
        in: "path"
        required: true
        type: "string"
        enum:
        - "value_e"
        - "value_f"
        x-exportParamName: "Who"
      - name: "what"
        in: "path"
        required: true
        type: "string"
        enum:
        - "value_c"
        - "value_d"
        x-exportParamName: "What"
      - name: "where"
        in: "path"
        required: true
        type: "string"
        enum:
        - "value_x"
        - "value_y"
        x-exportParamName: "Where"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbSnakeEnumResponse"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/{book.name}:
    patch:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_UpdateBook"
      parameters:
      - name: "book.name"
        in: "path"
        description: "The resource name of the book.\n\nFormat: `publishers/{publisher}/books/{book}`\n\
          \nExample: `publishers/1257894000000000000/books/my-book`"
        required: true
        type: "string"
        pattern: "publishers/[^/]+/books/[^/]+"
        x-exportParamName: "BookName"
      - in: "body"
        name: "book"
        description: "The book to update.\n\nThe book's `name` field is used to identify\
          \ the book to be updated.\nFormat: publishers/{publisher}/books/{book}"
        required: true
        schema:
          $ref: "The book to update."
        x-exportParamName: "Book"
      - name: "allowMissing"
        in: "query"
        description: "If set to true, and the book is not found, a new book will be\
          \ created.\nIn this situation, `update_mask` is ignored."
        required: false
        type: "boolean"
        x-exportParamName: "AllowMissing"
        x-optionalDataType: "Bool"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbBook"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v1/{parent}/books:
    post:
      tags:
      - "ABitOfEverything"
      summary: "Create a book."
      operationId: "ABitOfEverythingService_CreateBook"
      parameters:
      - name: "parent"
        in: "path"
        description: "The publisher in which to create the book.\n\nFormat: `publishers/{publisher}`\n\
          \nExample: `publishers/1257894000000000000`"
        required: true
        type: "string"
        pattern: "publishers/[^/]+"
        x-exportParamName: "Parent"
      - in: "body"
        name: "book"
        description: "The book to create."
        required: true
        schema:
          $ref: "#/definitions/examplepbBook"
        x-exportParamName: "Book"
      - name: "bookId"
        in: "query"
        description: "The ID to use for the book.\n\nThis must start with an alphanumeric\
          \ character."
        required: false
        type: "string"
        x-exportParamName: "BookId"
        x-optionalDataType: "String"
      responses:
        200:
          description: "A successful response."
          schema:
            $ref: "#/definitions/examplepbBook"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/a_bit_of_everything/{uuidName}:
    put:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_UpdateV2"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - in: "body"
        name: "abe"
        description: "A bit of everything\n\nIntentionally complicated message type\
          \ to cover many features of Protobuf."
        required: true
        schema:
          $ref: "#/definitions/A bit of everything"
        x-exportParamName: "Abe"
      - name: "updateMask"
        in: "query"
        description: "The paths to update."
        required: false
        type: "string"
        x-exportParamName: "UpdateMask"
        x-optionalDataType: "String"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
    patch:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_UpdateV22"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - in: "body"
        name: "abe"
        description: "A bit of everything\n\nIntentionally complicated message type\
          \ to cover many features of Protobuf."
        required: true
        schema:
          $ref: "#/definitions/A bit of everything_1"
        x-exportParamName: "Abe"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/echo:
    get:
      tags:
      - "echo rpc"
      summary: "Summary: Echo rpc"
      description: "Description Echo"
      operationId: "ABitOfEverythingService_Echo3"
      parameters:
      - name: "value"
        in: "query"
        required: false
        type: "string"
        x-exportParamName: "Value"
        x-optionalDataType: "String"
      responses:
        200:
          description: "A successful response."
          examples:
            application/json:
              value: "the input value"
          schema:
            $ref: "#/definitions/subStringMessage"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "integer"
            format: "integer"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        503:
          description: "Returned when the resource is temporarily unavailable."
          schema: {}
          x-number: 100
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
      externalDocs:
        description: "Find out more Echo"
        url: "https://github.com/grpc-ecosystem/grpc-gateway"
    post:
      tags:
      - "echo rpc"
      summary: "Summary: Echo rpc"
      description: "Description Echo"
      operationId: "ABitOfEverythingService_Echo2"
      parameters:
      - in: "body"
        name: "value"
        required: true
        schema:
          type: "string"
        x-exportParamName: "Value"
      responses:
        200:
          description: "A successful response."
          examples:
            application/json:
              value: "the input value"
          schema:
            $ref: "#/definitions/subStringMessage"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "integer"
            format: "integer"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        503:
          description: "Returned when the resource is temporarily unavailable."
          schema: {}
          x-number: 100
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
      externalDocs:
        description: "Find out more Echo"
        url: "https://github.com/grpc-ecosystem/grpc-gateway"
  /v2/example/empty:
    get:
      tags:
      - "camelCaseServiceName"
      operationId: "camelCaseServiceName_Empty"
      parameters: []
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/errorwithdetails:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_ErrorWithDetails"
      parameters: []
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/overwriterequestcontenttype:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_OverwriteRequestContentType"
      consumes:
      - "application/x-bar-mime"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/examplepbBody"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/overwriteresponsecontenttype:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_OverwriteResponseContentType"
      produces:
      - "application/text"
      parameters: []
      responses:
        200:
          description: "A successful response."
          schema:
            type: "string"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/postwithemptybody/{name}:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_PostWithEmptyBody"
      parameters:
      - name: "name"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "Name"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/ABitOfEverythingServicePostWithEmptyBodyBody"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/timeout:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_Timeout"
      parameters: []
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/example/withbody/{id}:
    post:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_GetMessageWithBody"
      parameters:
      - name: "id"
        in: "path"
        required: true
        type: "string"
        x-exportParamName: "Id"
      - in: "body"
        name: "data"
        required: true
        schema:
          $ref: "#/definitions/examplepbBody"
        x-exportParamName: "Data"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2/{value}:check:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckExternalPathEnum"
      parameters:
      - name: "value"
        in: "path"
        required: true
        type: "string"
        enum:
        - "ABC"
        - "DEF"
        x-exportParamName: "Value"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v2a/example/a_bit_of_everything/{uuidName}:
    patch:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_UpdateV23"
      parameters:
      - name: "uuidName"
        in: "path"
        required: true
        type: "string"
        format: "uuid"
        x-internal: true
        x-exportParamName: "UuidName"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/ABitOfEverythingServiceUpdateV2Body"
        x-exportParamName: "Body"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
  /v3/{value}:check:
    get:
      tags:
      - "ABitOfEverything"
      operationId: "ABitOfEverythingService_CheckExternalNestedPathEnum"
      parameters:
      - name: "value"
        in: "path"
        required: true
        type: "string"
        enum:
        - "GHI"
        - "JKL"
        x-exportParamName: "Value"
      responses:
        200:
          description: "A successful response."
          schema:
            type: "object"
        403:
          description: "Returned when the user does not have permission to access\
            \ the resource."
          schema: {}
        404:
          description: "Returned when the resource does not exist."
          schema:
            type: "string"
            format: "string"
        418:
          description: "I'm a teapot."
          schema:
            $ref: "#/definitions/examplepbNumericEnum"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/examplepbErrorResponse"
        default:
          description: "An unexpected error response."
          schema:
            $ref: "#/definitions/googleRpcStatus"
securityDefinitions:
  ApiKeyAuth:
    type: "apiKey"
    name: "X-API-Key"
    in: "header"
    x-amazon-apigateway-authorizer:
      authorizerResultTtlInSeconds: 60
      type: "token"
    x-amazon-apigateway-authtype: "oauth2"
  BasicAuth:
    type: "basic"
  OAuth2:
    type: "oauth2"
    authorizationUrl: "https://example.com/oauth/authorize"
    tokenUrl: "https://example.com/oauth/token"
    flow: "accessCode"
    scopes:
      admin: "Grants read and write access to administrative information"
      read: "Grants read access"
      write: "Grants write access"
definitions:
  ABitOfEverythingNested:
    type: "object"
    properties:
      name:
        type: "string"
        description: "name is nested field."
      amount:
        type: "integer"
        format: "int64"
      ok:
        description: "DeepEnum description."
        $ref: "#/definitions/NestedDeepEnum"
    description: "Nested is nested type."
    example:
      ok: "TRUE"
  ABitOfEverythingServiceDeepPathEchoBody:
    type: "object"
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    - "uuid"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingServiceDeepPathEchoBody_singleNested"
      uuid:
        type: "string"
        format: "uuid"
        minLength: 1
        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}"
        x-internal: true
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "A bit of everything"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example:
      int64_value: 12
      double_value: 12.3
    x-a-bit-of-everything-foo: "bar"
  ABitOfEverythingServicePostWithEmptyBodyBody:
    type: "object"
  ABitOfEverythingServiceUpdateV2Body:
    type: "object"
    properties:
      abe:
        $ref: "#/definitions/A bit of everything_2"
      updateMask:
        type: "string"
        description: "The paths to update."
    title: "UpdateV2Request request for update includes the message and the update\
      \ mask"
    example:
      abe: "{\"int64_value\":12,\"double_value\":12.3}"
      updateMask: "updateMask"
  MessagePathEnumNestedPathEnum:
    type: "string"
    enum:
    - "GHI"
    - "JKL"
    default: "GHI"
  NestedDeepEnum:
    type: "string"
    description: "DeepEnum is one or zero.\n\n - FALSE: FALSE is false.\n - TRUE:\
      \ TRUE is true."
    enum:
    - "FALSE"
    - "TRUE"
    default: "FALSE"
  examplepbABitOfEverything:
    type: "object"
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    - "uuid"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingNested"
      uuid:
        type: "string"
        format: "uuid"
        minLength: 1
        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}"
        x-internal: true
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "A bit of everything"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example:
      int64_value: 12
      double_value: 12.3
    x-a-bit-of-everything-foo: "bar"
  examplepbABitOfEverythingRepeated:
    type: "object"
    properties:
      pathRepeatedFloatValue:
        type: "array"
        title: "repeated values. they are comma-separated in path"
        items:
          type: "number"
          format: "float"
      pathRepeatedDoubleValue:
        type: "array"
        items:
          type: "number"
          format: "double"
      pathRepeatedInt64Value:
        type: "array"
        items:
          type: "string"
          format: "int64"
      pathRepeatedUint64Value:
        type: "array"
        items:
          type: "string"
          format: "uint64"
      pathRepeatedInt32Value:
        type: "array"
        items:
          type: "integer"
          format: "int32"
      pathRepeatedFixed64Value:
        type: "array"
        items:
          type: "string"
          format: "uint64"
      pathRepeatedFixed32Value:
        type: "array"
        items:
          type: "integer"
          format: "int64"
      pathRepeatedBoolValue:
        type: "array"
        items:
          type: "boolean"
      pathRepeatedStringValue:
        type: "array"
        items:
          type: "string"
      pathRepeatedBytesValue:
        type: "array"
        items:
          type: "string"
          format: "byte"
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      pathRepeatedUint32Value:
        type: "array"
        items:
          type: "integer"
          format: "int64"
      pathRepeatedEnumValue:
        type: "array"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      pathRepeatedSfixed32Value:
        type: "array"
        items:
          type: "integer"
          format: "int32"
      pathRepeatedSfixed64Value:
        type: "array"
        items:
          type: "string"
          format: "int64"
      pathRepeatedSint32Value:
        type: "array"
        items:
          type: "integer"
          format: "int32"
      pathRepeatedSint64Value:
        type: "array"
        items:
          type: "string"
          format: "int64"
    title: "ABitOfEverythingRepeated is used to validate repeated path parameter functionality"
    example:
      path_repeated_bool_value:
      - true
      - true
      - false
      - true
      path_repeated_int32_value:
      - 1
      - 2
      - 3
  examplepbABitOfEverythingServiceUpdateBody:
    type: "object"
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingNested"
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "A bit of everything"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example:
      int64_value: 12
      double_value: 12.3
    x-a-bit-of-everything-foo: "bar"
  examplepbBar:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "string"
  examplepbBody:
    type: "object"
    properties:
      name:
        type: "string"
  examplepbBook:
    type: "object"
    properties:
      name:
        type: "string"
        description: "The resource name of the book.\n\nFormat: `publishers/{publisher}/books/{book}`\n\
          \nExample: `publishers/1257894000000000000/books/my-book`"
      id:
        type: "string"
        description: "Output only. The book's ID."
        readOnly: true
      createTime:
        type: "string"
        format: "date-time"
        description: "Output only. Creation time of the book."
        readOnly: true
    description: "An example resource type from AIP-123 used to test the behavior\
      \ described in\nthe CreateBookRequest message.\n\nSee: https://google.aip.dev/123"
    example:
      createTime: "2000-01-23T04:56:07.000+00:00"
      name: "name"
      id: "id"
  examplepbCheckStatusResponse:
    type: "object"
    properties:
      status:
        $ref: "#/definitions/googleRpcStatus"
    example:
      status:
        code: 0
        details:
        - '@type': "@type"
        - '@type': "@type"
        message: "message"
  examplepbErrorObject:
    type: "object"
    properties:
      code:
        type: "integer"
        format: "integer"
        description: "Response code"
        title: "code"
      message:
        type: "string"
        description: "Response message"
        title: "message"
        pattern: "^[a-zA-Z0-9]{1, 32}$"
  examplepbErrorResponse:
    type: "object"
    properties:
      correlationId:
        type: "string"
        format: "uuid"
        example: "2438ac3c-37eb-4902-adef-ed16b4431030"
        description: "Unique event identifier for server requests"
        title: "x-correlation-id"
        pattern: "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$"
      error:
        $ref: "#/definitions/examplepbErrorObject"
  examplepbNumericEnum:
    type: "string"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "NumericEnum"
    description: "NumericEnum is one or zero."
    example: "ZERO"
    enum:
    - "ZERO"
    - "ONE"
    default: "ZERO"
    x-a-bit-of-everything-foo: "bar"
  examplepbRequiredMessageTypeRequest:
    type: "object"
    required:
    - "foo"
    - "id"
    properties:
      id:
        type: "string"
      foo:
        $ref: "#/definitions/protoExamplepbFoo"
    title: "Required message type -> OpenAPI\nhttps://github.com/grpc-ecosystem/grpc-gateway/issues/2837"
  examplepbSnakeEnumResponse:
    type: "object"
  examplepbSnake_case_0_enum:
    type: "string"
    title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
      for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
    description: "- value_e: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_f:\
      \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
    enum:
    - "value_e"
    - "value_f"
    default: "value_e"
  examplepbSnake_case_enum:
    type: "string"
    title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
      for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
    description: "- value_c: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_d:\
      \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
    enum:
    - "value_c"
    - "value_d"
    default: "value_c"
  googleRpcStatus:
    type: "object"
    properties:
      code:
        type: "integer"
        format: "int32"
        description: "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]."
      message:
        type: "string"
        description: "A developer-facing error message, which should be in English.\
          \ Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details]\
          \ field, or localized by the client."
      details:
        type: "array"
        description: "A list of messages that carry the error details.  There is a\
          \ common set of\nmessage types for APIs to use."
        items:
          $ref: "#/definitions/protobufAny"
    description: "The `Status` type defines a logical error model that is suitable\
      \ for\ndifferent programming environments, including REST APIs and RPC APIs.\
      \ It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\n\
      three pieces of data: error code, error message, and error details.\n\nYou can\
      \ find out more about this error model and how to work with it in the\n[API\
      \ Design Guide](https://cloud.google.com/apis/design/errors)."
    example:
      code: 0
      details:
      - '@type': "@type"
      - '@type': "@type"
      message: "message"
  oneofenumExampleEnum:
    type: "string"
    enum:
    - "EXAMPLE_ENUM_UNSPECIFIED"
    - "EXAMPLE_ENUM_FIRST"
    default: "EXAMPLE_ENUM_UNSPECIFIED"
  pathenumPathEnum:
    type: "string"
    enum:
    - "ABC"
    - "DEF"
    default: "ABC"
  pathenumSnake_case_for_import:
    type: "string"
    title: "Ignoring lint warnings as this enum type exist to validate proper functionality\n\
      for projects that don't follow these lint rules.\nbuf:lint:ignore ENUM_PASCAL_CASE"
    description: "- value_x: buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE\n - value_y:\
      \ buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE"
    enum:
    - "value_x"
    - "value_y"
    default: "value_x"
  protoExamplepbFoo:
    type: "object"
    required:
    - "bar"
    properties:
      bar:
        $ref: "#/definitions/examplepbBar"
  protobufAny:
    type: "object"
    properties:
      '@type':
        type: "string"
        description: "A URL/resource name that uniquely identifies the type of the\
          \ serialized\nprotocol buffer message. This string must contain at least\n\
          one \"/\" character. The last segment of the URL's path must represent\n\
          the fully qualified name of the type (as in\n`path/google.protobuf.Duration`).\
          \ The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\
          \nIn practice, teams usually precompile into the binary all types that they\n\
          expect it to use in the context of Any. However, for URLs which use the\n\
          scheme `http`, `https`, or no scheme, one can optionally set up a type\n\
          server that maps type URLs to message definitions as follows:\n\n* If no\
          \ scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must\
          \ yield a [google.protobuf.Type][]\n  value in binary format, or produce\
          \ an error.\n* Applications are allowed to cache lookup results based on\
          \ the\n  URL, or have them precompiled into a binary to avoid any\n  lookup.\
          \ Therefore, binary compatibility needs to be preserved\n  on changes to\
          \ types. (Use versioned type names to manage\n  breaking changes.)\n\nNote:\
          \ this functionality is not currently available in the official\nprotobuf\
          \ release, and it is not used for type URLs beginning with\ntype.googleapis.com.\
          \ As of May 2023, there are no widely used type server\nimplementations\
          \ and no plans to implement one.\n\nSchemes other than `http`, `https` (or\
          \ the empty scheme) might be\nused with implementation specific semantics."
    description: "`Any` contains an arbitrary serialized protocol buffer message along\
      \ with a\nURL that describes the type of the serialized message.\n\nProtobuf\
      \ library provides support to pack/unpack Any values in the form\nof utility\
      \ functions or additional generated methods of the Any type.\n\nExample 1: Pack\
      \ and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n\
      \    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack\
      \ and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n\
      \    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n\
      \    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n\
      \      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack\
      \ and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n \
      \   any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n\
      \      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n\
      \     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n\
      \     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err !=\
      \ nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library\
      \ will by default use\n'type.googleapis.com/full.type.name' as the type URL\
      \ and the unpack\nmethods only use the fully qualified type name after the last\
      \ '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n\
      name \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses\
      \ the regular\nrepresentation of the deserialized, embedded message, with an\n\
      additional field `@type` which contains the type URL. Example:\n\n    package\
      \ google.profile;\n    message Person {\n      string first_name = 1;\n    \
      \  string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\"\
      ,\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf\
      \ the embedded message type is well-known and has a custom JSON\nrepresentation,\
      \ that representation will be embedded adding a field\n`value` which holds the\
      \ custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\
      \n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n\
      \      \"value\": \"1.212s\"\n    }"
    example:
      '@type': "@type"
    additionalProperties: {}
  subStringMessage:
    type: "object"
    properties:
      value:
        type: "string"
  The book to update.:
    type: "object"
    properties:
      id:
        type: "string"
        description: "Output only. The book's ID."
        readOnly: true
      createTime:
        type: "string"
        format: "date-time"
        description: "Output only. Creation time of the book."
        readOnly: true
    title: "The book to update."
    description: "The book's `name` field is used to identify the book to be updated.\n\
      Format: publishers/{publisher}/books/{book}"
  A bit of everything:
    type: "object"
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingNested"
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "A bit of everything"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example:
      int64_value: 12
      double_value: 12.3
    x-a-bit-of-everything-foo: "bar"
  A bit of everything_1:
    type: "object"
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingNested"
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    externalDocs:
      description: "Find out more about ABitOfEverything"
      url: "https://github.com/grpc-ecosystem/grpc-gateway"
    title: "A bit of everything"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example:
      int64_value: 12
      double_value: 12.3
    x-a-bit-of-everything-foo: "bar"
  ABitOfEverythingServiceDeepPathEchoBody_singleNested:
    properties:
      amount:
        type: "integer"
        format: "int64"
      ok:
        description: "DeepEnum description."
        $ref: "#/definitions/NestedDeepEnum"
    description: "Nested is nested type."
    example: "{\"ok\":\"TRUE\"}"
  A bit of everything_2:
    required:
    - "doubleValue"
    - "floatValue"
    - "int64Value"
    - "requiredStringField1"
    - "requiredStringField2"
    - "requiredStringViaFieldBehaviorAnnotation"
    - "required_field_behavior_json_name_custom"
    - "required_field_schema_json_name_custom"
    properties:
      singleNested:
        $ref: "#/definitions/ABitOfEverythingNested"
      nested:
        type: "array"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      floatValue:
        type: "number"
        format: "float"
        description: "Float value field"
        default: 0.2
      doubleValue:
        type: "number"
        format: "double"
      int64Value:
        type: "string"
        format: "int64"
      uint64Value:
        type: "string"
        format: "uint64"
      int32Value:
        type: "integer"
        format: "int32"
      fixed64Value:
        type: "string"
        format: "uint64"
      fixed32Value:
        type: "integer"
        format: "int64"
      boolValue:
        type: "boolean"
      stringValue:
        type: "string"
      bytesValue:
        type: "string"
        format: "byte"
        pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      uint32Value:
        type: "integer"
        format: "int64"
      enumValue:
        $ref: "#/definitions/examplepbNumericEnum"
      pathEnumValue:
        $ref: "#/definitions/pathenumPathEnum"
      nestedPathEnumValue:
        $ref: "#/definitions/MessagePathEnumNestedPathEnum"
      sfixed32Value:
        type: "integer"
        format: "int32"
      sfixed64Value:
        type: "string"
        format: "int64"
      sint32Value:
        type: "integer"
        format: "int32"
      sint64Value:
        type: "string"
        format: "int64"
      repeatedStringValue:
        type: "array"
        items:
          type: "string"
      oneofEmpty:
        type: "object"
        properties: {}
      oneofString:
        type: "string"
      mapValue:
        type: "object"
        title: "map of numeric enum"
        additionalProperties:
          $ref: "#/definitions/examplepbNumericEnum"
      mappedStringValue:
        type: "object"
        description: "Map of string description."
        title: "Map of string title"
        additionalProperties:
          type: "string"
      mappedNestedValue:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/ABitOfEverythingNested"
      nonConventionalNameValue:
        type: "string"
      timestampValue:
        type: "string"
        format: "date-time"
      repeatedEnumValue:
        type: "array"
        title: "repeated enum value. it is comma-separated in query"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      repeatedEnumAnnotation:
        type: "array"
        description: "Repeated numeric enum description."
        title: "Repeated numeric enum title"
        items:
          $ref: "#/definitions/examplepbNumericEnum"
      enumValueAnnotation:
        description: "Numeric enum description."
        title: "Numeric enum title"
        $ref: "#/definitions/examplepbNumericEnum"
      repeatedStringAnnotation:
        type: "array"
        description: "Repeated string description."
        title: "Repeated string title"
        items:
          type: "string"
      repeatedNestedAnnotation:
        type: "array"
        description: "Repeated nested object description."
        title: "Repeated nested object title"
        items:
          $ref: "#/definitions/ABitOfEverythingNested"
      nestedAnnotation:
        description: "Nested object description."
        title: "Nested object title"
        $ref: "#/definitions/ABitOfEverythingNested"
      int64OverrideType:
        type: "integer"
        format: "int64"
      requiredStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as required in Open API definition"
      outputOnlyStringViaFieldBehaviorAnnotation:
        type: "string"
        title: "mark a field as readonly in Open API definition"
        readOnly: true
      optionalStringValue:
        type: "string"
      productId:
        type: "array"
        description: "Only digits are allowed."
        title: "Test openapiv2 generation of repeated fields"
        items:
          type: "string"
          minLength: 1
          maxLength: 19
          pattern: "^[0-9]+$"
      optionalStringField:
        type: "string"
        title: "Test openapiv2 generation of required fields with annotation and jsonschema\
          \ to reproduce"
      requiredStringField1:
        type: "string"
      requiredStringField2:
        type: "string"
      required_field_behavior_json_name_custom:
        type: "string"
        title: "Test openapiv2 handling of required json_name fields"
      required_field_schema_json_name_custom:
        type: "string"
      trailingOnly:
        type: "string"
        title: "Trailing only"
      trailingOnlyDot:
        type: "string"
        description: "Trailing only dot."
      trailingBoth:
        type: "string"
        description: "Trailing both."
        title: "Leading both"
      trailingMultiline:
        type: "string"
        description: "This is an example of a multi-line comment.\n\nTrailing multiline."
        title: "Leading multiline"
      uuids:
        type: "array"
        title: "Specify a custom format of repeated field items"
        items:
          type: "string"
          format: "uuid"
    description: "Intentionally complicated message type to cover many features of\
      \ Protobuf."
    example: "{\"int64_value\":12,\"double_value\":12.3}"
externalDocs:
  description: "More about gRPC-Gateway"
  url: "https://github.com/grpc-ecosystem/grpc-gateway"
x-grpc-gateway-baz-list:
- "one"
- true
x-grpc-gateway-foo: "bar"
