{
  "description": "Sync, upload and list objects in S3-compatible storage. Other commands (buckets, ACLs, policies, CloudFront) and credential switches are left out; configure access with s3cmd --configure.",
  "name": "s3cmd",
  "subcommands": [
    {
      "name": "sync",
      "description": "Synchronize a directory tree to S3, from S3, or between buckets.",
      "options": [
        {
          "names": [
            "--dry-run",
            "-n"
          ],
          "description": "Dry run"
        },
        {
          "names": [
            "--delete-removed"
          ],
          "description": "Delete destination objects with no corresponding source file.",
          "isDangerous": true
        },
        {
          "names": [
            "--skip-existing"
          ],
          "description": "Skip existing"
        },
        {
          "names": [
            "--no-check-md5"
          ],
          "description": "Do not check MD5 sums; faster but may miss changed files."
        },
        {
          "names": [
            "--exclude"
          ],
          "description": "Exclude glob",
          "args": {
            "name": "exclude",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--include"
          ],
          "description": "Include glob",
          "args": {
            "name": "include",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--acl-public",
            "-P"
          ],
          "description": "Public-read ACL"
        }
      ],
      "args": [
        {
          "name": "source",
          "description": "Local directory or s3://BUCKET[/PREFIX].",
          "isOptional": false
        },
        {
          "name": "destination",
          "description": "Local directory or s3://BUCKET[/PREFIX].",
          "isOptional": false
        }
      ]
    },
    {
      "name": "put",
      "description": "Put files into a bucket.",
      "options": [
        {
          "names": [
            "--recursive",
            "-r"
          ],
          "description": "Recursive"
        },
        {
          "names": [
            "--dry-run",
            "-n"
          ],
          "description": "Dry run"
        },
        {
          "names": [
            "--force",
            "-f"
          ],
          "description": "Force overwrite",
          "isDangerous": true
        },
        {
          "names": [
            "--acl-public",
            "-P"
          ],
          "description": "Public-read ACL"
        },
        {
          "names": [
            "--storage-class"
          ],
          "description": "Storage class",
          "args": {
            "name": "storage_class",
            "isOptional": false,
            "suggestions": [
              {
                "name": "STANDARD",
                "description": "Standard"
              },
              {
                "name": "STANDARD_IA",
                "description": "Standard-IA"
              },
              {
                "name": "GLACIER",
                "description": "Glacier"
              },
              {
                "name": "DEEP_ARCHIVE",
                "description": "Deep Archive"
              }
            ]
          }
        }
      ],
      "args": [
        {
          "name": "files",
          "isOptional": false,
          "isVariadic": true,
          "template": "filepaths"
        },
        {
          "name": "destination",
          "description": "s3://BUCKET[/PREFIX]",
          "isOptional": false
        }
      ]
    },
    {
      "name": "ls",
      "description": "List objects or buckets.",
      "options": [
        {
          "names": [
            "--recursive",
            "-r"
          ],
          "description": "Recursive"
        },
        {
          "names": [
            "--human-readable-sizes",
            "-H"
          ],
          "description": "Human-readable sizes"
        }
      ],
      "args": [
        {
          "name": "target",
          "description": "s3://BUCKET[/PREFIX]; empty lists all buckets.",
          "isOptional": true
        }
      ]
    }
  ]
}
