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
[[dotfiles.machine_lines]]
file = "~/.boto"
match = { prefix = ["ca_certificates_file"] }
scope = "backup"
[[dotfiles.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 }
[[commands.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>]
-b/--bucket <bucket_name> [-c/--callback <num_cb>]
[-d/--debug <debug_level>] [-i/--ignore <ignore_dirs>]
[-n/--no_op] [-p/--prefix <prefix>] [-k/--key_prefix <key_prefix>]
[-q/--quiet] [-g/--grant grant] [-w/--no_overwrite] [-r/--reduced]
[--header] [--region <name>] [--host <s3_host>] path [path...]
"""
[[commands.field]]
id = "paths"
label = "Files or directories"
type = "path"
position = 0
multiple = true
min = 1
path = { kind = "any", role = "input" }
sources = ["help"]
[[commands.field]]
id = "bucket"
label = "Bucket"
type = "string"
option = ["--bucket", "-b"]
sources = ["help"]
[[commands.field]]
id = "prefix"
label = "Strip path prefix"
description = "A local path prefix removed when building the key name."
type = "string"
option = ["--prefix", "-p"]
sources = ["help"]
[[commands.field]]
id = "key_prefix"
label = "Key prefix"
description = "Prefix added to every S3 key."
type = "string"
option = ["--key_prefix", "-k"]
sources = ["help"]
[[commands.field]]
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"]
[[commands.field]]
id = "region"
label = "Region"
type = "string"
option = ["--region"]
sources = ["help"]
[[commands.field]]
id = "host"
label = "S3 host override"
type = "string"
option = ["--host"]
sources = ["help"]
[[commands.field]]
id = "ignore"
label = "Ignore directories"
description = "Comma-separated directory names to skip."
type = "string"
option = ["--ignore", "-i"]
sources = ["help"]
[[commands.field]]
id = "no_op"
label = "Dry run"
type = "boolean"
option = ["--no_op", "-n"]
sources = ["help"]
[[commands.field]]
id = "no_overwrite"
label = "Keep existing keys"
type = "boolean"
option = ["--no_overwrite", "-w"]
sources = ["help"]
[[commands.field]]
id = "reduced"
label = "Reduced redundancy storage"
type = "boolean"
option = ["--reduced", "-r"]
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["--quiet", "-q"]
sources = ["help"]
[[commands.task]]
id = "upload"
label = "Upload to a bucket"
fields = ["paths", "bucket", "prefix", "key_prefix", "grant"]
required = ["paths", "bucket"]
[[commands.task]]
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"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["paths", "bucket", "prefix", "key_prefix", "grant", "no_op"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["region", "host", "ignore", "no_overwrite", "reduced", "quiet"]