dealroadshow/kodegen

从json模式生成PHP类,包括Kubernetes json模式

v0.4.2 2021-08-29 20:04 UTC

This package is auto-updated.

Last update: 2024-08-29 13:07:43 UTC


README

本项目提供命令行工具,用于生成Kubernetes API对象的PHP类。它使用官方Kubernetes API json模式来生成对应Kubernetes版本提供的所有API对象的类。

安装

推荐使用Composer安装Kodegen。全局安装kodegen命令行工具,并在任何地方使用它,只要Composer的vendor/bin目录在您的PATH中。通常这个目录是$HOME/.composer/vendor/bin

composer global require dealroadshow/kodegen

使用方法

对于通用json模式

要从通用json模式生成PHP代码,只需运行以下命令

kodegen json-schema:generate:php path/to/json-schema-file.json

它将引导您进行交互式生成过程。

对于Kubernetes json模式

首先,您需要确定所选Kubernetes版本的最新API版本。例如,Kubernetes v1.20的最新json模式版本是v1.20.10。为了获取这些版本,运行以下命令

k8s:schema:versions [number of latest Kubernetes versions].

此命令的输出可能如下所示

kodegen k8s:schema:versions 4
{"v1.19":"v1.19.14","v1.20":"v1.20.10","v1.21":"v1.21.4","v1.22":"v1.22.0"}

然后,您可以使用此json来检索Kubernetes json模式

export DEALROADSHOW_KODEGEN_JSON_SCHEMA_VERSIONS='{"v1.19":"v1.19.14","v1.20":"v1.20.10","v1.21":"v1.21.4","v1.22":"v1.22.0"}'
kodegen k8s:schema:fetch /tmp/kubernetes-schema.json

上述命令将允许您在DEALROADSHOW_KODEGEN_JSON_SCHEMA_VERSIONS环境变量中定义的Kubernetes版本中选择一个。

当您拥有Kubernetes json模式后,可以从中生成PHP类

kodegen k8s:generate:php /tmp/kubernetes-schema.json

此命令将引导您进行交互式生成过程。