{
  "description": "Initialize, plan and apply OpenTofu configurations. Backend settings, state commands, workspaces and other subcommands are outside these forms.",
  "name": "tofu",
  "subcommands": [
    {
      "name": "init",
      "description": "Download providers and modules. Backend configuration options are left out.",
      "options": [
        {
          "names": [
            "-upgrade"
          ],
          "description": "Upgrade providers and modules"
        },
        {
          "names": [
            "-no-color"
          ],
          "description": "No color"
        },
        {
          "names": [
            "-lock=false"
          ],
          "description": "Disable state locking"
        }
      ]
    },
    {
      "name": "plan",
      "description": "Preview changes. Variable assignments and target/replace addresses are included; planning modes beyond destroy and refresh-only are not.",
      "options": [
        {
          "names": [
            "-destroy"
          ],
          "description": "Plan to destroy everything"
        },
        {
          "names": [
            "-refresh-only"
          ],
          "description": "Refresh-only plan"
        },
        {
          "names": [
            "-refresh=false"
          ],
          "description": "Skip refresh"
        },
        {
          "names": [
            "-target"
          ],
          "description": "Target address",
          "args": {
            "name": "target",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "-var-file"
          ],
          "description": "Variables file",
          "args": {
            "name": "var_file",
            "isOptional": false,
            "isVariadic": true,
            "template": "filepaths"
          },
          "isRepeatable": true
        },
        {
          "names": [
            "-out"
          ],
          "description": "Save plan to file",
          "args": {
            "name": "out",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "-detailed-exitcode"
          ],
          "description": "Detailed exit code"
        },
        {
          "names": [
            "-no-color"
          ],
          "description": "No color"
        }
      ]
    },
    {
      "name": "apply",
      "description": "Apply the configuration or a saved plan file. Review a plan first.",
      "options": [
        {
          "names": [
            "-auto-approve"
          ],
          "description": "Skip interactive approval",
          "isDangerous": true
        },
        {
          "names": [
            "-input=false"
          ],
          "description": "Disable prompts"
        },
        {
          "names": [
            "-compact-warnings"
          ],
          "description": "Compact warnings"
        },
        {
          "names": [
            "-var-file"
          ],
          "description": "Variables file",
          "args": {
            "name": "var_file",
            "isOptional": false,
            "isVariadic": true,
            "template": "filepaths"
          },
          "isRepeatable": true
        }
      ],
      "args": [
        {
          "name": "planfile",
          "description": "Leave empty to plan and apply the current configuration.",
          "isOptional": true,
          "template": "filepaths"
        }
      ]
    }
  ]
}
