{
  "name": "cdk8s",
  "description": "CDK for K8s",
  "options": [
    {
      "names": [
        "--version"
      ],
      "description": "The current version"
    },
    {
      "names": [
        "--help"
      ],
      "description": "Show help"
    },
    {
      "names": [
        "--check-upgrade"
      ],
      "description": "Check for cdk8s-cli upgrade"
    }
  ],
  "subcommands": [
    {
      "name": "init",
      "description": "Create a new, empty CDK8S project",
      "args": [
        {
          "name": "type",
          "description": "Select language you are using",
          "suggestions": [
            "go-app",
            "java-app",
            "python-app",
            "typescript-app"
          ]
        }
      ]
    },
    {
      "name": "import",
      "description": "Import a CRD schema to generate generate resources",
      "options": [
        {
          "names": [
            "--language",
            "-l"
          ],
          "description": "Output programming language",
          "args": [
            {
              "name": "language",
              "suggestions": [
                "typescript",
                "python",
                "java",
                "go"
              ]
            }
          ]
        },
        {
          "names": [
            "--class-prefix"
          ],
          "description": "A prefix to add to all generated class names",
          "exclusiveOn": [
            "--no-class-prefix"
          ]
        },
        {
          "names": [
            "--no-class-prefix"
          ],
          "description": "Does not add a prefix to generated class names",
          "exclusiveOn": [
            "--class-prefix"
          ]
        },
        {
          "names": [
            "--exclude"
          ],
          "description": "Do not import types that match these regular expressions",
          "args": [
            {
              "name": "regexp"
            }
          ]
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Output directory",
          "args": [
            {
              "template": "folders"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "spec",
          "description": "Path to the CRD schema",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "synth",
      "description": "Synthesizes Kubernetes manifests for all charts in your app",
      "options": [
        {
          "names": [
            "--app",
            "-a"
          ],
          "description": "Command to use in order to execute cdk8s app"
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Output directory",
          "args": [
            {
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--stdout",
            "-s"
          ],
          "description": "Write synthesized manifests to STDOUT instead of the output directory"
        },
        {
          "names": [
            "--plugins-dir"
          ],
          "description": "Directory to store cdk8s plugins"
        },
        {
          "names": [
            "--validate"
          ],
          "description": "Apply validation plugins on the resulting manifests",
          "exclusiveOn": [
            "--no-validate"
          ]
        },
        {
          "names": [
            "--no-validate"
          ],
          "description": "Disable validation",
          "exclusiveOn": [
            "--validate"
          ]
        },
        {
          "names": [
            "--validation-reports-output-file"
          ],
          "description": "File to write a JSON representation of the validation reports to",
          "args": [
            {
              "template": "filepaths"
            }
          ]
        }
      ]
    }
  ]
}
