id = "aws" name = "AWS CLI" homepage = "https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html" description = "One command line interface for every Amazon Web Services API." icon = "theSVG:aws" executables = ["aws"] [dotfiles] # The AWS CLI splits settings from credentials by design: ~/.aws/config holds # regions, output formats and profiles; ~/.aws/credentials holds keys. paths = ["~/.aws/config"] exclude = ["~/.aws/cli/cache/", "~/.aws/sso/cache/", "~/.aws/boto/cache/"] secret = ["~/.aws/credentials"] # Both name an absolute path to something installed on this machine: # credential_process is the helper command this user wired up, ca_bundle the # corporate root they were handed — the key is in the file at all only because # the platform's own bundle was not the one to use, so the value is one # device's rather than its class's. Both are worth keeping to set this machine # up again: backup. [[dotfiles.machine_lines]] file = "~/.aws/config" match = { prefix = ["credential_process", "ca_bundle"] } scope = "backup" [commands] format = 1 label = "Run an AWS CLI command" description = "Compose aws with a profile. Service and operation names come from the AWS CLI reference; only --profile is offered because the completion data lists no other options." quality = "ai-draft" base = "fig:aws" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/aws.ts" license = "MIT" [[commands.field]] id = "profile" label = "Profile" description = "Named profile from your AWS config and credentials files." type = "string" option = ["--profile"] sources = ["fig"] [[commands.field]] id = "service" label = "Service" description = "For example s3, ec2, sts, iam." type = "string" position = 0 suggestions = [{ value = "s3", label = "s3" }, { value = "ec2", label = "ec2" }, { value = "sts", label = "sts" }, { value = "iam", label = "iam" }, { value = "lambda", label = "lambda" }, { value = "cloudformation", label = "cloudformation" }, { value = "logs", label = "logs" }] sources = ["fig"] [[commands.field]] id = "operation" label = "Operation" description = "For example ls, describe-instances, get-caller-identity." type = "string" position = 1 sources = ["fig"] [[commands.field]] id = "arguments" label = "Further arguments" type = "string" position = 2 multiple = true sources = ["fig"] [[commands.task]] id = "whoami" label = "Who am I" fields = ["profile", "service", "operation"] required = ["service", "operation"] set = { service = ["sts"], operation = ["get-caller-identity"] } [[commands.group]] id = "basic" label = "Basic" fields = ["profile", "service", "operation", "arguments"]