dealroadshow / kodegen
从json模式生成PHP类,包括Kubernetes json模式
v0.4.2
2021-08-29 20:04 UTC
Requires
- php: >=8.0
- ext-ctype: *
- ext-iconv: *
- ext-json: *
- guzzlehttp/psr7: ^2.0
- knplabs/github-api: ^3.0@dev
- nette/php-generator: ^3.5
- symfony/console: >=5.2
- symfony/dotenv: >=5.2
- symfony/flex: ^1.11
- symfony/framework-bundle: >=5.2
- symfony/http-client: >=5.2
- symfony/maker-bundle: ^1.20
- symfony/yaml: >=5.2
Conflicts
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
此命令将引导您进行交互式生成过程。