id = "sftp" name = "sftp" description = "OpenSSH secure file transfer." executables = ["sftp"] [commands] format = 1 label = "Open SFTP session" description = "Connect to a host for interactive file transfer. Batch files and options passed through to ssh are included; the scp-style source/target form is left out." quality = "ai-draft" base = "fig:sftp" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/sftp.ts" license = "MIT" [[commands.field]] id = "destination" label = "Destination" description = "[user@]host[:path]" type = "string" position = 0 sources = ["fig"] [[commands.field]] id = "port" label = "Port" type = "integer" option = ["-P"] sources = ["fig"] [[commands.field]] id = "identity" label = "Identity file" type = "path" option = ["-i"] path = { kind = "file", role = "input", must_exist = true } sources = ["fig"] [[commands.field]] id = "batch" label = "Batch file" type = "path" option = ["-b"] path = { kind = "file", role = "input", must_exist = true } sources = ["fig"] [[commands.field]] id = "jump" label = "Jump host" type = "string" option = ["-J"] sources = ["fig"] [[commands.field]] id = "ssh_config" label = "SSH config file" type = "path" option = ["-F"] path = { kind = "file", role = "input", must_exist = true } sources = ["fig"] [[commands.field]] id = "compression" label = "Compression" type = "boolean" option = ["-C"] sources = ["fig"] [[commands.field]] id = "recursive" label = "Recursive" type = "boolean" option = ["-r"] sources = ["fig"] [[commands.field]] id = "preserve" label = "Preserve times and modes" type = "boolean" option = ["-p"] sources = ["fig"] [[commands.field]] id = "quiet" label = "Quiet" type = "boolean" option = ["-q"] sources = ["fig"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["-v"] sources = ["fig"] [[commands.field]] id = "ipv4" label = "IPv4 only" type = "boolean" option = ["-4"] sources = ["fig"] [[commands.field]] id = "ipv6" label = "IPv6 only" type = "boolean" option = ["-6"] sources = ["fig"] [[commands.task]] id = "connect" label = "Connect to host" fields = ["destination", "port", "identity"] required = ["destination"] [[commands.task]] id = "batch-run" label = "Run a batch file" fields = ["destination", "batch", "identity"] required = ["destination", "batch"] [[commands.group]] id = "basic" label = "Basic" fields = ["destination", "port", "identity", "batch"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["jump", "ssh_config", "compression", "recursive", "preserve", "quiet", "verbose", "ipv4", "ipv6"]