{
  "id": "boto",
  "name": "boto",
  "homepage": "https://github.com/boto/boto",
  "description": "A Python package that provides interfaces to Amazon Web Services.",
  "executables": [
    "s3put",
    "lss3",
    "sdbadmin",
    "elbadmin",
    "cfadmin",
    "cwutil"
  ],
  "dotfiles": {
    "paths": [
      "~/.boto"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false,
    "machine_lines": [
      {
        "file": "~/.boto",
        "match": {
          "prefix": [
            "ca_certificates_file"
          ]
        },
        "scope": "backup"
      }
    ],
    "secret_paths": [
      {
        "file": "~/.boto",
        "match": {
          "prefix": [
            "aws_access_key_id",
            "aws_secret_access_key",
            "aws_security_token"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Upload files to S3 (s3put)",
    "description": "Upload files or directories to an S3 bucket with boto's s3put. Other boto tools, multipart upload and extra headers are not covered.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "help",
        "url": "https://raw.githubusercontent.com/boto/boto/develop/bin/s3put",
        "revision": "develop",
        "evidence": "s3put [-a/--access_key <access_key>] [-s/--secret_key <secret_key>]\n      -b/--bucket <bucket_name> [-c/--callback <num_cb>]\n      [-d/--debug <debug_level>] [-i/--ignore <ignore_dirs>]\n      [-n/--no_op] [-p/--prefix <prefix>] [-k/--key_prefix <key_prefix>]\n      [-q/--quiet] [-g/--grant grant] [-w/--no_overwrite] [-r/--reduced]\n      [--header] [--region <name>] [--host <s3_host>] path [path...]\n"
      }
    ],
    "field": [
      {
        "id": "paths",
        "label": "Files or directories",
        "type": "path",
        "position": 0,
        "multiple": true,
        "min": 1,
        "path": {
          "kind": "any",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "bucket",
        "label": "Bucket",
        "type": "string",
        "option": [
          "--bucket",
          "-b"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "prefix",
        "label": "Strip path prefix",
        "description": "A local path prefix removed when building the key name.",
        "type": "string",
        "option": [
          "--prefix",
          "-p"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "key_prefix",
        "label": "Key prefix",
        "description": "Prefix added to every S3 key.",
        "type": "string",
        "option": [
          "--key_prefix",
          "-k"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "grant",
        "label": "Canned ACL",
        "type": "enum",
        "option": [
          "--grant",
          "-g"
        ],
        "choices": [
          {
            "value": "private",
            "label": "private"
          },
          {
            "value": "public-read",
            "label": "public-read"
          },
          {
            "value": "public-read-write",
            "label": "public-read-write"
          },
          {
            "value": "authenticated-read",
            "label": "authenticated-read"
          }
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "region",
        "label": "Region",
        "type": "string",
        "option": [
          "--region"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "host",
        "label": "S3 host override",
        "type": "string",
        "option": [
          "--host"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "ignore",
        "label": "Ignore directories",
        "description": "Comma-separated directory names to skip.",
        "type": "string",
        "option": [
          "--ignore",
          "-i"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_op",
        "label": "Dry run",
        "type": "boolean",
        "option": [
          "--no_op",
          "-n"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_overwrite",
        "label": "Keep existing keys",
        "type": "boolean",
        "option": [
          "--no_overwrite",
          "-w"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "reduced",
        "label": "Reduced redundancy storage",
        "type": "boolean",
        "option": [
          "--reduced",
          "-r"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet",
        "type": "boolean",
        "option": [
          "--quiet",
          "-q"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "upload",
        "label": "Upload to a bucket",
        "fields": [
          "paths",
          "bucket",
          "prefix",
          "key_prefix",
          "grant"
        ],
        "required": [
          "paths",
          "bucket"
        ]
      },
      {
        "id": "dry-run",
        "label": "Preview an upload",
        "set": {
          "no_op": [
            true
          ]
        },
        "lock": [
          "no_op"
        ],
        "fields": [
          "paths",
          "bucket",
          "prefix",
          "key_prefix",
          "no_op"
        ],
        "required": [
          "paths",
          "bucket"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "paths",
          "bucket",
          "prefix",
          "key_prefix",
          "grant",
          "no_op"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "region",
          "host",
          "ignore",
          "no_overwrite",
          "reduced",
          "quiet"
        ]
      }
    ]
  }
}
