id = "bosh" name = "BOSH CLI" homepage = "https://bosh.io" description = "BOSH is a project that unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software." # The mark from bosh.io's favicon; the logo beside it is white, for a dark # header, and the full logo is a wordmark. icon = "https://bosh.io/docs/assets/images/favicon.2776d0bae488.png" executables = ["bosh"] [dotfiles] # https://bosh.io/docs/cli-v2/ global options: "--config=PATH Config file path # (default: ~/.bosh/config) [$BOSH_CONFIG]". `bosh alias-env` and `bosh log-in` # write the environments and their tokens there. paths = ["~/.bosh/config"] exclude = [] # Not a whole-file secret: the environment list, aliases and CA certificates are # what you want on the other machine. The auth fields come out separately. secret = [] # Read and rewritten per command; no resident process holds it. side_effect = false # cmd/config/fs_config.go — the file is YAML with a top-level `environments` # list whose entries carry `username`, `password`, `access_token_type`, # `access_token` and `refresh_token`. The last three plus the password are the # session credentials for a director. [[dotfiles.secret_paths]] file = "~/.bosh/config" format = "yaml" match = { key_path = ["environments.*.password", "environments.*.access_token", "environments.*.refresh_token"] } [commands] format = 1 label = "Director connection options" description = "Global options for the BOSH CLI: which director and deployment to talk to, and output style. Use the subcommand tabs for deploy, vms and ssh; the many other commands are left out." quality = "ai-draft" base = "fig:bosh" 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/bosh.ts" license = "MIT" [[commands.field]] id = "environment" label = "Director environment" description = "Director environment name or URL." type = "string" option = ["--environment", "-e"] sources = ["fig"] [[commands.field]] id = "deployment" label = "Deployment" description = "Deployment name." type = "string" option = ["--deployment"] sources = ["fig"] [[commands.field]] id = "ca_cert" label = "CA certificate" type = "path" option = ["--ca-cert"] path = { kind = "file", role = "input" } sources = ["fig"] [[commands.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["fig"] [[commands.field]] id = "non_interactive" label = "Non-interactive" description = "Do not ask for user input." type = "boolean" option = ["--non-interactive", "-n"] sources = ["fig"] [[commands.field]] id = "no_color" label = "No color" type = "boolean" option = ["--no-color"] sources = ["fig"] [[commands.field]] id = "parallel" label = "Max parallel operations" type = "integer" option = ["--parallel"] sources = ["fig"] [[commands.task]] id = "scripted" label = "Scripted use" fields = ["environment", "deployment", "json", "non_interactive"] required = [] set = { json = [true], non_interactive = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["environment", "deployment", "json", "non_interactive"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["ca_cert", "no_color", "parallel"] [[commands.subcommand]] path = ["deploy"] label = "Deploy manifest" description = "Update a deployment from a manifest. Variables, ops files and flags beyond the manifest path are not in the completion data." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/bosh.ts" license = "MIT" [[commands.subcommand.field]] id = "manifest" label = "Manifest" description = "Path to the deployment manifest." type = "path" position = 0 path = { kind = "file", role = "input" } sources = ["fig"] [[commands.subcommand.task]] id = "deploy" label = "Deploy" fields = ["manifest"] required = ["manifest"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["manifest"] [[commands.subcommand]] path = ["vms"] label = "List VMs" description = "List all VMs in all deployments." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/bosh.ts" license = "MIT" [[commands.subcommand.group]] id = "basic" label = "Basic" fields = [] [[commands.subcommand]] path = ["ssh"] label = "SSH to instance" description = "SSH into an instance." parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/bosh.ts" license = "MIT" [[commands.subcommand.field]] id = "instance" label = "Instance" description = "INSTANCE-GROUP/INSTANCE-ID; leave blank to choose." type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "ssh" label = "SSH" fields = ["instance"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["instance"]