{
  "description": "Submit, test and build images for CloudFormation resource types with cfn. init, generate, package and validate take no options here.",
  "name": "cfn",
  "subcommands": [
    {
      "name": "submit",
      "description": "Submit a resource type",
      "options": [
        {
          "names": [
            "--dry-run"
          ],
          "description": "Prepare the package without registering it."
        },
        {
          "names": [
            "--set-default"
          ],
          "description": "Set as default version"
        }
      ]
    },
    {
      "name": "test",
      "description": "Run contract tests",
      "options": [
        {
          "names": [
            "--v2"
          ],
          "description": "Use CTv2 (Docker) executor"
        },
        {
          "names": [
            "--typeconfig"
          ],
          "description": "Type configuration file",
          "args": {
            "name": "typeconfig",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--region"
          ],
          "description": "AWS region",
          "args": {
            "name": "region",
            "isOptional": false
          }
        },
        {
          "names": [
            "--profile"
          ],
          "description": "AWS profile",
          "args": {
            "name": "profile",
            "isOptional": false
          }
        },
        {
          "names": [
            "--enforce-timeout"
          ],
          "description": "Handler timeout (seconds)",
          "args": {
            "name": "enforce_timeout",
            "isOptional": false
          }
        },
        {
          "names": [
            "--log-group-name"
          ],
          "description": "Log group name",
          "args": {
            "name": "log_group",
            "isOptional": false
          }
        },
        {
          "names": [
            "--log-role-arn"
          ],
          "description": "Log delivery role ARN",
          "args": {
            "name": "log_role",
            "isOptional": false
          }
        }
      ]
    },
    {
      "name": "build-image",
      "description": "Build a handler image",
      "options": [
        {
          "names": [
            "--image-name"
          ],
          "description": "Image name",
          "args": {
            "name": "image_name",
            "isOptional": false
          }
        },
        {
          "names": [
            "--executable"
          ],
          "description": "Executable",
          "args": {
            "name": "executable",
            "isOptional": false,
            "template": "filepaths"
          }
        }
      ]
    }
  ]
}
