View Source OpenAPI.Spec (OpenAPI Generator v0.1.1)

OpenAPI description as read by the read phase

Modules contained in this namespace represent portions of the OpenAPI spec. While there is some occasional processing done by the reader (for example, to add additional context to a schema while it is read), most of this data is an exact replica of what is contained in the API description.

All spec modules have a function decode/2 which is not intended to be called by client library authors, but does the work of parsing the JSON or Yaml contents.

Link to this section Summary

Types

Fully-qualified absolute file and set of path segments

Key or index of a Yaml document

Reference to another part of the spec. Reserved for schemas in this library.

t()

Open API specification

Link to this section Types

@type full_path() :: {String.t(), [path_segment()]}

Fully-qualified absolute file and set of path segments

@type path_segment() :: String.t() | integer()

Key or index of a Yaml document

@type ref() :: {:ref, full_path()}

Reference to another part of the spec. Reserved for schemas in this library.

@type t() :: %OpenAPI.Spec{
  components: OpenAPI.Spec.Components.t(),
  external_docs: OpenAPI.Spec.ExternalDocumentation.t() | nil,
  info: OpenAPI.Spec.Info.t(),
  openapi: String.t(),
  paths: %{optional(:string) => OpenAPI.Spec.Path.Item.t()},
  security: [term()],
  servers: [OpenAPI.Spec.Server.t()],
  tags: [term()]
}

Open API specification