Skip to main content

vela def gen-api

Generate SDK from X-Definition.


Generate SDK from X-definition file.

  • This command leverage openapi-generator project. Therefore demands "docker" exist in PATH
  • Currently, this function is still working in progress and not all formats of parameter in X-definition are supported yet.
vela def gen-api DEFINITION.cue [flags]


# Generate SDK for golang with scaffold initialized
> vela def gen-api --init --language go -f /path/to/def -o /path/to/sdk
# Generate incremental definition files to existing sdk directory
> vela def gen-api --language go -f /path/to/def -o /path/to/sdk
# Generate definitions to a sub-module
> vela def gen-api --language go -f /path/to/def -o /path/to/sdk --submodule --api-dir path/relative/to/output --language-args arg1=val1,arg2=val2


      --api-dir string          API directory path to put definition API files, relative to output directory. Default value: go: pkg/apis
-f, --file strings File name of definitions, can be specified multiple times, or use comma to separate multiple files. If directory specified, all files found recursively in the directory will be used
-h, --help help for gen-api
--init Init the whole SDK project, if not set, only the API file will be generated
-g, --language string Language to generate code. Valid languages: go (default "go")
--language-args strings language-specific arguments to pass to the go generator, available options:
MainModuleVersion: MainModuleVersion(default: cd431bb25a9a)
GoProxy: GoProxy(default:,direct)

-o, --output string Output directory path (default "./apis")
-p, --package string Package name of generated code (default "")
--submodule api-dir Whether the generated code is a submodule of the project. If set, the directory specified by api-dir will be treated as a submodule of the project
-t, --template string Template file path, if not specified, the default template will be used
-v, --verbose Print verbose logs

Options inherited from parent commands

  -V, --verbosity Level   number for the log level verbosity
-y, --yes Assume yes for all user prompts


Go Back to CLI Commands Homepage.

Auto generated by spf13/cobra script in KubeVela.