Expand description

This crate contains common code for the k8s-openapi code generator and the k8s-openapi-derive custom derive crate.

It can be used by code generators that want to generate crates like k8s-openapi and k8s-openapi-derive for Kubernetes-like software such as OpenShift.

  1. Create a swagger20::Spec value, either by deserializing it from an OpenAPI spec JSON file or by creating it manually.
  2. Invoke the run function for each definition in the spec.
  3. For each left-over API operations, ie those operations that weren’t associated with any definition, invoke the write_operation function.

Modules

  • This module contains types related to the OpenAPI types used in the Kubernetes spec.

Structs

Enums

  • Whether run should generate an impl of schemars::JsonSchema for the type or not.

Traits

  • A mechanism for converting (the components of) an openapi path to (the components of) a Rust namespace.
  • Used to create an impl of std::io::Write for each type that the type’s generated code will be written to.

Functions

  • Converts the given string into a string that can be used as a Rust ident.
  • Each invocation of this function generates a single type specified by the definition_path parameter along with its associated API operation functions.
  • Each invocation of this function generates a single API operation function specified by the operation parameter.