{
  "description": "Copy, sync and list S3 objects in parallel. Global options go before the subcommand; other subcommands (rm, mv, du, select) are left out.",
  "options": [
    {
      "names": [
        "--profile"
      ],
      "description": "AWS profile",
      "args": {
        "name": "profile",
        "isOptional": false
      }
    },
    {
      "names": [
        "--endpoint-url"
      ],
      "description": "For S3-compatible services.",
      "args": {
        "name": "endpoint_url",
        "description": "For S3-compatible services.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--no-sign-request"
      ],
      "description": "Anonymous requests"
    },
    {
      "names": [
        "--dry-run"
      ],
      "description": "Dry run"
    },
    {
      "names": [
        "--numworkers"
      ],
      "description": "Worker pool size",
      "args": {
        "name": "numworkers",
        "isOptional": false
      }
    }
  ],
  "name": "s5cmd",
  "subcommands": [
    {
      "name": "cp",
      "description": "Copy between local paths and S3, with wildcard support.",
      "options": [
        {
          "names": [
            "--flatten"
          ],
          "description": "Flatten directory structure"
        },
        {
          "names": [
            "--include"
          ],
          "description": "Include pattern",
          "args": {
            "name": "include",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--exclude"
          ],
          "description": "Exclude pattern",
          "args": {
            "name": "exclude",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--source-region"
          ],
          "description": "Source region",
          "args": {
            "name": "source_region",
            "isOptional": false
          }
        },
        {
          "names": [
            "--destination-region"
          ],
          "description": "Destination region",
          "args": {
            "name": "destination_region",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "source",
          "isOptional": false
        },
        {
          "name": "destination",
          "isOptional": false
        }
      ]
    },
    {
      "name": "sync",
      "description": "One-way sync from source to destination.",
      "options": [
        {
          "names": [
            "--delete"
          ],
          "description": "Delete extra destination files",
          "isDangerous": true
        },
        {
          "names": [
            "--size-only"
          ],
          "description": "Compare sizes only"
        },
        {
          "names": [
            "--include"
          ],
          "description": "Include pattern",
          "args": {
            "name": "include",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--exclude"
          ],
          "description": "Exclude pattern",
          "args": {
            "name": "exclude",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        }
      ],
      "args": [
        {
          "name": "source",
          "isOptional": false
        },
        {
          "name": "destination",
          "isOptional": false
        }
      ]
    },
    {
      "name": "ls",
      "description": "List buckets or objects.",
      "args": [
        {
          "name": "target",
          "description": "Empty lists all buckets.",
          "isOptional": true
        }
      ]
    }
  ]
}
