{
  "description": "Upload local files to a DNAnexus project and download data objects. All other dx commands (run, describe, build and so on) are not covered.",
  "name": "dx",
  "subcommands": [
    {
      "name": "upload",
      "description": "Upload local files or directories to the current DNAnexus project and folder.",
      "options": [
        {
          "names": [
            "--path",
            "--destination"
          ],
          "description": "DNAnexus path. A trailing slash means a folder; otherwise it is the final name.",
          "args": {
            "name": "path",
            "description": "DNAnexus path. A trailing slash means a folder; otherwise it is the final name.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--recursive",
            "-r"
          ],
          "description": "Upload directories recursively"
        },
        {
          "names": [
            "--parents",
            "-p"
          ],
          "description": "Create parent folders"
        },
        {
          "names": [
            "--tag"
          ],
          "description": "Tag",
          "args": {
            "name": "tag",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--type"
          ],
          "description": "Object type",
          "args": {
            "name": "type",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--wait"
          ],
          "description": "Wait until closed"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "No progress bar"
        }
      ],
      "args": [
        {
          "name": "filename",
          "isOptional": false,
          "isVariadic": true,
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "download",
      "description": "Download files or folders from DNAnexus to the local machine.",
      "options": [
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Local filename or directory. Defaults to the object's name on the platform.",
          "args": {
            "name": "output",
            "description": "Local filename or directory. Defaults to the object's name on the platform.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--overwrite",
            "-f"
          ],
          "description": "Resume an interrupted download if signatures match; otherwise overwrite the local file.",
          "isDangerous": true
        },
        {
          "names": [
            "--recursive",
            "-r"
          ],
          "description": "Download folders recursively"
        },
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Download all matches"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "No progress bar"
        }
      ],
      "args": [
        {
          "name": "path",
          "description": "Data object IDs or names, or folders.",
          "isOptional": false,
          "isVariadic": true
        }
      ]
    }
  ]
}
