Crate k8s_openapi_codegen_common[][src]

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.


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


Error type reported by run and write_operation

Statistics from a successful invocation of run


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


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.


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.