From ae1044cd1646e2592f3cfc51eb4b21da763c712a Mon Sep 17 00:00:00 2001 From: cpendery Date: Thu, 14 Sep 2023 19:44:50 -0400 Subject: [PATCH] build: add autogenerated specs Signed-off-by: cpendery --- .gitignore | 7 +- autocomplete/generators/azure/azure.go | 69 + autocomplete/specs/act.go | 268 + autocomplete/specs/adb.go | 707 + autocomplete/specs/adr.go | 39 + autocomplete/specs/afplay.go | 60 + autocomplete/specs/aftman.go | 61 + autocomplete/specs/ag.go | 309 + autocomplete/specs/agrippa.go | 163 + autocomplete/specs/airflow.go | 2702 +++ autocomplete/specs/aliases.go | 152 + autocomplete/specs/amplify.go | 489 + autocomplete/specs/ansible-config.go | 185 + autocomplete/specs/ansible-doc.go | 112 + autocomplete/specs/ansible-galaxy.go | 639 + autocomplete/specs/ansible-lint.go | 128 + autocomplete/specs/ansible-playbook.go | 199 + autocomplete/specs/ansible.go | 204 + autocomplete/specs/ant.go | 136 + autocomplete/specs/appwrite.go | 4066 ++++ autocomplete/specs/apt.go | 429 + autocomplete/specs/arch.go | 87 + autocomplete/specs/argo.go | 1556 ++ autocomplete/specs/asar.go | 59 + autocomplete/specs/asciinema.go | 137 + autocomplete/specs/asdf.go | 311 + autocomplete/specs/asr.go | 255 + autocomplete/specs/assimp.go | 185 + autocomplete/specs/astro.go | 133 + autocomplete/specs/atlas.go | 7546 +++++++ autocomplete/specs/authchanger.go | 66 + autocomplete/specs/autojump.go | 51 + autocomplete/specs/aws-vault.go | 127 + autocomplete/specs/aws.go | 1011 + autocomplete/specs/awsume.go | 162 + autocomplete/specs/azure.go | 188 + autocomplete/specs/babel.go | 203 + autocomplete/specs/banner.go | 27 + autocomplete/specs/base32.go | 39 + autocomplete/specs/base64.go | 44 + autocomplete/specs/basename.go | 30 + autocomplete/specs/basenc.go | 63 + autocomplete/specs/bat.go | 172 + autocomplete/specs/bazel.go | 231 + autocomplete/specs/bc.go | 42 + autocomplete/specs/bcd.go | 45 + autocomplete/specs/black.go | 146 + autocomplete/specs/blitz.go | 641 + autocomplete/specs/bosh.go | 542 + autocomplete/specs/br.go | 184 + autocomplete/specs/brew.go | 1276 ++ autocomplete/specs/broot.go | 184 + autocomplete/specs/browser-sync.go | 278 + autocomplete/specs/btop.go | 45 + autocomplete/specs/build-storybook.go | 101 + autocomplete/specs/bun.go | 498 + autocomplete/specs/bundle.go | 431 + autocomplete/specs/bw.go | 970 + autocomplete/specs/c++.go | 3404 ++++ autocomplete/specs/caffeinate.go | 44 + autocomplete/specs/cal.go | 61 + autocomplete/specs/cap.go | 126 + autocomplete/specs/capacitor.go | 126 + autocomplete/specs/cargo.go | 4108 ++++ autocomplete/specs/cat.go | 43 + autocomplete/specs/cd.go | 25 + autocomplete/specs/cdk.go | 67 + autocomplete/specs/cdk8s.go | 118 + autocomplete/specs/cf.go | 1513 ++ autocomplete/specs/charm.go | 220 + autocomplete/specs/checkov.go | 353 + autocomplete/specs/chezmoi.go | 1173 ++ autocomplete/specs/chmod.go | 57 + autocomplete/specs/chown.go | 50 + autocomplete/specs/chsh.go | 36 + autocomplete/specs/cicada.go | 276 + autocomplete/specs/circleci.go | 525 + autocomplete/specs/clang++.go | 3404 ++++ autocomplete/specs/clang.go | 3452 ++++ autocomplete/specs/clear.go | 27 + autocomplete/specs/cliff-jumper.go | 109 + autocomplete/specs/clilol.go | 849 + autocomplete/specs/clojure.go | 146 + autocomplete/specs/cloudflared.go | 2013 ++ autocomplete/specs/cmake.go | 633 + autocomplete/specs/coda.go | 169 + autocomplete/specs/code-insiders.go | 236 + autocomplete/specs/code.go | 236 + autocomplete/specs/codesign.go | 150 + autocomplete/specs/command.go | 21 + autocomplete/specs/composer.go | 14 + autocomplete/specs/conda.go | 1169 ++ autocomplete/specs/copilot.go | 2971 +++ autocomplete/specs/copyfile.go | 18 + autocomplete/specs/copypath.go | 19 + autocomplete/specs/cordova.go | 367 + autocomplete/specs/cosign.go | 3380 ++++ autocomplete/specs/cot.go | 45 + autocomplete/specs/cp.go | 62 + autocomplete/specs/create-completion-spec.go | 32 + autocomplete/specs/create-next-app.go | 45 + autocomplete/specs/create-nx-workspace.go | 155 + autocomplete/specs/create-react-app.go | 64 + autocomplete/specs/create-react-native-app.go | 73 + autocomplete/specs/create-remix.go | 20 + autocomplete/specs/create-t3-app.go | 104 + autocomplete/specs/create-video.go | 14 + autocomplete/specs/create-web3-frontend.go | 31 + autocomplete/specs/croc.go | 177 + autocomplete/specs/crontab.go | 27 + autocomplete/specs/csdx.go | 259 + autocomplete/specs/curl.go | 1108 + autocomplete/specs/cut.go | 55 + autocomplete/specs/dart.go | 1084 + autocomplete/specs/date.go | 68 + autocomplete/specs/dateseq.go | 77 + autocomplete/specs/datree.go | 206 + autocomplete/specs/dbt.go | 618 + autocomplete/specs/dcli.go | 99 + autocomplete/specs/dd.go | 96 + autocomplete/specs/ddev.go | 999 + autocomplete/specs/ddosify.go | 134 + autocomplete/specs/defaultbrowser.go | 18 + autocomplete/specs/defaults.go | 112 + autocomplete/specs/degit.go | 42 + autocomplete/specs/deployctl.go | 69 + autocomplete/specs/deta.go | 337 + autocomplete/specs/df.go | 60 + autocomplete/specs/diff.go | 306 + autocomplete/specs/dig.go | 77 + autocomplete/specs/direnv.go | 260 + autocomplete/specs/dirname.go | 20 + autocomplete/specs/ditto.go | 119 + autocomplete/specs/django-admin.go | 2041 ++ autocomplete/specs/do-release-upgrade.go | 50 + autocomplete/specs/do.go | 17 + autocomplete/specs/docker-compose.go | 775 + autocomplete/specs/docker.go | 7205 +++++++ autocomplete/specs/doctl.go | 379 + autocomplete/specs/dog.go | 842 + autocomplete/specs/doppler.go | 6056 ++++++ autocomplete/specs/dos2unix.go | 160 + autocomplete/specs/dotenv-vault.go | 163 + autocomplete/specs/dotenv.go | 40 + autocomplete/specs/dotnet.go | 125 + autocomplete/specs/dotslash.go | 16 + autocomplete/specs/dprint.go | 200 + autocomplete/specs/drush.go | 14 + autocomplete/specs/dscacheutil.go | 60 + autocomplete/specs/dscl.go | 357 + autocomplete/specs/dtm.go | 348 + autocomplete/specs/du.go | 80 + autocomplete/specs/dust.go | 101 + autocomplete/specs/eas.go | 909 + autocomplete/specs/eb.go | 245 + autocomplete/specs/echo.go | 29 + autocomplete/specs/electron.go | 36 + autocomplete/specs/eleventy.go | 76 + autocomplete/specs/elif.go | 17 + autocomplete/specs/elixir.go | 164 + autocomplete/specs/elm-format.go | 48 + autocomplete/specs/elm-json.go | 139 + autocomplete/specs/elm-review.go | 201 + autocomplete/specs/elm.go | 129 + autocomplete/specs/else.go | 17 + autocomplete/specs/emacs.go | 72 + autocomplete/specs/encore.go | 373 + autocomplete/specs/env.go | 54 + autocomplete/specs/envchain.go | 47 + autocomplete/specs/esbuild.go | 387 + autocomplete/specs/eslint.go | 185 + autocomplete/specs/exa.go | 205 + autocomplete/specs/exec.go | 17 + autocomplete/specs/exercism.go | 130 + autocomplete/specs/expo-cli.go | 2825 +++ autocomplete/specs/expo.go | 2833 +++ autocomplete/specs/export.go | 17 + autocomplete/specs/fastlane.go | 186 + autocomplete/specs/fastly.go | 10522 ++++++++++ autocomplete/specs/fd.go | 146 + autocomplete/specs/fdisk.go | 125 + autocomplete/specs/ffmpeg.go | 918 + autocomplete/specs/fig-teams.go | 84 + autocomplete/specs/fig-teams@latest.go | 84 + autocomplete/specs/figterm.go | 21 + autocomplete/specs/file.go | 192 + autocomplete/specs/fin.go | 672 + autocomplete/specs/find.go | 59 + autocomplete/specs/firebase.go | 1043 + autocomplete/specs/firefox.go | 205 + autocomplete/specs/fisher.go | 82 + autocomplete/specs/flutter.go | 1552 ++ autocomplete/specs/fly.go | 3169 +++ autocomplete/specs/flyctl.go | 3169 +++ autocomplete/specs/fmt.go | 72 + autocomplete/specs/fnm.go | 715 + autocomplete/specs/fold.go | 39 + autocomplete/specs/for.go | 22 + autocomplete/specs/forge.go | 499 + autocomplete/specs/fvm.go | 148 + autocomplete/specs/fzf-tmux.go | 285 + autocomplete/specs/fzf.go | 285 + autocomplete/specs/g++.go | 3328 +++ autocomplete/specs/ganache-cli.go | 168 + autocomplete/specs/gatsby.go | 108 + autocomplete/specs/gcc.go | 3361 ++++ autocomplete/specs/gcloud.go | 225 + autocomplete/specs/gem.go | 1523 ++ autocomplete/specs/gh.go | 2326 +++ autocomplete/specs/ghq.go | 113 + autocomplete/specs/gibo.go | 50 + autocomplete/specs/git-cliff.go | 142 + autocomplete/specs/git-flow.go | 110 + autocomplete/specs/git-profile.go | 30 + autocomplete/specs/git-quick-stats.go | 78 + autocomplete/specs/git.go | 6197 ++++++ autocomplete/specs/github.go | 65 + autocomplete/specs/glow.go | 86 + autocomplete/specs/gltfjsx.go | 60 + autocomplete/specs/go.go | 1773 ++ autocomplete/specs/goctl.go | 1137 ++ autocomplete/specs/googler.go | 159 + autocomplete/specs/goreleaser.go | 318 + autocomplete/specs/goto.go | 62 + autocomplete/specs/gource.go | 532 + autocomplete/specs/gpg.go | 711 + autocomplete/specs/gradle.go | 4218 ++++ autocomplete/specs/graphcdn.go | 72 + autocomplete/specs/grep.go | 235 + autocomplete/specs/grex.go | 117 + autocomplete/specs/gron.go | 45 + autocomplete/specs/gt.go | 738 + autocomplete/specs/gum.go | 3227 +++ autocomplete/specs/hardhat.go | 110 + autocomplete/specs/hasura.go | 2067 ++ autocomplete/specs/hb-service.go | 117 + autocomplete/specs/head.go | 43 + autocomplete/specs/helm.go | 2047 ++ autocomplete/specs/helmfile.go | 190 + autocomplete/specs/heroku.go | 7061 +++++++ autocomplete/specs/hexo.go | 241 + autocomplete/specs/homey.go | 204 + autocomplete/specs/hop.go | 152 + autocomplete/specs/hostname.go | 28 + autocomplete/specs/htop.go | 76 + autocomplete/specs/http.go | 303 + autocomplete/specs/https.go | 303 + autocomplete/specs/httpy.go | 48 + autocomplete/specs/hub.go | 6198 ++++++ autocomplete/specs/hugo.go | 2457 +++ autocomplete/specs/hx.go | 50 + autocomplete/specs/hyper.go | 65 + autocomplete/specs/hyperfine.go | 189 + autocomplete/specs/ibus.go | 54 + autocomplete/specs/iconv.go | 74 + autocomplete/specs/id.go | 56 + autocomplete/specs/iex.go | 177 + autocomplete/specs/if.go | 17 + autocomplete/specs/ignite-cli.go | 70 + autocomplete/specs/install.go | 65 + autocomplete/specs/ionic.go | 1311 ++ autocomplete/specs/ipatool.go | 136 + autocomplete/specs/j.go | 57 + autocomplete/specs/java.go | 49 + autocomplete/specs/jenv.go | 230 + autocomplete/specs/jest.go | 280 + autocomplete/specs/jmeter.go | 188 + autocomplete/specs/join.go | 70 + autocomplete/specs/jq.go | 141 + autocomplete/specs/julia.go | 373 + autocomplete/specs/jupyter.go | 368 + autocomplete/specs/just.go | 209 + autocomplete/specs/k3d.go | 677 + autocomplete/specs/k6.go | 472 + autocomplete/specs/k9s.go | 176 + autocomplete/specs/kafkactl.go | 823 + autocomplete/specs/kdoctor.go | 21 + autocomplete/specs/keytool.go | 1265 ++ autocomplete/specs/kill.go | 34 + autocomplete/specs/killall.go | 159 + autocomplete/specs/kind.go | 244 + autocomplete/specs/kitty.go | 642 + autocomplete/specs/klist.go | 51 + autocomplete/specs/knex.go | 126 + autocomplete/specs/kool.go | 376 + autocomplete/specs/kubecolor.go | 4186 ++++ autocomplete/specs/kubectl.go | 4186 ++++ autocomplete/specs/kubectx.go | 37 + autocomplete/specs/kubens.go | 26 + autocomplete/specs/laravel.go | 106 + autocomplete/specs/launchctl.go | 551 + autocomplete/specs/ldd.go | 38 + autocomplete/specs/leaf.go | 105 + autocomplete/specs/lerna.go | 1127 ++ autocomplete/specs/less.go | 601 + autocomplete/specs/lima.go | 24 + autocomplete/specs/limactl.go | 335 + autocomplete/specs/ln.go | 71 + autocomplete/specs/locust.go | 172 + autocomplete/specs/login.go | 34 + autocomplete/specs/lp.go | 96 + autocomplete/specs/lpass.go | 616 + autocomplete/specs/ls.go | 160 + autocomplete/specs/lsblk.go | 129 + autocomplete/specs/lsd.go | 153 + autocomplete/specs/lsof.go | 340 + autocomplete/specs/luz.go | 49 + autocomplete/specs/m.go | 1970 ++ autocomplete/specs/mackup.go | 50 + autocomplete/specs/magento.go | 14 + autocomplete/specs/maigret.go | 205 + autocomplete/specs/mailsy.go | 43 + autocomplete/specs/make.go | 133 + autocomplete/specs/mamba.go | 1176 ++ autocomplete/specs/man.go | 106 + autocomplete/specs/mas.go | 101 + autocomplete/specs/mask.go | 13 + autocomplete/specs/mdfind.go | 61 + autocomplete/specs/mdls.go | 54 + autocomplete/specs/meroxa.go | 707 + autocomplete/specs/meteor.go | 744 + autocomplete/specs/mgnl.go | 319 + autocomplete/specs/micro.go | 527 + autocomplete/specs/mikro-orm.go | 230 + autocomplete/specs/minectl.go | 258 + autocomplete/specs/minikube.go | 696 + autocomplete/specs/mix.go | 137 + autocomplete/specs/mkdir.go | 43 + autocomplete/specs/mkdocs.go | 212 + autocomplete/specs/mkfifo.go | 27 + autocomplete/specs/mkinitcpio.go | 159 + autocomplete/specs/mknod.go | 39 + autocomplete/specs/mob.go | 112 + autocomplete/specs/molecule.go | 384 + autocomplete/specs/mongocli.go | 14777 ++++++++++++++ autocomplete/specs/mongoimport.go | 297 + autocomplete/specs/mongosh.go | 166 + autocomplete/specs/more.go | 52 + autocomplete/specs/mosh.go | 109 + autocomplete/specs/mount.go | 158 + autocomplete/specs/multipass.go | 398 + autocomplete/specs/mv.go | 38 + autocomplete/specs/mvn.go | 190 + autocomplete/specs/mysql.go | 482 + autocomplete/specs/n.go | 254 + autocomplete/specs/nano.go | 17 + autocomplete/specs/nativescript.go | 1435 ++ autocomplete/specs/nc.go | 237 + autocomplete/specs/ncal.go | 225 + autocomplete/specs/ncu.go | 266 + autocomplete/specs/neofetch.go | 517 + autocomplete/specs/nest.go | 823 + autocomplete/specs/netlify.go | 1299 ++ autocomplete/specs/networkQuality.go | 40 + autocomplete/specs/newman.go | 240 + autocomplete/specs/next.go | 101 + autocomplete/specs/nextflow.go | 794 + autocomplete/specs/ng.go | 114 + autocomplete/specs/nginx.go | 82 + autocomplete/specs/ngrok.go | 398 + autocomplete/specs/nhost.go | 52 + autocomplete/specs/ni.go | 50 + autocomplete/specs/nl.go | 121 + autocomplete/specs/nocorrect.go | 17 + autocomplete/specs/node.go | 48 + autocomplete/specs/noglob.go | 17 + autocomplete/specs/northflank.go | 8525 ++++++++ autocomplete/specs/np.go | 80 + autocomplete/specs/npm.go | 1805 ++ autocomplete/specs/npx.go | 182 + autocomplete/specs/nr.go | 24 + autocomplete/specs/nrm.go | 39 + autocomplete/specs/ns.go | 1435 ++ autocomplete/specs/nu.go | 21 + autocomplete/specs/nuxi.go | 222 + autocomplete/specs/nuxt.go | 46 + autocomplete/specs/nvim.go | 153 + autocomplete/specs/nvm.go | 407 + autocomplete/specs/nx.go | 808 + autocomplete/specs/nylas.go | 2309 +++ autocomplete/specs/od.go | 105 + autocomplete/specs/oh-my-posh.go | 231 + autocomplete/specs/okta.go | 118 + autocomplete/specs/okteto.go | 2369 +++ autocomplete/specs/omz.go | 93 + autocomplete/specs/onboardbase.go | 288 + autocomplete/specs/op.go | 1003 + autocomplete/specs/opa.go | 1052 + autocomplete/specs/open.go | 112 + autocomplete/specs/osascript.go | 55 + autocomplete/specs/osqueryi.go | 936 + autocomplete/specs/pageres.go | 118 + autocomplete/specs/palera1n.go | 116 + autocomplete/specs/pandoc.go | 543 + autocomplete/specs/paper.go | 1025 + autocomplete/specs/pass.go | 186 + autocomplete/specs/passwd.go | 39 + autocomplete/specs/paste.go | 29 + autocomplete/specs/pathchk.go | 27 + autocomplete/specs/pdfunite.go | 25 + autocomplete/specs/pg_dump.go | 272 + autocomplete/specs/pgcli.go | 118 + autocomplete/specs/php.go | 14 + autocomplete/specs/phpunit-watcher.go | 26 + autocomplete/specs/phpunit.go | 209 + autocomplete/specs/ping.go | 188 + autocomplete/specs/pip.go | 8343 ++++++++ autocomplete/specs/pip3.go | 8343 ++++++++ autocomplete/specs/pipenv.go | 16641 ++++++++++++++++ autocomplete/specs/pipx.go | 332 + autocomplete/specs/pkg-config.go | 142 + autocomplete/specs/pkgutil.go | 213 + autocomplete/specs/pkill.go | 142 + autocomplete/specs/playwright.go | 78 + autocomplete/specs/pm2.go | 2304 +++ autocomplete/specs/pmset.go | 394 + autocomplete/specs/pnpm.go | 1177 ++ autocomplete/specs/pnpx.go | 109 + autocomplete/specs/pocketbase.go | 109 + autocomplete/specs/pod.go | 954 + autocomplete/specs/poetry.go | 1917 ++ autocomplete/specs/pre-commit.go | 494 + autocomplete/specs/preset.go | 103 + autocomplete/specs/prettier.go | 249 + autocomplete/specs/prisma.go | 413 + autocomplete/specs/pro.go | 92 + autocomplete/specs/projj.go | 76 + autocomplete/specs/pry.go | 87 + autocomplete/specs/ps.go | 183 + autocomplete/specs/pscale.go | 3358 ++++ autocomplete/specs/psql.go | 164 + autocomplete/specs/publish.go | 38 + autocomplete/specs/pulumi.go | 3961 ++++ autocomplete/specs/pushd.go | 17 + autocomplete/specs/pwd.go | 21 + autocomplete/specs/pyenv.go | 116 + autocomplete/specs/pytest.go | 433 + autocomplete/specs/python.go | 122 + autocomplete/specs/python3.go | 122 + autocomplete/specs/qodana.go | 214 + autocomplete/specs/quasar.go | 152 + autocomplete/specs/quickmail.go | 130 + autocomplete/specs/r.go | 1127 ++ autocomplete/specs/rails.go | 14 + autocomplete/specs/railway.go | 225 + autocomplete/specs/rake.go | 75 + autocomplete/specs/rancher.go | 323 + autocomplete/specs/rbenv.go | 84 + autocomplete/specs/rclone.go | 654 + autocomplete/specs/react-native.go | 733 + autocomplete/specs/readlink.go | 30 + autocomplete/specs/redwood.go | 1032 + autocomplete/specs/remix.go | 66 + autocomplete/specs/remotion.go | 2454 +++ autocomplete/specs/repeat.go | 17 + autocomplete/specs/rg.go | 477 + autocomplete/specs/rich.go | 214 + autocomplete/specs/rm.go | 37 + autocomplete/specs/rmdir.go | 22 + autocomplete/specs/robot.go | 478 + autocomplete/specs/rojo.go | 153 + autocomplete/specs/rollup.go | 301 + autocomplete/specs/rome.go | 255 + autocomplete/specs/rscript.go | 71 + autocomplete/specs/rsync.go | 706 + autocomplete/specs/ruby.go | 121 + autocomplete/specs/ruff.go | 232 + autocomplete/specs/rushx.go | 28 + autocomplete/specs/rustc.go | 306 + autocomplete/specs/rustup.go | 595 + autocomplete/specs/rvm.go | 2172 ++ autocomplete/specs/sam.go | 1154 ++ autocomplete/specs/sanity.go | 681 + autocomplete/specs/sapphire.go | 58 + autocomplete/specs/scc.go | 286 + autocomplete/specs/scp.go | 273 + autocomplete/specs/screen.go | 200 + autocomplete/specs/sed.go | 214 + autocomplete/specs/seq.go | 51 + autocomplete/specs/sequelize.go | 1331 ++ autocomplete/specs/serve.go | 102 + autocomplete/specs/serverless.go | 551 + autocomplete/specs/sfdx.go | 5126 +++++ autocomplete/specs/sftp.go | 316 + autocomplete/specs/sha1sum.go | 58 + autocomplete/specs/shadcn-ui.go | 74 + autocomplete/specs/shortcuts.go | 126 + autocomplete/specs/shred.go | 69 + autocomplete/specs/sidekiq.go | 71 + autocomplete/specs/simctl.go | 672 + autocomplete/specs/sips.go | 199 + autocomplete/specs/sl.go | 27 + autocomplete/specs/sls.go | 551 + autocomplete/specs/snaplet.go | 482 + autocomplete/specs/softwareupdate.go | 104 + autocomplete/specs/source.go | 19 + autocomplete/specs/space.go | 252 + autocomplete/specs/speedtest-cli.go | 93 + autocomplete/specs/speedtest.go | 14 + autocomplete/specs/splash.go | 226 + autocomplete/specs/split.go | 57 + autocomplete/specs/spotify.go | 128 + autocomplete/specs/spring.go | 170 + autocomplete/specs/sqlfluff.go | 396 + autocomplete/specs/sqlite3.go | 138 + autocomplete/specs/src.go | 235 + autocomplete/specs/ssh-keygen.go | 291 + autocomplete/specs/ssh.go | 351 + autocomplete/specs/st2.go | 4184 ++++ autocomplete/specs/sta.go | 189 + autocomplete/specs/starkli.go | 964 + autocomplete/specs/start-storybook.go | 96 + autocomplete/specs/stat.go | 61 + autocomplete/specs/steadybit.go | 166 + autocomplete/specs/stencil.go | 126 + autocomplete/specs/stepzen.go | 80 + autocomplete/specs/stow.go | 81 + autocomplete/specs/streamlit.go | 73 + autocomplete/specs/stripe.go | 1961 ++ autocomplete/specs/su.go | 34 + autocomplete/specs/subl.go | 63 + autocomplete/specs/sudo.go | 37 + autocomplete/specs/suitecloud.go | 387 + autocomplete/specs/supabase.go | 472 + autocomplete/specs/surreal.go | 285 + autocomplete/specs/svokit.go | 25 + autocomplete/specs/svtplay-dl.go | 233 + autocomplete/specs/sw_vers.go | 24 + autocomplete/specs/swagger-typescript-api.go | 189 + autocomplete/specs/swc.go | 125 + autocomplete/specs/swift.go | 1358 ++ autocomplete/specs/symfony.go | 496 + autocomplete/specs/sysctl.go | 61 + autocomplete/specs/systemctl.go | 708 + autocomplete/specs/tac.go | 37 + autocomplete/specs/tail.go | 25 + autocomplete/specs/tailscale.go | 338 + autocomplete/specs/tailwindcss.go | 131 + autocomplete/specs/tangram.go | 118 + autocomplete/specs/taplo.go | 274 + autocomplete/specs/tar.go | 2273 +++ autocomplete/specs/task.go | 13 + autocomplete/specs/tb.go | 538 + autocomplete/specs/tccutil.go | 126 + autocomplete/specs/tee.go | 27 + autocomplete/specs/terraform.go | 611 + autocomplete/specs/terragrunt.go | 3650 ++++ autocomplete/specs/tfenv.go | 59 + autocomplete/specs/tfsec.go | 155 + autocomplete/specs/then.go | 17 + autocomplete/specs/time.go | 17 + autocomplete/specs/tkn.go | 2814 +++ autocomplete/specs/tldr.go | 61 + autocomplete/specs/tmutil.go | 327 + autocomplete/specs/tmux.go | 1915 ++ autocomplete/specs/tmuxinator.go | 155 + autocomplete/specs/tns.go | 1435 ++ autocomplete/specs/tokei.go | 87 + autocomplete/specs/top.go | 49 + autocomplete/specs/touch.go | 55 + autocomplete/specs/tr.go | 202 + autocomplete/specs/traceroute.go | 129 + autocomplete/specs/trap.go | 28 + autocomplete/specs/trash.go | 38 + autocomplete/specs/tree.go | 204 + autocomplete/specs/trex.go | 118 + autocomplete/specs/trivy.go | 1027 + autocomplete/specs/truffle.go | 429 + autocomplete/specs/truncate.go | 45 + autocomplete/specs/trunk.go | 291 + autocomplete/specs/ts-node.go | 132 + autocomplete/specs/tsc.go | 493 + autocomplete/specs/tsh.go | 3417 ++++ autocomplete/specs/tsuru.go | 802 + autocomplete/specs/tsx.go | 53 + autocomplete/specs/tuist.go | 320 + autocomplete/specs/turbo.go | 172 + autocomplete/specs/twiggy.go | 47 + autocomplete/specs/twilio.go | 7173 +++++++ autocomplete/specs/typeorm.go | 427 + autocomplete/specs/typos.go | 139 + autocomplete/specs/ua.go | 92 + autocomplete/specs/ubuntu-advantage.go | 92 + autocomplete/specs/uname.go | 36 + autocomplete/specs/underscore.go | 17 + autocomplete/specs/uniq.go | 70 + autocomplete/specs/unix2dos.go | 160 + autocomplete/specs/unset.go | 22 + autocomplete/specs/until.go | 17 + autocomplete/specs/unzip.go | 47 + autocomplete/specs/v.go | 118 + autocomplete/specs/vale.go | 78 + autocomplete/specs/valet.go | 2042 ++ autocomplete/specs/vapor.go | 89 + autocomplete/specs/vault.go | 9899 +++++++++ autocomplete/specs/vela.go | 786 + autocomplete/specs/vercel.go | 516 + autocomplete/specs/vi.go | 17 + autocomplete/specs/vim.go | 205 + autocomplete/specs/vimr.go | 51 + autocomplete/specs/visudo.go | 51 + autocomplete/specs/vite.go | 245 + autocomplete/specs/volta.go | 231 + autocomplete/specs/vr.go | 56 + autocomplete/specs/vsce.go | 295 + autocomplete/specs/vtex.go | 881 + autocomplete/specs/vue.go | 352 + autocomplete/specs/vultr-cli.go | 667 + autocomplete/specs/w.go | 26 + autocomplete/specs/wasm-bindgen.go | 130 + autocomplete/specs/wasm-pack.go | 61 + autocomplete/specs/watchman.go | 227 + autocomplete/specs/watson.go | 507 + autocomplete/specs/wc.go | 34 + autocomplete/specs/wd.go | 94 + autocomplete/specs/webpack.go | 4036 ++++ autocomplete/specs/wezterm.go | 573 + autocomplete/specs/wget.go | 368 + autocomplete/specs/whence.go | 52 + autocomplete/specs/where.go | 40 + autocomplete/specs/whereis.go | 58 + autocomplete/specs/which.go | 27 + autocomplete/specs/while.go | 17 + autocomplete/specs/who.go | 65 + autocomplete/specs/whois.go | 84 + autocomplete/specs/wifi-password.go | 29 + autocomplete/specs/wing.go | 63 + autocomplete/specs/wp.go | 14031 +++++++++++++ autocomplete/specs/wrangler.go | 659 + autocomplete/specs/wrk.go | 63 + autocomplete/specs/wscat.go | 134 + autocomplete/specs/xargs.go | 98 + autocomplete/specs/xc.go | 44 + autocomplete/specs/xcode-select.go | 37 + autocomplete/specs/xcodebuild.go | 414 + autocomplete/specs/xcodeproj.go | 108 + autocomplete/specs/xcodes.go | 265 + autocomplete/specs/xcrun.go | 108 + autocomplete/specs/xdg-mime.go | 73 + autocomplete/specs/xdg-open.go | 28 + autocomplete/specs/xed.go | 48 + autocomplete/specs/xxd.go | 96 + autocomplete/specs/yalc.go | 129 + autocomplete/specs/yank.go | 49 + autocomplete/specs/yarn.go | 3911 ++++ autocomplete/specs/ykman.go | 1789 ++ autocomplete/specs/yo.go | 52 + autocomplete/specs/yomo.go | 69 + autocomplete/specs/youtube-dl.go | 705 + autocomplete/specs/z.go | 13 + autocomplete/specs/zapier.go | 533 + autocomplete/specs/zed.go | 38 + autocomplete/specs/zellij.go | 546 + autocomplete/specs/zig.go | 11560 +++++++++++ autocomplete/specs/zip.go | 41 + autocomplete/specs/zipcloak.go | 56 + autocomplete/specs/zoxide.go | 147 + go.mod | 10 + go.sum | 29 + 659 files changed, 436398 insertions(+), 1 deletion(-) create mode 100644 autocomplete/generators/azure/azure.go create mode 100644 autocomplete/specs/act.go create mode 100644 autocomplete/specs/adb.go create mode 100644 autocomplete/specs/adr.go create mode 100644 autocomplete/specs/afplay.go create mode 100644 autocomplete/specs/aftman.go create mode 100644 autocomplete/specs/ag.go create mode 100644 autocomplete/specs/agrippa.go create mode 100644 autocomplete/specs/airflow.go create mode 100644 autocomplete/specs/aliases.go create mode 100644 autocomplete/specs/amplify.go create mode 100644 autocomplete/specs/ansible-config.go create mode 100644 autocomplete/specs/ansible-doc.go create mode 100644 autocomplete/specs/ansible-galaxy.go create mode 100644 autocomplete/specs/ansible-lint.go create mode 100644 autocomplete/specs/ansible-playbook.go create mode 100644 autocomplete/specs/ansible.go create mode 100644 autocomplete/specs/ant.go create mode 100644 autocomplete/specs/appwrite.go create mode 100644 autocomplete/specs/apt.go create mode 100644 autocomplete/specs/arch.go create mode 100644 autocomplete/specs/argo.go create mode 100644 autocomplete/specs/asar.go create mode 100644 autocomplete/specs/asciinema.go create mode 100644 autocomplete/specs/asdf.go create mode 100644 autocomplete/specs/asr.go create mode 100644 autocomplete/specs/assimp.go create mode 100644 autocomplete/specs/astro.go create mode 100644 autocomplete/specs/atlas.go create mode 100644 autocomplete/specs/authchanger.go create mode 100644 autocomplete/specs/autojump.go create mode 100644 autocomplete/specs/aws-vault.go create mode 100644 autocomplete/specs/aws.go create mode 100644 autocomplete/specs/awsume.go create mode 100644 autocomplete/specs/azure.go create mode 100644 autocomplete/specs/babel.go create mode 100644 autocomplete/specs/banner.go create mode 100644 autocomplete/specs/base32.go create mode 100644 autocomplete/specs/base64.go create mode 100644 autocomplete/specs/basename.go create mode 100644 autocomplete/specs/basenc.go create mode 100644 autocomplete/specs/bat.go create mode 100644 autocomplete/specs/bazel.go create mode 100644 autocomplete/specs/bc.go create mode 100644 autocomplete/specs/bcd.go create mode 100644 autocomplete/specs/black.go create mode 100644 autocomplete/specs/blitz.go create mode 100644 autocomplete/specs/bosh.go create mode 100644 autocomplete/specs/br.go create mode 100644 autocomplete/specs/brew.go create mode 100644 autocomplete/specs/broot.go create mode 100644 autocomplete/specs/browser-sync.go create mode 100644 autocomplete/specs/btop.go create mode 100644 autocomplete/specs/build-storybook.go create mode 100644 autocomplete/specs/bun.go create mode 100644 autocomplete/specs/bundle.go create mode 100644 autocomplete/specs/bw.go create mode 100644 autocomplete/specs/c++.go create mode 100644 autocomplete/specs/caffeinate.go create mode 100644 autocomplete/specs/cal.go create mode 100644 autocomplete/specs/cap.go create mode 100644 autocomplete/specs/capacitor.go create mode 100644 autocomplete/specs/cargo.go create mode 100644 autocomplete/specs/cat.go create mode 100644 autocomplete/specs/cd.go create mode 100644 autocomplete/specs/cdk.go create mode 100644 autocomplete/specs/cdk8s.go create mode 100644 autocomplete/specs/cf.go create mode 100644 autocomplete/specs/charm.go create mode 100644 autocomplete/specs/checkov.go create mode 100644 autocomplete/specs/chezmoi.go create mode 100644 autocomplete/specs/chmod.go create mode 100644 autocomplete/specs/chown.go create mode 100644 autocomplete/specs/chsh.go create mode 100644 autocomplete/specs/cicada.go create mode 100644 autocomplete/specs/circleci.go create mode 100644 autocomplete/specs/clang++.go create mode 100644 autocomplete/specs/clang.go create mode 100644 autocomplete/specs/clear.go create mode 100644 autocomplete/specs/cliff-jumper.go create mode 100644 autocomplete/specs/clilol.go create mode 100644 autocomplete/specs/clojure.go create mode 100644 autocomplete/specs/cloudflared.go create mode 100644 autocomplete/specs/cmake.go create mode 100644 autocomplete/specs/coda.go create mode 100644 autocomplete/specs/code-insiders.go create mode 100644 autocomplete/specs/code.go create mode 100644 autocomplete/specs/codesign.go create mode 100644 autocomplete/specs/command.go create mode 100644 autocomplete/specs/composer.go create mode 100644 autocomplete/specs/conda.go create mode 100644 autocomplete/specs/copilot.go create mode 100644 autocomplete/specs/copyfile.go create mode 100644 autocomplete/specs/copypath.go create mode 100644 autocomplete/specs/cordova.go create mode 100644 autocomplete/specs/cosign.go create mode 100644 autocomplete/specs/cot.go create mode 100644 autocomplete/specs/cp.go create mode 100644 autocomplete/specs/create-completion-spec.go create mode 100644 autocomplete/specs/create-next-app.go create mode 100644 autocomplete/specs/create-nx-workspace.go create mode 100644 autocomplete/specs/create-react-app.go create mode 100644 autocomplete/specs/create-react-native-app.go create mode 100644 autocomplete/specs/create-remix.go create mode 100644 autocomplete/specs/create-t3-app.go create mode 100644 autocomplete/specs/create-video.go create mode 100644 autocomplete/specs/create-web3-frontend.go create mode 100644 autocomplete/specs/croc.go create mode 100644 autocomplete/specs/crontab.go create mode 100644 autocomplete/specs/csdx.go create mode 100644 autocomplete/specs/curl.go create mode 100644 autocomplete/specs/cut.go create mode 100644 autocomplete/specs/dart.go create mode 100644 autocomplete/specs/date.go create mode 100644 autocomplete/specs/dateseq.go create mode 100644 autocomplete/specs/datree.go create mode 100644 autocomplete/specs/dbt.go create mode 100644 autocomplete/specs/dcli.go create mode 100644 autocomplete/specs/dd.go create mode 100644 autocomplete/specs/ddev.go create mode 100644 autocomplete/specs/ddosify.go create mode 100644 autocomplete/specs/defaultbrowser.go create mode 100644 autocomplete/specs/defaults.go create mode 100644 autocomplete/specs/degit.go create mode 100644 autocomplete/specs/deployctl.go create mode 100644 autocomplete/specs/deta.go create mode 100644 autocomplete/specs/df.go create mode 100644 autocomplete/specs/diff.go create mode 100644 autocomplete/specs/dig.go create mode 100644 autocomplete/specs/direnv.go create mode 100644 autocomplete/specs/dirname.go create mode 100644 autocomplete/specs/ditto.go create mode 100644 autocomplete/specs/django-admin.go create mode 100644 autocomplete/specs/do-release-upgrade.go create mode 100644 autocomplete/specs/do.go create mode 100644 autocomplete/specs/docker-compose.go create mode 100644 autocomplete/specs/docker.go create mode 100644 autocomplete/specs/doctl.go create mode 100644 autocomplete/specs/dog.go create mode 100644 autocomplete/specs/doppler.go create mode 100644 autocomplete/specs/dos2unix.go create mode 100644 autocomplete/specs/dotenv-vault.go create mode 100644 autocomplete/specs/dotenv.go create mode 100644 autocomplete/specs/dotnet.go create mode 100644 autocomplete/specs/dotslash.go create mode 100644 autocomplete/specs/dprint.go create mode 100644 autocomplete/specs/drush.go create mode 100644 autocomplete/specs/dscacheutil.go create mode 100644 autocomplete/specs/dscl.go create mode 100644 autocomplete/specs/dtm.go create mode 100644 autocomplete/specs/du.go create mode 100644 autocomplete/specs/dust.go create mode 100644 autocomplete/specs/eas.go create mode 100644 autocomplete/specs/eb.go create mode 100644 autocomplete/specs/echo.go create mode 100644 autocomplete/specs/electron.go create mode 100644 autocomplete/specs/eleventy.go create mode 100644 autocomplete/specs/elif.go create mode 100644 autocomplete/specs/elixir.go create mode 100644 autocomplete/specs/elm-format.go create mode 100644 autocomplete/specs/elm-json.go create mode 100644 autocomplete/specs/elm-review.go create mode 100644 autocomplete/specs/elm.go create mode 100644 autocomplete/specs/else.go create mode 100644 autocomplete/specs/emacs.go create mode 100644 autocomplete/specs/encore.go create mode 100644 autocomplete/specs/env.go create mode 100644 autocomplete/specs/envchain.go create mode 100644 autocomplete/specs/esbuild.go create mode 100644 autocomplete/specs/eslint.go create mode 100644 autocomplete/specs/exa.go create mode 100644 autocomplete/specs/exec.go create mode 100644 autocomplete/specs/exercism.go create mode 100644 autocomplete/specs/expo-cli.go create mode 100644 autocomplete/specs/expo.go create mode 100644 autocomplete/specs/export.go create mode 100644 autocomplete/specs/fastlane.go create mode 100644 autocomplete/specs/fastly.go create mode 100644 autocomplete/specs/fd.go create mode 100644 autocomplete/specs/fdisk.go create mode 100644 autocomplete/specs/ffmpeg.go create mode 100644 autocomplete/specs/fig-teams.go create mode 100644 autocomplete/specs/fig-teams@latest.go create mode 100644 autocomplete/specs/figterm.go create mode 100644 autocomplete/specs/file.go create mode 100644 autocomplete/specs/fin.go create mode 100644 autocomplete/specs/find.go create mode 100644 autocomplete/specs/firebase.go create mode 100644 autocomplete/specs/firefox.go create mode 100644 autocomplete/specs/fisher.go create mode 100644 autocomplete/specs/flutter.go create mode 100644 autocomplete/specs/fly.go create mode 100644 autocomplete/specs/flyctl.go create mode 100644 autocomplete/specs/fmt.go create mode 100644 autocomplete/specs/fnm.go create mode 100644 autocomplete/specs/fold.go create mode 100644 autocomplete/specs/for.go create mode 100644 autocomplete/specs/forge.go create mode 100644 autocomplete/specs/fvm.go create mode 100644 autocomplete/specs/fzf-tmux.go create mode 100644 autocomplete/specs/fzf.go create mode 100644 autocomplete/specs/g++.go create mode 100644 autocomplete/specs/ganache-cli.go create mode 100644 autocomplete/specs/gatsby.go create mode 100644 autocomplete/specs/gcc.go create mode 100644 autocomplete/specs/gcloud.go create mode 100644 autocomplete/specs/gem.go create mode 100644 autocomplete/specs/gh.go create mode 100644 autocomplete/specs/ghq.go create mode 100644 autocomplete/specs/gibo.go create mode 100644 autocomplete/specs/git-cliff.go create mode 100644 autocomplete/specs/git-flow.go create mode 100644 autocomplete/specs/git-profile.go create mode 100644 autocomplete/specs/git-quick-stats.go create mode 100644 autocomplete/specs/git.go create mode 100644 autocomplete/specs/github.go create mode 100644 autocomplete/specs/glow.go create mode 100644 autocomplete/specs/gltfjsx.go create mode 100644 autocomplete/specs/go.go create mode 100644 autocomplete/specs/goctl.go create mode 100644 autocomplete/specs/googler.go create mode 100644 autocomplete/specs/goreleaser.go create mode 100644 autocomplete/specs/goto.go create mode 100644 autocomplete/specs/gource.go create mode 100644 autocomplete/specs/gpg.go create mode 100644 autocomplete/specs/gradle.go create mode 100644 autocomplete/specs/graphcdn.go create mode 100644 autocomplete/specs/grep.go create mode 100644 autocomplete/specs/grex.go create mode 100644 autocomplete/specs/gron.go create mode 100644 autocomplete/specs/gt.go create mode 100644 autocomplete/specs/gum.go create mode 100644 autocomplete/specs/hardhat.go create mode 100644 autocomplete/specs/hasura.go create mode 100644 autocomplete/specs/hb-service.go create mode 100644 autocomplete/specs/head.go create mode 100644 autocomplete/specs/helm.go create mode 100644 autocomplete/specs/helmfile.go create mode 100644 autocomplete/specs/heroku.go create mode 100644 autocomplete/specs/hexo.go create mode 100644 autocomplete/specs/homey.go create mode 100644 autocomplete/specs/hop.go create mode 100644 autocomplete/specs/hostname.go create mode 100644 autocomplete/specs/htop.go create mode 100644 autocomplete/specs/http.go create mode 100644 autocomplete/specs/https.go create mode 100644 autocomplete/specs/httpy.go create mode 100644 autocomplete/specs/hub.go create mode 100644 autocomplete/specs/hugo.go create mode 100644 autocomplete/specs/hx.go create mode 100644 autocomplete/specs/hyper.go create mode 100644 autocomplete/specs/hyperfine.go create mode 100644 autocomplete/specs/ibus.go create mode 100644 autocomplete/specs/iconv.go create mode 100644 autocomplete/specs/id.go create mode 100644 autocomplete/specs/iex.go create mode 100644 autocomplete/specs/if.go create mode 100644 autocomplete/specs/ignite-cli.go create mode 100644 autocomplete/specs/install.go create mode 100644 autocomplete/specs/ionic.go create mode 100644 autocomplete/specs/ipatool.go create mode 100644 autocomplete/specs/j.go create mode 100644 autocomplete/specs/java.go create mode 100644 autocomplete/specs/jenv.go create mode 100644 autocomplete/specs/jest.go create mode 100644 autocomplete/specs/jmeter.go create mode 100644 autocomplete/specs/join.go create mode 100644 autocomplete/specs/jq.go create mode 100644 autocomplete/specs/julia.go create mode 100644 autocomplete/specs/jupyter.go create mode 100644 autocomplete/specs/just.go create mode 100644 autocomplete/specs/k3d.go create mode 100644 autocomplete/specs/k6.go create mode 100644 autocomplete/specs/k9s.go create mode 100644 autocomplete/specs/kafkactl.go create mode 100644 autocomplete/specs/kdoctor.go create mode 100644 autocomplete/specs/keytool.go create mode 100644 autocomplete/specs/kill.go create mode 100644 autocomplete/specs/killall.go create mode 100644 autocomplete/specs/kind.go create mode 100644 autocomplete/specs/kitty.go create mode 100644 autocomplete/specs/klist.go create mode 100644 autocomplete/specs/knex.go create mode 100644 autocomplete/specs/kool.go create mode 100644 autocomplete/specs/kubecolor.go create mode 100644 autocomplete/specs/kubectl.go create mode 100644 autocomplete/specs/kubectx.go create mode 100644 autocomplete/specs/kubens.go create mode 100644 autocomplete/specs/laravel.go create mode 100644 autocomplete/specs/launchctl.go create mode 100644 autocomplete/specs/ldd.go create mode 100644 autocomplete/specs/leaf.go create mode 100644 autocomplete/specs/lerna.go create mode 100644 autocomplete/specs/less.go create mode 100644 autocomplete/specs/lima.go create mode 100644 autocomplete/specs/limactl.go create mode 100644 autocomplete/specs/ln.go create mode 100644 autocomplete/specs/locust.go create mode 100644 autocomplete/specs/login.go create mode 100644 autocomplete/specs/lp.go create mode 100644 autocomplete/specs/lpass.go create mode 100644 autocomplete/specs/ls.go create mode 100644 autocomplete/specs/lsblk.go create mode 100644 autocomplete/specs/lsd.go create mode 100644 autocomplete/specs/lsof.go create mode 100644 autocomplete/specs/luz.go create mode 100644 autocomplete/specs/m.go create mode 100644 autocomplete/specs/mackup.go create mode 100644 autocomplete/specs/magento.go create mode 100644 autocomplete/specs/maigret.go create mode 100644 autocomplete/specs/mailsy.go create mode 100644 autocomplete/specs/make.go create mode 100644 autocomplete/specs/mamba.go create mode 100644 autocomplete/specs/man.go create mode 100644 autocomplete/specs/mas.go create mode 100644 autocomplete/specs/mask.go create mode 100644 autocomplete/specs/mdfind.go create mode 100644 autocomplete/specs/mdls.go create mode 100644 autocomplete/specs/meroxa.go create mode 100644 autocomplete/specs/meteor.go create mode 100644 autocomplete/specs/mgnl.go create mode 100644 autocomplete/specs/micro.go create mode 100644 autocomplete/specs/mikro-orm.go create mode 100644 autocomplete/specs/minectl.go create mode 100644 autocomplete/specs/minikube.go create mode 100644 autocomplete/specs/mix.go create mode 100644 autocomplete/specs/mkdir.go create mode 100644 autocomplete/specs/mkdocs.go create mode 100644 autocomplete/specs/mkfifo.go create mode 100644 autocomplete/specs/mkinitcpio.go create mode 100644 autocomplete/specs/mknod.go create mode 100644 autocomplete/specs/mob.go create mode 100644 autocomplete/specs/molecule.go create mode 100644 autocomplete/specs/mongocli.go create mode 100644 autocomplete/specs/mongoimport.go create mode 100644 autocomplete/specs/mongosh.go create mode 100644 autocomplete/specs/more.go create mode 100644 autocomplete/specs/mosh.go create mode 100644 autocomplete/specs/mount.go create mode 100644 autocomplete/specs/multipass.go create mode 100644 autocomplete/specs/mv.go create mode 100644 autocomplete/specs/mvn.go create mode 100644 autocomplete/specs/mysql.go create mode 100644 autocomplete/specs/n.go create mode 100644 autocomplete/specs/nano.go create mode 100644 autocomplete/specs/nativescript.go create mode 100644 autocomplete/specs/nc.go create mode 100644 autocomplete/specs/ncal.go create mode 100644 autocomplete/specs/ncu.go create mode 100644 autocomplete/specs/neofetch.go create mode 100644 autocomplete/specs/nest.go create mode 100644 autocomplete/specs/netlify.go create mode 100644 autocomplete/specs/networkQuality.go create mode 100644 autocomplete/specs/newman.go create mode 100644 autocomplete/specs/next.go create mode 100644 autocomplete/specs/nextflow.go create mode 100644 autocomplete/specs/ng.go create mode 100644 autocomplete/specs/nginx.go create mode 100644 autocomplete/specs/ngrok.go create mode 100644 autocomplete/specs/nhost.go create mode 100644 autocomplete/specs/ni.go create mode 100644 autocomplete/specs/nl.go create mode 100644 autocomplete/specs/nocorrect.go create mode 100644 autocomplete/specs/node.go create mode 100644 autocomplete/specs/noglob.go create mode 100644 autocomplete/specs/northflank.go create mode 100644 autocomplete/specs/np.go create mode 100644 autocomplete/specs/npm.go create mode 100644 autocomplete/specs/npx.go create mode 100644 autocomplete/specs/nr.go create mode 100644 autocomplete/specs/nrm.go create mode 100644 autocomplete/specs/ns.go create mode 100644 autocomplete/specs/nu.go create mode 100644 autocomplete/specs/nuxi.go create mode 100644 autocomplete/specs/nuxt.go create mode 100644 autocomplete/specs/nvim.go create mode 100644 autocomplete/specs/nvm.go create mode 100644 autocomplete/specs/nx.go create mode 100644 autocomplete/specs/nylas.go create mode 100644 autocomplete/specs/od.go create mode 100644 autocomplete/specs/oh-my-posh.go create mode 100644 autocomplete/specs/okta.go create mode 100644 autocomplete/specs/okteto.go create mode 100644 autocomplete/specs/omz.go create mode 100644 autocomplete/specs/onboardbase.go create mode 100644 autocomplete/specs/op.go create mode 100644 autocomplete/specs/opa.go create mode 100644 autocomplete/specs/open.go create mode 100644 autocomplete/specs/osascript.go create mode 100644 autocomplete/specs/osqueryi.go create mode 100644 autocomplete/specs/pageres.go create mode 100644 autocomplete/specs/palera1n.go create mode 100644 autocomplete/specs/pandoc.go create mode 100644 autocomplete/specs/paper.go create mode 100644 autocomplete/specs/pass.go create mode 100644 autocomplete/specs/passwd.go create mode 100644 autocomplete/specs/paste.go create mode 100644 autocomplete/specs/pathchk.go create mode 100644 autocomplete/specs/pdfunite.go create mode 100644 autocomplete/specs/pg_dump.go create mode 100644 autocomplete/specs/pgcli.go create mode 100644 autocomplete/specs/php.go create mode 100644 autocomplete/specs/phpunit-watcher.go create mode 100644 autocomplete/specs/phpunit.go create mode 100644 autocomplete/specs/ping.go create mode 100644 autocomplete/specs/pip.go create mode 100644 autocomplete/specs/pip3.go create mode 100644 autocomplete/specs/pipenv.go create mode 100644 autocomplete/specs/pipx.go create mode 100644 autocomplete/specs/pkg-config.go create mode 100644 autocomplete/specs/pkgutil.go create mode 100644 autocomplete/specs/pkill.go create mode 100644 autocomplete/specs/playwright.go create mode 100644 autocomplete/specs/pm2.go create mode 100644 autocomplete/specs/pmset.go create mode 100644 autocomplete/specs/pnpm.go create mode 100644 autocomplete/specs/pnpx.go create mode 100644 autocomplete/specs/pocketbase.go create mode 100644 autocomplete/specs/pod.go create mode 100644 autocomplete/specs/poetry.go create mode 100644 autocomplete/specs/pre-commit.go create mode 100644 autocomplete/specs/preset.go create mode 100644 autocomplete/specs/prettier.go create mode 100644 autocomplete/specs/prisma.go create mode 100644 autocomplete/specs/pro.go create mode 100644 autocomplete/specs/projj.go create mode 100644 autocomplete/specs/pry.go create mode 100644 autocomplete/specs/ps.go create mode 100644 autocomplete/specs/pscale.go create mode 100644 autocomplete/specs/psql.go create mode 100644 autocomplete/specs/publish.go create mode 100644 autocomplete/specs/pulumi.go create mode 100644 autocomplete/specs/pushd.go create mode 100644 autocomplete/specs/pwd.go create mode 100644 autocomplete/specs/pyenv.go create mode 100644 autocomplete/specs/pytest.go create mode 100644 autocomplete/specs/python.go create mode 100644 autocomplete/specs/python3.go create mode 100644 autocomplete/specs/qodana.go create mode 100644 autocomplete/specs/quasar.go create mode 100644 autocomplete/specs/quickmail.go create mode 100644 autocomplete/specs/r.go create mode 100644 autocomplete/specs/rails.go create mode 100644 autocomplete/specs/railway.go create mode 100644 autocomplete/specs/rake.go create mode 100644 autocomplete/specs/rancher.go create mode 100644 autocomplete/specs/rbenv.go create mode 100644 autocomplete/specs/rclone.go create mode 100644 autocomplete/specs/react-native.go create mode 100644 autocomplete/specs/readlink.go create mode 100644 autocomplete/specs/redwood.go create mode 100644 autocomplete/specs/remix.go create mode 100644 autocomplete/specs/remotion.go create mode 100644 autocomplete/specs/repeat.go create mode 100644 autocomplete/specs/rg.go create mode 100644 autocomplete/specs/rich.go create mode 100644 autocomplete/specs/rm.go create mode 100644 autocomplete/specs/rmdir.go create mode 100644 autocomplete/specs/robot.go create mode 100644 autocomplete/specs/rojo.go create mode 100644 autocomplete/specs/rollup.go create mode 100644 autocomplete/specs/rome.go create mode 100644 autocomplete/specs/rscript.go create mode 100644 autocomplete/specs/rsync.go create mode 100644 autocomplete/specs/ruby.go create mode 100644 autocomplete/specs/ruff.go create mode 100644 autocomplete/specs/rushx.go create mode 100644 autocomplete/specs/rustc.go create mode 100644 autocomplete/specs/rustup.go create mode 100644 autocomplete/specs/rvm.go create mode 100644 autocomplete/specs/sam.go create mode 100644 autocomplete/specs/sanity.go create mode 100644 autocomplete/specs/sapphire.go create mode 100644 autocomplete/specs/scc.go create mode 100644 autocomplete/specs/scp.go create mode 100644 autocomplete/specs/screen.go create mode 100644 autocomplete/specs/sed.go create mode 100644 autocomplete/specs/seq.go create mode 100644 autocomplete/specs/sequelize.go create mode 100644 autocomplete/specs/serve.go create mode 100644 autocomplete/specs/serverless.go create mode 100644 autocomplete/specs/sfdx.go create mode 100644 autocomplete/specs/sftp.go create mode 100644 autocomplete/specs/sha1sum.go create mode 100644 autocomplete/specs/shadcn-ui.go create mode 100644 autocomplete/specs/shortcuts.go create mode 100644 autocomplete/specs/shred.go create mode 100644 autocomplete/specs/sidekiq.go create mode 100644 autocomplete/specs/simctl.go create mode 100644 autocomplete/specs/sips.go create mode 100644 autocomplete/specs/sl.go create mode 100644 autocomplete/specs/sls.go create mode 100644 autocomplete/specs/snaplet.go create mode 100644 autocomplete/specs/softwareupdate.go create mode 100644 autocomplete/specs/source.go create mode 100644 autocomplete/specs/space.go create mode 100644 autocomplete/specs/speedtest-cli.go create mode 100644 autocomplete/specs/speedtest.go create mode 100644 autocomplete/specs/splash.go create mode 100644 autocomplete/specs/split.go create mode 100644 autocomplete/specs/spotify.go create mode 100644 autocomplete/specs/spring.go create mode 100644 autocomplete/specs/sqlfluff.go create mode 100644 autocomplete/specs/sqlite3.go create mode 100644 autocomplete/specs/src.go create mode 100644 autocomplete/specs/ssh-keygen.go create mode 100644 autocomplete/specs/ssh.go create mode 100644 autocomplete/specs/st2.go create mode 100644 autocomplete/specs/sta.go create mode 100644 autocomplete/specs/starkli.go create mode 100644 autocomplete/specs/start-storybook.go create mode 100644 autocomplete/specs/stat.go create mode 100644 autocomplete/specs/steadybit.go create mode 100644 autocomplete/specs/stencil.go create mode 100644 autocomplete/specs/stepzen.go create mode 100644 autocomplete/specs/stow.go create mode 100644 autocomplete/specs/streamlit.go create mode 100644 autocomplete/specs/stripe.go create mode 100644 autocomplete/specs/su.go create mode 100644 autocomplete/specs/subl.go create mode 100644 autocomplete/specs/sudo.go create mode 100644 autocomplete/specs/suitecloud.go create mode 100644 autocomplete/specs/supabase.go create mode 100644 autocomplete/specs/surreal.go create mode 100644 autocomplete/specs/svokit.go create mode 100644 autocomplete/specs/svtplay-dl.go create mode 100644 autocomplete/specs/sw_vers.go create mode 100644 autocomplete/specs/swagger-typescript-api.go create mode 100644 autocomplete/specs/swc.go create mode 100644 autocomplete/specs/swift.go create mode 100644 autocomplete/specs/symfony.go create mode 100644 autocomplete/specs/sysctl.go create mode 100644 autocomplete/specs/systemctl.go create mode 100644 autocomplete/specs/tac.go create mode 100644 autocomplete/specs/tail.go create mode 100644 autocomplete/specs/tailscale.go create mode 100644 autocomplete/specs/tailwindcss.go create mode 100644 autocomplete/specs/tangram.go create mode 100644 autocomplete/specs/taplo.go create mode 100644 autocomplete/specs/tar.go create mode 100644 autocomplete/specs/task.go create mode 100644 autocomplete/specs/tb.go create mode 100644 autocomplete/specs/tccutil.go create mode 100644 autocomplete/specs/tee.go create mode 100644 autocomplete/specs/terraform.go create mode 100644 autocomplete/specs/terragrunt.go create mode 100644 autocomplete/specs/tfenv.go create mode 100644 autocomplete/specs/tfsec.go create mode 100644 autocomplete/specs/then.go create mode 100644 autocomplete/specs/time.go create mode 100644 autocomplete/specs/tkn.go create mode 100644 autocomplete/specs/tldr.go create mode 100644 autocomplete/specs/tmutil.go create mode 100644 autocomplete/specs/tmux.go create mode 100644 autocomplete/specs/tmuxinator.go create mode 100644 autocomplete/specs/tns.go create mode 100644 autocomplete/specs/tokei.go create mode 100644 autocomplete/specs/top.go create mode 100644 autocomplete/specs/touch.go create mode 100644 autocomplete/specs/tr.go create mode 100644 autocomplete/specs/traceroute.go create mode 100644 autocomplete/specs/trap.go create mode 100644 autocomplete/specs/trash.go create mode 100644 autocomplete/specs/tree.go create mode 100644 autocomplete/specs/trex.go create mode 100644 autocomplete/specs/trivy.go create mode 100644 autocomplete/specs/truffle.go create mode 100644 autocomplete/specs/truncate.go create mode 100644 autocomplete/specs/trunk.go create mode 100644 autocomplete/specs/ts-node.go create mode 100644 autocomplete/specs/tsc.go create mode 100644 autocomplete/specs/tsh.go create mode 100644 autocomplete/specs/tsuru.go create mode 100644 autocomplete/specs/tsx.go create mode 100644 autocomplete/specs/tuist.go create mode 100644 autocomplete/specs/turbo.go create mode 100644 autocomplete/specs/twiggy.go create mode 100644 autocomplete/specs/twilio.go create mode 100644 autocomplete/specs/typeorm.go create mode 100644 autocomplete/specs/typos.go create mode 100644 autocomplete/specs/ua.go create mode 100644 autocomplete/specs/ubuntu-advantage.go create mode 100644 autocomplete/specs/uname.go create mode 100644 autocomplete/specs/underscore.go create mode 100644 autocomplete/specs/uniq.go create mode 100644 autocomplete/specs/unix2dos.go create mode 100644 autocomplete/specs/unset.go create mode 100644 autocomplete/specs/until.go create mode 100644 autocomplete/specs/unzip.go create mode 100644 autocomplete/specs/v.go create mode 100644 autocomplete/specs/vale.go create mode 100644 autocomplete/specs/valet.go create mode 100644 autocomplete/specs/vapor.go create mode 100644 autocomplete/specs/vault.go create mode 100644 autocomplete/specs/vela.go create mode 100644 autocomplete/specs/vercel.go create mode 100644 autocomplete/specs/vi.go create mode 100644 autocomplete/specs/vim.go create mode 100644 autocomplete/specs/vimr.go create mode 100644 autocomplete/specs/visudo.go create mode 100644 autocomplete/specs/vite.go create mode 100644 autocomplete/specs/volta.go create mode 100644 autocomplete/specs/vr.go create mode 100644 autocomplete/specs/vsce.go create mode 100644 autocomplete/specs/vtex.go create mode 100644 autocomplete/specs/vue.go create mode 100644 autocomplete/specs/vultr-cli.go create mode 100644 autocomplete/specs/w.go create mode 100644 autocomplete/specs/wasm-bindgen.go create mode 100644 autocomplete/specs/wasm-pack.go create mode 100644 autocomplete/specs/watchman.go create mode 100644 autocomplete/specs/watson.go create mode 100644 autocomplete/specs/wc.go create mode 100644 autocomplete/specs/wd.go create mode 100644 autocomplete/specs/webpack.go create mode 100644 autocomplete/specs/wezterm.go create mode 100644 autocomplete/specs/wget.go create mode 100644 autocomplete/specs/whence.go create mode 100644 autocomplete/specs/where.go create mode 100644 autocomplete/specs/whereis.go create mode 100644 autocomplete/specs/which.go create mode 100644 autocomplete/specs/while.go create mode 100644 autocomplete/specs/who.go create mode 100644 autocomplete/specs/whois.go create mode 100644 autocomplete/specs/wifi-password.go create mode 100644 autocomplete/specs/wing.go create mode 100644 autocomplete/specs/wp.go create mode 100644 autocomplete/specs/wrangler.go create mode 100644 autocomplete/specs/wrk.go create mode 100644 autocomplete/specs/wscat.go create mode 100644 autocomplete/specs/xargs.go create mode 100644 autocomplete/specs/xc.go create mode 100644 autocomplete/specs/xcode-select.go create mode 100644 autocomplete/specs/xcodebuild.go create mode 100644 autocomplete/specs/xcodeproj.go create mode 100644 autocomplete/specs/xcodes.go create mode 100644 autocomplete/specs/xcrun.go create mode 100644 autocomplete/specs/xdg-mime.go create mode 100644 autocomplete/specs/xdg-open.go create mode 100644 autocomplete/specs/xed.go create mode 100644 autocomplete/specs/xxd.go create mode 100644 autocomplete/specs/yalc.go create mode 100644 autocomplete/specs/yank.go create mode 100644 autocomplete/specs/yarn.go create mode 100644 autocomplete/specs/ykman.go create mode 100644 autocomplete/specs/yo.go create mode 100644 autocomplete/specs/yomo.go create mode 100644 autocomplete/specs/youtube-dl.go create mode 100644 autocomplete/specs/z.go create mode 100644 autocomplete/specs/zapier.go create mode 100644 autocomplete/specs/zed.go create mode 100644 autocomplete/specs/zellij.go create mode 100644 autocomplete/specs/zig.go create mode 100644 autocomplete/specs/zip.go create mode 100644 autocomplete/specs/zipcloak.go create mode 100644 autocomplete/specs/zoxide.go diff --git a/.gitignore b/.gitignore index ec55e98..f2c3456 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ node_modules/ -.fig/ \ No newline at end of file +.fig/ +*.log +__debug_*.exe +debug.test*.exe +clac +.env* \ No newline at end of file diff --git a/autocomplete/generators/azure/azure.go b/autocomplete/generators/azure/azure.go new file mode 100644 index 0000000..f8de3e3 --- /dev/null +++ b/autocomplete/generators/azure/azure.go @@ -0,0 +1,69 @@ +package azure + +import ( + "context" + "encoding/json" + "log/slog" + "os/exec" + + "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" + "github.com/cpendery/clac/autocomplete/model" + "github.com/google/uuid" +) + +type azShowAccountResponse struct { + SubscriptionName *string `json:"name,omitempty"` +} + +func getActiveSubscription() *string { + output, err := exec.Command("az", "show", "account", "-o", "json").Output() + if err != nil { + slog.Error("az account information command failed", slog.String("error", err.Error())) + return nil + } + var accountInfo azShowAccountResponse + if err := json.Unmarshal(output, &accountInfo); err != nil { + slog.Error("az account information command provided invalid output", slog.String("error", err.Error())) + return nil + } + return accountInfo.SubscriptionName +} + +var ListKeyVaultsGenerator = &model.Generator{ + Id: uuid.New(), + Function: func() []model.TermSuggestion { + suggestions := []model.TermSuggestion{} + subscription := getActiveSubscription() + if subscription == nil { + return suggestions + } + cred, err := azidentity.NewDefaultAzureCredential(nil) + if err != nil { + slog.Error("unable to load azure default credentials", slog.String("error", err.Error())) + return suggestions + } + client, err := armkeyvault.NewVaultsClient(*subscription, cred, nil) + if err != nil { + slog.Error("unable to create new azure vaults client", slog.String("error", err.Error())) + return suggestions + } + pager := client.NewListPager(nil) + for pager.More() { + page, err := pager.NextPage(context.Background()) + if err != nil { + slog.Error("unable to request new page of vaults", slog.String("error", err.Error())) + return suggestions + } + for _, vault := range page.Value { + if vault.Name != nil { + suggestions = append(suggestions, model.TermSuggestion{ + Name: *vault.Name, + Description: "Azure Key Vault", + }) + } + } + } + return suggestions + }, +} diff --git a/autocomplete/specs/act.go b/autocomplete/specs/act.go new file mode 100644 index 0000000..61faa6f --- /dev/null +++ b/autocomplete/specs/act.go @@ -0,0 +1,268 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["act"] = model.Subcommand{ + Name: []string{"act"}, + Description: `Run GitHub actions locally by specifying the event name (e.g. "push") or an action name directly`, + Options: []model.Option{{ + Name: []string{"--bind", "-b"}, + Description: `Bind working directory to container, rather than copy`, + }, { + Name: []string{"--bug-report"}, + Description: `Display system information for bug report`, + }, { + Name: []string{"--container-cap-add"}, + Description: `Kernel capabilities to add to the workflow containers (e.g. --container-cap-add SYS_PTRACE)`, + Args: []model.Arg{{ + Name: "container-cap-add", + }}, + }, { + Name: []string{"--container-cap-drop"}, + Description: `Kernel capabilities to remove from the workflow containers (e.g. --container-cap-drop SYS_PTRACE)`, + Args: []model.Arg{{ + Name: "container-cap-drop", + }}, + }, { + Name: []string{"--defaultbranch"}, + Description: `The name of the main branch`, + Args: []model.Arg{{ + Name: "defaultbranch", + }}, + }, { + Name: []string{"--detect-event"}, + Description: `Use first event type from workflow as event that triggered the workflow`, + }, { + Name: []string{"--env"}, + Description: `Env to make available to actions with optional value (e.g. --env myenv=foo or --env myenv)`, + Args: []model.Arg{{ + Name: "env", + }}, + }, { + Name: []string{"--eventpath", "-e"}, + Description: `Path to event JSON file`, + Args: []model.Arg{{ + Name: "eventpath", + }}, + }, { + Name: []string{"--graph", "-g"}, + Description: `Draw workflows`, + }, { + Name: []string{"--job", "-j"}, + Description: `Run job`, + Args: []model.Arg{{ + Name: "job", + }}, + }, { + Name: []string{"--list", "-l"}, + Description: `List workflows`, + }, { + Name: []string{"--platform", "-P"}, + Description: `Custom image to use per platform (e.g. -P ubuntu-18.04=nektos/act-environments-ubuntu:18.04)`, + Args: []model.Arg{{ + Name: "platform", + }}, + }, { + Name: []string{"--privileged"}, + Description: `Use privileged mode`, + }, { + Name: []string{"--pull", "-p"}, + Description: `Pull docker image(s) even if already present`, + }, { + Name: []string{"--rebuild"}, + Description: `Rebuild local action docker image(s) even if already present`, + }, { + Name: []string{"--remote-name"}, + Description: `Git remote name that will be used to retrieve url of git repo`, + Args: []model.Arg{{ + Name: "remote-name", + }}, + }, { + Name: []string{"--reuse", "-r"}, + Description: `Don't remove container(s) on successfully completed workflow(s) to maintain state between runs`, + }, { + Name: []string{"--rm"}, + Description: `Automatically remove container(s)/volume(s) after a workflow(s) failure`, + }, { + Name: []string{"--secret", "-s"}, + Description: `Secret to make available to actions with optional value (e.g. -s mysecret=foo or -s mysecret)`, + Args: []model.Arg{{ + Name: "secret", + }}, + }, { + Name: []string{"--use-gitignore"}, + Description: `Controls whether paths specified in .gitignore should be copied into container`, + }, { + Name: []string{"--userns"}, + Description: `User namespace to use`, + Args: []model.Arg{{ + Name: "userns", + }}, + }, { + Name: []string{"--watch", "-w"}, + Description: `Watch the contents of the local repo and run when files change`, + }, { + Name: []string{"--actor", "-a"}, + Description: `User that triggered the event`, + Args: []model.Arg{{ + Name: "actor", + }}, + IsPersistent: true, + }, { + Name: []string{"--artifact-server-path"}, + Description: `Defines the path where the artifact server stores uploads and retrieves downloads from. If not specified the artifact server will not start`, + Args: []model.Arg{{ + Name: "artifact-server-path", + }}, + IsPersistent: true, + }, { + Name: []string{"--artifact-server-port"}, + Description: `Defines the port where the artifact server listens (will only bind to localhost)`, + Args: []model.Arg{{ + Name: "artifact-server-port", + }}, + IsPersistent: true, + }, { + Name: []string{"--container-architecture"}, + Description: `Architecture which should be used to run containers, e.g.: linux/amd64. If not specified, will use host default architecture. Requires Docker server API Version 1.41+. Ignored on earlier Docker server platforms`, + Args: []model.Arg{{ + Name: "container-architecture", + }}, + IsPersistent: true, + }, { + Name: []string{"--container-daemon-socket"}, + Description: `Path to Docker daemon socket which will be mounted to containers`, + Args: []model.Arg{{ + Name: "container-daemon-socket", + }}, + IsPersistent: true, + }, { + Name: []string{"--directory", "-C"}, + Description: `Working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + IsPersistent: true, + }, { + Name: []string{"--dryrun", "-n"}, + Description: `Dryrun mode`, + IsPersistent: true, + }, { + Name: []string{"--env-file"}, + Description: `Environment file to read and use as env in the containers`, + Args: []model.Arg{{ + Name: "env-file", + }}, + IsPersistent: true, + }, { + Name: []string{"--github-instance"}, + Description: `GitHub instance to use. Don't use this if you are not using GitHub Enterprise Server`, + Args: []model.Arg{{ + Name: "github-instance", + }}, + IsPersistent: true, + }, { + Name: []string{"--insecure-secrets"}, + Description: `NOT RECOMMENDED! Doesn't hide secrets while printing logs`, + IsPersistent: true, + }, { + Name: []string{"--json"}, + Description: `Output logs in json format`, + IsPersistent: true, + }, { + Name: []string{"--no-recurse"}, + Description: `Flag to disable running workflows from subdirectories of specified path in '--workflows'/'-W' flag`, + IsPersistent: true, + }, { + Name: []string{"--no-skip-checkout"}, + Description: `Do not skip actions/checkout`, + IsPersistent: true, + }, { + Name: []string{"--quiet", "-q"}, + Description: `Disable logging of output from steps`, + IsPersistent: true, + }, { + Name: []string{"--secret-file"}, + Description: `File with list of secrets to read from (e.g. --secret-file .secrets)`, + Args: []model.Arg{{ + Name: "secret-file", + }}, + IsPersistent: true, + }, { + Name: []string{"--verbose", "-v"}, + Description: `Verbose output`, + IsPersistent: true, + }, { + Name: []string{"--workflows", "-W"}, + Description: `Path to workflow file(s)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders, model.TemplateFilepaths}, + Name: "workflows", + }}, + IsPersistent: true, + }, { + Name: []string{"--help", "-h"}, + Description: `Display help`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"completion"}, + Description: `Generate the autocompletion script for the specified shell`, + Subcommands: []model.Subcommand{{ + Name: []string{"bash"}, + Description: `Generate the autocompletion script for bash`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"fish"}, + Description: `Generate the autocompletion script for fish`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"powershell"}, + Description: `Generate the autocompletion script for powershell`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"zsh"}, + Description: `Generate the autocompletion script for zsh`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }}, + }, { + Name: []string{"help"}, + Description: `Help about any command`, + Subcommands: []model.Subcommand{{ + Name: []string{"completion"}, + Description: `Generate the autocompletion script for the specified shell`, + Subcommands: []model.Subcommand{{ + Name: []string{"bash"}, + Description: `Generate the autocompletion script for bash`, + }, { + Name: []string{"fish"}, + Description: `Generate the autocompletion script for fish`, + }, { + Name: []string{"powershell"}, + Description: `Generate the autocompletion script for powershell`, + }, { + Name: []string{"zsh"}, + Description: `Generate the autocompletion script for zsh`, + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/adb.go b/autocomplete/specs/adb.go new file mode 100644 index 0000000..30599cd --- /dev/null +++ b/autocomplete/specs/adb.go @@ -0,0 +1,707 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["adb"] = model.Subcommand{ + Name: []string{"adb"}, + Description: `Android Debug Bridge`, + Options: []model.Option{{ + Name: []string{"-a"}, + Description: `Listen on all network interfaces, not just localhost`, + }, { + Name: []string{"-d"}, + Description: `Use USB device (error if multiple devices connected)`, + }, { + Name: []string{"-e"}, + Description: `Use TCP/IP device (error if multiple TCP/IP devices available)`, + }, { + Name: []string{"-s"}, + Description: `Use device with given serial (overrides $ANDROID_SERIAL)`, + Args: []model.Arg{{ + Name: "SERIAL", + }}, + }, { + Name: []string{"-t"}, + Description: `Use device with given transport id`, + Args: []model.Arg{{ + Name: "ID", + }}, + }, { + Name: []string{"-H"}, + Description: `Name of adb server host [default=localhost]`, + Args: []model.Arg{{ + Name: "host name", + }}, + }, { + Name: []string{"-P"}, + Description: `Port of adb server [default=5037]`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-L"}, + Description: `Listen on given socket for adb server [default=tcp:localhost:5037]`, + Args: []model.Arg{{ + Name: "socket", + }}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"devices"}, + Description: `List connected devices`, + Options: []model.Option{{ + Name: []string{"-l"}, + Description: `Long output`, + }}, + }, { + Name: []string{"help"}, + Description: `Show this help message`, + }, { + Name: []string{"get-state"}, + Description: `Print offline | bootloader | device`, + }, { + Name: []string{"get-serialno"}, + Description: `Print `, + }, { + Name: []string{"get-devpath"}, + Description: `Print `, + }, { + Name: []string{"remount"}, + Description: `Remount partitions read-write. if a reboot is required, -R will automatically reboot the device`, + Options: []model.Option{{ + Name: []string{"-R"}, + Description: `Reboot device`, + }}, + }, { + Name: []string{"jdwp"}, + Description: `List pids of processes hosting a JDWP transport`, + }, { + Name: []string{"root"}, + Description: `Restart adbd with root permissions`, + }, { + Name: []string{"unroot"}, + Description: `Restart adbd without root permissions`, + }, { + Name: []string{"usb"}, + Description: `Restart adbd listening on USB`, + }, { + Name: []string{"sideload"}, + Description: `Sideload the given full OTA package`, + Args: []model.Arg{{ + Name: "OTAPACKAGE", + }}, + }, { + Name: []string{"start-server"}, + Description: `Ensure that there is a server running`, + }, { + Name: []string{"kill-server"}, + Description: `Kill the server if it is running`, + }, { + Name: []string{"reconnect"}, + Description: `Kick connection from host side to force reconnect`, + Subcommands: []model.Subcommand{{ + Name: []string{"device"}, + Description: `Kick connection from device side to force reconnect`, + }, { + Name: []string{"offline"}, + Description: `Reset offline/unauthorized devices to force reconnect"`, + }}, + }, { + Name: []string{"tcpip"}, + Description: `Restart adbd listening on TCP on PORT`, + Args: []model.Arg{{ + Name: "PORT", + }}, + }, { + Name: []string{"reboot"}, + Description: `Reboot the device; defaults to booting system image but supports bootloader and recovery too. sideload reboots into recovery and automatically starts sideload mode, sideload-auto-reboot is the same but reboots after sideloading`, + Args: []model.Arg{{ + Name: "type", + Suggestions: []model.Suggestion{{ + Name: []string{`bootloader`}, + }, { + Name: []string{`recovery`}, + }, { + Name: []string{`sideload`}, + }, { + Name: []string{`sideload-auto-reboot`}, + }}, + IsOptional: true, + }}, + }, { + Name: []string{"disable-verity"}, + Description: `Disable dm-verity checking on userdebug builds`, + }, { + Name: []string{"enable-verity"}, + Description: `Re-enable dm-verity checking on userdebug builds`, + }, { + Name: []string{"wait-for-device"}, + Description: `Wait for state=device`, + }, { + Name: []string{"wait-for-recovery"}, + Description: `Wait for state=recovery`, + }, { + Name: []string{"wait-for-rescue"}, + Description: `Wait for state=rescue`, + }, { + Name: []string{"wait-for-sideload"}, + Description: `Wait for state=sideload`, + }, { + Name: []string{"wait-for-bootloader"}, + Description: `Wait for state=bootloader`, + }, { + Name: []string{"wait-for-disconnect"}, + Description: `Wait for state=disconnect`, + }, { + Name: []string{"wait-for-usb-device"}, + Description: `Wait for usb in state=device`, + }, { + Name: []string{"wait-for-usb-recovery"}, + Description: `Wait for usb in state=recovery`, + }, { + Name: []string{"wait-for-usb-rescue"}, + Description: `Wait for usb in state=rescue`, + }, { + Name: []string{"wait-for-usb-sideload"}, + Description: `Wait for usb in state=sideload`, + }, { + Name: []string{"wait-for-usb-bootloader"}, + Description: `Wait for usb in state=bootloader`, + }, { + Name: []string{"wait-for-usb-disconnect"}, + Description: `Wait for usb in state=disconnect`, + }, { + Name: []string{"wait-for-local-device"}, + Description: `Wait for local in state=device`, + }, { + Name: []string{"wait-for-local-recovery"}, + Description: `Wait for local in state=recovery`, + }, { + Name: []string{"wait-for-local-rescue"}, + Description: `Wait for local in state=rescue`, + }, { + Name: []string{"wait-for-local-sideload"}, + Description: `Wait for local in state=sideload`, + }, { + Name: []string{"wait-for-local-bootloader"}, + Description: `Wait for local in state=bootloader`, + }, { + Name: []string{"wait-for-local-disconnect"}, + Description: `Wait for local in state=disconnect`, + }, { + Name: []string{"wait-for-any-device"}, + Description: `Wait for any in state=device`, + }, { + Name: []string{"wait-for-any-recovery"}, + Description: `Wait for any in state=recovery`, + }, { + Name: []string{"wait-for-any-rescue"}, + Description: `Wait for any in state=rescue`, + }, { + Name: []string{"wait-for-any-sideload"}, + Description: `Wait for any in state=sideload`, + }, { + Name: []string{"wait-for-any-bootloader"}, + Description: `Wait for any in state=bootloader`, + }, { + Name: []string{"wait-for-any-disconnect"}, + Description: `Wait for any in state=disconnect`, + }, { + Name: []string{"keygen"}, + Description: `Generate adb public/private key; private key stored in FILE`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "FILE", + }}, + }, { + Name: []string{"logcat"}, + Description: `Show device log (logcat --help for more)`, + }, { + Name: []string{"version"}, + Description: `Show version num`, + }, { + Name: []string{"connect"}, + Description: `Connect to a device via TCP/IP [default port=5555]`, + Args: []model.Arg{{ + Name: "HOST[:PORT]", + }}, + }, { + Name: []string{"disconnect"}, + Description: `Disconnect from given TCP/IP device [default port=5555], or all`, + Args: []model.Arg{{ + Name: "HOST[:PORT]", + IsOptional: true, + }}, + }, { + Name: []string{"uninstall"}, + Description: `Remove this app package from the device`, + Options: []model.Option{{ + Name: []string{"-k"}, + Description: `Keep the data and cache directories`, + }}, + }, { + Name: []string{"bugreport"}, + Description: `Write bugreport to given PATH [default=bugreport.zip];`, + Args: []model.Arg{{ + Name: "PATH", + IsOptional: true, + }}, + }, { + Name: []string{"pair"}, + Description: `Pair with a device for secure TCP/IP communication`, + Args: []model.Arg{{ + Name: "HOST[:PORT]", + }, { + Name: "[PAIRING CODE]", + IsOptional: true, + }}, + }, { + Name: []string{"ppp"}, + Description: `Run PPP over USB`, + Args: []model.Arg{{ + Name: "TTY", + }, { + Name: "[PARAMETER...]", + IsOptional: true, + IsVariadic: true, + }}, + }, { + Name: []string{"emu"}, + Description: `Run emulator console command`, + Args: []model.Arg{{ + Name: "COMMAND", + }}, + }, { + Name: []string{"install"}, + Description: `Push a single package to the device and install it`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PACKAGE", + }}, + Options: []model.Option{{ + Name: []string{"-l"}, + Description: `Forward-lock the app`, + }, { + Name: []string{"-r"}, + Description: `Replace existing application`, + }, { + Name: []string{"-t"}, + Description: `Allow test packages`, + }, { + Name: []string{"-d"}, + Description: `Allow version code downgrade (debuggable packages only)`, + }, { + Name: []string{"-s"}, + Description: `Install on SD card instead of internal storage`, + }, { + Name: []string{"-g"}, + Description: `Grant all runtime permissions`, + }, { + Name: []string{"--abi"}, + Description: `Override platform's default ABI`, + Args: []model.Arg{{ + Name: "ABI", + }}, + }, { + Name: []string{"--instant"}, + Description: `Cause the app to be installed as an ephemeral install app`, + }, { + Name: []string{"--no-streaming"}, + Description: `Always push APK to device and invoke Package Manager as separate steps`, + }, { + Name: []string{"--streaming"}, + Description: `Force streaming APK directly into Package Manager`, + }, { + Name: []string{"--fastdeploy"}, + Description: `Use fast deploy`, + }, { + Name: []string{"--no-fastdeploy"}, + Description: `Prevent use of fast deploy`, + }, { + Name: []string{"--force-agent"}, + Description: `Force update of deployment agent when using fast deploy`, + }, { + Name: []string{"--date-check-agent"}, + Description: `Update deployment agent when local version is newer and using fast deploy`, + }, { + Name: []string{"--version-check-agent"}, + Description: `Update deployment agent when local version has different version code and using fast deploy`, + }, { + Name: []string{"--local-agent"}, + Description: `Locate agent files from local source build (instead of SDK location)`, + }}, + }, { + Name: []string{"install-multiple"}, + Description: `Push multiple APKs to the device for a single package and install them`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PACKAGE", + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-p"}, + Description: `Partial application install (install-multiple only)`, + }, { + Name: []string{"-l"}, + Description: `Forward-lock the app`, + }, { + Name: []string{"-r"}, + Description: `Replace existing application`, + }, { + Name: []string{"-t"}, + Description: `Allow test packages`, + }, { + Name: []string{"-d"}, + Description: `Allow version code downgrade (debuggable packages only)`, + }, { + Name: []string{"-s"}, + Description: `Install on SD card instead of internal storage`, + }, { + Name: []string{"-g"}, + Description: `Grant all runtime permissions`, + }, { + Name: []string{"--abi"}, + Description: `Override platform's default ABI`, + Args: []model.Arg{{ + Name: "ABI", + }}, + }, { + Name: []string{"--instant"}, + Description: `Cause the app to be installed as an ephemeral install app`, + }, { + Name: []string{"--no-streaming"}, + Description: `Always push APK to device and invoke Package Manager as separate steps`, + }, { + Name: []string{"--streaming"}, + Description: `Force streaming APK directly into Package Manager`, + }, { + Name: []string{"--fastdeploy"}, + Description: `Use fast deploy`, + }, { + Name: []string{"--no-fastdeploy"}, + Description: `Prevent use of fast deploy`, + }, { + Name: []string{"--force-agent"}, + Description: `Force update of deployment agent when using fast deploy`, + }, { + Name: []string{"--date-check-agent"}, + Description: `Update deployment agent when local version is newer and using fast deploy`, + }, { + Name: []string{"--version-check-agent"}, + Description: `Update deployment agent when local version has different version code and using fast deploy`, + }, { + Name: []string{"--local-agent"}, + Description: `Locate agent files from local source build (instead of SDK location)`, + }}, + }, { + Name: []string{"install-multi-package"}, + Description: `Push one or more packages to the device and install them atomically`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PACKAGE", + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-p"}, + Description: `Partial application install (install-multiple only)`, + }, { + Name: []string{"-l"}, + Description: `Forward-lock the app`, + }, { + Name: []string{"-r"}, + Description: `Replace existing application`, + }, { + Name: []string{"-t"}, + Description: `Allow test packages`, + }, { + Name: []string{"-d"}, + Description: `Allow version code downgrade (debuggable packages only)`, + }, { + Name: []string{"-s"}, + Description: `Install on SD card instead of internal storage`, + }, { + Name: []string{"-g"}, + Description: `Grant all runtime permissions`, + }, { + Name: []string{"--abi"}, + Description: `Override platform's default ABI`, + Args: []model.Arg{{ + Name: "ABI", + }}, + }, { + Name: []string{"--instant"}, + Description: `Cause the app to be installed as an ephemeral install app`, + }, { + Name: []string{"--no-streaming"}, + Description: `Always push APK to device and invoke Package Manager as separate steps`, + }, { + Name: []string{"--streaming"}, + Description: `Force streaming APK directly into Package Manager`, + }, { + Name: []string{"--fastdeploy"}, + Description: `Use fast deploy`, + }, { + Name: []string{"--no-fastdeploy"}, + Description: `Prevent use of fast deploy`, + }, { + Name: []string{"--force-agent"}, + Description: `Force update of deployment agent when using fast deploy`, + }, { + Name: []string{"--date-check-agent"}, + Description: `Update deployment agent when local version is newer and using fast deploy`, + }, { + Name: []string{"--version-check-agent"}, + Description: `Update deployment agent when local version has different version code and using fast deploy`, + }, { + Name: []string{"--local-agent"}, + Description: `Locate agent files from local source build (instead of SDK location)`, + }}, + }, { + Name: []string{"shell"}, + Description: `Run remote shell command (interactive shell if no command given)`, + Args: []model.Arg{{ + Name: "COMMANDS ...", + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-e"}, + Description: `Choose escape character, or "none" default '~'`, + }, { + Name: []string{"-n"}, + Description: `Don't read from stdin`, + }, { + Name: []string{"-T"}, + Description: `Disable pty allocation`, + }, { + Name: []string{"-t"}, + Description: `Allocate a pty if on a tty`, + }, { + Name: []string{"-tt"}, + Description: `-tt: force pty allocation`, + }, { + Name: []string{"-x"}, + Description: `Disable remote exit codes and stdout/stderr separation`, + }}, + }, { + Name: []string{"mdns"}, + Description: `Mdns utils`, + Subcommands: []model.Subcommand{{ + Name: []string{"check"}, + Description: `Check if mdns discovery is available`, + }, { + Name: []string{"services"}, + Description: `List all discovered services`, + }}, + }, { + Name: []string{"push"}, + Description: `Copy local files/directories to device`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "LOCAL", + IsVariadic: true, + }, { + Name: "REMOTE", + }}, + Options: []model.Option{{ + Name: []string{"--sync"}, + Description: `Only push files that are newer on the host than the device`, + }, { + Name: []string{"-n"}, + Description: `Dry run: push files to device without storing to the filesystem`, + }, { + Name: []string{"-z"}, + Description: `Enable compression with a specified algorithm (any, none, brotli)`, + Args: []model.Arg{{ + Name: "ALGORITHM", + Suggestions: []model.Suggestion{{ + Name: []string{`any`}, + }, { + Name: []string{`none`}, + }, { + Name: []string{`brotli`}, + }}, + }}, + }, { + Name: []string{"-Z"}, + Description: `Disable compression`, + }}, + }, { + Name: []string{"sync"}, + Description: `Sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`all`}, + }, { + Name: []string{`data`}, + }, { + Name: []string{`odm`}, + }, { + Name: []string{`oem`}, + }, { + Name: []string{`product`}, + }, { + Name: []string{`system`}, + }, { + Name: []string{`system_ext`}, + }, { + Name: []string{`vendor`}, + }}, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-n"}, + Description: `Dry run: push files to device without storing to the filesystem`, + }, { + Name: []string{"-l"}, + Description: `List files that would be copied, but don't copy them`, + }, { + Name: []string{"-z"}, + Description: `Enable compression with a specified algorithm (any, none, brotli)`, + Args: []model.Arg{{ + Name: "ALGORITHM", + Suggestions: []model.Suggestion{{ + Name: []string{`any`}, + }, { + Name: []string{`none`}, + }, { + Name: []string{`brotli`}, + }}, + }}, + }, { + Name: []string{"-Z"}, + Description: `Disable compression`, + }}, + }, { + Name: []string{"pull"}, + Description: `Copy files/dirs from device`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "REMOTE", + IsVariadic: true, + }, { + Name: "LOCAL", + }}, + Options: []model.Option{{ + Name: []string{"-a"}, + Description: `Preserve file timestamp and mode`, + }, { + Name: []string{"-z"}, + Description: `Enable compression with a specified algorithm (any, none, brotli)`, + Args: []model.Arg{{ + Name: "ALGORITHM", + Suggestions: []model.Suggestion{{ + Name: []string{`any`}, + }, { + Name: []string{`none`}, + }, { + Name: []string{`brotli`}, + }}, + }}, + }, { + Name: []string{"-Z"}, + Description: `Disable compression`, + }}, + }, { + Name: []string{"forward"}, + Description: `Forward connection`, + Args: []model.Arg{{ + Name: "LOCAL -> port|domain|device|pid", + Suggestions: []model.Suggestion{{ + Name: []string{`tcp`}, + }, { + Name: []string{`localabstract`}, + }, { + Name: []string{`localreserved`}, + }, { + Name: []string{`localfilesystem`}, + }, { + Name: []string{`dev`}, + }, { + Name: []string{`jdwp`}, + }, { + Name: []string{`acceptfd`}, + }}, + }, { + Name: "REMOTE -> port|domain|device|pid", + Suggestions: []model.Suggestion{{ + Name: []string{`tcp`}, + }, { + Name: []string{`localabstract`}, + }, { + Name: []string{`localreserved`}, + }, { + Name: []string{`localfilesystem`}, + }, { + Name: []string{`dev`}, + }, { + Name: []string{`jdwp`}, + }, { + Name: []string{`acceptfd`}, + }}, + }}, + Options: []model.Option{{ + Name: []string{"--list"}, + Description: `List all forward socket connections`, + }, { + Name: []string{"--remove"}, + Description: `Remove specific forward socket connection`, + Args: []model.Arg{{ + Name: "LOCAL", + }}, + }, { + Name: []string{"--remove-all"}, + Description: `Remove all forward socket connections`, + }, { + Name: []string{"--no-rebind"}, + Description: `Reversal fails if the specified socket is already bound through a previous reverse command`, + }}, + }, { + Name: []string{"reverse"}, + Description: `Reverse connection`, + Args: []model.Arg{{ + Name: "REMOTE -> port|domain|device|pid", + Suggestions: []model.Suggestion{{ + Name: []string{`tcp`}, + }, { + Name: []string{`localabstract`}, + }, { + Name: []string{`localreserved`}, + }, { + Name: []string{`localfilesystem`}, + }}, + }, { + Name: "LOCAL -> port|domain|device|pid", + Suggestions: []model.Suggestion{{ + Name: []string{`tcp`}, + }, { + Name: []string{`localabstract`}, + }, { + Name: []string{`localreserved`}, + }, { + Name: []string{`localfilesystem`}, + }}, + }}, + Options: []model.Option{{ + Name: []string{"--list"}, + Description: `List all reverse socket connections from device`, + }, { + Name: []string{"--remove"}, + Description: `Remove specific reverse socket connection`, + Args: []model.Arg{{ + Name: "REMOTE", + }}, + }, { + Name: []string{"--remove-all"}, + Description: `Remove all reverse socket connections from device`, + }, { + Name: []string{"--no-rebind"}, + Description: `Reversal fails if the specified socket is already bound through a previous reverse command`, + }}, + }}, + } +} diff --git a/autocomplete/specs/adr.go b/autocomplete/specs/adr.go new file mode 100644 index 0000000..9b090b4 --- /dev/null +++ b/autocomplete/specs/adr.go @@ -0,0 +1,39 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["adr"] = model.Subcommand{ + Name: []string{"adr"}, + Description: `Manage Architectural Design Records`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Create an ADR directory in the root of your project, example usage: ' adr init doc/architecture/decisions'`, + Args: []model.Arg{{ + Name: "Location where to create the ADR, example 'adr init doc/architecture/decisions'", + }}, + }, { + Name: []string{"new"}, + Description: `Create a new, numbered ADR file`, + Args: []model.Arg{{ + Name: "ADR name", + Description: `Name for the ADR separated with '-'`, + }}, + Options: []model.Option{{ + Name: []string{"-s"}, + Description: `Create a new ADR that supercedes a previous one (ADR 9, for example), use the -s option`, + Args: []model.Arg{{ + Name: "number", + Description: `Which ADR to supercede`, + }}, + }}, + }, { + Name: []string{"help"}, + Description: `Built in help`, + }}, + } +} diff --git a/autocomplete/specs/afplay.go b/autocomplete/specs/afplay.go new file mode 100644 index 0000000..a7f3b1c --- /dev/null +++ b/autocomplete/specs/afplay.go @@ -0,0 +1,60 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["afplay"] = model.Subcommand{ + Name: []string{"afplay"}, + Description: `Audio File Play`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "play the song in the path", + }}, + Options: []model.Option{{ + Name: []string{"-v", "--volume"}, + Description: `Set the volume for playback of the file +Apple does not define a value range for this, but it appears to accept +0=silent, 1=normal (default) and then up to 255=Very loud. +The scale is logarithmic and in addition to (not a replacement for) other volume control(s)`, + Args: []model.Arg{{ + Name: "0 (silent) - 1 (normal) - 255 (very loud)", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Print help`, + }, { + Name: []string{"--leaks"}, + Description: `Run leaks analysis`, + }, { + Name: []string{"-t", "--time"}, + Description: `Play for "TIME" seconds +>0 and < duration of "audio_file"`, + Args: []model.Arg{{ + Name: "TIME", + Description: `A value greater than 0 but lower than the audio file length`, + }}, + }, { + Name: []string{"-r", "--rate"}, + Description: `Play at playback "RATE". +practical limits are about 0.4 (slower) to 3.0 (faster)`, + Args: []model.Arg{{ + Name: "RATE", + Description: `0.4 (slower) - 3.0 (faster)`, + }}, + }, { + Name: []string{"-q", "--rQuality"}, + Description: `Set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)`, + Args: []model.Arg{{ + Name: "QUALITY", + Description: `0 (low) -1 (high)`, + }}, + }, { + Name: []string{"-d", "--debug"}, + Description: `Debug print output`, + }}, + } +} diff --git a/autocomplete/specs/aftman.go b/autocomplete/specs/aftman.go new file mode 100644 index 0000000..78af7bd --- /dev/null +++ b/autocomplete/specs/aftman.go @@ -0,0 +1,61 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["aftman"] = model.Subcommand{ + Name: []string{"aftman"}, + Description: `A toolchain manager, enabling project-specific command line tools`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for aftman`, + }, { + Name: []string{"--version", "-V"}, + Description: `Show aftman's version`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Creates a new aftman.toml file in the given directory`, + Args: []model.Arg{{ + Name: "path", + Description: `The folder to initialize the manifest file in. Defaults to the current directory`, + IsOptional: true, + }}, + }, { + Name: []string{"add"}, + Description: `Adds a new tool to Aftman and installs it`, + Args: []model.Arg{{ + Name: "tool", + Description: `What tool and version to install`, + }, { + Name: "alias", + Description: `The name that will be used to run the tool`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--global"}, + Description: `Install this tool globally`, + }}, + }, { + Name: []string{"install"}, + Description: `Install all tools listed in aftman.toml files based on your current directory`, + Options: []model.Option{{ + Name: []string{"--no-trust-check"}, + Description: `All tools will be installed, regardless of whether they are known`, + }}, + }, { + Name: []string{"self-install"}, + Description: `Installs Aftman, upgrades any references to Aftman, and adds aftman to your system PATH if supported`, + }, { + Name: []string{"trust"}, + Args: []model.Arg{{ + Name: "tool", + Description: `The tool to mark as trusted`, + }}, + }}, + } +} diff --git a/autocomplete/specs/ag.go b/autocomplete/specs/ag.go new file mode 100644 index 0000000..4ade148 --- /dev/null +++ b/autocomplete/specs/ag.go @@ -0,0 +1,309 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ag"] = model.Subcommand{ + Name: []string{"ag"}, + Description: `Recursively search for PATTERN in PATH. Like grep or ack, but faster`, + Args: []model.Arg{{ + Name: "pattern", + IsOptional: true, + }, { + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--ackmate"}, + Description: `Output results in a format parseable by AckMate https://github.com/protocool/AckMate`, + }, { + Name: []string{"--affinity"}, + Description: `Set thread affinity (if platform supports it)`, + ExclusiveOn: []string{"--noaffinity"}, + }, { + Name: []string{"--noaffinity"}, + Description: `Don't set thread affinity (if platform supports it)`, + ExclusiveOn: []string{"--affinity"}, + }, { + Name: []string{"-a", "--all-types"}, + Description: `Search all files. This doesn't include hidden files, and doesn't respect any ignore files`, + }, { + Name: []string{"-A", "--after"}, + Description: `Print lines after match`, + Args: []model.Arg{{ + Name: "LINES", + Description: `The amount of lines`, + IsOptional: true, + }}, + }, { + Name: []string{"-B", "--before"}, + Description: `Print lines before match`, + Args: []model.Arg{{ + Name: "LINES", + Description: `The amount of lines`, + IsOptional: true, + }}, + }, { + Name: []string{"--nobreak"}, + Description: `Print a newline between matches in different files. Enabled by default`, + }, { + Name: []string{"-c", "--count"}, + Description: `Only print the number of matches in each file. Note: This is the number of matches, not the number of matching lines. Pipe output to wc -l if you want the number of matching lines`, + }, { + Name: []string{"--color"}, + Description: `Print color codes in results`, + ExclusiveOn: []string{"--nocolor"}, + }, { + Name: []string{"--nocolor"}, + Description: `Don't print color codes in results`, + ExclusiveOn: []string{"--color"}, + }, { + Name: []string{"--color-line-number"}, + Description: `Color codes for line numbers. Default is 1;33`, + }, { + Name: []string{"--color-match"}, + Description: `Color codes for result match numbers. Default is 30;43`, + }, { + Name: []string{"--color-path"}, + Description: `Color codes for path names. Default is 1;32`, + }, { + Name: []string{"--column"}, + Description: `Print column numbers in results`, + }, { + Name: []string{"-C", "--context"}, + Description: `Print lines before and after matches`, + Args: []model.Arg{{ + Name: "LINES", + Description: `The amount of lines`, + IsOptional: true, + }}, + }, { + Name: []string{"-D", "--debug"}, + Description: `Output ridiculous amounts of debugging info. Not useful unless you're actually debugging`, + }, { + Name: []string{"--depth"}, + Description: `Search up to NUM directories deep, -1 for unlimited`, + Args: []model.Arg{{ + Name: "NUM", + Description: `The depth in directories to search`, + IsOptional: true, + }}, + }, { + Name: []string{"--filename"}, + Description: `Print file names`, + ExclusiveOn: []string{"--nofilename"}, + }, { + Name: []string{"--nofilename"}, + Description: `Don't print file names`, + ExclusiveOn: []string{"--filename"}, + }, { + Name: []string{"-f", "--follow"}, + Description: `Follow symlinks`, + ExclusiveOn: []string{"--nofollow"}, + }, { + Name: []string{"--nofollow"}, + Description: `Don't follow symlinks`, + ExclusiveOn: []string{"-f", "--follow"}, + }, { + Name: []string{"-F", "--fixed-strings"}, + Description: `Alias for --literal for compatibility with grep`, + }, { + Name: []string{"--group"}, + Description: `Lumps multiple matches in the same file together, and presents them under a single occurrence of the filename`, + ExclusiveOn: []string{"--nogroup"}, + }, { + Name: []string{"--nogroup"}, + Description: `Refrains from lumping matches in the same file together, and instead places the filename at the start of each match line`, + ExclusiveOn: []string{"--group"}, + }, { + Name: []string{"-g"}, + Description: `Print filenames matching PATTERN`, + Args: []model.Arg{{ + Name: "PATTERN", + Description: `The pattern to look for`, + }}, + }, { + Name: []string{"-G", "--file-search-regex"}, + Description: `Only search files whose names match PATTERN`, + Args: []model.Arg{{ + Name: "PATTERN", + Description: `The pattern to look for`, + }}, + }, { + Name: []string{"-H", "--heading"}, + Description: `Print filenames above matching contents`, + ExclusiveOn: []string{"--noheading"}, + }, { + Name: []string{"--noheading"}, + Description: `Don't print filenames above matching contents`, + ExclusiveOn: []string{"-H", "--heading"}, + }, { + Name: []string{"--hidden"}, + Description: `Search hidden files. This option obeys ignored files`, + }, { + Name: []string{"--ignore"}, + Description: `Ignore files/directories whose names match this pattern. Literal file and directory names are also allowed`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths, model.TemplateFolders}, + Name: "PATTERN", + Description: `The pattern to look for`, + }}, + }, { + Name: []string{"--ignore-dir"}, + Description: `Alias for --ignore for compatibility with ack`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths, model.TemplateFolders}, + Name: "NAME", + Description: `The directory to ignore`, + }}, + }, { + Name: []string{"-i", "--ignore-case"}, + Description: `Match case-insensitively`, + }, { + Name: []string{"-l", "--files-with-matches"}, + Description: `Only print the names of files containing matches, not the matching lines. An empty query will print all files that would be searched`, + }, { + Name: []string{"-L", "--files-without-matches"}, + Description: `Only print the names of files that don't contain matches`, + }, { + Name: []string{"--list-file-types"}, + Description: `See FILE TYPES below`, + }, { + Name: []string{"-m", "--max-count"}, + Description: `Skip the rest of a file after NUM matches. Default is 0, which never skips`, + Args: []model.Arg{{ + Name: "NUM", + Description: `The number of matches to skip after`, + IsOptional: true, + }}, + }, { + Name: []string{"--mmap"}, + Description: `Use of memory-mapped I/O. Defaults to true on platforms where mmap() is faster than read(). (All but macOS.)`, + ExclusiveOn: []string{"--nommap"}, + }, { + Name: []string{"--nommap"}, + Description: `Don't use of memory-mapped I/O. Defaults to true on platforms where mmap() is faster than read(). (All but macOS.)`, + ExclusiveOn: []string{"--mmap"}, + }, { + Name: []string{"--multiline"}, + Description: `Match regexes across newlines`, + ExclusiveOn: []string{"--nomultiline"}, + }, { + Name: []string{"--nomultiline"}, + Description: `Don't match regexes across newlines`, + ExclusiveOn: []string{"--multiline"}, + }, { + Name: []string{"-n", "--norecurse"}, + Description: `Don't recurse into directories`, + ExclusiveOn: []string{"-r", "--recurse"}, + }, { + Name: []string{"--numbers"}, + Description: `Print line numbers`, + ExclusiveOn: []string{"--nonumbers"}, + }, { + Name: []string{"--nonumbers"}, + Description: `Don't print line numbers`, + ExclusiveOn: []string{"--numbers"}, + }, { + Name: []string{"-o", "--only-matching"}, + Description: `Print only the matching part of the lines`, + }, { + Name: []string{"--one-device"}, + Description: `When recursing directories, don't scan dirs that reside on other storage devices. This lets you avoid scanning slow network mounts. This feature is not supported on all platforms`, + }, { + Name: []string{"-p", "--path-to-ignore"}, + Description: `Provide a path to a specific .ignore file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "STRING", + Description: `The path to the ignore file`, + }}, + }, { + Name: []string{"--pager"}, + Description: `Use a pager such as less. Use --nopager to override. This option is also ignored if output is piped to another program`, + Args: []model.Arg{{ + Name: "COMMAND", + Description: `The pager`, + Suggestions: []model.Suggestion{{Name: []string{`more`}}, {Name: []string{`less`}}, {Name: []string{`most`}}}, + }}, + }, { + Name: []string{"--parallel"}, + Description: `Parse the input stream as a search term, not data to search. This is meant to be used with tools such as GNU parallel. For example: echo "foo +bar +baz" | parallel "ag {} ." will run 3 instances of ag, searching the current directory for "foo", "bar", and "baz"`, + }, { + Name: []string{"--print-long-lines"}, + Description: `Print matches on very long lines (> 2k characters by default)`, + }, { + Name: []string{"--passthrough", "--passthru"}, + Description: `When searching a stream, print all lines even if they don't match`, + }, { + Name: []string{"-Q", "--literal"}, + Description: `Do not parse PATTERN as a regular expression. Try to match it literally`, + }, { + Name: []string{"-r", "--recurse"}, + Description: `Recurse into directories when searching. Default is true`, + ExclusiveOn: []string{"-n", "--norecurse"}, + }, { + Name: []string{"-s", "--case-sensitive"}, + Description: `Match case-sensitively`, + }, { + Name: []string{"-S", "--smart-case"}, + Description: `Match case-sensitively if there are any uppercase letters in PATTERN, case-insensitively otherwise. Enabled by default`, + }, { + Name: []string{"--search-binary"}, + Description: `Search binary files for matches`, + }, { + Name: []string{"--silent"}, + Description: `Suppress all log messages, including errors`, + }, { + Name: []string{"--stats"}, + Description: `Print stats (files scanned, time taken, etc)`, + }, { + Name: []string{"--stats-only"}, + Description: `Print stats (files scanned, time taken, etc) and nothing else`, + }, { + Name: []string{"-t", "--all-text"}, + Description: `Search all text files. This doesn't include hidden files`, + }, { + Name: []string{"-u", "--unrestricted"}, + Description: `Search all files. This ignores .ignore, .gitignore, etc. It searches binary and hidden files as well`, + }, { + Name: []string{"-U", "--skip-vcs-ignores"}, + Description: `Ignore VCS ignore files (.gitignore, .hgignore), but still use .ignore`, + }, { + Name: []string{"-v", "--invert-match"}, + Description: `Match every line not containing the specified pattern`, + }, { + Name: []string{"-V", "--version"}, + Description: `Print version info`, + }, { + Name: []string{"--vimgrep"}, + Description: `Output results in the same form as Vim's :vimgrep /pattern/g Here is a ~/.vimrc configuration example: set grepprg=ag --vimgrep $* set grepformat=%f:%l:%c:%m Then use :grep to grep for something. Then use :copen, :cn, :cp, etc. to navigate through the matches`, + }, { + Name: []string{"-w", "--word-regexp"}, + Description: `Only match whole words`, + }, { + Name: []string{"--workers"}, + Description: `Use NUM worker threads. Default is the number of CPU cores, with a max of 8`, + Args: []model.Arg{{ + Name: "NUM", + Description: `The NUM of worker threads`, + IsOptional: true, + }}, + }, { + Name: []string{"-z", "--search-zip"}, + Description: `Search contents of compressed files. Currently, gz and xz are supported. This option requires that ag is built with lzma and zlib`, + }, { + Name: []string{"-0", "--null", "--print0"}, + Description: `Separate the filenames with \\0, rather than +: this allows xargs -0 to correctly process filenames containing spaces or newlines`, + }}, + } +} diff --git a/autocomplete/specs/agrippa.go b/autocomplete/specs/agrippa.go new file mode 100644 index 0000000..786d235 --- /dev/null +++ b/autocomplete/specs/agrippa.go @@ -0,0 +1,163 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["agrippa"] = model.Subcommand{ + Name: []string{"agrippa"}, + Description: ``, + Args: []model.Arg{{ + Name: "component's name", + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Generates a basic .agripparc.json file, with some default values for options that agrippa accepts`, + }, { + Name: []string{"generate", "gen"}, + Description: `This is the core of the CLI - this command generates a new React component, based on the name and options passed to it`, + Args: []model.Arg{{ + Name: "component", + }}, + Options: []model.Option{{ + Name: []string{"--props"}, + Description: `Determines which prop declaration/validation solution to generate. Defaults to "ts" if "typescript" flag is "true", "none" otherwise`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`ts`}, + Description: `Generate a TypeScript interface for props (this requires the typescript option to be true)`, + }, { + Name: []string{`jsdoc`}, + Description: `Generates JSDoc type hints for props (a @typedef and a @type)`, + }, { + Name: []string{`prop-types`}, + Description: `Generates prop-types for props`, + }, { + Name: []string{`none`}, + Description: `Generates no props`, + }}, + }}, + }, { + Name: []string{"--children"}, + Description: `Whether the component is meant to have children or not. Defaults to "false"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--typescript", "--ts"}, + Description: `Option to generate Typescript components, defaults to "true" if the CLI manages to find a "tsconfig.json" file, false otherwise`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--import-react"}, + Description: `Option to import React at the top of the component. Defaults to "true" if the CLI manages to find a "tsconfig.json" file and it has a "jsx" field under "compilerOptions" with "react-jsx" or "react-jsxdev" as the value, "false" otherwise`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--export-type"}, + Description: `Whether to export the component as a named export or a default export. Defaults to "named"`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`named`}, + }, { + Name: []string{`default`}, + }}, + }}, + }, { + Name: []string{"--declaration"}, + Description: `Whether to declare the component as a "const" with an arrow function, or as a "function" declaration. Defaults to "const"`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`const`}, + }, { + Name: []string{`function`}, + }}, + }}, + }, { + Name: []string{"--memo"}, + Description: `Generates a component as a memo component. Defaults to "false"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--react-native"}, + Description: `Generates a React Native component. Defaults to "true" if "react-native" is a dependency in the project's "package.json", "false" otherwise`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--styling"}, + Description: `Which styling solution to generate. Defaults to "none"`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`none`}, + Description: `Generates no style`, + }, { + Name: []string{`css`}, + Description: `Generates a "css" file`, + }, { + Name: []string{`scss`}, + Description: `Generates a "scss" file`, + }, { + Name: []string{`jss`}, + Description: `Generates a "useStyles" hook above the component with "react-jss"'s "createUseStyles"`, + }, { + Name: []string{`mui`}, + Description: `Generates a "useStyles" hook above the component with "material-ui"'s "makeStyles". Note that this generates styles for "material-ui" v4`, + }, { + Name: []string{`react-native`}, + Description: `Generates a React Native "StyleSheet"`, + }}, + }}, + }, { + Name: []string{"--styling-module"}, + Description: `Whether to generate a scoped "module" stylesheet. This option is only relevant for "css" or "scss" styling, and will be ignored for other values. Defaults to "true"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--base-dir"}, + Description: `Path to a base directory which components should be generated inside of (directly or nested). Defaults to the current working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + IsOptional: true, + IsVariadic: true, + }}, + }, { + Name: []string{"--dest", "--destination"}, + Description: `Allows the user to generate the component at a path relative to "baseDir". It's mostly used to augment or modify the generation path in the command-line when creating the component itself. "dest" is resolved relative to "baseDir"`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + IsOptional: true, + IsVariadic: true, + }}, + }, { + Name: []string{"--allow-outside-base"}, + Description: `Overrides default Agrippa behaviour to allow components to be specified outside "baseDir". Defaults to current working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + IsOptional: true, + IsVariadic: true, + }}, + }, { + Name: []string{"--flat"}, + Description: `By default, Agrippa generates a dedicated directory for the generated component; this directory has the same name as the component, and will contain the component file (as "index.tsx" or "index.jsx"), and the style file (if one is generated). Defaults to "false"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--separate-index"}, + Description: `In the "separateIndex" generation scheme, Agrippa creates one file for the component's code, and one "index" file, whose purpose is to allow importing exports from the component's directory elegantly (the import path can then be "///Component" instead of "///Component/Component"). Defaults to "true"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--post-command", "--postCommand"}, + Description: `Allows a custom command to be run after having generated a component. This allows for some cool functionality, such as opening an IDE at the newly generated files automatically or linting them. Defaults to "none"`, + Args: []model.Arg{{ + IsCommand: true, + }}, + }, { + Name: []string{"--overwrite"}, + Description: `By default, Agrippa prevents the generation of a component over an existing components, to prevent a loss of code. "--overwrite" tells Agrippa to replace existing files, if any are found. Defaults to "false"`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--debug"}, + Description: `The "debug" flag makes Agrippa print out additional debug information. It's quite useful when debugging. Defaults to "false"`, + Args: []model.Arg{{}}, + }}, + }}, + } +} diff --git a/autocomplete/specs/airflow.go b/autocomplete/specs/airflow.go new file mode 100644 index 0000000..57d400e --- /dev/null +++ b/autocomplete/specs/airflow.go @@ -0,0 +1,2702 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["airflow"] = model.Subcommand{ + Name: []string{"airflow"}, + Description: `Subcommand`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"celery"}, + Description: `Celery components`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"flower"}, + Description: `Start a Celery Flower`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-A", "--basic-auth"}, + Description: `Securing Flower with Basic Authentication. Accepts user:password pairs separated by a comma. Example: flower_basic_auth = user1:password1,user2:password2`, + Args: []model.Arg{{ + Name: "basic_auth", + Description: `Securing Flower with Basic Authentication. Accepts user:password pairs separated by a comma. Example: flower_basic_auth = user1:password1,user2:password2`, + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"-a", "--broker-api"}, + Description: `Broker API`, + Args: []model.Arg{{ + Name: "broker_api", + Description: `Broker API`, + }}, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-c", "--flower-conf"}, + Description: `Configuration file for flower`, + Args: []model.Arg{{ + Name: "flower_conf", + Description: `Configuration file for flower`, + }}, + }, { + Name: []string{"-H", "--hostname"}, + Description: `Set the hostname on which to run the server`, + Args: []model.Arg{{ + Name: "hostname", + Description: `Set the hostname on which to run the server`, + }}, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"-p", "--port"}, + Description: `The port on which to run the server`, + Args: []model.Arg{{ + Name: "port", + Description: `The port on which to run the server`, + }}, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }, { + Name: []string{"-u", "--url-prefix"}, + Description: `URL prefix for Flower`, + Args: []model.Arg{{ + Name: "url_prefix", + Description: `URL prefix for Flower`, + }}, + }}, + }, { + Name: []string{"stop"}, + Description: `Stop the Celery worker gracefully`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }}, + }, { + Name: []string{"worker"}, + Description: `Start a Celery worker node`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-a", "--autoscale"}, + Description: `Minimum and Maximum number of worker to autoscale`, + Args: []model.Arg{{ + Name: "autoscale", + Description: `Minimum and Maximum number of worker to autoscale`, + }}, + }, { + Name: []string{"-H", "--celery-hostname"}, + Description: `Set the hostname of celery worker if you have multiple workers on a single machine`, + Args: []model.Arg{{ + Name: "celery_hostname", + Description: `Set the hostname of celery worker if you have multiple workers on a single machine`, + }}, + }, { + Name: []string{"-c", "--concurrency"}, + Description: `The number of worker processes`, + Args: []model.Arg{{ + Name: "concurrency", + Description: `The number of worker processes`, + }}, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"-q", "--queues"}, + Description: `Comma delimited list of queues to serve`, + Args: []model.Arg{{ + Name: "queues", + Description: `Comma delimited list of queues to serve`, + }}, + }, { + Name: []string{"-s", "--skip-serve-logs"}, + Description: `Don't start the serve logs process along with the workers`, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }, { + Name: []string{"-u", "--umask"}, + Description: `Set the umask of celery worker in daemon mode`, + Args: []model.Arg{{ + Name: "umask", + Description: `Set the umask of celery worker in daemon mode`, + }}, + }, { + Name: []string{"--without-gossip"}, + Description: `Don't subscribe to other workers events`, + }, { + Name: []string{"--without-mingle"}, + Description: `Don't synchronize with other workers at start-up`, + }}, + }}, + }, { + Name: []string{"cheat-sheet"}, + Description: `Display cheat sheet`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"config"}, + Description: `View configuration`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"get-value"}, + Description: `Print the value of the configuration`, + Args: []model.Arg{{ + Name: "section", + Description: `The section name`, + }, { + Name: "option", + Description: `The option name`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"list"}, + Description: `List options for the configuration`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--color"}, + Description: `Do emit colored output (default: auto)`, + Args: []model.Arg{{ + Name: "color", + Description: `Do emit colored output (default: auto)`, + Suggestions: []model.Suggestion{{Name: []string{`off`}}, {Name: []string{`auto`}}, {Name: []string{`on`}}}, + }}, + }}, + }}, + }, { + Name: []string{"connections"}, + Description: `Manage connections`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Add a connection`, + Args: []model.Arg{{ + Name: "conn_id", + Description: `Connection id, required to get/add/delete a connection`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--conn-description"}, + Description: `Connection description, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_description", + Description: `Connection description, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-extra"}, + Description: `Connection "Extra" field, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_extra", + Description: `Connection "Extra" field, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-host"}, + Description: `Connection host, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_host", + Description: `Connection host, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-json"}, + Description: `Connection JSON, required to add a connection using JSON representation`, + Args: []model.Arg{{ + Name: "conn_json", + Description: `Connection JSON, required to add a connection using JSON representation`, + }}, + }, { + Name: []string{"--conn-login"}, + Description: `Connection login, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_login", + Description: `Connection login, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-password"}, + Description: `Connection password, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_password", + Description: `Connection password, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-port"}, + Description: `Connection port, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_port", + Description: `Connection port, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-schema"}, + Description: `Connection schema, optional when adding a connection`, + Args: []model.Arg{{ + Name: "conn_schema", + Description: `Connection schema, optional when adding a connection`, + }}, + }, { + Name: []string{"--conn-type"}, + Description: `Connection type, required to add a connection without conn_uri`, + Args: []model.Arg{{ + Name: "conn_type", + Description: `Connection type, required to add a connection without conn_uri`, + }}, + }, { + Name: []string{"--conn-uri"}, + Description: `Connection URI, required to add a connection without conn_type`, + Args: []model.Arg{{ + Name: "conn_uri", + Description: `Connection URI, required to add a connection without conn_type`, + }}, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a connection`, + Args: []model.Arg{{ + Name: "conn_id", + Description: `Connection id, required to get/add/delete a connection`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--color"}, + Description: `Do emit colored output (default: auto)`, + Args: []model.Arg{{ + Name: "color", + Description: `Do emit colored output (default: auto)`, + Suggestions: []model.Suggestion{{Name: []string{`off`}}, {Name: []string{`auto`}}, {Name: []string{`on`}}}, + }}, + }}, + }, { + Name: []string{"export"}, + Description: `Export all connections`, + Args: []model.Arg{{ + Name: "file", + Description: `Output file path for exporting the connections`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--file-format"}, + Description: `File format for the export`, + Args: []model.Arg{{ + Name: "file_format", + Description: `File format for the export`, + Suggestions: []model.Suggestion{{Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`env`}}}, + }}, + }, { + Name: []string{"--format"}, + Description: `Deprecated -- use "--file-format" instead. File format to use for the export`, + Args: []model.Arg{{ + Name: "format", + Description: `Deprecated -- use "--file-format" instead. File format to use for the export`, + Suggestions: []model.Suggestion{{Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`env`}}}, + }}, + }, { + Name: []string{"--serialization-format"}, + Description: `When exporting as ".env" format, defines how connections should be serialized. Default is "uri"`, + Args: []model.Arg{{ + Name: "serialization_format", + Description: `When exporting as ".env" format, defines how connections should be serialized. Default is "uri"`, + Suggestions: []model.Suggestion{{Name: []string{`json`}}, {Name: []string{`uri`}}}, + }}, + }}, + }, { + Name: []string{"get"}, + Description: `Get a connection`, + Args: []model.Arg{{ + Name: "conn_id", + Description: `Connection id, required to get/add/delete a connection`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--color"}, + Description: `Do emit colored output (default: auto)`, + Args: []model.Arg{{ + Name: "color", + Description: `Do emit colored output (default: auto)`, + Suggestions: []model.Suggestion{{Name: []string{`off`}}, {Name: []string{`auto`}}, {Name: []string{`on`}}}, + }}, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"import"}, + Description: `Import connections from a file`, + Args: []model.Arg{{ + Name: "file", + Description: `Import connections from a file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"list"}, + Description: `List connections`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--conn-id"}, + Description: `If passed, only items with the specified connection ID will be displayed`, + Args: []model.Arg{{ + Name: "conn_id", + Description: `If passed, only items with the specified connection ID will be displayed`, + }}, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }}, + }, { + Name: []string{"dag-processor"}, + Description: `Start a standalone Dag Processor instance`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-p", "--do-pickle"}, + Description: `Attempt to pickle the DAG object to send over to the workers, instead of letting workers run their version of the code`, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"-n", "--num-runs"}, + Description: `Set the number of runs to execute before exiting`, + Args: []model.Arg{{ + Name: "num_runs", + Description: `Set the number of runs to execute before exiting`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"dags"}, + Description: `Manage DAGs`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"backfill"}, + Description: `Run subsections of a DAG for a specified date range`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-c", "--conf"}, + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + Args: []model.Arg{{ + Name: "conf", + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + }}, + }, { + Name: []string{"--continue-on-failures"}, + Description: `If set, the backfill will keep going even if some of the tasks failed`, + }, { + Name: []string{"--delay-on-limit"}, + Description: `Amount of time in seconds to wait when the limit on maximum active dag runs (max_active_runs) has been reached before trying to execute a dag run again`, + Args: []model.Arg{{ + Name: "delay_on_limit", + Description: `Amount of time in seconds to wait when the limit on maximum active dag runs (max_active_runs) has been reached before trying to execute a dag run again`, + }}, + }, { + Name: []string{"-x", "--donot-pickle"}, + Description: `Do not attempt to pickle the DAG object to send over to the workers, just tell the workers to run their version of the code`, + }, { + Name: []string{"-n", "--dry-run"}, + Description: `Perform a dry run for each task. Only renders Template Fields for each task, nothing else`, + }, { + Name: []string{"-e", "--end-date"}, + Description: `Override end_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "end_date", + Description: `Override end_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"-i", "--ignore-dependencies"}, + Description: `Skip upstream tasks, run only the tasks matching the regexp. Only works in conjunction with task_regex`, + }, { + Name: []string{"-I", "--ignore-first-depends-on-past"}, + Description: `Ignores depends_on_past dependencies for the first set of tasks only (subsequent executions in the backfill DO respect depends_on_past)`, + }, { + Name: []string{"-l", "--local"}, + Description: `Run the task using the LocalExecutor`, + }, { + Name: []string{"-m", "--mark-success"}, + Description: `Mark jobs as succeeded without running them`, + }, { + Name: []string{"--pool"}, + Description: `Resource pool to use`, + Args: []model.Arg{{ + Name: "pool", + Description: `Resource pool to use`, + }}, + }, { + Name: []string{"--rerun-failed-tasks"}, + Description: `If set, the backfill will auto-rerun all the failed tasks for the backfill date range instead of throwing exceptions`, + }, { + Name: []string{"--reset-dagruns"}, + Description: `If set, the backfill will delete existing backfill-related DAG runs and start anew with fresh, running DAG runs`, + }, { + Name: []string{"-B", "--run-backwards"}, + Description: `If set, the backfill will run tasks from the most recent day first. if there are tasks that depend_on_past this option will throw an exception`, + }, { + Name: []string{"-s", "--start-date"}, + Description: `Override start_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "start_date", + Description: `Override start_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-t", "--task-regex"}, + Description: `The regex to filter specific task_ids to backfill (optional)`, + Args: []model.Arg{{ + Name: "task_regex", + Description: `The regex to filter specific task_ids to backfill (optional)`, + }}, + }, { + Name: []string{"--treat-dag-as-regex"}, + Description: `If set, dag_id will be treated as regex instead of an exact string`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete all DB records related to the specified DAG`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"list"}, + Description: `List all the DAGs`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list-import-errors"}, + Description: `List all the DAGs that have import errors`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list-jobs"}, + Description: `List the jobs`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-d", "--dag-id"}, + Description: `The id of the dag`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + }, { + Name: []string{"--limit"}, + Description: `Return a limited number of records`, + Args: []model.Arg{{ + Name: "limit", + Description: `Return a limited number of records`, + }}, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"--state"}, + Description: `Only list the dag runs corresponding to the state`, + Args: []model.Arg{{ + Name: "state", + Description: `Only list the dag runs corresponding to the state`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list-runs"}, + Description: `List DAG runs given a DAG id`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-d", "--dag-id"}, + Description: `The id of the dag`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + }, { + Name: []string{"-e", "--end-date"}, + Description: `Override end_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "end_date", + Description: `Override end_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"--no-backfill"}, + Description: `Filter all the backfill dagruns given the dag id`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-s", "--start-date"}, + Description: `Override start_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "start_date", + Description: `Override start_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"--state"}, + Description: `Only list the dag runs corresponding to the state`, + Args: []model.Arg{{ + Name: "state", + Description: `Only list the dag runs corresponding to the state`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"next-execution"}, + Description: `Get the next execution datetimes of a DAG`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-n", "--num-executions"}, + Description: `The number of next execution datetimes to show`, + Args: []model.Arg{{ + Name: "num_executions", + Description: `The number of next execution datetimes to show`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"pause"}, + Description: `Pause a DAG`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"report"}, + Description: `Show DagBag loading report`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"reserialize"}, + Description: `Reserialize all DAGs by parsing the DagBag files`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--clear-only"}, + Description: `If passed, serialized DAGs will be cleared but not reserialized`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"show"}, + Description: `Displays DAG's tasks with their dependencies`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--imgcat"}, + Description: `Displays graph using the imgcat tool`, + }, { + Name: []string{"-s", "--save"}, + Description: `Saves the result to the indicated file`, + Args: []model.Arg{{ + Name: "save", + Description: `Saves the result to the indicated file`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"show-dependencies"}, + Description: `Displays DAGs with their dependencies`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--imgcat"}, + Description: `Displays graph using the imgcat tool`, + }, { + Name: []string{"-s", "--save"}, + Description: `Saves the result to the indicated file`, + Args: []model.Arg{{ + Name: "save", + Description: `Saves the result to the indicated file`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"state"}, + Description: `Get the status of a dag run`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "execution_date", + Description: `The execution date of the DAG`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"test"}, + Description: `Execute one single DagRun`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "execution_date", + Description: `The execution date of the DAG (optional)`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-c", "--conf"}, + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + Args: []model.Arg{{ + Name: "conf", + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + }}, + }, { + Name: []string{"--imgcat-dagrun"}, + Description: `After completing the dag run, prints a diagram on the screen for the current DAG Run using the imgcat tool. +`, + }, { + Name: []string{"--save-dagrun"}, + Description: `After completing the backfill, saves the diagram for current DAG Run to the indicated file. + +`, + Args: []model.Arg{{ + Name: "save_dagrun", + Description: `After completing the backfill, saves the diagram for current DAG Run to the indicated file. + +`, + }}, + }, { + Name: []string{"--show-dagrun"}, + Description: `After completing the backfill, shows the diagram for current DAG Run. + +The diagram is in DOT language +`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"trigger"}, + Description: `Trigger a DAG run`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-c", "--conf"}, + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + Args: []model.Arg{{ + Name: "conf", + Description: `JSON string that gets pickled into the DagRun's conf attribute`, + }}, + }, { + Name: []string{"-e", "--exec-date"}, + Description: `The execution date of the DAG`, + Args: []model.Arg{{ + Name: "exec_date", + Description: `The execution date of the DAG`, + }}, + }, { + Name: []string{"-r", "--run-id"}, + Description: `Helps to identify this run`, + Args: []model.Arg{{ + Name: "run_id", + Description: `Helps to identify this run`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"unpause"}, + Description: `Resume a paused DAG`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }}, + }, { + Name: []string{"db"}, + Description: `Database operations`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"check"}, + Description: `Check if the database can be reached`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"check-migrations"}, + Description: `Check if migration have finished`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-t", "--migration-wait-timeout"}, + Description: `Timeout to wait for db to migrate`, + Args: []model.Arg{{ + Name: "migration_wait_timeout", + Description: `Timeout to wait for db to migrate`, + }}, + }}, + }, { + Name: []string{"clean"}, + Description: `Purge old records in metastore tables`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--clean-before-timestamp"}, + Description: `The date or timestamp before which data should be purged. +If no timezone info is supplied then dates are assumed to be in airflow default timezone. +Example: '2022-01-01 00:00:00+01:00'`, + Args: []model.Arg{{ + Name: "clean_before_timestamp", + Description: `The date or timestamp before which data should be purged. +If no timezone info is supplied then dates are assumed to be in airflow default timezone. +Example: '2022-01-01 00:00:00+01:00'`, + }}, + }, { + Name: []string{"--dry-run"}, + Description: `Perform a dry run`, + }, { + Name: []string{"--skip-archive"}, + Description: `Don't preserve purged records in an archive table`, + }, { + Name: []string{"-t", "--tables"}, + Description: `Table names to perform maintenance on (use comma-separated list). +Options: ['callback_request', 'celery_taskmeta', 'celery_tasksetmeta', 'dag', 'dag_run', 'dataset_event', 'import_error', 'job', 'log', 'rendered_task_instance_fields', 'sla_miss', 'task_fail', 'task_instance', 'task_reschedule', 'xcom']`, + Args: []model.Arg{{ + Name: "tables", + Description: `Table names to perform maintenance on (use comma-separated list). +Options: ['callback_request', 'celery_taskmeta', 'celery_tasksetmeta', 'dag', 'dag_run', 'dataset_event', 'import_error', 'job', 'log', 'rendered_task_instance_fields', 'sla_miss', 'task_fail', 'task_instance', 'task_reschedule', 'xcom']`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"downgrade"}, + Description: `Downgrade the schema of the metadata database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--from-revision"}, + Description: `(Optional) If generating sql, may supply a *from* Alembic revision`, + Args: []model.Arg{{ + Name: "from_revision", + Description: `(Optional) If generating sql, may supply a *from* Alembic revision`, + }}, + }, { + Name: []string{"--from-version"}, + Description: `(Optional) If generating sql, may supply a *from* version`, + Args: []model.Arg{{ + Name: "from_version", + Description: `(Optional) If generating sql, may supply a *from* version`, + }}, + }, { + Name: []string{"-s", "--show-sql-only"}, + Description: `Don't actually run migrations; just print out sql scripts for offline migration. Required if using either "--from-version" or "--from-version"`, + }, { + Name: []string{"-r", "--to-revision"}, + Description: `The Alembic revision to downgrade to. Note: must provide either "--to-revision" or "--to-version"`, + Args: []model.Arg{{ + Name: "to_revision", + Description: `The Alembic revision to downgrade to. Note: must provide either "--to-revision" or "--to-version"`, + }}, + }, { + Name: []string{"-n", "--to-version"}, + Description: `(Optional) If provided, only run migrations up to this version`, + Args: []model.Arg{{ + Name: "to_version", + Description: `(Optional) If provided, only run migrations up to this version`, + }}, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"init"}, + Description: `Initialize the metadata database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"reset"}, + Description: `Burn down and rebuild the metadata database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-s", "--skip-init"}, + Description: `Only remove tables; do not perform db init`, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"shell"}, + Description: `Runs a shell to access the database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"upgrade"}, + Description: `Upgrade the metadata database to latest version`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--from-revision"}, + Description: `(Optional) If generating sql, may supply a *from* Alembic revision`, + Args: []model.Arg{{ + Name: "from_revision", + Description: `(Optional) If generating sql, may supply a *from* Alembic revision`, + }}, + }, { + Name: []string{"--from-version"}, + Description: `(Optional) If generating sql, may supply a *from* version`, + Args: []model.Arg{{ + Name: "from_version", + Description: `(Optional) If generating sql, may supply a *from* version`, + }}, + }, { + Name: []string{"-s", "--show-sql-only"}, + Description: `Don't actually run migrations; just print out sql scripts for offline migration. Required if using either "--from-version" or "--from-version"`, + }, { + Name: []string{"-r", "--to-revision"}, + Description: `(Optional) If provided, only run migrations up to and including this Alembic revision`, + Args: []model.Arg{{ + Name: "to_revision", + Description: `(Optional) If provided, only run migrations up to and including this Alembic revision`, + }}, + }, { + Name: []string{"-n", "--to-version"}, + Description: `(Optional) The airflow version to upgrade to. Note: must provide either "--to-revision" or "--to-version"`, + Args: []model.Arg{{ + Name: "to_version", + Description: `(Optional) The airflow version to upgrade to. Note: must provide either "--to-revision" or "--to-version"`, + }}, + }}, + }}, + }, { + Name: []string{"info"}, + Description: `Show information about current Airflow and environment`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--anonymize"}, + Description: `Minimize any personal identifiable information. Use it when sharing output with others`, + }, { + Name: []string{"--file-io"}, + Description: `Send output to file.io service and returns link`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"jobs"}, + Description: `Manage jobs`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"check"}, + Description: `Checks if job(s) are still alive`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--allow-multiple"}, + Description: `If passed, this command will be successful even if multiple matching alive jobs are found`, + }, { + Name: []string{"--hostname"}, + Description: `The hostname of job(s) that will be checked`, + Args: []model.Arg{{ + Name: "hostname", + Description: `The hostname of job(s) that will be checked`, + }}, + }, { + Name: []string{"--job-type"}, + Description: `The type of job(s) that will be checked`, + Args: []model.Arg{{ + Name: "job_type", + Description: `The type of job(s) that will be checked`, + Suggestions: []model.Suggestion{{Name: []string{`BackfillJob`}}, {Name: []string{`LocalTaskJob`}}, {Name: []string{`SchedulerJob`}}, {Name: []string{`TriggererJob`}}}, + }}, + }, { + Name: []string{"--limit"}, + Description: `The number of recent jobs that will be checked. To disable limit, set 0`, + Args: []model.Arg{{ + Name: "limit", + Description: `The number of recent jobs that will be checked. To disable limit, set 0`, + }}, + }}, + }}, + }, { + Name: []string{"kerberos"}, + Description: `Start a kerberos ticket renewer`, + Args: []model.Arg{{ + Name: "principal", + Description: `Kerberos principal`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-k", "--keytab"}, + Description: `Keytab`, + Args: []model.Arg{{ + Name: "keytab", + Description: `Keytab`, + IsOptional: true, + }}, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }}, + }, { + Name: []string{"kubernetes"}, + Description: `Tools to help run the KubernetesExecutor`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"cleanup-pods"}, + Description: `Clean up Kubernetes pods (created by KubernetesExecutor/KubernetesPodOperator) in evicted/failed/succeeded/pending states`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--min-pending-minutes"}, + Description: `Pending pods created before the time interval are to be cleaned up, measured in minutes. Default value is 30(m). The minimum value is 5(m)`, + Args: []model.Arg{{ + Name: "min_pending_minutes", + Description: `Pending pods created before the time interval are to be cleaned up, measured in minutes. Default value is 30(m). The minimum value is 5(m)`, + }}, + }, { + Name: []string{"--namespace"}, + Description: `Kubernetes Namespace. Default value is "[kubernetes] namespace" in configuration`, + Args: []model.Arg{{ + Name: "namespace", + Description: `Kubernetes Namespace. Default value is "[kubernetes] namespace" in configuration`, + }}, + }}, + }, { + Name: []string{"generate-dag-yaml"}, + Description: `Generate YAML files for all tasks in DAG. Useful for debugging tasks without launching into a cluster`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "execution_date", + Description: `The execution date of the DAG`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output-path"}, + Description: `The output for generated yaml files`, + Args: []model.Arg{{ + Name: "output_path", + Description: `The output for generated yaml files`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }}, + }, { + Name: []string{"plugins"}, + Description: `Dump information about loaded plugins`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"pools"}, + Description: `Manage pools`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"delete"}, + Description: `Delete pool`, + Args: []model.Arg{{ + Name: "NAME", + Description: `Pool name`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"export"}, + Description: `Export all pools`, + Args: []model.Arg{{ + Name: "FILEPATH", + Description: `Export all pools to JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"get"}, + Description: `Get pool size`, + Args: []model.Arg{{ + Name: "NAME", + Description: `Pool name`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"import"}, + Description: `Import pools`, + Args: []model.Arg{{ + Name: "FILEPATH", + Description: `Import pools from JSON file. Example format:: + + { + "pool_1": {"slots": 5, "description": ""}, + "pool_2": {"slots": 10, "description": "test"} + }`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list"}, + Description: `List pools`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"set"}, + Description: `Configure pool`, + Args: []model.Arg{{ + Name: "NAME", + Description: `Pool name`, + }, { + Name: "slots", + Description: `Pool slots`, + }, { + Name: "description", + Description: `Pool description`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }}, + }, { + Name: []string{"providers"}, + Description: `Display providers`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"auth"}, + Description: `Get information about API auth backends provided`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"behaviours"}, + Description: `Get information about registered connection types with custom behaviours`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"get"}, + Description: `Get detailed information about a provider`, + Args: []model.Arg{{ + Name: "provider_name", + Description: `Provider name, required to get provider information`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--color"}, + Description: `Do emit colored output (default: auto)`, + Args: []model.Arg{{ + Name: "color", + Description: `Do emit colored output (default: auto)`, + Suggestions: []model.Suggestion{{Name: []string{`off`}}, {Name: []string{`auto`}}, {Name: []string{`on`}}}, + }}, + }, { + Name: []string{"-f", "--full"}, + Description: `Full information about the provider, including documentation information`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"hooks"}, + Description: `List registered provider hooks`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"links"}, + Description: `List extra links registered by the providers`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list"}, + Description: `List installed providers`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"logging"}, + Description: `Get information about task logging handlers provided`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"secrets"}, + Description: `Get information about secrets backends provided`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"widgets"}, + Description: `Get information about registered connection form widgets`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }}, + }, { + Name: []string{"roles"}, + Description: `Manage roles`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create role`, + Args: []model.Arg{{ + Name: "role", + Description: `The name of a role`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete role`, + Args: []model.Arg{{ + Name: "role", + Description: `The name of a role`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"export"}, + Description: `Export roles (without permissions) from db to JSON file`, + Args: []model.Arg{{ + Name: "file", + Description: `Export all roles to JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-p", "--pretty"}, + Description: `Format output JSON file by sorting role names and indenting by 4 spaces`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"import"}, + Description: `Import roles (without permissions) from JSON file to db`, + Args: []model.Arg{{ + Name: "file", + Description: `Import roles from JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"list"}, + Description: `List roles`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }}, + }, { + Name: []string{"rotate-fernet-key"}, + Description: `Rotate encrypted connection credentials and variables`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"scheduler"}, + Description: `Start a scheduler instance`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-p", "--do-pickle"}, + Description: `Attempt to pickle the DAG object to send over to the workers, instead of letting workers run their version of the code`, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"-n", "--num-runs"}, + Description: `Set the number of runs to execute before exiting`, + Args: []model.Arg{{ + Name: "num_runs", + Description: `Set the number of runs to execute before exiting`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"-s", "--skip-serve-logs"}, + Description: `Don't start the serve logs process along with the workers`, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"standalone"}, + Description: `Run an all-in-one copy of Airflow`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"sync-perm"}, + Description: `Update permissions for existing roles and optionally DAGs`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--include-dags"}, + Description: `If passed, DAG specific permissions will also be synced`, + }}, + }, { + Name: []string{"tasks"}, + Description: `Manage tasks`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"clear"}, + Description: `Clear a set of task instance, as if they never ran`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-R", "--dag-regex"}, + Description: `Search dag_id as regex instead of exact string`, + }, { + Name: []string{"-d", "--downstream"}, + Description: `Include downstream tasks`, + }, { + Name: []string{"-e", "--end-date"}, + Description: `Override end_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "end_date", + Description: `Override end_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"-X", "--exclude-parentdag"}, + Description: `Exclude ParentDAGS if the task cleared is a part of a SubDAG`, + }, { + Name: []string{"-x", "--exclude-subdags"}, + Description: `Exclude subdags`, + }, { + Name: []string{"-f", "--only-failed"}, + Description: `Only failed jobs`, + }, { + Name: []string{"-r", "--only-running"}, + Description: `Only running jobs`, + }, { + Name: []string{"-s", "--start-date"}, + Description: `Override start_date YYYY-MM-DD`, + Args: []model.Arg{{ + Name: "start_date", + Description: `Override start_date YYYY-MM-DD`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-t", "--task-regex"}, + Description: `The regex to filter specific task_ids to backfill (optional)`, + Args: []model.Arg{{ + Name: "task_regex", + Description: `The regex to filter specific task_ids to backfill (optional)`, + }}, + }, { + Name: []string{"-u", "--upstream"}, + Description: `Include upstream tasks`, + }, { + Name: []string{"-y", "--yes"}, + Description: `Do not prompt to confirm. Use with care!`, + }}, + }, { + Name: []string{"failed-deps"}, + Description: `Returns the unmet dependencies for a task instance`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "task_id", + Description: `The id of the task`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--map-index"}, + Description: `Mapped task index`, + Args: []model.Arg{{ + Name: "map_index", + Description: `Mapped task index`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"list"}, + Description: `List the tasks within a DAG`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-t", "--tree"}, + Description: `Tree view`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"render"}, + Description: `Render a task instance's template(s)`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "task_id", + Description: `The id of the task`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--map-index"}, + Description: `Mapped task index`, + Args: []model.Arg{{ + Name: "map_index", + Description: `Mapped task index`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"run"}, + Description: `Run a single task instance`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "task_id", + Description: `The id of the task`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--cfg-path"}, + Description: `Path to config file to use instead of airflow.cfg`, + Args: []model.Arg{{ + Name: "cfg_path", + Description: `Path to config file to use instead of airflow.cfg`, + }}, + }, { + Name: []string{"-f", "--force"}, + Description: `Ignore previous task instance state, rerun regardless if task already succeeded/failed`, + }, { + Name: []string{"-A", "--ignore-all-dependencies"}, + Description: `Ignores all non-critical dependencies, including ignore_ti_state and ignore_task_deps`, + }, { + Name: []string{"-i", "--ignore-dependencies"}, + Description: `Ignore task-specific dependencies, e.g. upstream, depends_on_past, and retry delay dependencies`, + }, { + Name: []string{"-I", "--ignore-depends-on-past"}, + Description: `Ignore depends_on_past dependencies (but respect upstream dependencies)`, + }, { + Name: []string{"-N", "--interactive"}, + Description: `Do not capture standard output and error streams (useful for interactive debugging)`, + }, { + Name: []string{"-j", "--job-id"}, + Args: []model.Arg{{ + Name: "job_id", + }}, + }, { + Name: []string{"-l", "--local"}, + Description: `Run the task using the LocalExecutor`, + }, { + Name: []string{"--map-index"}, + Description: `Mapped task index`, + Args: []model.Arg{{ + Name: "map_index", + Description: `Mapped task index`, + }}, + }, { + Name: []string{"-m", "--mark-success"}, + Description: `Mark jobs as succeeded without running them`, + }, { + Name: []string{"--no-shut-down-logging"}, + }, { + Name: []string{"-p", "--pickle"}, + Description: `Serialized pickle object of the entire dag (used internally)`, + Args: []model.Arg{{ + Name: "pickle", + Description: `Serialized pickle object of the entire dag (used internally)`, + }}, + }, { + Name: []string{"--pool"}, + Description: `Resource pool to use`, + Args: []model.Arg{{ + Name: "pool", + Description: `Resource pool to use`, + }}, + }, { + Name: []string{"-r", "--raw"}, + }, { + Name: []string{"--ship-dag"}, + Description: `Pickles (serializes) the DAG and ships it to the worker`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }}, + }, { + Name: []string{"state"}, + Description: `Get the status of a task instance`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "task_id", + Description: `The id of the task`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--map-index"}, + Description: `Mapped task index`, + Args: []model.Arg{{ + Name: "map_index", + Description: `Mapped task index`, + }}, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"states-for-dag-run"}, + Description: `Get the status of all task instances in a dag run`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"test"}, + Description: `Test a task instance`, + Args: []model.Arg{{ + Name: "dag_id", + Description: `The id of the dag`, + }, { + Name: "task_id", + Description: `The id of the task`, + }, { + Name: "execution_date_or_run_id", + Description: `The execution_date of the DAG or run_id of the DAGRun (optional)`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-n", "--dry-run"}, + Description: `Perform a dry run for each task. Only renders Template Fields for each task, nothing else`, + }, { + Name: []string{"--env-vars"}, + Description: `Set env var in both parsing time and runtime for each of entry supplied in a JSON dict`, + Args: []model.Arg{{ + Name: "env_vars", + Description: `Set env var in both parsing time and runtime for each of entry supplied in a JSON dict`, + }}, + }, { + Name: []string{"--map-index"}, + Description: `Mapped task index`, + Args: []model.Arg{{ + Name: "map_index", + Description: `Mapped task index`, + }}, + }, { + Name: []string{"-m", "--post-mortem"}, + Description: `Open debugger on uncaught exception`, + }, { + Name: []string{"-S", "--subdir"}, + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + Args: []model.Arg{{ + Name: "subdir", + Description: `File location or directory from which to look for the dag. Defaults to '[AIRFLOW_HOME]/dags' where [AIRFLOW_HOME] is the value you set for 'AIRFLOW_HOME' config you set in 'airflow.cfg'`, + }}, + }, { + Name: []string{"-t", "--task-params"}, + Description: `Sends a JSON params dict to the task`, + Args: []model.Arg{{ + Name: "task_params", + Description: `Sends a JSON params dict to the task`, + }}, + }}, + }}, + }, { + Name: []string{"triggerer"}, + Description: `Start a triggerer instance`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"--capacity"}, + Description: `The maximum number of triggers that a Triggerer will run at one time`, + Args: []model.Arg{{ + Name: "capacity", + Description: `The maximum number of triggers that a Triggerer will run at one time`, + }}, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }}, + }, { + Name: []string{"users"}, + Description: `Manage users`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add-role"}, + Description: `Add role to a user`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-e", "--email"}, + Description: `Email of the user`, + Args: []model.Arg{{ + Name: "email", + Description: `Email of the user`, + }}, + }, { + Name: []string{"-r", "--role"}, + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + Args: []model.Arg{{ + Name: "role", + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + }}, + }, { + Name: []string{"-u", "--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + Description: `Username of the user`, + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a user`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-e", "--email"}, + Description: `Email of the user`, + Args: []model.Arg{{ + Name: "email", + Description: `Email of the user`, + }}, + }, { + Name: []string{"-f", "--firstname"}, + Description: `First name of the user`, + Args: []model.Arg{{ + Name: "firstname", + Description: `First name of the user`, + }}, + }, { + Name: []string{"-l", "--lastname"}, + Description: `Last name of the user`, + Args: []model.Arg{{ + Name: "lastname", + Description: `Last name of the user`, + }}, + }, { + Name: []string{"-p", "--password"}, + Description: `Password of the user, required to create a user without --use-random-password`, + Args: []model.Arg{{ + Name: "password", + Description: `Password of the user, required to create a user without --use-random-password`, + }}, + }, { + Name: []string{"-r", "--role"}, + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + Args: []model.Arg{{ + Name: "role", + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + }}, + }, { + Name: []string{"--use-random-password"}, + Description: `Do not prompt for password. Use random string instead. Required to create a user without --password`, + }, { + Name: []string{"-u", "--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + Description: `Username of the user`, + }}, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a user`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-e", "--email"}, + Description: `Email of the user`, + Args: []model.Arg{{ + Name: "email", + Description: `Email of the user`, + }}, + }, { + Name: []string{"-u", "--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + Description: `Username of the user`, + }}, + }}, + }, { + Name: []string{"export"}, + Description: `Export all users`, + Args: []model.Arg{{ + Name: "FILEPATH", + Description: `Export all users to JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"import"}, + Description: `Import users`, + Args: []model.Arg{{ + Name: "FILEPATH", + Description: `Import users from JSON file. Example format:: + + [ + { + "email": "foo@bar.org", + "firstname": "Jon", + "lastname": "Doe", + "roles": ["Public"], + "username": "jondoe" + } + ]`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"list"}, + Description: `List users`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"remove-role"}, + Description: `Remove role from a user`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-e", "--email"}, + Description: `Email of the user`, + Args: []model.Arg{{ + Name: "email", + Description: `Email of the user`, + }}, + }, { + Name: []string{"-r", "--role"}, + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + Args: []model.Arg{{ + Name: "role", + Description: `Role of the user. Existing roles include Admin, User, Op, Viewer, and Public`, + }}, + }, { + Name: []string{"-u", "--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + Description: `Username of the user`, + }}, + }}, + }}, + }, { + Name: []string{"variables"}, + Description: `Manage variables`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"delete"}, + Description: `Delete variable`, + Args: []model.Arg{{ + Name: "key", + Description: `Variable key`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"export"}, + Description: `Export all variables`, + Args: []model.Arg{{ + Name: "file", + Description: `Export all variables to JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"get"}, + Description: `Get variable`, + Args: []model.Arg{{ + Name: "key", + Description: `Variable key`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-d", "--default"}, + Description: `Default value returned if variable does not exist`, + Args: []model.Arg{{ + Name: "VAL", + Description: `Default value returned if variable does not exist`, + }}, + }, { + Name: []string{"-j", "--json"}, + Description: `Deserialize JSON variable`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"import"}, + Description: `Import variables`, + Args: []model.Arg{{ + Name: "file", + Description: `Import variables from JSON file`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"list"}, + Description: `List variables`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Args: []model.Arg{{ + Name: "(table, json, yaml, plain)", + Description: `Output format. Allowed values: json, yaml, plain, table (default: table)`, + Suggestions: []model.Suggestion{{Name: []string{`table`}}, {Name: []string{`json`}}, {Name: []string{`yaml`}}, {Name: []string{`plain`}}}, + }}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make logging output more verbose`, + }}, + }, { + Name: []string{"set"}, + Description: `Set variable`, + Args: []model.Arg{{ + Name: "key", + Description: `Variable key`, + }, { + Name: "VALUE", + Description: `Variable value`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-j", "--json"}, + Description: `Serialize JSON variable`, + }}, + }}, + }, { + Name: []string{"version"}, + Description: `Show the version`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }}, + }, { + Name: []string{"webserver"}, + Description: `Start a Airflow webserver instance`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show this help message and exit`, + }, { + Name: []string{"-A", "--access-logfile"}, + Description: `The logfile to store the webserver access log. Use '-' to print to stderr`, + Args: []model.Arg{{ + Name: "access_logfile", + Description: `The logfile to store the webserver access log. Use '-' to print to stderr`, + }}, + }, { + Name: []string{"-L", "--access-logformat"}, + Description: `The access log format for gunicorn logs`, + Args: []model.Arg{{ + Name: "access_logformat", + Description: `The access log format for gunicorn logs`, + }}, + }, { + Name: []string{"-D", "--daemon"}, + Description: `Daemonize instead of running in the foreground`, + }, { + Name: []string{"-d", "--debug"}, + Description: `Use the server that ships with Flask in debug mode`, + }, { + Name: []string{"-E", "--error-logfile"}, + Description: `The logfile to store the webserver error log. Use '-' to print to stderr`, + Args: []model.Arg{{ + Name: "error_logfile", + Description: `The logfile to store the webserver error log. Use '-' to print to stderr`, + }}, + }, { + Name: []string{"-H", "--hostname"}, + Description: `Set the hostname on which to run the web server`, + Args: []model.Arg{{ + Name: "hostname", + Description: `Set the hostname on which to run the web server`, + }}, + }, { + Name: []string{"-l", "--log-file"}, + Description: `Location of the log file`, + Args: []model.Arg{{ + Name: "log_file", + Description: `Location of the log file`, + }}, + }, { + Name: []string{"--pid"}, + Description: `PID file location`, + Args: []model.Arg{{ + Name: "pid", + Description: `PID file location`, + IsOptional: true, + }}, + }, { + Name: []string{"-p", "--port"}, + Description: `The port on which to run the server`, + Args: []model.Arg{{ + Name: "port", + Description: `The port on which to run the server`, + }}, + }, { + Name: []string{"--ssl-cert"}, + Description: `Path to the SSL certificate for the webserver`, + Args: []model.Arg{{ + Name: "ssl_cert", + Description: `Path to the SSL certificate for the webserver`, + }}, + }, { + Name: []string{"--ssl-key"}, + Description: `Path to the key to use with the SSL certificate`, + Args: []model.Arg{{ + Name: "ssl_key", + Description: `Path to the key to use with the SSL certificate`, + }}, + }, { + Name: []string{"--stderr"}, + Description: `Redirect stderr to this file`, + Args: []model.Arg{{ + Name: "stderr", + Description: `Redirect stderr to this file`, + }}, + }, { + Name: []string{"--stdout"}, + Description: `Redirect stdout to this file`, + Args: []model.Arg{{ + Name: "stdout", + Description: `Redirect stdout to this file`, + }}, + }, { + Name: []string{"-t", "--worker-timeout"}, + Description: `The timeout for waiting on webserver workers`, + Args: []model.Arg{{ + Name: "worker_timeout", + Description: `The timeout for waiting on webserver workers`, + }}, + }, { + Name: []string{"-k", "--workerclass"}, + Description: `The worker class to use for Gunicorn`, + Args: []model.Arg{{ + Name: "workerclass", + Description: `The worker class to use for Gunicorn`, + Suggestions: []model.Suggestion{{Name: []string{`sync`}}, {Name: []string{`eventlet`}}, {Name: []string{`gevent`}}, {Name: []string{`tornado`}}}, + }}, + }, { + Name: []string{"-w", "--workers"}, + Description: `Number of workers to run the webserver on`, + Args: []model.Arg{{ + Name: "workers", + Description: `Number of workers to run the webserver on`, + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/aliases.go b/autocomplete/specs/aliases.go new file mode 100644 index 0000000..32ef79b --- /dev/null +++ b/autocomplete/specs/aliases.go @@ -0,0 +1,152 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["aliases"] = model.Subcommand{ + Name: []string{"aliases"}, + Description: `Bash aliases on steroids, dynamic alias functions for bash`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Prints help information`, + IsPersistent: true, + }, { + Name: []string{"--version", "-V"}, + Description: `Prints version information`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Add an alias via the cli`, + Args: []model.Arg{{ + Name: "name", + Description: `The name of the alias`, + }, { + Name: "command", + Description: `The command you want to run`, + }}, + }, { + Name: []string{"clone"}, + Description: `Clone external aliases`, + Args: []model.Arg{{ + Name: "username", + Description: `The username of the aliases you want to clone`, + }, { + Name: "repo_url", + Description: `The git repo url of the aliases (defaults to github//dot-aliases)`, + }}, + Options: []model.Option{{ + Name: []string{"-E", "--enable"}, + Description: `Whether to enable the user if they are not currently enabled`, + }}, + }, { + Name: []string{"directories"}, + Description: `List all directories initialized with aliases`, + }, { + Name: []string{"exec"}, + Description: `Execute an alias for a given directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + Description: `Directory where the alias is defined`, + }, { + Name: "name", + Description: `Name of alias`, + IsVariadic: true, + }}, + }, { + Name: []string{"help"}, + Description: `Prints help information`, + }, { + Name: []string{"init"}, + Description: `Initialize a directory for aliases`, + Options: []model.Option{{ + Name: []string{"-g", "--global"}, + Description: `Returns the global initialization for the app`, + }, { + Name: []string{"-u", "--user"}, + Description: `Initialize aliases for a specific user`, + Args: []model.Arg{{ + Name: "user", + }}, + }}, + }, { + Name: []string{"list"}, + Description: `List the aliases available`, + Options: []model.Option{{ + Name: []string{"-g", "--global"}, + Description: `List only global aliases`, + }, { + Name: []string{"-l", "--local"}, + Description: `List only local aliases`, + }, { + Name: []string{"-d", "--directory"}, + Description: `List aliases for a specific directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"name"}, + Description: `List aliases for with a specific name`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"pull"}, + Description: `Pull a cloned user's aliases`, + Args: []model.Arg{{ + Name: "username", + Description: `The username of the aliases you want to pull, leave blank to pull all user aliases`, + }}, + }, { + Name: []string{"rehash"}, + Description: `Update the aliases`, + }, { + Name: []string{"remove"}, + Description: `Remove an alias via the cli`, + Args: []model.Arg{{ + Name: "name", + Description: `The name of the alias`, + }}, + }, { + Name: []string{"users"}, + Description: `List the users`, + Subcommands: []model.Subcommand{{ + Name: []string{"disable"}, + Description: `Disable a user's aliases`, + Args: []model.Arg{{ + Name: "username", + }}, + }, { + Name: []string{"enable"}, + Description: `Enable a user's aliases`, + Args: []model.Arg{{ + Name: "username", + }}, + }, { + Name: []string{"help"}, + Description: `Prints this message or the help of the given subcommand(s)`, + }, { + Name: []string{"move"}, + Description: `Move a user up or down the prioritization list`, + Args: []model.Arg{{ + Name: "username", + }, { + Name: "prioritization", + }}, + }, { + Name: []string{"use"}, + Description: `Assign a user to the top of the priority list`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/amplify.go b/autocomplete/specs/amplify.go new file mode 100644 index 0000000..ffaa4d4 --- /dev/null +++ b/autocomplete/specs/amplify.go @@ -0,0 +1,489 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["amplify"] = model.Subcommand{ + Name: []string{"amplify"}, + Description: `A set of tools and services to help front-end web and mobile developers build scalable full stack applications`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Initializes a new project, sets up deployment resources in the cloud, and makes your project ready for Amplify`, + }, { + Name: []string{"configure"}, + Description: `Configures the attributes of your project for amplify-cli, such as switching front-end framework and adding/removing cloud-provider plugins`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"notifications"}, + }, { + Name: []string{"analytics"}, + }, { + Name: []string{"api"}, + }, { + Name: []string{"auth"}, + }, { + Name: []string{"function"}, + }, { + Name: []string{"hosting"}, + }, { + Name: []string{"interactions"}, + }, { + Name: []string{"predictions"}, + }, { + Name: []string{"storage"}, + }, { + Name: []string{"xr"}, + }}, + }, { + Name: []string{"pull"}, + Description: `Fetch upstream backend environment definition changes from the cloud and updates the local environment to match that definition`, + }, { + Name: []string{"publish"}, + Description: `Executes amplify push, and then builds and publishes client-side application for hosting`, + }, { + Name: []string{"serve"}, + Description: `Executes amplify push, and then executes the project's start command to test run the client-side application locally`, + }, { + Name: []string{"status"}, + Description: `Shows the state of local resources not yet pushed to the cloud (Create/Update/Delete)`, + Subcommands: []model.Subcommand{{ + Name: []string{"notifications"}, + }, { + Name: []string{"analytics"}, + }, { + Name: []string{"api"}, + }, { + Name: []string{"auth"}, + }, { + Name: []string{"function"}, + }, { + Name: []string{"hosting"}, + }, { + Name: []string{"interactions"}, + }, { + Name: []string{"predictions"}, + }, { + Name: []string{"storage"}, + }, { + Name: []string{"xr"}, + }, { + Name: []string{"-v"}, + Description: `Shows the detailed verbose diff between local and deployed resources, including cloudformation-diff`, + }}, + }, { + Name: []string{"delete"}, + Description: `Deletes all of the resources tied to the project from the cloud`, + }, { + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + Subcommands: []model.Subcommand{{ + Name: []string{"notifications"}, + }, { + Name: []string{"analytics"}, + }, { + Name: []string{"api"}, + }, { + Name: []string{"auth"}, + }, { + Name: []string{"function"}, + }, { + Name: []string{"hosting"}, + }, { + Name: []string{"interactions"}, + }, { + Name: []string{"predictions"}, + }, { + Name: []string{"storage"}, + }, { + Name: []string{"xr"}, + }}, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + Subcommands: []model.Subcommand{{ + Name: []string{"notifications"}, + }, { + Name: []string{"analytics"}, + }, { + Name: []string{"api"}, + }, { + Name: []string{"auth"}, + }, { + Name: []string{"function"}, + }, { + Name: []string{"hosting"}, + }, { + Name: []string{"interactions"}, + }, { + Name: []string{"predictions"}, + }, { + Name: []string{"storage"}, + }, { + Name: []string{"xr"}, + }}, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + Subcommands: []model.Subcommand{{ + Name: []string{"notifications"}, + }, { + Name: []string{"analytics"}, + }, { + Name: []string{"api"}, + }, { + Name: []string{"auth"}, + }, { + Name: []string{"function"}, + }, { + Name: []string{"hosting"}, + }, { + Name: []string{"interactions"}, + }, { + Name: []string{"predictions"}, + }, { + Name: []string{"storage"}, + }, { + Name: []string{"xr"}, + }}, + }, { + Name: []string{"upgrade"}, + Description: `Download and install the latest version of the Amplify CLI`, + }, { + Name: []string{"uninstall"}, + Description: `Remove all global Amplify configuration files and uninstall the Amplify CLI. This will not delete any Amplify projects`, + }, { + Name: []string{"notifications"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"analytics"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"api"}, + Subcommands: []model.Subcommand{{ + Name: []string{"gql-compile"}, + Description: `Compiles your GraphQL schema and generates a corresponding cloudformation template`, + }, { + Name: []string{"migrate"}, + Description: `Migrates GraphQL schemas to the latest GraphQL transformer version`, + }, { + Name: []string{"override"}, + Description: `Generates overrides file to apply custom modifications to CloudFormation`, + }, { + Name: []string{"rebuild"}, + Description: `Removes and recreates all DynamoDB tables backing a GraphQL API. Useful for resetting test data during the development phase of an app`, + }, { + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"auth"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"function"}, + Subcommands: []model.Subcommand{{ + Name: []string{"build"}, + Description: `Builds all the functions in the project (does an npm install on the functions src directory)`, + }, { + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"hosting"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"interactions"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"predictions"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"storage"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"xr"}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a resource for an Amplify category in your local backend`, + }, { + Name: []string{"update"}, + Description: `Update resource for an Amplify category in your local backend`, + }, { + Name: []string{"remove"}, + Description: `Removes a resource for an Amplify category in your local backend`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the category`, + }, { + Name: []string{"push"}, + Description: `Provisions cloud resources with the latest local developments`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Answer all question as 'Yes'`, + }}, + }}, + }, { + Name: []string{"mock"}, + Description: `Run mock server for testing categories locally`, + }, { + Name: []string{"codegen"}, + Description: `Generates GraphQL statements(queries, mutations and eventHandlers) and type annotations`, + }, { + Name: []string{"console"}, + Description: `Opens the web console for the selected cloud resource`, + }, { + Name: []string{"logout"}, + Description: `If using temporary cloud provider credentials, this logs out of the account`, + }, { + Name: []string{"env"}, + Description: `Display all commands available for new Amplify project`, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Adds a new environment`, + }, { + Name: []string{"pull"}, + Description: `Pulls the current env from the cloud`, + Options: []model.Option{{ + Name: []string{"--restore"}, + Description: `Overwrite your local changes`, + }}, + }, { + Name: []string{"checkout"}, + Description: `Switches to selected environment`, + Args: []model.Arg{{ + Name: "env-name", + Description: `Env name`, + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"--restore"}, + Description: `Overwrite your local changes`, + }}, + }, { + Name: []string{"list"}, + Description: `Displays a list of all the environments`, + Options: []model.Option{{ + Name: []string{"--details"}, + Description: `See more details`, + }, { + Name: []string{"--json"}, + Description: `Format the output`, + }}, + }, { + Name: []string{"get"}, + Description: `Displays the environment details`, + Options: []model.Option{{ + Name: []string{"--name"}, + Description: `Mandatory flag`, + Args: []model.Arg{{ + Name: "env-name", + Description: `Env name`, + Generator: nil, // TODO: port over generator + }}, + }}, + }, { + Name: []string{"import"}, + Description: `Imports an environment`, + Options: []model.Option{{ + Name: []string{"--name"}, + Description: `Mandatory flag`, + Args: []model.Arg{{ + Name: "env-name", + Description: `Env name`, + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--config"}, + Description: `Specify provider configs`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--awsInfo"}, + Description: `Specify AWS configs`, + Args: []model.Arg{{}}, + }}, + }, { + Name: []string{"remove"}, + Description: `Removes an environment`, + Args: []model.Arg{{ + Name: "env-name", + Description: `Env name`, + Generator: nil, // TODO: port over generator + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/ansible-config.go b/autocomplete/specs/ansible-config.go new file mode 100644 index 0000000..3819071 --- /dev/null +++ b/autocomplete/specs/ansible-config.go @@ -0,0 +1,185 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible-config"] = model.Subcommand{ + Name: []string{"ansible-config"}, + Description: `View ansible configuration`, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `Shows version number, config file location, module search path, module location, executable location and exit`, + }, { + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `List and output available configs`, + Args: []model.Arg{{ + Name: "args", + Description: `Specific plugin to target, requires type of plugin to be set`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--config", "-c"}, + Description: `Path to configuration file, defaults to first file found in precedence`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "CONFIG_FILE", + Description: `Path to configuration file`, + }}, + }, { + Name: []string{"--type", "-t"}, + Description: `Filter down to a specific plugin type`, + Args: []model.Arg{{ + Name: "TYPE", + Description: `Plugin type`, + Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}}, + }}, + }}, + }, { + Name: []string{"dump"}, + Description: `Shows the current settings, merges ansible.cfg if specified`, + Args: []model.Arg{{ + Name: "args", + Description: `Specific plugin to target, requires type of plugin to be set`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--only-changed", "--changed-only"}, + Description: `Only show configurations that have changed from the default`, + }, { + Name: []string{"--config", "-c"}, + Description: `Path to configuration file, defaults to first file found in precedence`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "CONFIG_FILE", + Description: `Path to configuration file`, + }}, + }, { + Name: []string{"--type", "-t"}, + Description: `Filter down to a specific plugin type`, + Args: []model.Arg{{ + Name: "TYPE", + Description: `Plugin type`, + Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}}, + }}, + }}, + }, { + Name: []string{"view"}, + Description: `Displays the current config file`, + Args: []model.Arg{{ + Name: "args", + Description: `Specific plugin to target, requires type of plugin to be set`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--config", "-c"}, + Description: `Path to configuration file, defaults to first file found in precedence`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "CONFIG_FILE", + Description: `Path to configuration file`, + }}, + }, { + Name: []string{"--type", "-t"}, + Description: `Filter down to a specific plugin type`, + Args: []model.Arg{{ + Name: "TYPE", + Description: `Plugin type`, + Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}}, + }}, + }}, + }, { + Name: []string{"init"}, + Description: `Initializes a new config file (to stdout)`, + Args: []model.Arg{{ + Name: "args", + Description: `Specific plugin to target, requires type of plugin to be set`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--disabled"}, + Description: `Prefixes all entries with a comment character to disable them`, + }, { + Name: []string{"--format", "-f"}, + Description: `Output format for init`, + Args: []model.Arg{{ + Name: "FORMAT", + Description: `Output format`, + Suggestions: []model.Suggestion{{Name: []string{`ini`}}, {Name: []string{`env`}}, {Name: []string{`vars`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"--config", "-c"}, + Description: `Path to configuration file, defaults to first file found in precedence`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "CONFIG_FILE", + Description: `Path to configuration file`, + }}, + }, { + Name: []string{"--type", "-t"}, + Description: `Filter down to a specific plugin type`, + Args: []model.Arg{{ + Name: "TYPE", + Description: `Plugin type`, + Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`base`}}, {Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}}, + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/ansible-doc.go b/autocomplete/specs/ansible-doc.go new file mode 100644 index 0000000..46dc397 --- /dev/null +++ b/autocomplete/specs/ansible-doc.go @@ -0,0 +1,112 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible-doc"] = model.Subcommand{ + Name: []string{"ansible-doc"}, + Description: `Displays information on modules installed in Ansible libraries`, + Args: []model.Arg{{ + Name: "plugin", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--metadata-dump"}, + Description: `For internal testing only Dump json metadata for all plugins`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--playbook-dir"}, + Description: `Sets the relative path for many features including roles/ group_vars/ etc`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "BASEDIR", + Description: `Base directory`, + }}, + }, { + Name: []string{"--version"}, + Description: `Shows version number, config file location, module search path, module location, executable location and exit`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--list_files", "-F"}, + Description: `Show plugin names and their source files without summaries (implies --list)`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--module-path", "-M"}, + Description: `Prepend colon-separated path(s) to module library`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--entry-point", "-E"}, + Description: `Select the entry point for role(s)`, + Args: []model.Arg{{ + Name: "ENTRY_POINT", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--json", "-j"}, + Description: `Change output into json format`, + Args: []model.Arg{{ + IsOptional: true, + }}, + }, { + Name: []string{"--list", "-l"}, + Description: `List available plugins; a supplied argument will be used for filtering (can be a namespace or full collection name)`, + Args: []model.Arg{{ + Name: "NAMESPACE|COLLECTION", + IsOptional: true, + }}, + }, { + Name: []string{"--roles-path", "-r"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"--snippet", "-s"}, + Description: `Show playbook snippet for these plugin types: inventory, lookup, module`, + Args: []model.Arg{{ + Name: "PLUGIN_TYPE", + Suggestions: []model.Suggestion{{Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`module`}}}, + }}, + }, { + Name: []string{"--type", "-t"}, + Description: `Choose which plugin type (defaults to "module")`, + Args: []model.Arg{{ + Name: "PLUGIN_TYPE", + Suggestions: []model.Suggestion{{Name: []string{`become`}}, {Name: []string{`cache`}}, {Name: []string{`callback`}}, {Name: []string{`cliconf`}}, {Name: []string{`connection`}}, {Name: []string{`httpapi`}}, {Name: []string{`inventory`}}, {Name: []string{`lookup`}}, {Name: []string{`netconf`}}, {Name: []string{`shell`}}, {Name: []string{`vars`}}, {Name: []string{`module`}}, {Name: []string{`strategy`}}, {Name: []string{`role`}}, {Name: []string{`keyword`}}}, + }}, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + Args: []model.Arg{{ + IsOptional: true, + }}, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + Args: []model.Arg{{ + IsOptional: true, + }}, + ExclusiveOn: []string{"--verbose"}, + }}, + } +} diff --git a/autocomplete/specs/ansible-galaxy.go b/autocomplete/specs/ansible-galaxy.go new file mode 100644 index 0000000..5a735c4 --- /dev/null +++ b/autocomplete/specs/ansible-galaxy.go @@ -0,0 +1,639 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible-galaxy"] = model.Subcommand{ + Name: []string{"ansible-galaxy"}, + Description: `Perform various Role and Collection related operations`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help and exit`, + IsPersistent: true, + }, { + Name: []string{"--verbose"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + IsPersistent: true, + ExclusiveOn: []string{"-v"}, + }, { + Name: []string{"-v"}, + Description: `Verbose mode (-vvv for more, -vvvv to enable connection debugging)`, + IsPersistent: true, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--version"}, + Description: `Shows version number, config file location, module search path, module location, executable location and exit`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"collection"}, + Description: `Operate on collections`, + Subcommands: []model.Subcommand{{ + Name: []string{"download"}, + Description: `Download collections`, + Args: []model.Arg{{ + Name: "collection", + Description: `Name of the collection`, + Suggestions: []model.Suggestion{{Name: []string{`amazon.aws`}}, {Name: []string{`ansible.builtin`}}, {Name: []string{`ansible.netcommon`}}, {Name: []string{`ansible.posix`}}, {Name: []string{`ansible.utils`}}, {Name: []string{`ansible.windows`}}, {Name: []string{`arista.eos`}}, {Name: []string{`awx.awx`}}, {Name: []string{`azure.azcollection`}}, {Name: []string{`check_point.mgmt`}}, {Name: []string{`chocolatey.chocolatey`}}, {Name: []string{`cisco.aci`}}, {Name: []string{`cisco.asa`}}, {Name: []string{`cisco.intersight`}}, {Name: []string{`cisco.ios`}}, {Name: []string{`cisco.iosxr`}}, {Name: []string{`cisco.ise`}}, {Name: []string{`cisco.meraki`}}, {Name: []string{`cisco.mso`}}, {Name: []string{`cisco.nso`}}, {Name: []string{`cisco.nxos`}}, {Name: []string{`cisco.ucs`}}, {Name: []string{`cloud.common`}}, {Name: []string{`cloudscale_ch.cloud`}}, {Name: []string{`community.aws`}}, {Name: []string{`community.azure`}}, {Name: []string{`community.ciscosmb`}}, {Name: []string{`community.crypto`}}, {Name: []string{`community.digitalocean`}}, {Name: []string{`community.dns`}}, {Name: []string{`community.docker`}}, {Name: []string{`community.fortios`}}, {Name: []string{`community.general`}}, {Name: []string{`community.google`}}, {Name: []string{`community.grafana`}}, {Name: []string{`community.hashi_vault`}}, {Name: []string{`community.hrobot`}}, {Name: []string{`community.kubernetes`}}, {Name: []string{`community.kubevirt`}}, {Name: []string{`community.libvirt`}}, {Name: []string{`community.mongodb`}}, {Name: []string{`community.mysql`}}, {Name: []string{`community.network`}}, {Name: []string{`community.okd`}}, {Name: []string{`community.postgresql`}}, {Name: []string{`community.proxysql`}}, {Name: []string{`community.rabbitmq`}}, {Name: []string{`community.routeros`}}, {Name: []string{`community.sap`}}, {Name: []string{`community.skydive`}}, {Name: []string{`community.sops`}}, {Name: []string{`community.vmware`}}, {Name: []string{`community.windows`}}, {Name: []string{`community.zabbix`}}, {Name: []string{`containers.podman`}}, {Name: []string{`cyberark.conjur`}}, {Name: []string{`cyberark.pas`}}, {Name: []string{`dellemc.enterprise_sonic`}}, {Name: []string{`dellemc.openmanage`}}, {Name: []string{`dellemc.os10`}}, {Name: []string{`dellemc.os6`}}, {Name: []string{`dellemc.os9`}}, {Name: []string{`f5networks.f5_modules`}}, {Name: []string{`fortinet.fortimanager`}}, {Name: []string{`fortinet.fortios`}}, {Name: []string{`frr.frr`}}, {Name: []string{`gluster.gluster`}}, {Name: []string{`google.cloud`}}, {Name: []string{`hetzner.hcloud`}}, {Name: []string{`hpe.nimble`}}, {Name: []string{`ibm.qradar`}}, {Name: []string{`infinidat.infinibox`}}, {Name: []string{`infoblox.nios_modules`}}, {Name: []string{`inspur.sm`}}, {Name: []string{`junipernetworks.junos`}}, {Name: []string{`kubernetes.core`}}, {Name: []string{`mellanox.onyx`}}, {Name: []string{`netapp.aws`}}, {Name: []string{`netapp.azure`}}, {Name: []string{`netapp.cloudmanager`}}, {Name: []string{`netapp.elementsw`}}, {Name: []string{`netapp.ontap`}}, {Name: []string{`netapp.storagegrid`}}, {Name: []string{`netapp.um_info`}}, {Name: []string{`netapp_eseries.santricity`}}, {Name: []string{`netbox.netbox`}}, {Name: []string{`ngine_io.cloudstack`}}, {Name: []string{`ngine_io.exoscale`}}, {Name: []string{`ngine_io.vultr`}}, {Name: []string{`openstack.cloud`}}, {Name: []string{`openvswitch.openvswitch`}}, {Name: []string{`ovirt.ovirt`}}, {Name: []string{`purestorage.flasharray`}}, {Name: []string{`purestorage.flashblade`}}, {Name: []string{`sensu.sensu_go`}}, {Name: []string{`servicenow.servicenow`}}, {Name: []string{`splunk.es`}}, {Name: []string{`t_systems_mms.icinga_director`}}, {Name: []string{`theforeman.foreman`}}, {Name: []string{`vmware.vmware_rest`}}, {Name: []string{`vyos.vyos`}}, {Name: []string{`wti.remote`}}}, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--clear-response-cache"}, + Description: `Clear the existing server response cache`, + }, { + Name: []string{"--no-cache"}, + Description: `Do not use the server response cache`, + }, { + Name: []string{"--no-deps", "-n"}, + Description: `Don't download collection(s) listed as dependencies`, + }, { + Name: []string{"--download-path", "-p"}, + Description: `The directory to download the collections to`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "download_path", + Description: `The directory to download the collections to`, + }}, + }, { + Name: []string{"--requirements-file", "-r"}, + Description: `A file containing a list of collections to be downloaded`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "requirements", + Description: `A file containing a list of collections to be downloaded`, + }}, + }, { + Name: []string{"--pre"}, + Description: `Include pre-release versions`, + }}, + }, { + Name: []string{"init"}, + Description: `Initialize collections`, + Args: []model.Arg{{ + Name: "collection_name", + Description: `Name of the collection`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--force", "-f"}, + Description: `Force overwriting an existing role or collection`, + }, { + Name: []string{"--init-path"}, + Description: `The path in which the skeleton collection will be created`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "init_path", + Description: `The path in which the skeleton collection will be created`, + }}, + }, { + Name: []string{"--collection-skeleton"}, + Description: `The path to a collection skeleton that the new collection should be based upon`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "collection_skeleton", + Description: `The path to a collection skeleton that the new collection should be based upon`, + }}, + }}, + }, { + Name: []string{"build"}, + Description: `Build collections`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "collection", + Description: `Path(s) to the collection to be built`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--force", "-f"}, + Description: `Force overwriting an existing role or collection`, + }, { + Name: []string{"--output-path"}, + Description: `The path in which the collection is built to`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "output_path", + Description: `The path in which the collection is built to`, + }}, + }}, + }, { + Name: []string{"publish"}, + Description: `Publish collections`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "collection_path", + Description: `The path to the collection tarball to publish`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--no-wait"}, + Description: `Don't wait for import validation results`, + }, { + Name: []string{"--import-timeout"}, + Description: `The time to wait for the collection import process to finish`, + Args: []model.Arg{{ + Name: "import_timeout", + Description: `The time to wait for the collection import process to finish`, + Suggestions: []model.Suggestion{{Name: []string{`60`}}, {Name: []string{`300`}}, {Name: []string{`600`}}, {Name: []string{`900`}}}, + }}, + }}, + }, { + Name: []string{"list"}, + Description: `List collections`, + Args: []model.Arg{{ + Name: "collection", + Description: `The collections to list`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--collections-path", "-p"}, + Description: `One or more directories to search for collections in addition to the default COLLECTIONS_PATHS; separate multiple paths with ':'`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "collections_path", + Description: `One or more directories to search for collections in addition to the default COLLECTIONS_PATHS; separate multiple paths with ':'`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/collections:/usr/share/ansible/collections`}}}, + }}, + }, { + Name: []string{"--format"}, + Description: `Format to display the list of collections in`, + Args: []model.Arg{{ + Name: "format", + Description: `Format to display the list of collections in`, + Suggestions: []model.Suggestion{{Name: []string{`human`}}, {Name: []string{`yaml`}}, {Name: []string{`json`}}}, + }}, + }}, + }, { + Name: []string{"verify"}, + Description: `Verify collections`, + Args: []model.Arg{{ + Name: "collection_name", + Description: `The collections to verify`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--collections-path", "-p"}, + Description: `One or more directories to search for collections in addition to the default COLLECTIONS_PATHS; separate multiple paths with ':'`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "collections_path", + Description: `One or more directories to search for collections in addition to the default COLLECTIONS_PATHS; separate multiple paths with ':'`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/collections:/usr/share/ansible/collections`}}}, + }}, + }, { + Name: []string{"--ignore-errors", "-i"}, + Description: `Ignore errors during verification and continue with the next specified collection`, + }, { + Name: []string{"--requirements-file", "-r"}, + Description: `A file containing a list of collections to be downloaded`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "requirements", + Description: `A file containing a list of collections to be downloaded`, + }}, + }}, + }}, + }, { + Name: []string{"role"}, + Description: `Operate on roles`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Initialize roles`, + Args: []model.Arg{{ + Name: "role_name", + Description: `Name of the role`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--force", "-f"}, + Description: `Force overwriting an existing role or collection`, + }, { + Name: []string{"--offline"}, + Description: `Don't query the galaxy API when creating roles`, + }, { + Name: []string{"--init-path"}, + Description: `The path in which the skeleton collection will be created`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "init_path", + Description: `The path in which the skeleton collection will be created`, + }}, + }, { + Name: []string{"--role-skeleton"}, + Description: `The path in which the skeleton role will be created`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "role_skeleton", + Description: `The path in which the skeleton role will be created`, + }}, + }, { + Name: []string{"--type"}, + Description: `Initialize using an alternate role type`, + Args: []model.Arg{{ + Name: "role_type", + Description: `Initialize using an alternate role type`, + Suggestions: []model.Suggestion{{Name: []string{`container`}}, {Name: []string{`apb`}}, {Name: []string{`network`}}}, + }}, + }}, + }, { + Name: []string{"remove"}, + Description: `Remove roles`, + Args: []model.Arg{{ + Name: "role_name", + Description: `The role to remove`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--roles-path", "--role-path"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Name: "roles_path", + Description: `The path to the directory containing your roles`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles`}}}, + }}, + }}, + }, { + Name: []string{"list"}, + Description: `List roles`, + Args: []model.Arg{{ + Name: "role", + Description: `The role to list`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--roles-path", "--role-path"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Name: "roles_path", + Description: `The path to the directory containing your roles`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles`}}}, + }}, + }}, + }, { + Name: []string{"search"}, + Description: `Search roles`, + Args: []model.Arg{{ + Name: "searchterm", + Description: `Search terms`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--platforms"}, + Description: `List of OS platforms to filter by`, + Args: []model.Arg{{ + Name: "platforms", + Description: `List of OS platforms to filter by`, + }}, + }, { + Name: []string{"--galaxy-tags"}, + Description: `List of Galaxy tags to filter by`, + Args: []model.Arg{{ + Name: "galaxy_tags", + Description: `List of Galaxy tags to filter by`, + }}, + }, { + Name: []string{"--author"}, + Description: `GitHub username`, + Args: []model.Arg{{ + Name: "author", + Description: `GitHub username`, + }}, + }}, + }, { + Name: []string{"import"}, + Description: `Import roles`, + Args: []model.Arg{{ + Name: "github_user", + Description: `GitHub username`, + IsOptional: true, + }, { + Name: "github_repo", + Description: `GitHub repository`, + }}, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--branch"}, + Description: `The name of a branch to import. Defaults to the repository's default branch (usually master)`, + Args: []model.Arg{{ + Name: "reference", + Description: `The name of a branch to import. Defaults to the repository's default branch (usually master)`, + Suggestions: []model.Suggestion{{Name: []string{`master`}}, {Name: []string{`main`}}, {Name: []string{`develop`}}}, + }}, + }, { + Name: []string{"--role-name"}, + Description: `The name the role should have, if different than the repo name`, + Args: []model.Arg{{ + Name: "role_name", + Description: `The name the role should have, if different than the repo name`, + }}, + }, { + Name: []string{"--status"}, + Description: `Check the status of the most recent import request for given github_user/github_repo`, + }}, + }, { + Name: []string{"setup"}, + Description: `Set up roles`, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--roles-path", "--role-path"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Name: "roles_path", + Description: `The path to the directory containing your roles`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles`}}}, + }}, + }, { + Name: []string{"--remove"}, + Description: `Remove the integration matching the provided ID value. Use --list to see ID values`, + Args: []model.Arg{{ + Name: "remove_id", + Description: `Remove the integration matching the provided ID value. Use --list to see ID values`, + }}, + ExclusiveOn: []string{"--list"}, + }, { + Name: []string{"--list"}, + Description: `List all of your integrations`, + ExclusiveOn: []string{"--remove"}, + }}, + }, { + Name: []string{"info"}, + Description: `Role information`, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--roles-path", "--role-path"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Name: "roles_path", + Description: `The path to the directory containing your roles`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles`}}}, + }}, + }, { + Name: []string{"--offline"}, + Description: `Don't query the galaxy API when creating roles`, + }}, + }, { + Name: []string{"install"}, + Description: `Install roles`, + Options: []model.Option{{ + Name: []string{"--server", "-s"}, + Description: `The Galaxy API server URL`, + Args: []model.Arg{{ + Name: "api_server", + Description: `The Galaxy API server URL`, + }}, + }, { + Name: []string{"--token", "--api-key"}, + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + Args: []model.Arg{{ + Name: "api_key", + Description: `The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences`, + }}, + }, { + Name: []string{"--ignore-certs", "-c"}, + Description: `Ignore SSL certificate validation errors`, + }, { + Name: []string{"--roles-path", "--role-path"}, + Description: `The path to the directory containing your roles`, + Args: []model.Arg{{ + Name: "roles_path", + Description: `The path to the directory containing your roles`, + Suggestions: []model.Suggestion{{Name: []string{`~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles`}}}, + }}, + }, { + Name: []string{"--no-deps", "-n"}, + Description: `Don't download roles listed as dependencies`, + }, { + Name: []string{"--force-with-deps"}, + Description: `Force overwriting an existing role and its dependencies`, + }, { + Name: []string{"--requirements-file", "-r"}, + Description: `A file containing a list of collections to be downloaded`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "requirements", + Description: `A file containing a list of collections to be downloaded`, + }}, + }, { + Name: []string{"--keep-scm-meta", "-g"}, + Description: `Use tar instead of the scm archive option when packaging the role`, + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/ansible-lint.go b/autocomplete/specs/ansible-lint.go new file mode 100644 index 0000000..21d86b1 --- /dev/null +++ b/autocomplete/specs/ansible-lint.go @@ -0,0 +1,128 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible-lint"] = model.Subcommand{ + Name: []string{"ansible-lint"}, + Description: `Ansible static code analysis`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "lintables", + Description: `Files to lint`, + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for ansible-lint`, + }, { + Name: []string{"--list-rules", "-L"}, + Description: `List all the rules`, + ExclusiveOn: []string{"-T"}, + }, { + Name: []string{"--list-tags", "-T"}, + Description: `List all the tags and the rules they cover`, + ExclusiveOn: []string{"-L"}, + }, { + Name: []string{"--format", "-f"}, + Description: `Stdout formatting`, + Args: []model.Arg{{ + Name: "-f", + Suggestions: []model.Suggestion{{Name: []string{`rich`}}, {Name: []string{`plain`}}, {Name: []string{`md`}}, {Name: []string{`json`}}, {Name: []string{`codeclimate`}}, {Name: []string{`quiet`}}, {Name: []string{`pep8`}}, {Name: []string{`sarif`}}}, + }}, + }, { + Name: []string{"-q"}, + Description: `Quieter, reduce verbosity, can be specified twice`, + }, { + Name: []string{"-p"}, + Description: `Parseable output, same as '-f pep8'`, + }, { + Name: []string{"--progressive"}, + Description: `Return success if it detects a reduction in number of violations compared with previous git commit. This feature works only in git repositories`, + }, { + Name: []string{"--project-dir"}, + Description: `Location of project/repository, autodetected based on location of configuration file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "PROJECT_DIR", + }}, + }, { + Name: []string{"--rules-dir", "-r"}, + Description: `Specify custom rule directories`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "RULESDIR", + }}, + }, { + Name: []string{"-R"}, + Description: `Keep using embedded rules when using '-r'`, + }, { + Name: []string{"--write"}, + Description: `Allow ansible-lint to reformat YAML files and run rule transforms`, + Args: []model.Arg{{ + Name: "WRITE_LIST", + Description: `Limit the effective rule transforms by passing a keywords 'all' or 'none' or a comma separated list of rule ids or rule tags`, + Suggestions: []model.Suggestion{{Name: []string{`all`}}, {Name: []string{`none`}}, {Name: []string{`rule1,rule2,...`}}}, + }}, + }, { + Name: []string{"--show-relpath"}, + Description: `Display path relative to CWD`, + }, { + Name: []string{"--tags", "-t"}, + Description: `Only check rules whose id/tags match these values`, + }, { + Name: []string{"-v"}, + Description: `Increase verbosity level (-vv for more)`, + }, { + Name: []string{"--skip-list", "-x"}, + Description: `Only check rules whose id/tags do not match these values`, + Args: []model.Arg{{ + Name: "SKIP_LIST", + }}, + }, { + Name: []string{"--warn-list", "-w"}, + Description: `Only warn about these rules, unless overridden in config file defaults to 'experimental'`, + Args: []model.Arg{{ + Name: "WARN_LIST", + }}, + }, { + Name: []string{"--enable-list"}, + Description: `Activate optional rules by their tag name`, + Args: []model.Arg{{ + Name: "ENABLE_LIST", + }}, + }, { + Name: []string{"--nocolor"}, + Description: `Disable colored output, same as NO_COLOR=1`, + }, { + Name: []string{"--force-color"}, + Description: `Force colored output, same as FORCE_COLOR=1`, + }, { + Name: []string{"--exclude-paths"}, + Description: `Path to directories or files to skip. This option is repeatable`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "EXCLUDE_PATHS", + IsVariadic: true, + }}, + }, { + Name: []string{"--config-file"}, + Description: `Specify configuration file to use. By default it will look for '.ansible-lint' or '.config/ansible-lint.yml'`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "CONFIG_FILE", + }}, + }, { + Name: []string{"--offline"}, + Description: `Disable installation of requirements.yml`, + }, { + Name: []string{"--version"}, + Description: `Show version of ansible-lint`, + }}, + } +} diff --git a/autocomplete/specs/ansible-playbook.go b/autocomplete/specs/ansible-playbook.go new file mode 100644 index 0000000..5d4ae70 --- /dev/null +++ b/autocomplete/specs/ansible-playbook.go @@ -0,0 +1,199 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible-playbook"] = model.Subcommand{ + Name: []string{"ansible-playbook"}, + Description: `Runs Ansible playbooks, executing the defined tasks on the targeted hosts`, + Args: []model.Arg{{ + Name: "playbook", + Description: `Playbook(s)`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--ask-vault-pass"}, + Description: `Ask for vault password`, + }, { + Name: []string{"--flush-cache"}, + Description: `Clears the fact cache for every host in inventory`, + }, { + Name: []string{"--force-handlers"}, + Description: `Run handlers even if a task fails`, + }, { + Name: []string{"--list-hosts"}, + Description: `Outputs a list of matching hosts; does not execute`, + }, { + Name: []string{"--list-tags"}, + Description: `List all available tags`, + }, { + Name: []string{"--list-tasks"}, + Description: `List all tasks that would be executed`, + }, { + Name: []string{"--skip-tags"}, + Description: `Only run plays and tasks whose tags do not match these values`, + Args: []model.Arg{{ + Name: "tags", + }}, + }, { + Name: []string{"--start-at-task"}, + Description: `Start the playbook at the task matching this name one-step-at-a-time`, + Args: []model.Arg{{ + Name: "task name", + }}, + }, { + Name: []string{"--step"}, + Description: `Execute one-step-at-a-time`, + }, { + Name: []string{"--syntax-check"}, + Description: `Perform a syntax check on the playbook, but do not execute it`, + }, { + Name: []string{"--vault-id"}, + Description: `Specify the vault identity to use`, + Args: []model.Arg{{ + Name: "vault ID", + }}, + }, { + Name: []string{"--vault-password-file"}, + Description: `Specify a vault password file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "vault password file", + }}, + }, { + Name: []string{"--version"}, + Description: `Show program's version number, config file location, configured module search path, module location and executable location`, + }, { + Name: []string{"--check", "-C"}, + Description: `Don't make any changes; instead, try to predict some of the changes that may occur`, + }, { + Name: []string{"--diff", "-D"}, + Description: `When changing (small) files and templates, show the differences in those files`, + }, { + Name: []string{"--module-path", "-M"}, + Description: `Prepend colon-separated path(s) to module library`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "module path", + }}, + }, { + Name: []string{"--extra-vars", "-e"}, + Description: `Set additional variables as key=value or YAML/JSON, if filename prepend with @`, + Args: []model.Arg{{ + Name: "extra vars", + }}, + }, { + Name: []string{"--forks", "-f"}, + Description: `Specify number of parallel processes to use`, + Args: []model.Arg{{ + Name: "forks", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Show help for ansible`, + }, { + Name: []string{"--inventory", "-i"}, + Description: `Specify inventory host path or comma separated host list`, + Args: []model.Arg{{ + Name: "inventory", + }}, + }, { + Name: []string{"--limit", "-l"}, + Description: `Limit selected hosts to an additional pattern`, + Args: []model.Arg{{ + Name: "subset", + }}, + }, { + Name: []string{"--tags", "-t"}, + Description: `Only run plays and tasks tagged with these values`, + Args: []model.Arg{{ + Name: "tags", + }}, + }, { + Name: []string{"--verbose", "-v"}, + Description: `Enable verbose mode`, + }, { + Name: []string{"-vvv"}, + Description: `Enable very verbose mode`, + }, { + Name: []string{"-vvvv"}, + Description: `Enable connection debug mode`, + }, { + Name: []string{"--become-method"}, + Description: `Privilege escalation method to use`, + Args: []model.Arg{{ + Name: "become method", + Suggestions: []model.Suggestion{{Name: []string{`sudo`}}, {Name: []string{`su`}}, {Name: []string{`pbrun`}}, {Name: []string{`pfexec`}}, {Name: []string{`doas`}}, {Name: []string{`dzdo`}}, {Name: []string{`ksu`}}, {Name: []string{`runas`}}, {Name: []string{`machinectl`}}}, + }}, + }, { + Name: []string{"--become-user"}, + Description: `Privilege escalation user to use`, + Args: []model.Arg{{ + Name: "become user", + }}, + }, { + Name: []string{"--ask-become-pass", "-K"}, + Description: `Prompt for privilege escalation password`, + }, { + Name: []string{"--become", "-b"}, + Description: `Run operations with become`, + }, { + Name: []string{"--private-key", "--key-file"}, + Description: `Use this fole to authenticate the connection`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "private key", + }}, + }, { + Name: []string{"--scp-extra-args"}, + Description: `Extra arguments to pass to (only) scp`, + Args: []model.Arg{{ + Name: "SCP extra args", + }}, + }, { + Name: []string{"--sftp-extra-args"}, + Description: `Extra arguments to pass to (only) sftp`, + Args: []model.Arg{{ + Name: "SFTP extra args", + }}, + }, { + Name: []string{"-ssh-extra-args"}, + Description: `Extra arguments to pass to (only) ssh`, + Args: []model.Arg{{ + Name: "SSH extra args", + }}, + }, { + Name: []string{"--ssh-common-args"}, + Description: `Extra arguments to pass to sftp/scp/ssh`, + Args: []model.Arg{{ + Name: "SSH common args", + }}, + }, { + Name: []string{"--timeout", "-T"}, + Description: `Override the connection timeout in seconds`, + Args: []model.Arg{{ + Name: "timeout", + }}, + }, { + Name: []string{"--connection", "-c"}, + Description: `Connection type to use`, + Args: []model.Arg{{ + Name: "connection type", + }}, + }, { + Name: []string{"--ask-pass", "-k"}, + Description: `Ask for connection password`, + }, { + Name: []string{"--user", "-u"}, + Description: `Connect as this user`, + Args: []model.Arg{{ + Name: "user", + }}, + }}, + } +} diff --git a/autocomplete/specs/ansible.go b/autocomplete/specs/ansible.go new file mode 100644 index 0000000..be7d10b --- /dev/null +++ b/autocomplete/specs/ansible.go @@ -0,0 +1,204 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ansible"] = model.Subcommand{ + Name: []string{"ansible"}, + Description: `Define and run a single Ansible task 'playbook' against a set of hosts`, + Args: []model.Arg{{ + Name: "pattern", + Description: `Host pattern`, + }}, + Options: []model.Option{{ + Name: []string{"--ask-vault-pass"}, + Description: `Ask for vault password`, + }, { + Name: []string{"--list-hosts"}, + Description: `Outputs a list of matching hosts; does not execute`, + }, { + Name: []string{"--playbook-dir"}, + Description: `Since this tool does not use playbooks, use this as a substitute playbook directory.This sets the relative path for many features including roles/ group_vars/etc`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "playbook dir", + }}, + }, { + Name: []string{"--syntax-check"}, + Description: `Perform a syntax check on the playbook, but do not execute it`, + }, { + Name: []string{"--vault-id"}, + Description: `Specify the vault identity to use`, + Args: []model.Arg{{ + Name: "vault ID", + }}, + }, { + Name: []string{"--vault-password-file"}, + Description: `Specify a vault password file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "vault password file", + }}, + }, { + Name: []string{"--version"}, + Description: `Show program's version number, config file location, configured module search path, module location and executable location`, + }, { + Name: []string{"--background", "-B"}, + Description: `Run asynchronously, failing after specified seconds`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"--check", "-C"}, + Description: `Don't make any changes; instead, try to predict some of the changes that may occur`, + }, { + Name: []string{"--diff", "-D"}, + Description: `When changing (small) files and templates, show the differences in those files`, + }, { + Name: []string{"--module-path", "-M"}, + Description: `Prepend colon-separated path(s) to module library`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "module path", + }}, + }, { + Name: []string{"--poll", "-P"}, + Description: `Set the poll interval if using -B`, + Args: []model.Arg{{ + Name: "poll interval", + }}, + }, { + Name: []string{"--args", "-a"}, + Description: `Specify module arguments`, + Args: []model.Arg{{ + Name: "module arguments", + }}, + }, { + Name: []string{"--extra-vars", "-e"}, + Description: `Set additional variables as key=value or YAML/JSON, if filename prepend with @`, + Args: []model.Arg{{ + Name: "extra vars", + }}, + }, { + Name: []string{"--forks", "-f"}, + Description: `Specify number of parallel processes to use`, + Args: []model.Arg{{ + Name: "forks", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Show help for ansible`, + }, { + Name: []string{"--inventory", "-i"}, + Description: `Specify inventory host path or comma separated host list`, + Args: []model.Arg{{ + Name: "inventory", + }}, + }, { + Name: []string{"--limit", "-l"}, + Description: `Limit selected hosts to an additional pattern`, + Args: []model.Arg{{ + Name: "subset", + }}, + }, { + Name: []string{"--module-name", "-m"}, + Description: `Specify the module name to execute`, + Args: []model.Arg{{ + Name: "module name", + }}, + }, { + Name: []string{"--one-line", "-o"}, + Description: `Condense output`, + }, { + Name: []string{"--tree", "-t"}, + Description: `Log output to specific directory`, + Args: []model.Arg{{ + Name: "tree", + }}, + }, { + Name: []string{"--verbose", "-v"}, + Description: `Enable verbose mode`, + }, { + Name: []string{"-vvv"}, + Description: `Enable very verbose mode`, + }, { + Name: []string{"-vvvv"}, + Description: `Enable connection debug mode`, + }, { + Name: []string{"--become-method"}, + Description: `Privilege escalation method to use`, + Args: []model.Arg{{ + Name: "become method", + Suggestions: []model.Suggestion{{Name: []string{`sudo`}}, {Name: []string{`su`}}, {Name: []string{`pbrun`}}, {Name: []string{`pfexec`}}, {Name: []string{`doas`}}, {Name: []string{`dzdo`}}, {Name: []string{`ksu`}}, {Name: []string{`runas`}}, {Name: []string{`machinectl`}}}, + }}, + }, { + Name: []string{"--become-user"}, + Description: `Privilege escalation user to use`, + Args: []model.Arg{{ + Name: "become user", + }}, + }, { + Name: []string{"--ask-become-pass", "-K"}, + Description: `Prompt for privilege escalation password`, + }, { + Name: []string{"--become", "-b"}, + Description: `Run operations with become`, + }, { + Name: []string{"--private-key", "--key-file"}, + Description: `Use this fole to authenticate the connection`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "private key", + }}, + }, { + Name: []string{"--scp-extra-args"}, + Description: `Extra arguments to pass to (only) scp`, + Args: []model.Arg{{ + Name: "SCP extra args", + }}, + }, { + Name: []string{"--sftp-extra-args"}, + Description: `Extra arguments to pass to (only) sftp`, + Args: []model.Arg{{ + Name: "SFTP extra args", + }}, + }, { + Name: []string{"-ssh-extra-args"}, + Description: `Extra arguments to pass to (only) ssh`, + Args: []model.Arg{{ + Name: "SSH extra args", + }}, + }, { + Name: []string{"--ssh-common-args"}, + Description: `Extra arguments to pass to sftp/scp/ssh`, + Args: []model.Arg{{ + Name: "SSH common args", + }}, + }, { + Name: []string{"--timeout", "-T"}, + Description: `Override the connection timeout in seconds`, + Args: []model.Arg{{ + Name: "timeout", + }}, + }, { + Name: []string{"--connection", "-c"}, + Description: `Connection type to use`, + Args: []model.Arg{{ + Name: "connection type", + }}, + }, { + Name: []string{"--ask-pass", "-k"}, + Description: `Ask for connection password`, + }, { + Name: []string{"--user", "-u"}, + Description: `Connect as this user`, + Args: []model.Arg{{ + Name: "user", + }}, + }}, + } +} diff --git a/autocomplete/specs/ant.go b/autocomplete/specs/ant.go new file mode 100644 index 0000000..c4d7e9a --- /dev/null +++ b/autocomplete/specs/ant.go @@ -0,0 +1,136 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["ant"] = model.Subcommand{ + Name: []string{"ant"}, + Description: `A software tool for automating software build processes`, + Args: []model.Arg{{ + Name: "target", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-help", "-h"}, + Description: `Show help for ant`, + }, { + Name: []string{"--noconfig"}, + Description: `Suppress sourcing of /etc/ant.conf, $HOME/.ant/ant.conf, and $HOME/.antrc configuration files`, + }, { + Name: []string{"--usejikes"}, + Description: `Enable use of jikes by default, unless set explicitly in configuration files`, + }, { + Name: []string{"--execdebug"}, + Description: `Print ant exec line generated by this launch script`, + }, { + Name: []string{"-projecthelp", "-p"}, + Description: `Print project help information and exit`, + }, { + Name: []string{"-version"}, + Description: `Print the version information and exit`, + }, { + Name: []string{"-diagnostics"}, + Description: `Print information that might be helpful to diagnose or report problems and exit`, + }, { + Name: []string{"-quiet", "-q"}, + Description: `Be extra quiet`, + }, { + Name: []string{"-silent", "-S"}, + Description: `Print nothing but task outputs and build failures`, + }, { + Name: []string{"-verbose", "-v"}, + Description: `Be extra verbose`, + }, { + Name: []string{"-debug", "-d"}, + Description: `Print debugging information`, + }, { + Name: []string{"-emacs", "-e"}, + Description: `Produce logging information without adornments`, + }, { + Name: []string{"-lib"}, + Description: `Specifies a path to search for jars and classes`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"-logfile", "-l"}, + Description: `Use given file for log`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"-logger"}, + Description: `The class which is to perform logging`, + Args: []model.Arg{{ + Name: "classname", + }}, + }, { + Name: []string{"-listener"}, + Description: `Add an instance of class as a project listener`, + Args: []model.Arg{{ + Name: "classname", + }}, + }, { + Name: []string{"-noinput"}, + Description: `Do not allow interactive input`, + }, { + Name: []string{"-buildfile", "-file", "-f"}, + Description: `Use given buildfile`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"-keep-going", "-k"}, + Description: `Execute all targets that do not depend on failed target(s)`, + }, { + Name: []string{"-propertyfile"}, + Description: `Load all properties from file with -D properties taking precedence`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "name", + }}, + }, { + Name: []string{"-inputhandler"}, + Description: `The class which will handle input requests`, + Args: []model.Arg{{ + Name: "class", + }}, + }, { + Name: []string{"-find", "-s"}, + Description: `Search for buildfile towards the root of the filesystem and use it`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-nice"}, + Description: `A niceness value for the main thread`, + Args: []model.Arg{{ + Name: "number", + }}, + }, { + Name: []string{"-nouserlib"}, + Description: `Run ant without using the jar files from ${user.home}/.ant/lib`, + }, { + Name: []string{"-noclasspath"}, + Description: `Run ant without using CLASSPATH`, + }, { + Name: []string{"-autoproxy"}, + Description: `Java1.5+: use the OS proxy settings`, + }, { + Name: []string{"-main"}, + Description: `Override Ant's normal entry point`, + Args: []model.Arg{{ + Name: "class", + }}, + }}, + } +} diff --git a/autocomplete/specs/appwrite.go b/autocomplete/specs/appwrite.go new file mode 100644 index 0000000..2451a94 --- /dev/null +++ b/autocomplete/specs/appwrite.go @@ -0,0 +1,4066 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["appwrite"] = model.Subcommand{ + Name: []string{"index"}, + Description: `Appwrite - Open-Source End-to-End Backend Server`, + Options: []model.Option{{ + Name: []string{"-v", "--version"}, + Description: `Output the version number`, + }, { + Name: []string{"--verbose"}, + Description: `Show complete error log`, + }, { + Name: []string{"--json"}, + Description: `Output in JSON format`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for command`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"login"}, + Description: `The login command allows you to authenticate and manage a user account`, + }, { + Name: []string{"init"}, + Description: `The init command helps you initialize your Appwrite project, functions and collections`, + Subcommands: []model.Subcommand{{ + Name: []string{"project"}, + Description: `Initialise your Appwrite project`, + }, { + Name: []string{"function"}, + Description: `Initialise your Appwrite cloud function`, + }, { + Name: []string{"collection"}, + Description: `Initialise your Appwrite collections`, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--all"}, + Description: `Flag to initialize all databases`, + }}, + }}, + }, { + Name: []string{"deploy"}, + Description: `The deploy command provides a convenient wrapper for deploying your functions and collections`, + Subcommands: []model.Subcommand{{ + Name: []string{"function"}, + Description: `Deploy functions in the current directory`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--all"}, + Description: `Flag to deploy all functions`, + }}, + }, { + Name: []string{"collection"}, + Description: `Deploy collections in the current project`, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Flag to deploy all functions`, + }}, + }}, + }, { + Name: []string{"logout"}, + Description: `The logout command allows you to logout of your Appwrite account`, + }, { + Name: []string{"account"}, + Description: `The account command allows you to authenticate and manage a user account`, + Subcommands: []model.Subcommand{{ + Name: []string{"get"}, + Description: `Get currently logged in user data as JSON object`, + }, { + Name: []string{"create"}, + Description: `Use this endpoint to allow a new user to register a new account in your project. After the user registration completes successfully, you can use the [/account/verfication](/docs/client/account#accountCreateVerification) route to start verifying the user email address. To allow the new user to login to their new account, you need to create a new [account session](/docs/client/account#accountCreateSession)`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--password"}, + Description: `User password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--name"}, + Description: `User name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"updateEmail"}, + Description: `Update currently logged in user account email address. After changing user address, the user confirmation status will get reset. A new confirmation email is not sent automatically however you can use the send confirmation email endpoint again to send the confirmation email. For security measures, user password is required to complete this request. This endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--password"}, + Description: `User password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }}, + }, { + Name: []string{"createJWT"}, + Description: `Use this endpoint to create a JSON Web Token. You can use the resulting JWT to authenticate on behalf of the current user when working with the Appwrite server-side API and SDKs. The JWT secret is valid for 15 minutes from its creation and will be invalid if the user will logout in that time frame`, + }, { + Name: []string{"getLogs"}, + Description: `Get currently logged in user list of latest security activity logs. Each log returns user IP address, location and date and time of log`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"updateName"}, + Description: `Update currently logged in user account name`, + Options: []model.Option{{ + Name: []string{"--name"}, + Description: `User name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"updatePassword"}, + Description: `Update currently logged in user password. For validation, user is required to pass in the new password, and the old password. For users created with OAuth, Team Invites and Magic URL, oldPassword is optional`, + Options: []model.Option{{ + Name: []string{"--password"}, + Description: `New user password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--oldPassword"}, + Description: `Current user password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "oldPassword", + }}, + }}, + }, { + Name: []string{"updatePhone"}, + Description: `Update the currently logged in user's phone number. After updating the phone number, the phone verification status will be reset. A confirmation SMS is not sent automatically, however you can use the [POST /account/verification/phone](/docs/client/account#accountCreatePhoneVerification) endpoint to send a confirmation SMS`, + Options: []model.Option{{ + Name: []string{"--number"}, + Description: `Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212`, + Args: []model.Arg{{ + Name: "number", + }}, + }, { + Name: []string{"--password"}, + Description: `User password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }}, + }, { + Name: []string{"getPrefs"}, + Description: `Get currently logged in user preferences as a key-value object`, + }, { + Name: []string{"updatePrefs"}, + Description: `Update currently logged in user account preferences. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded`, + Options: []model.Option{{ + Name: []string{"--prefs"}, + Description: `Prefs key-value JSON object`, + Args: []model.Arg{{ + Name: "prefs", + }}, + }}, + }, { + Name: []string{"createRecovery"}, + Description: `Sends the user an email with a temporary secret key for password reset. When the user clicks the confirmation link he is redirected back to your app password reset URL with the secret key and email address values attached to the URL query string. Use the query string params to submit a request to the [PUT /account/recovery](/docs/client/account#accountUpdateRecovery) endpoint to complete the process. The verification link sent to the user's email address is valid for 1 hour`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--url"}, + Description: `URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "url", + }}, + }}, + }, { + Name: []string{"updateRecovery"}, + Description: `Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/recovery](/docs/client/account#accountCreateRecovery) endpoint. Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Valid reset token`, + Args: []model.Arg{{ + Name: "secret", + }}, + }, { + Name: []string{"--password"}, + Description: `New user password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--passwordAgain"}, + Description: `Repeat new user password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "passwordAgain", + }}, + }}, + }, { + Name: []string{"getSessions"}, + Description: `Get currently logged in user list of active sessions across different devices`, + }, { + Name: []string{"deleteSessions"}, + Description: `Delete all sessions from the user account and remove any sessions cookies from the end client`, + }, { + Name: []string{"createAnonymousSession"}, + Description: `Use this endpoint to allow a new user to register an anonymous account in your project. This route will also create a new session for the user. To allow the new user to convert an anonymous account to a normal account, you need to update its [email and password](/docs/client/account#accountUpdateEmail) or create an [OAuth2 session](/docs/client/account#accountCreateOAuth2Session)`, + }, { + Name: []string{"createEmailSession"}, + Description: `Allow the user to login into their account by providing a valid email and password combination. This route will create a new session for the user`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--password"}, + Description: `User password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }}, + }, { + Name: []string{"createMagicURLSession"}, + Description: `Sends the user an email with a secret key for creating a session. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [PUT /account/sessions/magic-url](/docs/client/account#accountUpdateMagicURLSession) endpoint to complete the login process. The link sent to the user's email address is valid for 1 hour. If you are on a mobile device you can leave the URL parameter empty, so that the login completion will be handled by your Appwrite instance by default`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--url"}, + Description: `URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "url", + }}, + }}, + }, { + Name: []string{"updateMagicURLSession"}, + Description: `Use this endpoint to complete creating the session with the Magic URL. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/sessions/magic-url](/docs/client/account#accountCreateMagicURLSession) endpoint. Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Valid verification token`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }, { + Name: []string{"createOAuth2Session"}, + Description: `Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed. If there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user`, + Options: []model.Option{{ + Name: []string{"--provider"}, + Description: `OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, autodesk, bitbucket, bitly, box, dailymotion, discord, dropbox, facebook, github, gitlab, google, linkedin, microsoft, notion, okta, paypal, paypalSandbox, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, yahoo, yammer, yandex, zoom`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--success"}, + Description: `URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "success", + }}, + }, { + Name: []string{"--failure"}, + Description: `URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "failure", + }}, + }, { + Name: []string{"--scopes"}, + Description: `A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long`, + Args: []model.Arg{{ + Name: "scopes", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"createPhoneSession"}, + Description: `Sends the user an SMS with a secret key for creating a session. Use the returned user ID and secret and submit a request to the [PUT /account/sessions/phone](/docs/client/account#accountUpdatePhoneSession) endpoint to complete the login process. The secret sent to the user's phone is valid for 15 minutes`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--number"}, + Description: `Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212`, + Args: []model.Arg{{ + Name: "number", + }}, + }}, + }, { + Name: []string{"updatePhoneSession"}, + Description: `Use this endpoint to complete creating a session with SMS. Use the **userId** from the [createPhoneSession](/docs/client/account#accountCreatePhoneSession) endpoint and the **secret** received via SMS to successfully update and confirm the phone session`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Valid verification token`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }, { + Name: []string{"getSession"}, + Description: `Use this endpoint to get a logged in user's session using a Session ID. Inputting 'current' will return the current session being used`, + Options: []model.Option{{ + Name: []string{"--sessionId"}, + Description: `Session ID. Use the string 'current' to get the current device session`, + Args: []model.Arg{{ + Name: "sessionId", + }}, + }}, + }, { + Name: []string{"updateSession"}, + Description: `Access tokens have limited lifespan and expire to mitigate security risks. If session was created using an OAuth provider, this route can be used to "refresh" the access token`, + Options: []model.Option{{ + Name: []string{"--sessionId"}, + Description: `Session ID. Use the string 'current' to update the current device session`, + Args: []model.Arg{{ + Name: "sessionId", + }}, + }}, + }, { + Name: []string{"deleteSession"}, + Description: `Use this endpoint to log out the currently logged in user from all their account sessions across all of their different devices. When using the Session ID argument, only the unique session ID provided is deleted`, + Options: []model.Option{{ + Name: []string{"--sessionId"}, + Description: `Session ID. Use the string 'current' to delete the current device session`, + Args: []model.Arg{{ + Name: "sessionId", + }}, + }}, + }, { + Name: []string{"updateStatus"}, + Description: `Block the currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. To completely delete a user, use the Users API instead`, + }, { + Name: []string{"createVerification"}, + Description: `Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](/docs/client/account#accountUpdateEmailVerification). The verification link sent to the user's email address is valid for 7 days. Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface`, + Options: []model.Option{{ + Name: []string{"--url"}, + Description: `URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "url", + }}, + }}, + }, { + Name: []string{"updateVerification"}, + Description: `Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Valid verification token`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }, { + Name: []string{"createPhoneVerification"}, + Description: `Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](/docs/client/account#accountUpdatePhone) endpoint. Learn more about how to [complete the verification process](/docs/client/account#accountUpdatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes`, + }, { + Name: []string{"updatePhoneVerification"}, + Description: `Use this endpoint to complete the user phone verification process. Use the **userId** and **secret** that were sent to your user's phone number to verify the user email ownership. If confirmed this route will return a 200 status code`, + Options: []model.Option{{ + Name: []string{"--secret"}, + Description: `Valid verification token`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }}, + }, { + Name: []string{"avatars"}, + Description: `The avatars command aims to help you complete everyday tasks related to your app image, icons, and avatars`, + Subcommands: []model.Subcommand{{ + Name: []string{"getBrowser"}, + Description: `You can use this endpoint to show different browser icons to your users. The code argument receives the browser code as it appears in your user [GET /account/sessions](/docs/client/account#accountGetSessions) endpoint. Use width, height and quality arguments to change the output settings. When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px`, + Options: []model.Option{{ + Name: []string{"--code"}, + Description: `Browser Code`, + Args: []model.Arg{{ + Name: "code", + }}, + }, { + Name: []string{"--width"}, + Description: `Image width. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Image height. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--quality"}, + Description: `Image quality. Pass an integer between 0 to 100. Defaults to 100`, + Args: []model.Arg{{ + Name: "quality", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getCreditCard"}, + Description: `The credit card endpoint will return you the icon of the credit card provider you need. Use width, height and quality arguments to change the output settings. When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px`, + Options: []model.Option{{ + Name: []string{"--code"}, + Description: `Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro`, + Args: []model.Arg{{ + Name: "code", + }}, + }, { + Name: []string{"--width"}, + Description: `Image width. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Image height. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--quality"}, + Description: `Image quality. Pass an integer between 0 to 100. Defaults to 100`, + Args: []model.Arg{{ + Name: "quality", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getFavicon"}, + Description: `Use this endpoint to fetch the favorite icon (AKA favicon) of any remote website URL`, + Options: []model.Option{{ + Name: []string{"--url"}, + Description: `Website URL which you want to fetch the favicon from`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getFlag"}, + Description: `You can use this endpoint to show different country flags icons to your users. The code argument receives the 2 letter country code. Use width, height and quality arguments to change the output settings. When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px`, + Options: []model.Option{{ + Name: []string{"--code"}, + Description: `Country Code. ISO Alpha-2 country code format`, + Args: []model.Arg{{ + Name: "code", + }}, + }, { + Name: []string{"--width"}, + Description: `Image width. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Image height. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--quality"}, + Description: `Image quality. Pass an integer between 0 to 100. Defaults to 100`, + Args: []model.Arg{{ + Name: "quality", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getImage"}, + Description: `Use this endpoint to fetch a remote image URL and crop it to any image size you want. This endpoint is very useful if you need to crop and display remote images in your app or in case you want to make sure a 3rd party image is properly served using a TLS protocol. When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 400x400px`, + Options: []model.Option{{ + Name: []string{"--url"}, + Description: `Image URL which you want to crop`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--width"}, + Description: `Resize preview image width, Pass an integer between 0 to 2000. Defaults to 400`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Resize preview image height, Pass an integer between 0 to 2000. Defaults to 400`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getInitials"}, + Description: `Use this endpoint to show your user initials avatar icon on your website or app. By default, this route will try to print your logged-in user name or email initials. You can also overwrite the user name if you pass the 'name' parameter. If no name is given and no user is logged, an empty avatar will be returned. You can use the color and background params to change the avatar colors. By default, a random theme will be selected. The random theme will persist for the user's initials when reloading the same theme will always return for the same initials. When one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px`, + Options: []model.Option{{ + Name: []string{"--name"}, + Description: `Full Name. When empty, current user name or email will be used. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--width"}, + Description: `Image width. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Image height. Pass an integer between 0 to 2000. Defaults to 100`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--color"}, + Description: `Changes text color. By default a random color will be picked and stay will persistent to the given name`, + Args: []model.Arg{{ + Name: "color", + }}, + }, { + Name: []string{"--background"}, + Description: `Changes background color. By default a random color will be picked and stay will persistent to the given name`, + Args: []model.Arg{{ + Name: "background", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getQR"}, + Description: `Converts a given plain text to a QR code image. You can use the query parameters to change the size and style of the resulting image`, + Options: []model.Option{{ + Name: []string{"--text"}, + Description: `Plain text to be converted to QR code image`, + Args: []model.Arg{{ + Name: "text", + }}, + }, { + Name: []string{"--size"}, + Description: `QR code size. Pass an integer between 1 to 1000. Defaults to 400`, + Args: []model.Arg{{ + Name: "size", + }}, + }, { + Name: []string{"--margin"}, + Description: `Margin from edge. Pass an integer between 0 to 10. Defaults to 1`, + Args: []model.Arg{{ + Name: "margin", + }}, + }, { + Name: []string{"--download"}, + Description: `Return resulting image with 'Content-Disposition: attachment ' headers for the browser to start downloading it. Pass 0 for no header, or 1 for otherwise. Default value is set to 0`, + Args: []model.Arg{{ + Name: "download", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }}, + }, { + Name: []string{"databases"}, + Description: `The databases command allows you to create structured collections of documents, query and filter lists of documents`, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of collection to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the collection used as the starting point for the query, excluding the collection itself. Should be used for efficient pagination when working with large sets of data`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"create"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--name"}, + Description: `Collection name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"getUsage"}, + Options: []model.Option{{ + Name: []string{"--range"}, + Description: `'Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }, { + Name: []string{"get"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }}, + }, { + Name: []string{"update"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--name"}, + Description: `Collection name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"delete"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }}, + }, { + Name: []string{"listCollections"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of collection to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the collection used as the starting point for the query, excluding the collection itself. Should be used for efficient pagination when working with large sets of data`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"createCollection"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--name"}, + Description: `Collection name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--permission"}, + Description: `Specifies the permissions model used in this collection, which accepts either 'collection' or 'document'. For 'collection' level permission, the permissions specified in read and write params are applied to all documents in the collection. For 'document' level permissions, read and write permissions are specified in each document. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "permission", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"getCollection"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }}, + }, { + Name: []string{"updateCollection"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--name"}, + Description: `Collection name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--permission"}, + Description: `Permissions type model to use for reading documents in this collection. You can use collection-level permission set once on the collection using the 'read' and 'write' params, or you can set document-level permission where each document read and write params will decide who has access to read and write to each document individually. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "permission", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default inherits the existing read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default inherits the existing write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }, { + Name: []string{"--enabled"}, + Description: `Is collection enabled?`, + Args: []model.Arg{{ + Name: "enabled", + }}, + }}, + }, { + Name: []string{"deleteCollection"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }}, + }, { + Name: []string{"listAttributes"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }}, + }, { + Name: []string{"createBooleanAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createEmailAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createEnumAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--elements"}, + Description: `Array of elements in enumerated type. Uses length of longest element to determine size. Maximum of 100 elements are allowed, each 4096 characters long`, + Args: []model.Arg{{ + Name: "elements", + IsVariadic: true, + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createFloatAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--min"}, + Description: `Minimum value to enforce on new documents`, + Args: []model.Arg{{ + Name: "min", + }}, + }, { + Name: []string{"--max"}, + Description: `Maximum value to enforce on new documents`, + Args: []model.Arg{{ + Name: "max", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createIntegerAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--min"}, + Description: `Minimum value to enforce on new documents`, + Args: []model.Arg{{ + Name: "min", + }}, + }, { + Name: []string{"--max"}, + Description: `Maximum value to enforce on new documents`, + Args: []model.Arg{{ + Name: "max", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createIpAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createStringAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--size"}, + Description: `Attribute size for text attributes, in number of characters`, + Args: []model.Arg{{ + Name: "size", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"createUrlAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--required"}, + Description: `Is attribute required?`, + Args: []model.Arg{{ + Name: "required", + }}, + }, { + Name: []string{"--xdefault"}, + Description: `Default value for attribute when not provided. Cannot be set when attribute is required`, + Args: []model.Arg{{ + Name: "xdefault", + }}, + }, { + Name: []string{"--array"}, + Description: `Is attribute an array?`, + Args: []model.Arg{{ + Name: "array", + }}, + }}, + }, { + Name: []string{"getAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }}, + }, { + Name: []string{"deleteAttribute"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Attribute Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }}, + }, { + Name: []string{"listDocuments"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--queries"}, + Description: `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/database#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long`, + Args: []model.Arg{{ + Name: "queries", + IsVariadic: true, + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of documents to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the document used as the starting point for the query, excluding the document itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderAttributes"}, + Description: `Array of attributes used to sort results. Maximum of 100 order attributes are allowed, each 4096 characters long`, + Args: []model.Arg{{ + Name: "orderAttributes", + IsVariadic: true, + }}, + }, { + Name: []string{"--orderTypes"}, + Description: `Array of order directions for sorting attribtues. Possible values are DESC for descending order, or ASC for ascending order. Maximum of 100 order types are allowed`, + Args: []model.Arg{{ + Name: "orderTypes", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"createDocument"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection). Make sure to define attributes before creating documents`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--documentId"}, + Description: `Document ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "documentId", + }}, + }, { + Name: []string{"--data"}, + Description: `Document data as JSON object`, + Args: []model.Arg{{ + Name: "data", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default only the current user is granted with read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default only the current user is granted with write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"getDocument"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--documentId"}, + Description: `Document ID`, + Args: []model.Arg{{ + Name: "documentId", + }}, + }}, + }, { + Name: []string{"updateDocument"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--documentId"}, + Description: `Document ID`, + Args: []model.Arg{{ + Name: "documentId", + }}, + }, { + Name: []string{"--data"}, + Description: `Document data as JSON object. Include only attribute and value pairs to be updated`, + Args: []model.Arg{{ + Name: "data", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default inherits the existing read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default inherits the existing write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"deleteDocument"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--documentId"}, + Description: `Document ID`, + Args: []model.Arg{{ + Name: "documentId", + }}, + }}, + }, { + Name: []string{"listDocumentLogs"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--documentId"}, + Description: `Document ID`, + Args: []model.Arg{{ + Name: "documentId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"listIndexes"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }}, + }, { + Name: []string{"createIndex"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Index Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--type"}, + Description: `Index type`, + Args: []model.Arg{{ + Name: "type", + }}, + }, { + Name: []string{"--attributes"}, + Description: `Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long`, + Args: []model.Arg{{ + Name: "attributes", + IsVariadic: true, + }}, + }, { + Name: []string{"--orders"}, + Description: `Array of index orders. Maximum of 100 orders are allowed`, + Args: []model.Arg{{ + Name: "orders", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"getIndex"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Index Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }}, + }, { + Name: []string{"deleteIndex"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection)`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--key"}, + Description: `Index Key`, + Args: []model.Arg{{ + Name: "key", + }}, + }}, + }, { + Name: []string{"listCollectionLogs"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"getCollectionUsage"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--collectionId"}, + Description: `Collection ID`, + Args: []model.Arg{{ + Name: "collectionId", + }}, + }, { + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }, { + Name: []string{"listLogs"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"getDatabaseUsage"}, + Options: []model.Option{{ + Name: []string{"--databaseId"}, + Description: `Database ID`, + Args: []model.Arg{{ + Name: "databaseId", + }}, + }, { + Name: []string{"--range"}, + Description: `'Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }}, + }, { + Name: []string{"functions"}, + Description: `The functions command allows you view, create and manage your Cloud Functions`, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `Get a list of all the project's functions. You can use the query params to filter your results`, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of functions to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the function used as the starting point for the query, excluding the function itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new function. You can pass a list of [permissions](/docs/permissions) to allow different project users or team with access to execute the function using the client API`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--name"}, + Description: `Function name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--execute"}, + Description: `An array of strings with execution permissions. By default no user is granted with any execute permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions. Maximum of 100 scopes are allowed, each 64 characters long`, + Args: []model.Arg{{ + Name: "execute", + IsVariadic: true, + }}, + }, { + Name: []string{"--runtime"}, + Description: `Execution runtime`, + Args: []model.Arg{{ + Name: "runtime", + }}, + }, { + Name: []string{"--vars"}, + Description: `Key-value JSON object that will be passed to the function as environment variables`, + Args: []model.Arg{{ + Name: "vars", + }}, + }, { + Name: []string{"--events"}, + Description: `Events list. Maximum of 100 events are allowed`, + Args: []model.Arg{{ + Name: "events", + IsVariadic: true, + }}, + }, { + Name: []string{"--schedule"}, + Description: `Schedule CRON syntax`, + Args: []model.Arg{{ + Name: "schedule", + }}, + }, { + Name: []string{"--timeout"}, + Description: `Function maximum execution time in seconds`, + Args: []model.Arg{{ + Name: "timeout", + }}, + }}, + }, { + Name: []string{"listRuntimes"}, + Description: `Get a list of all runtimes that are currently active on your instance`, + }, { + Name: []string{"get"}, + Description: `Get a function by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update function by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--name"}, + Description: `Function name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--execute"}, + Description: `An array of strings with execution permissions. By default no user is granted with any execute permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions. Maximum of 100 scopes are allowed, each 64 characters long`, + Args: []model.Arg{{ + Name: "execute", + IsVariadic: true, + }}, + }, { + Name: []string{"--vars"}, + Description: `Key-value JSON object that will be passed to the function as environment variables`, + Args: []model.Arg{{ + Name: "vars", + }}, + }, { + Name: []string{"--events"}, + Description: `Events list. Maximum of 100 events are allowed`, + Args: []model.Arg{{ + Name: "events", + IsVariadic: true, + }}, + }, { + Name: []string{"--schedule"}, + Description: `Schedule CRON syntax`, + Args: []model.Arg{{ + Name: "schedule", + }}, + }, { + Name: []string{"--timeout"}, + Description: `Maximum execution time in seconds`, + Args: []model.Arg{{ + Name: "timeout", + }}, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a function by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }}, + }, { + Name: []string{"listDeployments"}, + Description: `Get a list of all the project's code deployments. You can use the query params to filter your results`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of deployments to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the deployment used as the starting point for the query, excluding the deployment itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"createDeployment"}, + Description: `Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID. This endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](/docs/functions). Use the "command" param to set the entry point used to execute your code`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--entrypoint"}, + Description: `Entrypoint File`, + Args: []model.Arg{{ + Name: "entrypoint", + }}, + }, { + Name: []string{"--code"}, + Description: `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory`, + Args: []model.Arg{{ + Name: "code", + }}, + }, { + Name: []string{"--activate"}, + Description: `Automatically activate the deployment when it is finished building`, + Args: []model.Arg{{ + Name: "activate", + }}, + }}, + }, { + Name: []string{"getDeployment"}, + Description: `Get a code deployment by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--deploymentId"}, + Description: `Deployment ID`, + Args: []model.Arg{{ + Name: "deploymentId", + }}, + }}, + }, { + Name: []string{"updateDeployment"}, + Description: `Update the function code deployment ID using the unique function ID. Use this endpoint to switch the code deployment that should be executed by the execution endpoint`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--deploymentId"}, + Description: `Deployment ID`, + Args: []model.Arg{{ + Name: "deploymentId", + }}, + }}, + }, { + Name: []string{"deleteDeployment"}, + Description: `Delete a code deployment by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--deploymentId"}, + Description: `Deployment ID`, + Args: []model.Arg{{ + Name: "deploymentId", + }}, + }}, + }, { + Name: []string{"retryBuild"}, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--deploymentId"}, + Description: `Deployment ID`, + Args: []model.Arg{{ + Name: "deploymentId", + }}, + }, { + Name: []string{"--buildId"}, + Description: `Build unique ID`, + Args: []model.Arg{{ + Name: "buildId", + }}, + }}, + }, { + Name: []string{"listExecutions"}, + Description: `Get a list of all the current user function execution logs. You can use the query params to filter your results. On admin mode, this endpoint will return a list of all of the project's executions. [Learn more about different API modes](/docs/admin)`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of executions to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the execution used as the starting point for the query, excluding the execution itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }}, + }, { + Name: []string{"createExecution"}, + Description: `Trigger a function execution. The returned object will return you the current execution status. You can ping the 'Get Execution' endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--data"}, + Description: `String of custom data to send to function`, + Args: []model.Arg{{ + Name: "data", + }}, + }, { + Name: []string{"--async"}, + Description: `Execute code asynchronously. Default value is true`, + Args: []model.Arg{{ + Name: "async", + }}, + }}, + }, { + Name: []string{"getExecution"}, + Description: `Get a function execution log by its unique ID`, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--executionId"}, + Description: `Execution ID`, + Args: []model.Arg{{ + Name: "executionId", + }}, + }}, + }, { + Name: []string{"getUsage"}, + Options: []model.Option{{ + Name: []string{"--functionId"}, + Description: `Function ID`, + Args: []model.Arg{{ + Name: "functionId", + }}, + }, { + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }}, + }, { + Name: []string{"health"}, + Description: `The health command allows you to both validate and monitor your Appwrite server's health`, + Subcommands: []model.Subcommand{{ + Name: []string{"get"}, + Description: `Check the Appwrite HTTP server is up and responsive`, + }, { + Name: []string{"getAntivirus"}, + Description: `Check the Appwrite Antivirus server is up and connection is successful`, + }, { + Name: []string{"getCache"}, + Description: `Check the Appwrite in-memory cache server is up and connection is successful`, + }, { + Name: []string{"getDB"}, + Description: `Check the Appwrite database server is up and connection is successful`, + }, { + Name: []string{"getQueueCertificates"}, + Description: `Get the number of certificates that are waiting to be issued against [Letsencrypt](https://letsencrypt.org/) in the Appwrite internal queue server`, + }, { + Name: []string{"getQueueFunctions"}, + }, { + Name: []string{"getQueueLogs"}, + Description: `Get the number of logs that are waiting to be processed in the Appwrite internal queue server`, + }, { + Name: []string{"getQueueWebhooks"}, + Description: `Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server`, + }, { + Name: []string{"getStorageLocal"}, + Description: `Check the Appwrite local storage device is up and connection is successful`, + }, { + Name: []string{"getTime"}, + Description: `Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The [Network Time Protocol](https://en.wikipedia.org/wiki/Network_Time_Protocol) (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP`, + }}, + }, { + Name: []string{"locale"}, + Description: `The locale command allows you to customize your app based on your users' location`, + Subcommands: []model.Subcommand{{ + Name: []string{"get"}, + Description: `Get the current user location based on IP. Returns an object with user country code, country name, continent name, continent code, ip address and suggested currency. You can use the locale header to get the data in a supported language. ([IP Geolocation by DB-IP](https://db-ip.com))`, + }, { + Name: []string{"getContinents"}, + Description: `List of all continents. You can use the locale header to get the data in a supported language`, + }, { + Name: []string{"getCountries"}, + Description: `List of all countries. You can use the locale header to get the data in a supported language`, + }, { + Name: []string{"getCountriesEU"}, + Description: `List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language`, + }, { + Name: []string{"getCountriesPhones"}, + Description: `List of all countries phone codes. You can use the locale header to get the data in a supported language`, + }, { + Name: []string{"getCurrencies"}, + Description: `List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language`, + }, { + Name: []string{"getLanguages"}, + Description: `List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language`, + }}, + }, { + Name: []string{"projects"}, + Description: `The projects command allows you to view, create and manage your Appwrite projects`, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Results offset. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the project used as the starting point for the query, excluding the project itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"create"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Unique Id. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--name"}, + Description: `Project name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Team unique ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--description"}, + Description: `Project description. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "description", + }}, + }, { + Name: []string{"--logo"}, + Description: `Project logo`, + Args: []model.Arg{{ + Name: "logo", + }}, + }, { + Name: []string{"--url"}, + Description: `Project URL`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--legalName"}, + Description: `Project legal Name. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalName", + }}, + }, { + Name: []string{"--legalCountry"}, + Description: `Project legal Country. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalCountry", + }}, + }, { + Name: []string{"--legalState"}, + Description: `Project legal State. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalState", + }}, + }, { + Name: []string{"--legalCity"}, + Description: `Project legal City. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalCity", + }}, + }, { + Name: []string{"--legalAddress"}, + Description: `Project legal Address. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalAddress", + }}, + }, { + Name: []string{"--legalTaxId"}, + Description: `Project legal Tax ID. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalTaxId", + }}, + }}, + }, { + Name: []string{"get"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--name"}, + Description: `Project name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--description"}, + Description: `Project description. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "description", + }}, + }, { + Name: []string{"--logo"}, + Description: `Project logo`, + Args: []model.Arg{{ + Name: "logo", + }}, + }, { + Name: []string{"--url"}, + Description: `Project URL`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--legalName"}, + Description: `Project legal name. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalName", + }}, + }, { + Name: []string{"--legalCountry"}, + Description: `Project legal country. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalCountry", + }}, + }, { + Name: []string{"--legalState"}, + Description: `Project legal state. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalState", + }}, + }, { + Name: []string{"--legalCity"}, + Description: `Project legal city. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalCity", + }}, + }, { + Name: []string{"--legalAddress"}, + Description: `Project legal address. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalAddress", + }}, + }, { + Name: []string{"--legalTaxId"}, + Description: `Project legal tax ID. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "legalTaxId", + }}, + }}, + }, { + Name: []string{"delete"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--password"}, + Description: `Your user password for confirmation. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }}, + }, { + Name: []string{"updateAuthLimit"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Set the max number of users allowed in this project. Use 0 for unlimited`, + Args: []model.Arg{{ + Name: "limit", + }}, + }}, + }, { + Name: []string{"updateAuthStatus"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--method"}, + Description: `Auth Method. Possible values: email-password,magic-url,anonymous,invites,jwt,phone`, + Args: []model.Arg{{ + Name: "method", + }}, + }, { + Name: []string{"--status"}, + Description: `Set the status of this auth method`, + Args: []model.Arg{{ + Name: "status", + }}, + }}, + }, { + Name: []string{"listDomains"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"createDomain"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--domain"}, + Description: `Domain name`, + Args: []model.Arg{{ + Name: "domain", + }}, + }}, + }, { + Name: []string{"getDomain"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--domainId"}, + Description: `Domain unique ID`, + Args: []model.Arg{{ + Name: "domainId", + }}, + }}, + }, { + Name: []string{"deleteDomain"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--domainId"}, + Description: `Domain unique ID`, + Args: []model.Arg{{ + Name: "domainId", + }}, + }}, + }, { + Name: []string{"updateDomainVerification"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--domainId"}, + Description: `Domain unique ID`, + Args: []model.Arg{{ + Name: "domainId", + }}, + }}, + }, { + Name: []string{"listKeys"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"createKey"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--name"}, + Description: `Key name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--scopes"}, + Description: `Key scopes list. Maximum of 100 scopes are allowed`, + Args: []model.Arg{{ + Name: "scopes", + IsVariadic: true, + }}, + }, { + Name: []string{"--expire"}, + Description: `Key expiration time in Unix timestamp. Use 0 for unlimited expiration`, + Args: []model.Arg{{ + Name: "expire", + }}, + }}, + }, { + Name: []string{"getKey"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--keyId"}, + Description: `Key unique ID`, + Args: []model.Arg{{ + Name: "keyId", + }}, + }}, + }, { + Name: []string{"updateKey"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--keyId"}, + Description: `Key unique ID`, + Args: []model.Arg{{ + Name: "keyId", + }}, + }, { + Name: []string{"--name"}, + Description: `Key name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--scopes"}, + Description: `Key scopes list. Maximum of 100 events are allowed`, + Args: []model.Arg{{ + Name: "scopes", + IsVariadic: true, + }}, + }, { + Name: []string{"--expire"}, + Description: `Key expiration time in Unix timestamp. Use 0 for unlimited expiration`, + Args: []model.Arg{{ + Name: "expire", + }}, + }}, + }, { + Name: []string{"deleteKey"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--keyId"}, + Description: `Key unique ID`, + Args: []model.Arg{{ + Name: "keyId", + }}, + }}, + }, { + Name: []string{"updateOAuth2"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Provider Name`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--appId"}, + Description: `Provider app ID. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "appId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Provider secret key. Max length: 512 chars`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }, { + Name: []string{"listPlatforms"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"createPlatform"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--type"}, + Description: `Platform type`, + Args: []model.Arg{{ + Name: "type", + }}, + }, { + Name: []string{"--name"}, + Description: `Platform name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--key"}, + Description: `Package name for Android or bundle ID for iOS or macOS. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--store"}, + Description: `App store or Google Play store ID. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "store", + }}, + }, { + Name: []string{"--hostname"}, + Description: `Platform client hostname. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }}, + }, { + Name: []string{"getPlatform"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--platformId"}, + Description: `Platform unique ID`, + Args: []model.Arg{{ + Name: "platformId", + }}, + }}, + }, { + Name: []string{"updatePlatform"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--platformId"}, + Description: `Platform unique ID`, + Args: []model.Arg{{ + Name: "platformId", + }}, + }, { + Name: []string{"--name"}, + Description: `Platform name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--key"}, + Description: `Package name for android or bundle ID for iOS. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--store"}, + Description: `App store or Google Play store ID. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "store", + }}, + }, { + Name: []string{"--hostname"}, + Description: `Platform client URL. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }}, + }, { + Name: []string{"deletePlatform"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--platformId"}, + Description: `Platform unique ID`, + Args: []model.Arg{{ + Name: "platformId", + }}, + }}, + }, { + Name: []string{"updateServiceStatus"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--service"}, + Description: `Service name`, + Args: []model.Arg{{ + Name: "service", + }}, + }, { + Name: []string{"--status"}, + Description: `Service status`, + Args: []model.Arg{{ + Name: "status", + }}, + }}, + }, { + Name: []string{"getUsage"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }, { + Name: []string{"listWebhooks"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"createWebhook"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--name"}, + Description: `Webhook name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--events"}, + Description: `Events list. Maximum of 100 events are allowed`, + Args: []model.Arg{{ + Name: "events", + IsVariadic: true, + }}, + }, { + Name: []string{"--url"}, + Description: `Webhook URL`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--security"}, + Description: `Certificate verification, false for disabled or true for enabled`, + Args: []model.Arg{{ + Name: "security", + }}, + }, { + Name: []string{"--httpUser"}, + Description: `Webhook HTTP user. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "httpUser", + }}, + }, { + Name: []string{"--httpPass"}, + Description: `Webhook HTTP password. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "httpPass", + }}, + }}, + }, { + Name: []string{"getWebhook"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--webhookId"}, + Description: `Webhook unique ID`, + Args: []model.Arg{{ + Name: "webhookId", + }}, + }}, + }, { + Name: []string{"updateWebhook"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--webhookId"}, + Description: `Webhook unique ID`, + Args: []model.Arg{{ + Name: "webhookId", + }}, + }, { + Name: []string{"--name"}, + Description: `Webhook name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--events"}, + Description: `Events list. Maximum of 100 events are allowed`, + Args: []model.Arg{{ + Name: "events", + IsVariadic: true, + }}, + }, { + Name: []string{"--url"}, + Description: `Webhook URL`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--security"}, + Description: `Certificate verification, false for disabled or true for enabled`, + Args: []model.Arg{{ + Name: "security", + }}, + }, { + Name: []string{"--httpUser"}, + Description: `Webhook HTTP user. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "httpUser", + }}, + }, { + Name: []string{"--httpPass"}, + Description: `Webhook HTTP password. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "httpPass", + }}, + }}, + }, { + Name: []string{"deleteWebhook"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--webhookId"}, + Description: `Webhook unique ID`, + Args: []model.Arg{{ + Name: "webhookId", + }}, + }}, + }, { + Name: []string{"updateWebhookSignature"}, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project unique ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--webhookId"}, + Description: `Webhook unique ID`, + Args: []model.Arg{{ + Name: "webhookId", + }}, + }}, + }}, + }, { + Name: []string{"storage"}, + Description: `The storage command allows you to manage your project files`, + Subcommands: []model.Subcommand{{ + Name: []string{"listBuckets"}, + Description: `Get a list of all the storage buckets. You can use the query params to filter your results`, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Results offset. The default value is 0. Use this param to manage pagination`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the bucket used as the starting point for the query, excluding the bucket itself. Should be used for efficient pagination when working with large sets of data`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"createBucket"}, + Description: `Create a new storage bucket`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Unique Id. Choose your own unique ID or pass the string 'unique()' to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--name"}, + Description: `Bucket name`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--permission"}, + Description: `Permissions type model to use for reading files in this bucket. You can use bucket-level permission set once on the bucket using the 'read' and 'write' params, or you can set file-level permission where each file read and write params will decide who has access to read and write to each file individually. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "permission", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }, { + Name: []string{"--enabled"}, + Description: `Is bucket enabled?`, + Args: []model.Arg{{ + Name: "enabled", + }}, + }, { + Name: []string{"--maximumFileSize"}, + Description: `Maximum file size allowed in bytes. Maximum allowed value is 30MB. For self-hosted setups you can change the max limit by changing the '_APP_STORAGE_LIMIT' environment variable. [Learn more about storage environment variables](docs/environment-variables#storage)`, + Args: []model.Arg{{ + Name: "maximumFileSize", + }}, + }, { + Name: []string{"--allowedFileExtensions"}, + Description: `Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long`, + Args: []model.Arg{{ + Name: "allowedFileExtensions", + IsVariadic: true, + }}, + }, { + Name: []string{"--encryption"}, + Description: `Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled`, + Args: []model.Arg{{ + Name: "encryption", + }}, + }, { + Name: []string{"--antivirus"}, + Description: `Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled`, + Args: []model.Arg{{ + Name: "antivirus", + }}, + }}, + }, { + Name: []string{"getBucket"}, + Description: `Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Bucket unique ID`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }}, + }, { + Name: []string{"updateBucket"}, + Description: `Update a storage bucket by its unique ID`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Bucket unique ID`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--name"}, + Description: `Bucket name`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--permission"}, + Description: `Permissions type model to use for reading files in this bucket. You can use bucket-level permission set once on the bucket using the 'read' and 'write' params, or you can set file-level permission where each file read and write params will decide who has access to read and write to each file individually. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "permission", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default inherits the existing read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default inherits the existing write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }, { + Name: []string{"--enabled"}, + Description: `Is bucket enabled?`, + Args: []model.Arg{{ + Name: "enabled", + }}, + }, { + Name: []string{"--maximumFileSize"}, + Description: `Maximum file size allowed in bytes. Maximum allowed value is 30MB. For self hosted version you can change the limit by changing _APP_STORAGE_LIMIT environment variable. [Learn more about storage environment variables](docs/environment-variables#storage)`, + Args: []model.Arg{{ + Name: "maximumFileSize", + }}, + }, { + Name: []string{"--allowedFileExtensions"}, + Description: `Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long`, + Args: []model.Arg{{ + Name: "allowedFileExtensions", + IsVariadic: true, + }}, + }, { + Name: []string{"--encryption"}, + Description: `Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled`, + Args: []model.Arg{{ + Name: "encryption", + }}, + }, { + Name: []string{"--antivirus"}, + Description: `Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled`, + Args: []model.Arg{{ + Name: "antivirus", + }}, + }}, + }, { + Name: []string{"deleteBucket"}, + Description: `Delete a storage bucket by its unique ID`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Bucket unique ID`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }}, + }, { + Name: []string{"listFiles"}, + Description: `Get a list of all the user files. You can use the query params to filter your results. On admin mode, this endpoint will return a list of all of the project's files. [Learn more about different API modes](/docs/admin)`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of files to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the file used as the starting point for the query, excluding the file itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"createFile"}, + Description: `Create a new file. Before using this route, you should create a new bucket resource using either a [server integration](/docs/server/database#storageCreateBucket) API or directly from your Appwrite console. Larger files should be uploaded using multiple requests with the [content-range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header to send a partial request with a maximum supported chunk of '5MB'. The 'content-range' header values should always be in bytes. When the first request is sent, the server will return the **File** object, and the subsequent part request must include the file's **id** in 'x-appwrite-id' header to allow the server to know that the partial upload is for the existing file and not for a new one. If you're creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }, { + Name: []string{"--file"}, + Description: `Binary file`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default only the current user is granted with read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default only the current user is granted with write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"getFile"}, + Description: `Get a file by its unique ID. This endpoint response returns a JSON object with the file metadata`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }}, + }, { + Name: []string{"updateFile"}, + Description: `Update a file by its unique ID. Only users with write permissions have access to update this resource`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File unique ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }, { + Name: []string{"--read"}, + Description: `An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "read", + IsVariadic: true, + }}, + }, { + Name: []string{"--write"}, + Description: `An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](https://appwrite.io/docs/permissions) and get a full list of available permissions`, + Args: []model.Arg{{ + Name: "write", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"deleteFile"}, + Description: `Delete a file by its unique ID. Only users with write permissions have access to delete this resource`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }}, + }, { + Name: []string{"getFileDownload"}, + Description: `Get a file content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getFilePreview"}, + Description: `Get a file preview image. Currently, this method supports preview for image files (jpg, png, and gif), other supported formats, like pdf, docs, slides, and spreadsheets, will return the file icon image. You can also pass query string arguments for cutting and resizing your preview image. Preview is supported only for image files smaller than 10MB`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }, { + Name: []string{"--width"}, + Description: `Resize preview image width, Pass an integer between 0 to 4000`, + Args: []model.Arg{{ + Name: "width", + }}, + }, { + Name: []string{"--height"}, + Description: `Resize preview image height, Pass an integer between 0 to 4000`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--gravity"}, + Description: `Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right`, + Args: []model.Arg{{ + Name: "gravity", + }}, + }, { + Name: []string{"--quality"}, + Description: `Preview image quality. Pass an integer between 0 to 100. Defaults to 100`, + Args: []model.Arg{{ + Name: "quality", + }}, + }, { + Name: []string{"--borderWidth"}, + Description: `Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0`, + Args: []model.Arg{{ + Name: "borderWidth", + }}, + }, { + Name: []string{"--borderColor"}, + Description: `Preview image border color. Use a valid HEX color, no # is needed for prefix`, + Args: []model.Arg{{ + Name: "borderColor", + }}, + }, { + Name: []string{"--borderRadius"}, + Description: `Preview image border radius in pixels. Pass an integer between 0 to 4000`, + Args: []model.Arg{{ + Name: "borderRadius", + }}, + }, { + Name: []string{"--opacity"}, + Description: `Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1`, + Args: []model.Arg{{ + Name: "opacity", + }}, + }, { + Name: []string{"--rotation"}, + Description: `Preview image rotation in degrees. Pass an integer between -360 and 360`, + Args: []model.Arg{{ + Name: "rotation", + }}, + }, { + Name: []string{"--background"}, + Description: `Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix`, + Args: []model.Arg{{ + Name: "background", + }}, + }, { + Name: []string{"--output"}, + Description: `Output format type (jpeg, jpg, png, gif and webp)`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getFileView"}, + Description: `Get a file content by its unique ID. This endpoint is similar to the download method but returns with no 'Content-Disposition: attachment' header`, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](/docs/server/storage#createBucket)`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--fileId"}, + Description: `File ID`, + Args: []model.Arg{{ + Name: "fileId", + }}, + }, { + Name: []string{"--destination"}, + Description: `Output file path`, + Args: []model.Arg{{ + Name: "path", + }}, + }}, + }, { + Name: []string{"getUsage"}, + Options: []model.Option{{ + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }, { + Name: []string{"getBucketUsage"}, + Options: []model.Option{{ + Name: []string{"--bucketId"}, + Description: `Bucket ID`, + Args: []model.Arg{{ + Name: "bucketId", + }}, + }, { + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }}, + }}, + }, { + Name: []string{"teams"}, + Description: `The teams command allows you to group users of your project and to enable them to share read and write access to your project resources`, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `Get a list of all the teams in which the current user is a member. You can use the parameters to filter your results. + In admin mode, this endpoint returns a list of all the teams in the current project. [Learn more about different API modes](/docs/admin)`, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of teams to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the team used as the starting point for the query, excluding the team itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new team. The user who creates the team will automatically be assigned as the owner of the team. Only the users with the owner role can invite new members, add new owners and delete or update the team`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--name"}, + Description: `Team name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--roles"}, + Description: `Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long`, + Args: []model.Arg{{ + Name: "roles", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"get"}, + Description: `Get a team by its ID. All team members have read access for this resource`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a team using its ID. Only members with the owner role can update the team`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--name"}, + Description: `New team name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a team using its ID. Only team members with the owner role can delete the team`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }, { + Name: []string{"listLogs"}, + Description: `Get the team activity logs list by its unique ID`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"getMemberships"}, + Description: `Use this endpoint to list a team's members using the team's ID. All team members have read access to this endpoint`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of memberships to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the membership used as the starting point for the query, excluding the membership itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"createMembership"}, + Description: `Invite a new member to join your team. If initiated from the client SDK, an email with a link to join the team will be sent to the member's email address and an account will be created for them should they not be signed up already. If initiated from server-side SDKs, the new member will automatically be added to the team. Use the 'url' parameter to redirect the user from the invitation email back to your app. When the user is redirected, use the [Update Team Membership Status](/docs/client/teams#teamsUpdateMembershipStatus) endpoint to allow the user to accept the invitation to the team. Please note that to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URL's are the once from domains you have set when adding your platforms in the console interface`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--email"}, + Description: `Email of the new team member`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--roles"}, + Description: `Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long`, + Args: []model.Arg{{ + Name: "roles", + IsVariadic: true, + }}, + }, { + Name: []string{"--url"}, + Description: `URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--name"}, + Description: `Name of the new team member. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"getMembership"}, + Description: `Get a team member by the membership unique id. All team members have read access for this resource`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--membershipId"}, + Description: `Membership ID`, + Args: []model.Arg{{ + Name: "membershipId", + }}, + }}, + }, { + Name: []string{"updateMembershipRoles"}, + Description: `Modify the roles of a team member. Only team members with the owner role have access to this endpoint. Learn more about [roles and permissions](/docs/permissions)`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--membershipId"}, + Description: `Membership ID`, + Args: []model.Arg{{ + Name: "membershipId", + }}, + }, { + Name: []string{"--roles"}, + Description: `An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https://appwrite.io/docs/permissions). Maximum of 100 roles are allowed, each 32 characters long`, + Args: []model.Arg{{ + Name: "roles", + IsVariadic: true, + }}, + }}, + }, { + Name: []string{"deleteMembership"}, + Description: `This endpoint allows a user to leave a team or for a team owner to delete the membership of any other team member. You can also use this endpoint to delete a user membership even if it is not accepted`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--membershipId"}, + Description: `Membership ID`, + Args: []model.Arg{{ + Name: "membershipId", + }}, + }}, + }, { + Name: []string{"updateMembershipStatus"}, + Description: `Use this endpoint to allow a user to accept an invitation to join a team after being redirected back to your app from the invitation email received by the user. If the request is successful, a session for the user is automatically created`, + Options: []model.Option{{ + Name: []string{"--teamId"}, + Description: `Team ID`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }, { + Name: []string{"--membershipId"}, + Description: `Membership ID`, + Args: []model.Arg{{ + Name: "membershipId", + }}, + }, { + Name: []string{"--secret"}, + Description: `Secret key`, + Args: []model.Arg{{ + Name: "secret", + }}, + }}, + }}, + }, { + Name: []string{"users"}, + Description: `The users command allows you to manage your project users`, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `Get a list of all the project's users. You can use the query params to filter your results`, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Search term to filter your list results. Max length: 256 chars`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of users to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this param to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }, { + Name: []string{"--cursor"}, + Description: `ID of the user used as the starting point for the query, excluding the user itself. Should be used for efficient pagination when working with large sets of data. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "cursor", + }}, + }, { + Name: []string{"--cursorDirection"}, + Description: `Direction of the cursor, can be either 'before' or 'after'`, + Args: []model.Arg{{ + Name: "cursorDirection", + }}, + }, { + Name: []string{"--orderType"}, + Description: `Order result by ASC or DESC order`, + Args: []model.Arg{{ + Name: "orderType", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new user`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID. Choose your own unique ID or pass the string "unique()" to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--password"}, + Description: `User password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--name"}, + Description: `User name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"getUsage"}, + Options: []model.Option{{ + Name: []string{"--range"}, + Description: `Date range`, + Args: []model.Arg{{ + Name: "range", + }}, + }, { + Name: []string{"--provider"}, + Description: `Provider Name`, + Args: []model.Arg{{ + Name: "provider", + }}, + }}, + }, { + Name: []string{"get"}, + Description: `Get a user by its unique ID`, + }, { + Name: []string{"delete"}, + Description: `Delete a user by its unique ID, thereby releasing it's ID. Since ID is released and can be reused, all user-related resources like documents or storage files should be deleted before user deletion. If you want to keep ID reserved, use the [updateStatus](/docs/server/users#usersUpdateStatus) endpoint instead`, + }, { + Name: []string{"updateEmail"}, + Description: `Update the user email by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--email"}, + Description: `User email`, + Args: []model.Arg{{ + Name: "email", + }}, + }}, + }, { + Name: []string{"getLogs"}, + Description: `Get the user activity logs list by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--limit"}, + Description: `Maximum number of logs to return in response. By default will return maximum 25 results. Maximum of 100 results allowed per request`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--offset"}, + Description: `Offset value. The default value is 0. Use this value to manage pagination. [learn more about pagination](https://appwrite.io/docs/pagination)`, + Args: []model.Arg{{ + Name: "offset", + }}, + }}, + }, { + Name: []string{"getMemberships"}, + Description: `Get the user membership list by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }}, + }, { + Name: []string{"updateName"}, + Description: `Update the user name by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--name"}, + Description: `User name. Max length: 128 chars`, + Args: []model.Arg{{ + Name: "name", + }}, + }}, + }, { + Name: []string{"updatePassword"}, + Description: `Update the user password by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--password"}, + Description: `New user password. Must be at least 8 chars`, + Args: []model.Arg{{ + Name: "password", + }}, + }}, + }, { + Name: []string{"updatePhone"}, + Description: `Update the user phone by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--number"}, + Description: `User phone number`, + Args: []model.Arg{{ + Name: "number", + }}, + }}, + }, { + Name: []string{"getPrefs"}, + Description: `Get the user preferences by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }}, + }, { + Name: []string{"updatePrefs"}, + Description: `Update the user preferences by its unique ID. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--prefs"}, + Description: `Prefs key-value JSON object`, + Args: []model.Arg{{ + Name: "prefs", + }}, + }}, + }, { + Name: []string{"getSessions"}, + Description: `Get the user sessions list by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }}, + }, { + Name: []string{"deleteSessions"}, + Description: `Delete all user's sessions by using the user's unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }}, + }, { + Name: []string{"deleteSession"}, + Description: `Delete a user sessions by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--sessionId"}, + Description: `Session ID`, + Args: []model.Arg{{ + Name: "sessionId", + }}, + }}, + }, { + Name: []string{"updateStatus"}, + Description: `Update the user status by its unique ID. Use this endpoint as an alternative to deleting a user if you want to keep user's ID reserved`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--status"}, + Description: `User Status. To activate the user pass 'true' and to block the user pass 'false'`, + Args: []model.Arg{{ + Name: "status", + }}, + }}, + }, { + Name: []string{"updateEmailVerification"}, + Description: `Update the user email verification status by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--emailVerification"}, + Description: `User email verification status`, + Args: []model.Arg{{ + Name: "emailVerification", + }}, + }}, + }, { + Name: []string{"updatePhoneVerification"}, + Description: `Update the user phone verification status by its unique ID`, + Options: []model.Option{{ + Name: []string{"--userId"}, + Description: `User ID`, + Args: []model.Arg{{ + Name: "userId", + }}, + }, { + Name: []string{"--phoneVerification"}, + Description: `User phone verification status`, + Args: []model.Arg{{ + Name: "phoneVerification", + }}, + }}, + }}, + }, { + Name: []string{"client"}, + Description: `The client command allows you to configure your CLI`, + Options: []model.Option{{ + Name: []string{"--selfSigned"}, + Description: `Configure the CLI to use a self-signed certificate ( true or false )`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--endpoint"}, + Description: `Set your Apwrite server endpoint`, + Args: []model.Arg{{ + Name: "endpoint", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Set your Apwrite project ID`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--key"}, + Description: `Set your Apwrite server's API key`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--debug"}, + Description: `Print CLI debug information`, + }, { + Name: []string{"--reset"}, + Description: `Reset the CLI configuration`, + }}, + }}, + } +} diff --git a/autocomplete/specs/apt.go b/autocomplete/specs/apt.go new file mode 100644 index 0000000..0347113 --- /dev/null +++ b/autocomplete/specs/apt.go @@ -0,0 +1,429 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["apt"] = model.Subcommand{ + Name: []string{"apt"}, + Description: `Package manager for Debian-based Linux distributions`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Print help message and exit`, + IsPersistent: true, + }, { + Name: []string{"-v", "--version"}, + Description: `Print version information and exit`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"update"}, + Description: `Update the package database`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }}, + }, { + Name: []string{"upgrade"}, + Description: `Install all available upgrades`, + Args: []model.Arg{{ + Name: "package", + Description: `Package(s) to upgrade`, + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"full-upgrade"}, + Description: `Install available upgrades, removing currently installed packages if needed to upgrade the system as a whole`, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"install"}, + Description: `Install package(s)`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to install`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }, { + Name: []string{"--reinstall"}, + Description: `Reinstall the package if it is already installed`, + }, { + Name: []string{"-f", "--fix-broken"}, + Description: `Attempt to fix broken packages`, + }}, + }, { + Name: []string{"reinstall"}, + Description: `Reinstall package(s)`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to reinstall`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"remove"}, + Description: `Remove package(s)`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to remove`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }, { + Name: []string{"-f", "--fix-broken"}, + Description: `Attempt to fix broken packages`, + }}, + }, { + Name: []string{"purge"}, + Description: `Remove package(s) and their configuration files`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to purge`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"autoremove", "auto-remove"}, + Description: `Remove unused packages`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"list"}, + Description: `List packages`, + Options: []model.Option{{ + Name: []string{"--installed"}, + Description: `List installed packages`, + }, { + Name: []string{"--upgradable"}, + Description: `List upgradable packages`, + }}, + }, { + Name: []string{"search"}, + Description: `Search for packages`, + Args: []model.Arg{{ + Name: "query", + Description: `The query to search for`, + }}, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }}, + }, { + Name: []string{"show"}, + Description: `Show package details`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to show`, + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"satisfy"}, + Description: `Satisfy package dependencies`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to satisfy`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"clean"}, + Description: `Remove downloaded package files`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"edit-sources"}, + Description: `Edit the list of package sources`, + Options: []model.Option{{ + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }}, + }, { + Name: []string{"source"}, + Description: `Fetch package source files`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to get source files for`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }, { + Name: []string{"--compile"}, + Description: `Compile the package to a binary using dpkg-buildpackage`, + }, { + Name: []string{"--only-source"}, + }, { + Name: []string{"--host-architecture"}, + Description: `The architecture to build for`, + Args: []model.Arg{{ + Name: "architecture", + Description: `The architecture to build for`, + }}, + }}, + }, { + Name: []string{"build-dep"}, + Description: `Install/remove packages in an attempt to satisfy the build dependencies for a source package`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to build dependencies for`, + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }, { + Name: []string{"--host-architecture"}, + Description: `The architecture to build for`, + Args: []model.Arg{{ + Name: "architecture", + Description: `The architecture to build for`, + }}, + }, { + Name: []string{"--only-source"}, + }}, + }, { + Name: []string{"download"}, + Description: `Download package binary into the current directory`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to download`, + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }}, + }, { + Name: []string{"autoclean", "auto-clean"}, + Description: `Like clean, but only removes package files that can no longer be downloaded`, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }, { + Name: []string{"-s", "--simulate"}, + Description: `Simulate running this command and show it's output, without actually changing anything`, + }}, + }, { + Name: []string{"changelog"}, + Description: `Show the changelog for a package`, + Args: []model.Arg{{ + Name: "package", + Description: `The package you want to show the changelog for`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--download-only"}, + Description: `For any operation that would download packages, download them, but do nothing else`, + }, { + Name: []string{"--no-download"}, + Description: `Do not download packages, attempt to use already downloaded packages`, + }, { + Name: []string{"-y"}, + Description: `Assume yes to all prompts`, + ExclusiveOn: []string{"--assume-no"}, + }, { + Name: []string{"--assume-no"}, + Description: `Assume no to all prompts`, + ExclusiveOn: []string{"-y"}, + }}, + }}, + } +} diff --git a/autocomplete/specs/arch.go b/autocomplete/specs/arch.go new file mode 100644 index 0000000..229fdc0 --- /dev/null +++ b/autocomplete/specs/arch.go @@ -0,0 +1,87 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["arch"] = model.Subcommand{ + Name: []string{"arch"}, + Description: `Print architecture type or run select architecture`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "program", + IsCommand: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-32"}, + Description: `Add the native 32-bit architecture to the list of architectures`, + }, { + Name: []string{"-64"}, + Description: `Add the native 64-bit architecture to the list of architectures`, + }, { + Name: []string{"-arch"}, + Args: []model.Arg{{ + Name: "arch_name", + Suggestions: []model.Suggestion{{ + Name: []string{`i386`}, + Description: `32-bit intel`, + }, { + Name: []string{`x86_64`}, + Description: `64-bit intel`, + }, { + Name: []string{`x86_64h`}, + Description: `64-bit intel (haswell)`, + }, { + Name: []string{`arm64`}, + Description: `64-bit arm`, + }, { + Name: []string{`arm64e`}, + Description: `64-bit arm (Apple Silicon)`, + }}, + }}, + ExclusiveOn: []string{"-i386", "-x86_64", "-x86_64h", "-arm64", "-arm64e"}, + }, { + Name: []string{"-i386"}, + Description: `32-bit intel`, + ExclusiveOn: []string{"-arch"}, + }, { + Name: []string{"-x86_64"}, + Description: `64-bit intel`, + ExclusiveOn: []string{"-arch"}, + }, { + Name: []string{"-x86_64h"}, + Description: `64-bit intel (haswell)`, + ExclusiveOn: []string{"-arch"}, + }, { + Name: []string{"-arm64"}, + Description: `64-bit arm`, + ExclusiveOn: []string{"-arch"}, + }, { + Name: []string{"-arm64e"}, + Description: `64-bit arm (Apple Silicon)`, + ExclusiveOn: []string{"-arch"}, + }, { + Name: []string{"-c"}, + Description: `Clear the environment that will be passed to the command`, + }, { + Name: []string{"-d"}, + Description: `Delete the named environment variable from the command's environment`, + Args: []model.Arg{{ + Name: "envname", + }}, + }, { + Name: []string{"-e"}, + Description: `Assign the given value to the variable in the command's environment`, + Args: []model.Arg{{ + Name: "envname=value", + }}, + }, { + Name: []string{"-h"}, + Description: `Print a help message and exit`, + }}, + } +} diff --git a/autocomplete/specs/argo.go b/autocomplete/specs/argo.go new file mode 100644 index 0000000..b9f81db --- /dev/null +++ b/autocomplete/specs/argo.go @@ -0,0 +1,1556 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["argo"] = model.Subcommand{ + Name: []string{"argo"}, + Description: ``, + Options: []model.Option{{ + Name: []string{"--argo-base-href"}, + Description: `An path to use with HTTP client (e.g. due to BASE_HREF). Defaults to the ARGO_BASE_HREF environment variable`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--argo-http1"}, + Description: `If True, Use the HTTP client. Defaults to the ARGO_HTTP1 environment variable`, + IsPersistent: true, + }, { + Name: []string{"--argo-server", "-s"}, + Description: `API server host:port. e.g. localhost:2746. Defaults to the ARGO_SERVER environment variable`, + Args: []model.Arg{{ + Name: "host:port", + }}, + IsPersistent: true, + }, { + Name: []string{"--as"}, + Description: `Username to impersonate for the operation`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--as-group"}, + Description: `Group to impersonate for the operation, This flag can be repeated to specify multiple groups`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + IsPersistent: true, + }, { + Name: []string{"--as-uid"}, + Description: `UID to impersonate for the operation`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--certificate-authorityk"}, + Description: `Path to a cert file for the certificate authority`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--client-certificate"}, + Description: `Path to a client certificate file for TLS`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--client-key"}, + Description: `Path to a client key file for TLS`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--cluster"}, + Description: `The name of the kubeconfig cluster to use`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--context"}, + Description: `The name of the kubeconfig context to use`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--gloglevel"}, + Description: `Set the glog logging level`, + Args: []model.Arg{{ + Name: "int", + }}, + IsPersistent: true, + }, { + Name: []string{"--header", "-H"}, + Description: `Sets additional header to all requests made by Argo CLI. (Can be repeated multiple times to add multiple headers`, + Args: []model.Arg{{ + Name: "int", + }}, + IsPersistent: true, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for argo`, + IsPersistent: true, + }, { + Name: []string{"--insecure-skip-tls-verify"}, + Description: `If True, The server's certificate will not be checked for validity. This will make your HTTPS connections insecure`, + IsPersistent: true, + }, { + Name: []string{"--insecure-skip-verify", "-k"}, + Description: `If true the Argo Server's certificate will not be checked for validity. This will make your HTTPS connections insecure. Defaults to the ARGO_INSECURE_SKIP_VERIFY environment variable`, + IsPersistent: true, + }, { + Name: []string{"--instanceid"}, + Description: `Submit with a specific controller's instance id label. Default to the ARGO_INSTANCEID environment variable`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--kubeconfig"}, + Description: `Path to a kube config. Only required if out-of-cluster`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--loglevel"}, + Description: `Set the logging level. One of: debug|info|warn|error (default "info")`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--namespace", "-n"}, + Description: `If present the namespace scope for this CLI request`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--password"}, + Description: `Password for basic authentication to the API server`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--proxy-url"}, + Description: `This URL will be used to connect via proxy`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--request-timeout"}, + Description: `The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m)`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--secure", "-e"}, + Description: `Whether or not the server is using TLS with the Argo Server. Defaults to the ARGO_SECURE environment variable. (default true)`, + IsPersistent: true, + }, { + Name: []string{"--server"}, + Description: `The address and port of the Kubernetes API server`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--tls-server-name"}, + Description: `If Provided, This name will be used to validate server certificate. If this is not provided`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--token"}, + Description: `Bearer token for authentication to the API server`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--user"}, + Description: `The name of the kubeconfig user to use`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--username"}, + Description: `Username for basic authentication to the API server`, + Args: []model.Arg{{ + Name: "string", + }}, + IsPersistent: true, + }, { + Name: []string{"--verbose", "-v"}, + Description: `Enabled verbose logging i.e. --loglevel debug`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"archive"}, + Description: `Manage the workflow archive`, + Subcommands: []model.Subcommand{{ + Name: []string{"delete"}, + Description: `Delete a workflow in the archive`, + Args: []model.Arg{{ + Name: "UID", + }}, + }, { + Name: []string{"get"}, + Description: `Get a workflow in the archive`, + Args: []model.Arg{{ + Name: "UID", + }}, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. One of: json|yaml|wide (default "wide")`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"list"}, + Description: `List workflows in the archive`, + Options: []model.Option{{ + Name: []string{"--chunk-size"}, + Description: `Return large lists in chunks rather than all at once. Pass 0 to disable`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for list`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: json|yaml|wide (default "wide")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1,key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"list-label-keys"}, + Description: `List workflows label keys in the archive`, + }, { + Name: []string{"list-label-values"}, + Description: `Get workflow label values in the archive`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for list-label-values`, + }, { + Name: []string{"--selector", "-l"}, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"resubmit"}, + Description: `Resubmit one or more workflows`, + Args: []model.Arg{{ + Name: "UID", + }}, + Options: []model.Option{{ + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for resubmit`, + }, { + Name: []string{"--log"}, + Description: `Log the workflow until it completes`, + }, { + Name: []string{"--memoized"}, + Description: `Re-use successful steps & outputs from the previous run`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--parameter", "-p"}, + Description: `Input parameter to override on the original workflow spec`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--priority"}, + Description: `Workflow priority`, + Args: []model.Arg{{ + Name: "int32", + }}, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1,key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--wait", "-w"}, + Description: `Wait for the workflow to complete only works when a single workflow is resubmitted`, + }, { + Name: []string{"--watch"}, + Description: `Watch the workflow until it completes only works when a single workflow is resubmitted`, + }}, + }, { + Name: []string{"retry"}, + Description: `Retry zero or more workflows`, + Args: []model.Arg{{ + Name: "UID", + }}, + Options: []model.Option{{ + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on, supports '='`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for retry`, + }, { + Name: []string{"--log"}, + Description: `Log the workflow until it completes`, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of nodes to reset eg: --node-field-selector inputs.paramaters.myparam.value=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--parameter", "-p"}, + Description: `Input parameter to override on the original workflow spec`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--restart-successful"}, + Description: `Indicates to restart successful nodes matching the --node-field-selector`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '=='`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--wait", "-w"}, + Description: `Wait for the workflow to complete only works when a single workflow is retried`, + }, { + Name: []string{"--watch"}, + Description: `Watch the workflow until it completes only works when a single workflow is retried`, + }}, + }}, + }, { + Name: []string{"auth"}, + Description: `Manage authentication settings`, + Subcommands: []model.Subcommand{{ + Name: []string{"token"}, + Description: `Print the auth token`, + }}, + }, { + Name: []string{"cluster-template", "cwftmpl", "cwft"}, + Description: `Manipulate cluster workflow templates`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a cluster workflow template`, + Args: []model.Arg{{ + Name: "files", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for create`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a cluster workflow template`, + Args: []model.Arg{{ + Name: "WORKFLOW_TEMPLATE", + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Delete all cluster workflow templates`, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for delete`, + }}, + }, { + Name: []string{"get"}, + Description: `Display details about a cluster workflow template`, + Args: []model.Arg{{ + Name: "CLUSTER", + }, { + Name: "WORKFLOW_TEMPLATE", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for get`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"lint"}, + Description: `Validate files or directories of cluster workflow template manifests`, + Args: []model.Arg{{ + Name: "FILE", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for lint`, + }, { + Name: []string{"--output", "-o"}, + Description: `Linting results output format. One of: pretty|simple (default "pretty")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"list"}, + Description: `List cluster workflow templates`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for list`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: wide|name`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }}, + }, { + Name: []string{"completion"}, + Description: `Output shell completion code for the specified shell (bash or zsh)`, + Args: []model.Arg{{ + Name: "SHELL", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for completion`, + }}, + }, { + Name: []string{"cp"}, + Description: `Copy artifacts from workflow`, + Args: []model.Arg{{ + Name: "my-wf", + }, { + Name: "output-directory", + }}, + Options: []model.Option{{ + Name: []string{"--artifact-name"}, + Description: `Name of output artifact in workflow`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for cp`, + }, { + Name: []string{"--node-id"}, + Description: `Id of node in workflow`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--path"}, + Description: `Use variables {workflowName} {nodeId} {templateName} {artifactName} and {namespace} to create a customized path to store the artifacts; example: {workflowName}/{templateName}/{artifactName} (default "{namespace}/{workflowName}/{nodeId}/outputs/{artifactName}")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--template-name"}, + Description: `Name of template in workflow`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"cron"}, + Description: `Manage cron workflows`, + Options: []model.Option{{ + Name: []string{"--help"}, + Description: `Help for cron`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a cron workflow`, + Args: []model.Arg{{ + Name: "FILE1 FILE2...", + }}, + Options: []model.Option{{ + Name: []string{"--entrypoint"}, + Description: `Override entrypoint`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--generate-name"}, + Description: `Override metadata.generateName`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for create`, + }, { + Name: []string{"--labels", "-l"}, + Description: `Comma separated labels to apply to the workflow. Will override previous values`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--name"}, + Description: `Override metadata.name`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--parameter", "-p"}, + Description: `Pass an input parameter`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--parameter-file", "-f"}, + Description: `Pass a file containing all input parameters`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--schedule"}, + Description: `Override cron workflow schedule`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--serviceaccount"}, + Description: `Run all pods in the workflow using specified serviceaccount`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a cron workflow`, + Args: []model.Arg{{ + Name: "[CRON_WORKFLOW... | --all]", + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Delete all cron workflows`, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for delete`, + }}, + }, { + Name: []string{"get"}, + Description: `Display details about a cron workflow`, + Args: []model.Arg{{ + Name: "CRON_WORKFLOW", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for get`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"lint"}, + Description: `Validate files or directories of cron workflow manifests`, + Args: []model.Arg{{ + Name: "FILE", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for lint`, + }, { + Name: []string{"--output", "-o"}, + Description: `Linting results output format. One of: pretty|simple (default "pretty")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict validation (default true)`, + }}, + }, { + Name: []string{"list"}, + Description: `List cron workflows`, + Options: []model.Option{{ + Name: []string{"--all-namespaces", "-A"}, + Description: `Show workflows from all namespaces`, + }, { + Name: []string{"--chunk-size"}, + Description: `Return large lists in chunks rather than all at once. Pass 0 to disable`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"--completed"}, + Description: `Show completed workflows. Mutually exclusive with --running`, + }, { + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on. Supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for list`, + }, { + Name: []string{"--no-headers"}, + Description: `Don't print headers (default print headers)`, + }, { + Name: []string{"--older"}, + Description: `List completed workflows finished before the specified duration (e.g. 10m 3h 1d)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|wide|yaml|json`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--prefix"}, + Description: `Filter workflows by prefix`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--resubmitted"}, + Description: `Show resubmitted workflows`, + }, { + Name: []string{"--running"}, + Description: `Show running workflows. Mutually exclusive with --completed`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--since"}, + Description: `Show only workflows created after than a relative duration`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--status"}, + Description: `Filter by status (comma separated)`, + Args: []model.Arg{{ + Name: "strings", + }}, + }}, + }, { + Name: []string{"resume"}, + Description: `Resume zero or more cron workflows`, + Args: []model.Arg{{ + Name: "CRON_WORKFLOW", + }}, + }, { + Name: []string{"suspend"}, + Description: `Suspend zero or more cron workflows`, + Args: []model.Arg{{ + Name: "CRON_WORKFLOW", + }}, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete workflows`, + Args: []model.Arg{{ + Name: "WORKFLOW", + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Delete all workflows`, + }, { + Name: []string{"--all-namespaces", "-A"}, + Description: `Delete workflows from all namespaces`, + }, { + Name: []string{"--completed"}, + Description: `Delete completed workflows`, + }, { + Name: []string{"--dry-run"}, + Description: `Do not delete the workflow only print what would happen`, + }, { + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--force"}, + Description: `Force delete workflows by removing finalizers`, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for delete`, + }, { + Name: []string{"--older"}, + Description: `Delete completed workflows finished before the specified duration (e.g. 10m 3h 1d)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--prefix"}, + Description: `Delete workflows by prefix`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--resubmitted"}, + Description: `Delete resubmitted workflows`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=''=='and '!='.(e.g. -l key1=value1,key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"executor-plugin"}, + Description: `Manage executor plugins`, + Subcommands: []model.Subcommand{{ + Name: []string{"build"}, + Description: `Build an executor plugin`, + Args: []model.Arg{{ + Name: "DIR", + }}, + }}, + }, { + Name: []string{"get"}, + Description: `Display details about a workflow`, + Args: []model.Arg{{ + Name: "WORKFLOW", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for get`, + }, { + Name: []string{"--no-color"}, + Description: `Disable colorized output`, + }, { + Name: []string{"--no-utf8"}, + Description: `Use plain 7-bits ascii characters`, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to display, Eg: --node-field-selector phase=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: json|yaml|short|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--status"}, + Description: `Filter by status (Pending, Running, Succeeded, Skipped, Failed, Error)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"help"}, + Description: `Help about any command`, + }, { + Name: []string{"lint"}, + Description: `Validate files or directories of manifests`, + Args: []model.Arg{{ + Name: "FILE", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for lint`, + }, { + Name: []string{"--kinds"}, + Description: `Which kinds will be linted. Can be: workflows|workflowtemplates|cronworkflows|clusterworkflowtemplates (default [all])`, + Args: []model.Arg{{ + Name: "strings", + }}, + }, { + Name: []string{"--offline"}, + Description: `Perform offline linting`, + }, { + Name: []string{"--output", "-o"}, + Description: `Linting results output format. One of: pretty|simple (default "pretty")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"list"}, + Description: `List workflows`, + Options: []model.Option{{ + Name: []string{"--all-namespaces", "-A"}, + Description: `Show workflows from all namespaces`, + }, { + Name: []string{"--chunk-size"}, + Description: `Return large lists in chunks rather than all at once. Pass 0 to disable`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"--completed"}, + Description: `Show completed workflows. Mutually exclusive with --running`, + }, { + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for list`, + }, { + Name: []string{"--no-headers"}, + Description: `Don't print headers (default print headers)`, + }, { + Name: []string{"--older"}, + Description: `List completed workflows finished before the specified duration (e.g. 10m 3h 1d)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|wide|yaml|json`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--prefix"}, + Description: `Filter workflows by prefix`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--resubmitted"}, + Description: `Show resubmitted workflows`, + }, { + Name: []string{"--running"}, + Description: `Show running workflows. Mutually exclusive with --completed`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1,key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--since"}, + Description: `Show only workflows created after than a relative duration`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--status"}, + Description: `Filter by status (comma separated)`, + Args: []model.Arg{{ + Name: "strings", + }}, + }}, + }, { + Name: []string{"logs"}, + Description: `View logs of a pod or workflow`, + Args: []model.Arg{{ + Name: "WORKFOW", + }, { + Name: "POD", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--container", "-c"}, + Description: `Print the logs of this container (default "main")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--follow", "-f"}, + Description: `Specify if the logs should be streamed`, + }, { + Name: []string{"--grep"}, + Description: `Grep for lines`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for logs`, + }, { + Name: []string{"--no-color"}, + Description: `Disable colorized output`, + }, { + Name: []string{"--previous", "-p"}, + Description: `Specify if the previously terminated container logs should be returned`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Log selector for some pod`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--since"}, + Description: `Only return logs newer than a relative duration like 5s 2m or 3h. Defaults to all logs. Only one of since-time / since may be used`, + Args: []model.Arg{{ + Name: "duration", + }}, + }, { + Name: []string{"--since-time"}, + Description: `Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may be used`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--tail"}, + Description: `If set the number of lines from the end of the logs to show. If not specified logs are shown from the creation of the container or sinceSeconds or sinceTime (default -1)`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"--timestamps"}, + Description: `Include timestamps on each line in the log output`, + }}, + }, { + Name: []string{"node"}, + Description: `Perform action on a node in a workflow`, + Args: []model.Arg{{ + Name: "ACTION", + }, { + Name: "WORKFLOW", + }, { + Name: "FLAGS", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for node`, + }, { + Name: []string{"--message", "-m"}, + Description: `Set the message of a node eg: --message "Hello World"`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to set eg: --node-field-selector inputs.paramaters.myparam.value=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output-parameter", "-p"}, + Description: `Set a "supplied" output parameter of node eg: --output-parameter parameter-name="Hello world!"`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--phase"}, + Description: `Phase to set the node to eg: --phase Succeeded`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"resubmit"}, + Description: `Resubmit one or more workflows`, + Args: []model.Arg{{ + Name: "WORKFLOW...", + }}, + Options: []model.Option{{ + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on: supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for resubmit`, + }, { + Name: []string{"--log"}, + Description: `Log the workflow until it completes`, + }, { + Name: []string{"--memoized"}, + Description: `Re-use successful steps & outputs from the previous run`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--parameter", "-p"}, + Description: `Input parameter to override on the original workflow spec`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--priority"}, + Description: `Workflow priority`, + Args: []model.Arg{{ + Name: "int32", + }}, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--wait", "-w"}, + Description: `Wait for the workflow to complete - only works when a single workflow is resubmitted`, + }, { + Name: []string{"--watch"}, + Description: `Watch the workflow until it completes - only works when a single workflow is resubmitted`, + }}, + }, { + Name: []string{"resume"}, + Description: `Resume zero or more workflows`, + Args: []model.Arg{{ + Name: "WORKFLOW1", + }, { + Name: "WORKFLOW2...", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for resume`, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to resume, Eg: --node-field-selector inputs.paramaters.myparam.value=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"retry"}, + Description: `Retry zero or more workflows`, + Args: []model.Arg{{ + Name: "WORKFLOW...", + }}, + Options: []model.Option{{ + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on, Supports '='; '=='; and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for retry`, + }, { + Name: []string{"--log"}, + Description: `Log the workflow until it completes`, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of nodes to reset; eg: --node-field-selector inputs.paramaters.myparam.value=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--parameter", "-p"}, + Description: `Input parameter to override on the original workflow spec`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--restart-successful"}, + Description: `Indicates to restart successful nodes matching the --node-field-selector`, + }, { + Name: []string{"--selector", "-l"}, + Description: `Selector (label query) to filter on; not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1,key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--wait", "-w"}, + Description: `Wait for the workflow to complete only works when a single workflow is retried`, + }, { + Name: []string{"--watch"}, + Description: `Watch the workflow until it completes only works when a single workflow is retried`, + }}, + }, { + Name: []string{"server"}, + Description: `Start the Argo Server`, + Options: []model.Option{{ + Name: []string{"--access-control-allow-origin"}, + Description: `Set Access-Control-Allow-Origin header in HTTP responses`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--allowed-link-protocol"}, + Description: `Allowed link protocol in configMap. Used if the allowed configMap links protocol are different from http https. Defaults to the environment variable ALLOWED_LINK_PROTOCOL (default [http https])`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--api-rate-limit"}, + Description: `Set limit per IP for api ratelimiter (default 1000)`, + Args: []model.Arg{{ + Name: "uint", + }}, + }, { + Name: []string{"--auth-mode"}, + Description: `API server authentication mode. Any 1 or more length permutation of: client server sso (default [client])`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"--basehref"}, + Description: `Value for base href in index.html. Used if the server is running behind reverse proxy under subpath different from /. Defaults to the environment variable BASE_HREF. (default " /")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-b", "--browser"}, + Description: `Enable automatic launching of the browser [local mode]`, + }, { + Name: []string{"--configmap"}, + Description: `Name of K8s configmap to retrieve workflow controller configuration (default "workflow-controller-configmap")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--event-async-dispatch"}, + Description: `Dispatch event async`, + }, { + Name: []string{"--event-operation-queue-size"}, + Description: `How many events operations that can be queued at once (default 16)`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"--event-worker-count"}, + Description: `How many event workers to run (default 4)`, + Args: []model.Arg{{ + Name: "int", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for server`, + }, { + Name: []string{"--hsts"}, + Description: `Whether or not we should add a HTTP Secure Transport Security header. This only has effect if secure is enabled. (default true)`, + }, { + Name: []string{"--log-format"}, + Description: `The formatter to use for logs. One of: text|json (default "text")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--managed-namespace"}, + Description: `Namespace that watches default to the installation namespace`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--namespaced"}, + Description: `Run as namespaced mode`, + }, { + Name: []string{"-p", "--port"}, + Description: `Port to listen on (default 2746)`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--tls-certificate-secret-name"}, + Description: `The name of a Kubernetes secret that contains the server certificates`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--x-frame-options"}, + Description: `Set X-Frame-Options header in HTTP responses. (default "DENY")`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"stop"}, + Description: `Stop zero or more workflows allowing all exit handlers to run`, + Args: []model.Arg{{ + Name: "WORKFLOW1", + }, { + Name: "WORKFLOW2...", + }}, + Options: []model.Option{{ + Name: []string{"--dry-run"}, + Description: `If true, only stop the workflows that would be stopped, without stopping them`, + }, { + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on supports '=' '==' and '!='.(e.g. --field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for stop`, + }, { + Name: []string{"--message"}, + Description: `Message to add to previously running nodes`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to stop eg: --node-field-selector inputs.paramaters.myparam.value=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-l", "--selector"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1, key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"submit"}, + Description: `Submit a workflow`, + Args: []model.Arg{{ + Name: "FILE...", + }}, + Options: []model.Option{{ + Name: []string{"--dry-run"}, + Description: `Modify the workflow on the client-side without creating it`, + }, { + Name: []string{"--entrypoint"}, + Description: `Override entrypoint`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--from"}, + Description: `Submit from an existing kind/name E.g. --from=cronwf/hello-world-cwf`, + Args: []model.Arg{{ + Name: "kind/name", + }}, + }, { + Name: []string{"--generate-name"}, + Description: `Override metadata.generateName`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for submit`, + }, { + Name: []string{"-l", "--labels"}, + Description: `Comma separated labels to apply to the workflow. Will override previous values`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--log"}, + Description: `Log the workflow until it completes`, + }, { + Name: []string{"--name"}, + Description: `Override metadata.name`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to display eg: --node-field-selector phase=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-p", "--parameter"}, + Description: `Pass an input parameter`, + Args: []model.Arg{{ + Name: "stringArray", + }}, + }, { + Name: []string{"-f", "--parameter-file"}, + Description: `Pass a file containing all input parameters`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--priority"}, + Description: `Workflow priority`, + Args: []model.Arg{{ + Name: "int32", + }}, + }, { + Name: []string{"--scheduled-time"}, + Description: `Override the workflow's scheduledTime parameter (useful for backfilling). The time must be RFC3339`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--server-dry-run"}, + Description: `Send request to server with dry-run flag which will modify the workflow without creating it`, + }, { + Name: []string{"--serviceaccount"}, + Description: `Run all pods in the workflow using specified serviceaccount`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--status"}, + Description: `Filter by status (Pending Running Succeeded Skipped Failed Error). Should only be used with --watch`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }, { + Name: []string{"-w", "--wait"}, + Description: `Wait for the workflow to complete`, + }, { + Name: []string{"--watch"}, + Description: `Watch the workflow until it completes`, + }}, + }, { + Name: []string{"suspend"}, + Description: `Suspend zero or more workflow`, + Args: []model.Arg{{ + Name: "WORKFLOW1", + }, { + Name: "WORKFLOW2...", + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Help for suspend`, + }}, + }, { + Name: []string{"template"}, + Description: `Manipulate workflow templates`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Help for template`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a workflow template`, + Args: []model.Arg{{ + Name: "FILE1", + }, { + Name: "FILE2...", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for create`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: name|json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a workflow template`, + Args: []model.Arg{{ + Name: "WORKFLOW_TEMPLATE", + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Delete all workflow templates`, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for delete`, + }}, + }, { + Name: []string{"get"}, + Description: `Display details about a workflow template`, + Args: []model.Arg{{ + Name: "WORKFLOW_TEMPLATE", + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Help for get`, + }, { + Name: []string{"-o", "--output"}, + Description: `Output format. One of: json|yaml|wide`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"lint"}, + Description: `Validate a file or directory of workflow template manifests`, + Args: []model.Arg{{ + Name: "DIRECTORY", + }, { + Name: "FILE1 FILE2 FILE3...", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for lint`, + }, { + Name: []string{"--output", "-o"}, + Description: `Linting results output format. One of: pretty|simple (default "pretty")`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--strict"}, + Description: `Perform strict workflow validation (default true)`, + }}, + }, { + Name: []string{"list"}, + Description: `List workflow templates`, + Options: []model.Option{{ + Name: []string{"--all-namespaces", "-A"}, + Description: `Show workflows from all namespaces`, + }, { + Name: []string{"--help", "-h"}, + Description: `Help for list`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. One of: wide|name`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }}, + }, { + Name: []string{"terminate"}, + Description: `Terminate zero or more workflows immediately`, + Args: []model.Arg{{ + Name: "WORKFLOOW WORKFLOW2...", + }}, + Options: []model.Option{{ + Name: []string{"--dry-run"}, + Description: `Do not terminate the workflow only print what would happen`, + }, { + Name: []string{"--field-selector"}, + Description: `Selector (field query) to filter on supports '=' '==' and '!='.(e.g. --field-selector key1=value1key2=value2). The server only supports a limited number of field queries per type`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for terminate`, + }, { + Name: []string{"-l", "--selector"}, + Description: `Selector (label query) to filter on not including uninitialized ones supports '=' '==' and '!='.(e.g. -l key1=value1key2=value2)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }, { + Name: []string{"version"}, + Description: `Print version information`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Help for version`, + }, { + Name: []string{"--short"}, + Description: `Print just the version number`, + }}, + }, { + Name: []string{"wait"}, + Description: `Waits for workflows to complete`, + Args: []model.Arg{{ + Name: "[WORKFLOW...]", + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Help for wait`, + }, { + Name: []string{"--ignore-not-found"}, + Description: `Ignore the wait if the workflow is not found`, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch a workflow until it completes`, + Args: []model.Arg{{ + Name: "WORKFLOW", + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Help for watch`, + }, { + Name: []string{"--node-field-selector"}, + Description: `Selector of node to display eg: --node-field-selector phase=abc`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--status"}, + Description: `Filter by status (Pending, Running, Succeeded, Skipped, Failed, Error)`, + Args: []model.Arg{{ + Name: "string", + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/asar.go b/autocomplete/specs/asar.go new file mode 100644 index 0000000..0b87363 --- /dev/null +++ b/autocomplete/specs/asar.go @@ -0,0 +1,59 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["asar"] = model.Subcommand{ + Name: []string{"asar"}, + Description: `A simple extensive tar-like archive format with indexing`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for asar`, + }, { + Name: []string{"--V", "--version"}, + Description: `Output the version number`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"pack", "p"}, + Description: `Create asar archive`, + Args: []model.Arg{{ + Name: "directory", + Description: `The directory you want to archive`, + }, { + Name: "output", + Description: `The name of the output file`, + }}, + }, { + Name: []string{"list", "l"}, + Description: `List files of asar archive`, + Args: []model.Arg{{ + Name: "archive", + Description: `The archive file`, + }}, + }, { + Name: []string{"extract-file", "ef"}, + Description: `Extract one file from archive`, + Args: []model.Arg{{ + Name: "archive", + Description: `The archive file`, + }, { + Name: "filename", + Description: `The name of the file you want to extract`, + }}, + }, { + Name: []string{"extract", "e"}, + Description: `Extract archive`, + Args: []model.Arg{{ + Name: "archive", + Description: `The archive file`, + }, { + Name: "directory", + Description: `The directory you want to extract to`, + }}, + }}, + } +} diff --git a/autocomplete/specs/asciinema.go b/autocomplete/specs/asciinema.go new file mode 100644 index 0000000..bec5a04 --- /dev/null +++ b/autocomplete/specs/asciinema.go @@ -0,0 +1,137 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["asciinema"] = model.Subcommand{ + Name: []string{"asciinema"}, + Description: `Terminal sessoin recorder`, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `Ouput version information and exit`, + }, { + Name: []string{"-h", "--help"}, + Description: `Output help message and exit`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"rec"}, + Description: `Start a recording`, + Args: []model.Arg{{ + Name: "filename", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--stdin"}, + Description: `Enable stdin (keyboard) recording`, + }, { + Name: []string{"--append"}, + Description: `Append to existing recording`, + }, { + Name: []string{"--raw"}, + Description: `Save raw output, without timing or other metadata`, + }, { + Name: []string{"--overwrite"}, + Description: `Overwrite the recording if it already exists`, + }, { + Name: []string{"-c", "--command"}, + Description: `Specify command to record, defaults to $SHELL`, + Args: []model.Arg{{ + Name: "command", + IsCommand: true, + }}, + }, { + Name: []string{"-e", "--env"}, + Description: `List of environment variables to capture`, + Args: []model.Arg{{ + Name: "variables", + }}, + }, { + Name: []string{"-t", "--title"}, + Description: `Specify the title of the asciicast`, + Args: []model.Arg{{ + Name: "title", + }}, + }, { + Name: []string{"-i", "--idle-time-limit"}, + Description: `Limit recorded terminal inactivity to max amount of seconds`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"--cols"}, + Description: `Override terminal columns for recorded process`, + Args: []model.Arg{{ + Name: "cols", + }}, + }, { + Name: []string{"--rows"}, + Description: `Override terminal rows for recorded process`, + Args: []model.Arg{{ + Name: "rows", + }}, + }, { + Name: []string{"-y", "--yes"}, + Description: `Answer “yes” to all prompts (e.g. upload confirmation)`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Be quiet, suppress all notices/warnings (implies -y)`, + }}, + }, { + Name: []string{"play"}, + Description: `Replay recorded asciicast in a terminal`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file or URL", + Suggestions: []model.Suggestion{{ + Name: []string{`-`}, + Description: `Stdin`, + }}, + }}, + Options: []model.Option{{ + Name: []string{"-i", "--idle-time-linit"}, + Description: `Limit replayed terminal inactivity`, + Args: []model.Arg{{ + Name: "seconds", + Description: `Can be fractional`, + }}, + }, { + Name: []string{"-s", "--speed"}, + Description: `Playback speed`, + Args: []model.Arg{{ + Name: "factor", + Description: `Can be fractional`, + }}, + }}, + }, { + Name: []string{"cat"}, + Description: `Print full output of recorded asciicast to a terminal`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file or URL", + Suggestions: []model.Suggestion{{ + Name: []string{`-`}, + Description: `Stdin`, + }}, + }}, + }, { + Name: []string{"upload"}, + Description: `Upload recorded asciicast to asciinema.org site`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file or URL", + Suggestions: []model.Suggestion{{ + Name: []string{`-`}, + Description: `Stdin`, + }}, + }}, + }, { + Name: []string{"auth"}, + Description: `Link and manage your install ID with your asciinema.org user account`, + }}, + } +} diff --git a/autocomplete/specs/asdf.go b/autocomplete/specs/asdf.go new file mode 100644 index 0000000..ce3bf0a --- /dev/null +++ b/autocomplete/specs/asdf.go @@ -0,0 +1,311 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["asdf"] = model.Subcommand{ + Name: []string{"asdf"}, + Description: `Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more`, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `Version for asdf`, + }, { + Name: []string{"-h", "--help"}, + Description: `Help for asdf`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"plugin"}, + Description: `Plugin management sub-commands`, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Add a plugin from the plugin repo OR, add a Git repo as a plugin by specifying the name and repo url`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "git-url", + IsOptional: true, + }}, + }, { + Name: []string{"list"}, + Description: `List installed plugins. Optionally show git urls and git-ref`, + Options: []model.Option{{ + Name: []string{"--urls"}, + Description: `Show git urls`, + }, { + Name: []string{"--refs"}, + Description: `Show git refs`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"all"}, + Description: `List plugins registered on asdf-plugins repository with URLs`, + }}, + }, { + Name: []string{"remove"}, + Description: `Remove plugin and package versions`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"update"}, + Description: `Update a plugin to latest commit on default branch or a particular git-ref`, + Args: []model.Arg{{ + Name: "name", + IsOptional: true, + }, { + Name: "git-ref", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Update all plugins to latest commit on default branch`, + }}, + }}, + }, { + Name: []string{"plugin-add"}, + Description: `Add a plugin from the plugin repo OR, add a Git repo as a plugin by specifying the name and repo url`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "git-url", + IsOptional: true, + }}, + }, { + Name: []string{"plugin-list"}, + Description: `List installed plugins. Optionally show git urls and git-ref`, + Options: []model.Option{{ + Name: []string{"--urls"}, + Description: `Show git urls`, + }, { + Name: []string{"--refs"}, + Description: `Show git refs`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"all"}, + Description: `List plugins registered on asdf-plugins repository with URLs`, + }}, + }, { + Name: []string{"plugin-list-all"}, + Description: `List plugins registered on asdf-plugins repository with URLs`, + }, { + Name: []string{"plugin-remove"}, + Description: `Remove plugin and package versions`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"plugin-update"}, + Description: `Update a plugin to latest commit on default branch or a particular git-ref`, + Args: []model.Arg{{ + Name: "name", + IsOptional: true, + }, { + Name: "git-ref", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Update all plugins to latest commit on default branch`, + }}, + }, { + Name: []string{"install"}, + Description: `Install plugin at stated version, or all from .tools-versions`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + IsOptional: true, + }, { + Name: "version", + Suggestions: []model.Suggestion{{ + Name: []string{`latest`}, + }}, + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"uninstall"}, + Description: `Remove a specific version of a package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"current"}, + Description: `Display current versions for named package (else all)`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"where"}, + Description: `Display install path for given package at optional specified version`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"which"}, + Description: `Display path to an executable`, + Args: []model.Arg{{ + Name: "command", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"local"}, + Description: `Set package local version`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"global"}, + Description: `Set package global version`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"shell"}, + Description: `Set the package version to ASDF_${LANG}_VERSION" in the current shell`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"latest"}, + Description: `Display latest version available to install for a named package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"list"}, + Description: `List installed versions of a package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"all"}, + Description: `List all available (remote) versions of a package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }}, + }, { + Name: []string{"list-all"}, + Description: `List all available (remote) versions of a package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"help"}, + Description: `Output documentation for plugin and tool`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"exec"}, + Description: `Executes the command shim for the current version`, + Args: []model.Arg{{ + Name: "command", + Generator: nil, // TODO: port over generator + IsCommand: true, + }}, + }, { + Name: []string{"env"}, + Description: `Prints or runs an executable under a command environment`, + Args: []model.Arg{{ + Name: "command", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"info"}, + Description: `Print os, shell and asdf debug information`, + }, { + Name: []string{"reshim"}, + Description: `Recreate shims for version of a package`, + Args: []model.Arg{{ + Name: "name", + Generator: nil, // TODO: port over generator + IsOptional: true, + }, { + Name: "version", + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + }, { + Name: []string{"shim"}, + Description: `Shim management sub-commands`, + Subcommands: []model.Subcommand{{ + Name: []string{"versions"}, + Description: `List for given command which plugins and versions provide it`, + Args: []model.Arg{{ + Name: "command", + Generator: nil, // TODO: port over generator + }}, + }}, + }, { + Name: []string{"shim-versions"}, + Description: `List for given command which plugins and versions provide it`, + Args: []model.Arg{{ + Name: "command", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"update"}, + Description: `Update ASDF to the latest stable release (unless --head)`, + Options: []model.Option{{ + Name: []string{"--head"}, + Description: `Using HEAD commit`, + }}, + }, { + Name: []string{"version"}, + Description: `Version for asdf`, + }}, + } +} diff --git a/autocomplete/specs/asr.go b/autocomplete/specs/asr.go new file mode 100644 index 0000000..036f6d5 --- /dev/null +++ b/autocomplete/specs/asr.go @@ -0,0 +1,255 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["asr"] = model.Subcommand{ + Name: []string{"asr"}, + Description: `Asr efficiently copies disk images onto volumes, either directly or via a multicast network stream`, + Options: []model.Option{{ + Name: []string{"--buffers"}, + Description: `One of the options that control how asr uses memory`, + Args: []model.Arg{{ + Name: "num", + Description: `Specifies the num buffers should be used`, + }}, + }, { + Name: []string{"--buffersize"}, + Description: `One of the options that control how asr uses memory`, + Args: []model.Arg{{ + Name: "size", + Description: `Specifies the size of each buffer`, + }}, + }, { + Name: []string{"--csumbuffers"}, + Description: `One of the options that control how asr uses memory`, + Args: []model.Arg{{ + Name: "num", + Description: `Specifies that num buffers should be used for checksumming operations`, + }}, + }, { + Name: []string{"--csumbuffersize"}, + Description: `One of the options that control how asr uses memory`, + Args: []model.Arg{{ + Name: "size", + Description: `Specifies the size of each buffer used for checksumming`, + }}, + }, { + Name: []string{"--verbose"}, + Description: `Enables verbose progress and error messages`, + }, { + Name: []string{"--debug"}, + Description: `Enables other progress and error messages`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"help"}, + Description: `Displays asr usage information`, + }, { + Name: []string{"version"}, + Description: `Displays asr version`, + }, { + Name: []string{"restore"}, + Description: `Restores a disk image or volume to another volume`, + Options: []model.Option{{ + Name: []string{"--source"}, + Description: `Can be a disk image, /dev entry, or volume mountpoint`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "source", + Description: `Disk image, /dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--target"}, + Description: `Can be a /dev entry, or volume mountpoint`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "target", + Description: `/dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--file"}, + Description: `When performing a multicast restore, --file can be specified instead of --target`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "source", + Description: `Disk image, /dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--erase"}, + Description: `Erases target and is required. --erase must always be used, as file copies are no longer supported by asr`, + }, { + Name: []string{"--format"}, + Description: `Specifies the destination filesystem format`, + Args: []model.Arg{{ + Name: "HFS+ | HFSX", + Description: `Specify the destination filesystem format`, + IsOptional: true, + }}, + }, { + Name: []string{"--noprompt"}, + Description: `Suppresses the prompt which usually occurs before target`, + }, { + Name: []string{"--timeout"}, + Description: `Specifies num seconds that a multicast client should wait when no payload data has been received over a multicast stream before exiting`, + Args: []model.Arg{{ + Name: "num", + Description: `Number of seconds that a multicast client should wait`, + Suggestions: []model.Suggestion{{Name: []string{`0`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"--puppetstrings"}, + Description: `Provide progress output that is easy for another program to parse`, + }, { + Name: []string{"--noverify"}, + Description: `Skips the verification steps normally taken to ensure that a volume has been properly restored`, + }, { + Name: []string{"--allowfragmentedcatalog"}, + Description: `Allows restores to proceed even if the source's catalog file is fragmented`, + }, { + Name: []string{"--SHA256"}, + Description: `Forces the restore to use the SHA-256 hash in the image during verification`, + }, { + Name: []string{"--sourcevolumename"}, + Description: `Tells asr which volume in the source container to invert when doing an APFS restore`, + }, { + Name: []string{"--sourcevolumeUUID"}, + Description: `Tells asr which volume in the source container to invert when doing an APFS restore`, + }, { + Name: []string{"--useReplication"}, + Description: `Forces asr to use replication for restoring APFS volumes`, + }, { + Name: []string{"--useInverter"}, + Description: `Forces asr to use the inverter for restoring APFS volumes`, + }, { + Name: []string{"--toSnapshot"}, + Description: `Specifies the snapshot on the source APFS volume to restore to the target APFS volume`, + }, { + Name: []string{"--fromSnapshot"}, + Description: `Names a snapshot on the source APFS volume to use in combination with --toSnapshot to specify a snapshot delta to restore to the target APFS volume`, + }}, + }, { + Name: []string{"restoreexact"}, + Description: `Same as restore verb, except that for an HFS Plus volume, the target partition is resized to match the size of the source partition/ volume`, + Options: []model.Option{{ + Name: []string{"--source"}, + Description: `Can be a disk image, /dev entry, or volume mountpoint`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "source", + Description: `Disk image, /dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--target"}, + Description: `Can be a /dev entry, or volume mountpoint`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "target", + Description: `/dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--file"}, + Description: `When performing a multicast restore, --file can be specified instead of --target`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "source", + Description: `Disk image, /dev entry, or volume mountpoint`, + }}, + }, { + Name: []string{"--erase"}, + Description: `Erases target and is required. --erase must always be used, as file copies are no longer supported by asr`, + }, { + Name: []string{"--format"}, + Description: `Specifies the destination filesystem format`, + Args: []model.Arg{{ + Name: "HFS+ | HFSX", + Description: `Specify the destination filesystem format`, + IsOptional: true, + }}, + }, { + Name: []string{"--noprompt"}, + Description: `Suppresses the prompt which usually occurs before target`, + }, { + Name: []string{"--timeout"}, + Description: `Specifies num seconds that a multicast client should wait when no payload data has been received over a multicast stream before exiting`, + Args: []model.Arg{{ + Name: "num", + Description: `Number of seconds that a multicast client should wait`, + Suggestions: []model.Suggestion{{Name: []string{`0`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"--puppetstrings"}, + Description: `Provide progress output that is easy for another program to parse`, + }, { + Name: []string{"--noverify"}, + Description: `Skips the verification steps normally taken to ensure that a volume has been properly restored`, + }, { + Name: []string{"--allowfragmentedcatalog"}, + Description: `Allows restores to proceed even if the source's catalog file is fragmented`, + }, { + Name: []string{"--SHA256"}, + Description: `Forces the restore to use the SHA-256 hash in the image during verification`, + }, { + Name: []string{"--sourcevolumename"}, + Description: `Tells asr which volume in the source container to invert when doing an APFS restore`, + }, { + Name: []string{"--sourcevolumeUUID"}, + Description: `Tells asr which volume in the source container to invert when doing an APFS restore`, + }, { + Name: []string{"--useReplication"}, + Description: `Forces asr to use replication for restoring APFS volumes`, + }, { + Name: []string{"--useInverter"}, + Description: `Forces asr to use the inverter for restoring APFS volumes`, + }, { + Name: []string{"--toSnapshot"}, + Description: `Specifies the snapshot on the source APFS volume to restore to the target APFS volume`, + }, { + Name: []string{"--fromSnapshot"}, + Description: `Names a snapshot on the source APFS volume to use in combination with --toSnapshot to specify a snapshot delta to restore to the target APFS volume`, + }}, + }, { + Name: []string{"server"}, + Description: `Multicasts source over the network`, + Options: []model.Option{{ + Name: []string{"--source"}, + Description: `Source has to be a UDIF disk image`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "source", + Description: `UDIF disk image local/remote path`, + }}, + }, { + Name: []string{"--interface"}, + Description: `The network interface to be used for multicasting`, + Args: []model.Arg{{ + Name: "interface", + Description: `The network interface to be used for multicasting`, + }}, + }, { + Name: []string{"--config"}, + Description: `Server requires a configuration file to be passed`, + Args: []model.Arg{{ + Name: "configuration", + Description: `Configuration file in standard property list format`, + Generator: nil, // TODO: port over generator + }}, + }}, + }, { + Name: []string{"imagescan"}, + Description: `Calculate checksums of the data in the provided image and store them in the image`, + }, { + Name: []string{"info"}, + Description: `Report the image metadata which was placed in the image by a previous use of the imagescan verb`, + Options: []model.Option{{ + Name: []string{"--plist"}, + Description: `Writes its output as an XML-formatted plist`, + }}, + }}, + } +} diff --git a/autocomplete/specs/assimp.go b/autocomplete/specs/assimp.go new file mode 100644 index 0000000..5468ae1 --- /dev/null +++ b/autocomplete/specs/assimp.go @@ -0,0 +1,185 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["assimp"] = model.Subcommand{ + Name: []string{"assimp"}, + Description: `Open Asset Import Library`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display some basic help`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"listext"}, + Description: `List all known file extensions available for import`, + }, { + Name: []string{"listexport"}, + Description: `List all supported export formats`, + }, { + Name: []string{"knowext"}, + Description: `List all known file extensions available for import`, + Args: []model.Arg{{ + Name: "extension", + Description: `Check whether a particular file extension is known by us`, + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"exportinfo"}, + Description: `Show basic information on a specific export format`, + Args: []model.Arg{{ + Name: "extension", + Description: `Specific file extension`, + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"info"}, + Description: `Load a model file and print basic statistics. Full postprocessing is applied unless the "-r" switch is specified`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + Description: `Print basic structure of a 3D model`, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-r", "--raw"}, + Description: `No postprocessing, do a raw import`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Print verbose info such as node transform data`, + }, { + Name: []string{"-s", "--silent"}, + Description: `Print only minimal info`, + }, { + Name: []string{"-h", "--help"}, + Description: `Detailed help on a command`, + }}, + }, { + Name: []string{"export"}, + Description: `Export a file to one of the supported output formats`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "model", + Description: `Relative or absolute path to the input model`, + }, { + Templates: []model.Template{model.TemplateFolders}, + Name: "out", + Description: `Relative or absolute path to write the output export to`, + }}, + Options: []model.Option{{ + Name: []string{"-f", "--format"}, + Description: `Export file formats supported by Assimp`, + Args: []model.Arg{{ + Name: "format", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Detailed help on a command`, + }}, + }, { + Name: []string{"extract"}, + Description: `Extract embedded texture images`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "model", + Description: `Relative or absolute path to the input model`, + }, { + Templates: []model.Template{model.TemplateFolders}, + Name: "out", + Description: `Relative or absolute path to write the output images to`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-t", "--texture"}, + Description: `Zero-based index of the texture to be extracted`, + Args: []model.Arg{{ + Name: "index", + }}, + }, { + Name: []string{"-ba", "–-bmp-with-alpha"}, + Description: `Specifies whether output BMPs contain an alpha channel or not`, + }, { + Name: []string{"-f", "--format"}, + Description: `Specifies the output file format. Supported formats are BMP and TGA. The default value is BMP (if a full output filename is specified, the output file format is taken from its extension)`, + Args: []model.Arg{{ + Name: "format", + Suggestions: []model.Suggestion{{Name: []string{`bmp`}}, {Name: []string{`tga`}}}, + }}, + }, { + Name: []string{"-s", "–-nosuffix"}, + Description: `Prevents the tool from adding the _img suffix to all filenames. This option must be specified together with -t to ensure that just one image is written`, + }, { + Name: []string{"-cfast"}, + Description: `Fast post processing preset, runs just a few important steps`, + }, { + Name: []string{"-cdefault"}, + Description: `Default post processing: runs all recommended steps`, + }, { + Name: []string{"-cfull"}, + Description: `Fires almost all post processing steps`, + }, { + Name: []string{"-h", "--help"}, + Description: `Detailed help on a command`, + }}, + }, { + Name: []string{"dump"}, + Description: `Convert models to a binary or textual dump (ASSBIN/ASSXML)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "model", + Description: `Relative or absolute path to the input model`, + }, { + Templates: []model.Template{model.TemplateFolders}, + Name: "out", + Description: `Relative or absolute path to write the output dump to. If it is omitted, the dump is written to '-dump.txt'`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-b", "--binary"}, + Description: `If true, the dump is written in binary format`, + }, { + Name: []string{"-s", "--short"}, + Description: `If true, the dump is shortened to include only min/max values for all vertex components and animation channels`, + }, { + Name: []string{"-z", "--compressed"}, + Description: `If true, Compressed`, + }, { + Name: []string{"-cfast"}, + Description: `Fast post processing preset, runs just a few important steps`, + }, { + Name: []string{"-cdefault"}, + Description: `Default post processing: runs all recommended steps`, + }, { + Name: []string{"-cfull"}, + Description: `Fires almost all post processing steps`, + }, { + Name: []string{"-h", "--help"}, + Description: `Detailed help on a command`, + }}, + }, { + Name: []string{"cmpdump"}, + Description: `Compare dumps created using 'assimp dump -s ...'`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "actual", + Description: `Mini dump now`, + }, { + Templates: []model.Template{model.TemplateFilepaths}, + Name: "expected", + Description: `Archived dump from some point in the past`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Detailed help on a command`, + }}, + }, { + Name: []string{"version"}, + Description: `Display Assimp version`, + }}, + } +} diff --git a/autocomplete/specs/astro.go b/autocomplete/specs/astro.go new file mode 100644 index 0000000..fbe718b --- /dev/null +++ b/autocomplete/specs/astro.go @@ -0,0 +1,133 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["astro"] = model.Subcommand{ + Name: []string{"astro"}, + Description: `CLI provided by Astro to develop, build, and preview your project from a terminal window`, + Options: []model.Option{{ + Name: []string{"--config"}, + Description: `Specify your config file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + IsPersistent: true, + }, { + Name: []string{"--root"}, + Description: `Specify your project root folder`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + IsPersistent: true, + }, { + Name: []string{"--site"}, + Description: `Specify your project site`, + Args: []model.Arg{{ + Name: "url", + }}, + IsPersistent: true, + }, { + Name: []string{"--base"}, + Description: `Specify your project base`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "pathname", + }}, + IsPersistent: true, + }, { + Name: []string{"--verbose"}, + Description: `Enable verbose logging`, + IsPersistent: true, + }, { + Name: []string{"--silent"}, + Description: `Disable all logging`, + IsPersistent: true, + }, { + Name: []string{"--version"}, + Description: `Show the version number and exit`, + IsPersistent: true, + }, { + Name: []string{"--help"}, + Description: `Show help for astro`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Add an integration`, + Args: []model.Arg{{ + Name: "integration", + }}, + Options: []model.Option{{ + Name: []string{"--yes"}, + Description: `Accept all prompts`, + }}, + }, { + Name: []string{"build"}, + Description: `Build your project and write it to disk`, + Options: []model.Option{{ + Name: []string{"--drafts"}, + Description: `Include Markdown draft pages in the build`, + }}, + }, { + Name: []string{"check"}, + Description: `Check your project for errors`, + Options: []model.Option{{ + Name: []string{"--watch"}, + Description: `Watch Astro files for changes and re-run checks`, + }}, + }, { + Name: []string{"dev"}, + Description: `Starts the development server`, + Options: []model.Option{{ + Name: []string{"--port"}, + Description: `Specify a port to listen on`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"--host"}, + Description: `Listen on all addresses, including LAN and public addresses`, + Args: []model.Arg{{ + Name: "custom address", + IsOptional: true, + }}, + }, { + Name: []string{"--open"}, + Description: `Automatically open the app in the browser on server start`, + }}, + }, { + Name: []string{"docs"}, + Description: `Open documentation in your web browser`, + }, { + Name: []string{"preview"}, + Description: `Preview your build locally`, + Options: []model.Option{{ + Name: []string{"--open"}, + Description: `Automatically open the app in the browser on server start`, + }}, + }, { + Name: []string{"sync"}, + Description: `Generate content collection types`, + }, { + Name: []string{"telemetry"}, + Description: `Configure telemetry settings`, + Subcommands: []model.Subcommand{{ + Name: []string{"enable"}, + Description: `Enable anonymous data collection`, + }, { + Name: []string{"disable"}, + Description: `Disable anonymous data collection`, + }, { + Name: []string{"reset"}, + Description: `Reset anonymous data collection settings`, + }}, + }}, + } +} diff --git a/autocomplete/specs/atlas.go b/autocomplete/specs/atlas.go new file mode 100644 index 0000000..d28708e --- /dev/null +++ b/autocomplete/specs/atlas.go @@ -0,0 +1,7546 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["atlas"] = model.Subcommand{ + Name: []string{"atlas"}, + Description: `CLI tool to manage MongoDB Atlas`, + Options: []model.Option{{ + Name: []string{"--profile", "-P"}, + Description: `Profile to use from your configuration file`, + Args: []model.Arg{{ + Name: "profile", + }}, + IsPersistent: true, + }, { + Name: []string{"--help", "-h"}, + Description: `Display help`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"config"}, + Description: `Manage your profile to store access settings for your MongoDB deployment`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Configure a profile to store access settings for your MongoDB deployment`, + Options: []model.Option{{ + Name: []string{"--gov"}, + Description: `Create a default profile for atlas for gov`, + }}, + }, { + Name: []string{"set"}, + Description: `Configure specific properties of a profile`, + }, { + Name: []string{"ls", "list"}, + Description: `List available profiles`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific profile`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"mv", "rename"}, + Description: `Rename a profile`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a profile`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }}, + }, { + Name: []string{"auth"}, + Description: `Manage the CLI's authentication state`, + Subcommands: []model.Subcommand{{ + Name: []string{"login"}, + Description: `Authenticate with MongoDB Atlas`, + Options: []model.Option{{ + Name: []string{"--cm"}, + Description: `Log in to Cloud Manager`, + }, { + Name: []string{"--gov"}, + Description: `Log in to Atlas for Government`, + }, { + Name: []string{"--loginOnly"}, + Description: `Skip profile configuration`, + }, { + Name: []string{"--noBrowser"}, + Description: `Don't try to open a browser session`, + }}, + }, { + Name: []string{"whoami"}, + Description: `Verifies and displays information about your authentication state`, + }, { + Name: []string{"logout"}, + Description: `Log out of the CLI`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }}, + }, { + Name: []string{"quickstart"}, + Description: `Create and access an Atlas Cluster`, + Options: []model.Option{{ + Name: []string{"--accessListIp"}, + Description: `IP address to be allowed to access the deployment`, + Args: []model.Arg{{ + Name: "accessListIp", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--default", "-Y"}, + Description: `Flag that indicates whether to run the Quickstart command with all the auto-generated values to deploy and access an Atlas cluster`, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--password"}, + Description: `User's password`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of your cloud service provider. Valid values are AWS, AZURE, or GCP`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--region", "-r"}, + Description: `Physical location of your MongoDB cluster. For a complete list of supported AWS regions, see: https://docs.atlas.mongodb.com/reference/amazon-aws/#amazon-aws. For a complete list of supported Azure regions, see: https://docs.atlas.mongodb.com/reference/microsoft-azure/#microsoft-azure. For a complete list of supported GCP regions, see: https://docs.atlas.mongodb.com/reference/google-gcp/#google-gcp`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--skipMongosh"}, + Description: `Indicates whether to skip accessing your deployment with MongoDB Shell`, + }, { + Name: []string{"--skipSampleData"}, + Description: `Indicates whether to skip loading sample data into your Atlas Cluster`, + }, { + Name: []string{"--tier"}, + Description: `Tier for each data-bearing server in the cluster`, + Args: []model.Arg{{ + Name: "tier", + }}, + }, { + Name: []string{"--username"}, + Description: `Username for authenticating to MongoDB`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }, { + Name: []string{"project", "projects"}, + Description: `Project operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List projects`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a project`, + Options: []model.Option{{ + Name: []string{"--govCloudRegionsOnly"}, + Description: `Only for AtlasGov projects. If specified, designates that the project uses only the AWS GovCloud region. If unspecified, the project uses only the AWS Standard region. You can't deploy clusters across AWS GovCloud and AWS Standard regions in the same project`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--ownerId"}, + Description: `Unique 24-hexadecimal digit string that identifies the Atlas user account to be granted the Project Owner role on the specified project`, + Args: []model.Arg{{ + Name: "ownerId", + }}, + }, { + Name: []string{"--withoutDefaultAlertSettings"}, + Description: `Flag that indicates whether to create the new project with the default alert settings enabled. This flag defaults to false. In this case, Atlas creates the project without the default alert settings. This is useful if you create projects programmatically and want to create your own alerts instead of using the default alert settings. To create a project that uses the default alert settings, set this flag to true`, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }, { + Name: []string{"show", "get", "describe"}, + Description: `Describe a project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"apikeys", "api-keys", "apiKey", "apikey", "api-key", "apiKeys"}, + Description: `Manage API Keys for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List API Keys for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an API Key for your project`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an API Key for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update", "assign"}, + Description: `Assign an API Key to a project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Manage users for a project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List all users for a project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete user from a project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"team", "teams"}, + Description: `Teams operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Get all teams in a project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"add"}, + Description: `Add team to a project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `Project role you want to assign to the team`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete team from a project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"updates", "update"}, + Description: `Update roles for a team in a project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `Project role you want to assign to the team`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }}, + }, { + Name: []string{"invitation", "invitations"}, + Description: `Invitation operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieves all pending invitations to the specified project`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User's email address`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieve details for one pending invitation to the specified project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes one pending invitation to the specified project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create", "invite"}, + Description: `Invites one user to the project that you specify`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles for the associated organization`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }, { + Name: []string{"updates", "update"}, + Description: `Updates one pending invitation by invitationId or email to the project that you specify`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User's email address`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles for the associated organization`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }}, + }}, + }, { + Name: []string{"organization", "orgs", "org", "organizations"}, + Description: `Organization operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List organizations`, + Options: []model.Option{{ + Name: []string{"--includeDeleted"}, + Description: `If specified, Atlas includes the deleted organizations`, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--name"}, + Description: `Performs a case-insensitive search for organizations which exactly match the specified name`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"show", "describe"}, + Description: `Describe an organizations`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an organization`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an organization`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }, { + Name: []string{"apikeys", "api-keys", "apiKey", "apikey", "api-key", "apiKeys"}, + Description: `Organization API Keys operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List API Keys for your organization`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"show", "describe"}, + Description: `Get a specific Organization API Key`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"updates", "assign"}, + Description: `Update an Organization API Key`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an Organization API Key`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an Organization API Key`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }}, + }, { + Name: []string{"accesslists", "access-lists", "accessList", "accesslist", "access-list", "whitelists", "whitelist", "accessLists"}, + Description: `Manage the IP access list for your API Key`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List IP access list entries for your API Key`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for your API Key`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `API Key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--cidr"}, + Description: `Whitelist entry in CIDR notation to be added for a given API key`, + Args: []model.Arg{{ + Name: "cidr", + }}, + }, { + Name: []string{"--ip"}, + Description: `IP address to be allowed for a given API key`, + Args: []model.Arg{{ + Name: "ip", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from your API Key`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `API Key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List users in a organization`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }}, + }, { + Name: []string{"invitation", "invitations"}, + Description: `Invitation operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieves all pending invitations to the specified organization`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User's email address`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieve details for one pending invitation to the specified organization`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes one pending invitation to the specified organization`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }}, + }, { + Name: []string{"updates", "update"}, + Description: `Updates one pending invitation by invitationId or email to the project that you specify`, + Options: []model.Option{{ + Name: []string{"--email"}, + Description: `User's email address`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles for the associated organization`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"create", "invite"}, + Description: `Invites one user to the organization that you specify`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles for the associated organization`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"globalapikeys", "global-api-keys", "globalApiKey", "globalapikey", "global-api-key", "globalApiKeys"}, + Description: `Global API Keys operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Global API Keys`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"show", "describe"}, + Description: `Get a specific Global API Key`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a Global API Key`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a Global API Key`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--role"}, + Description: `List of roles for the API key`, + Args: []model.Arg{{ + Name: "role", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a Global API Key`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }}, + }, { + Name: []string{"globalaccesslists", "global-access-lists", "globalAccessList", "globalaccesslist", "global-access-list", "globalWhitelists", "globalwhitelists", "global-whitelists", "globalWhitelist", "globalwhitelist", "global-whitelist", "globalAccessLists"}, + Description: `Manage IP access list for Global API Key`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas IP access list entries for Global API Key`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"show", "describe"}, + Description: `Return one Global IP access list entry`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for Global API Key`, + Options: []model.Option{{ + Name: []string{"--cidr"}, + Description: `Whitelist entry in CIDR notation to be added for a given API key`, + Args: []model.Arg{{ + Name: "cidr", + }}, + }, { + Name: []string{"--desc"}, + Description: `IP address to be allowed for a given API key`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from Global API Key`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"invite"}, + Description: `Invite a user`, + Options: []model.Option{{ + Name: []string{"--country"}, + Description: `The ISO 3166-1 alpha two-letter country code of the user's country of residence`, + Args: []model.Arg{{ + Name: "country", + }}, + }, { + Name: []string{"--email"}, + Description: `User's email address`, + Args: []model.Arg{{ + Name: "email", + }}, + }, { + Name: []string{"--firstName"}, + Description: `User's first name`, + Args: []model.Arg{{ + Name: "firstName", + }}, + }, { + Name: []string{"--lastName"}, + Description: `User's last name`, + Args: []model.Arg{{ + Name: "lastName", + }}, + }, { + Name: []string{"--mobile"}, + Description: `The user's mobile or cell phone number`, + Args: []model.Arg{{ + Name: "mobile", + }}, + }, { + Name: []string{"--orgRole"}, + Description: `User's roles for the associated organization`, + Args: []model.Arg{{ + Name: "orgRole", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--password"}, + Description: `User's password`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--projectRole"}, + Description: `User's roles for the associated project`, + Args: []model.Arg{{ + Name: "projectRole", + }}, + }, { + Name: []string{"--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Get a user by username or id`, + Options: []model.Option{{ + Name: []string{"--id"}, + Description: `Unique identifier of the user`, + Args: []model.Arg{{ + Name: "id", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--username"}, + Description: `Username of the user`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an Ops Manager user`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }}, + }, { + Name: []string{"team", "teams"}, + Description: `Teams operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Get all teams in an organization`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Get a team in an organization`, + Options: []model.Option{{ + Name: []string{"--id"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "id", + }}, + }, { + Name: []string{"--name"}, + Description: `Name of the team`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a team in an organization`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--username"}, + Description: `List of usernames to add to the new team`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List users of a team`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }, { + Name: []string{"add"}, + Description: `Add a user to a team`, + Options: []model.Option{{ + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete user from a team`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--teamId"}, + Description: `Unique identification of the team`, + Args: []model.Arg{{ + Name: "teamId", + }}, + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a team from an organization`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }}, + }}, + }, { + Name: []string{"cluster", "clusters"}, + Description: `Manage clusters for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List clusters for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Describe a cluster`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create one cluster in the specified project`, + Options: []model.Option{{ + Name: []string{"--backup"}, + Description: `If true, enables Continuous Cloud Backup for your deployment`, + }, { + Name: []string{"--biConnector"}, + Description: `If true, enables BI Connector for Atlas on the deployment`, + }, { + Name: []string{"--diskSizeGB"}, + Description: `Capacity, in gigabytes, of the host's root volume`, + Args: []model.Arg{{ + Name: "diskSizeGB", + }}, + }, { + Name: []string{"--file", "-f"}, + Description: `File name to use, optional file with a json cluster configuration`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--mdbVersion"}, + Description: `MongoDB version of the cluster to deploy`, + Args: []model.Arg{{ + Name: "mdbVersion", + }}, + }, { + Name: []string{"--members", "-m"}, + Description: `Number of members in the replica set`, + Args: []model.Arg{{ + Name: "members", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of your cloud service provider. Valid values are AWS, AZURE, or GCP`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--region", "-r"}, + Description: `Physical location of your MongoDB cluster. For a complete list of supported AWS regions, see: https://docs.atlas.mongodb.com/reference/amazon-aws/#amazon-aws. For a complete list of supported Azure regions, see: https://docs.atlas.mongodb.com/reference/microsoft-azure/#microsoft-azure. For a complete list of supported GCP regions, see: https://docs.atlas.mongodb.com/reference/google-gcp/#google-gcp`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--shards", "-s"}, + Description: `Number of shards in the cluster`, + Args: []model.Arg{{ + Name: "shards", + }}, + }, { + Name: []string{"--tier"}, + Description: `Tier for each data-bearing server in the cluster`, + Args: []model.Arg{{ + Name: "tier", + }}, + }, { + Name: []string{"--type"}, + Description: `Type of the cluster that you want to create. Valid values are REPLICASET or SHARDED`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a cluster to be available`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a MongoDB cluster`, + Options: []model.Option{{ + Name: []string{"--diskSizeGB"}, + Description: `Capacity, in gigabytes, of the host's root volume`, + Args: []model.Arg{{ + Name: "diskSizeGB", + }}, + }, { + Name: []string{"--file", "-f"}, + Description: `File name to use, optional file with a json cluster configuration`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--mdbVersion"}, + Description: `MongoDB version of the cluster to deploy`, + Args: []model.Arg{{ + Name: "mdbVersion", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--tier"}, + Description: `Tier for each data-bearing server in the cluster`, + Args: []model.Arg{{ + Name: "tier", + }}, + }}, + }, { + Name: []string{"pause"}, + Description: `Pause a running MongoDB cluster in Atlas`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"start"}, + Description: `Start a paused MongoDB cluster in Atlas`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a cluster from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"loadSampleData"}, + Description: `Load sample data into a MongoDB cluster in Atlas`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"index", "indexes"}, + Description: `Manage cluster rolling indexes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a rolling index for your MongoDB cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--collection"}, + Description: `Collection name`, + Args: []model.Arg{{ + Name: "collection", + }}, + }, { + Name: []string{"--db"}, + Description: `Database name`, + Args: []model.Arg{{ + Name: "db", + }}, + }, { + Name: []string{"--key"}, + Description: `Field to be indexed and the type of index in the following format: field:type`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--sparse"}, + Description: `Flag that indicates whether Atlas should create a sparse index`, + }}, + }}, + }, { + Name: []string{"fts", "search"}, + Description: `Manage Atlas Search for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"index", "indexes"}, + Description: `Manage Atlas Search indexes for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas search indexes for a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--collection"}, + Description: `Collection name`, + Args: []model.Arg{{ + Name: "collection", + }}, + }, { + Name: []string{"--db"}, + Description: `Database name`, + Args: []model.Arg{{ + Name: "db", + }}, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a search index for a cluster`, + Options: []model.Option{{ + Name: []string{"--analyzer"}, + Description: `Analyzer to use when creating the index`, + Args: []model.Arg{{ + Name: "analyzer", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--collection"}, + Description: `Collection name`, + Args: []model.Arg{{ + Name: "collection", + }}, + }, { + Name: []string{"--db"}, + Description: `Database name`, + Args: []model.Arg{{ + Name: "db", + }}, + }, { + Name: []string{"--dynamic"}, + Description: `Indicates whether the index uses dynamic or static mappings`, + }, { + Name: []string{"--field"}, + Description: `Static field specifications`, + Args: []model.Arg{{ + Name: "field", + }}, + }, { + Name: []string{"--file", "-f"}, + Description: `File name to use, file with a json index configuration`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--searchAnalyzer"}, + Description: `Analyzer to use when searching the index`, + Args: []model.Arg{{ + Name: "searchAnalyzer", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Describe a search index for a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a search index for a cluster`, + Options: []model.Option{{ + Name: []string{"--analyzer"}, + Description: `Analyzer to use when creating the index`, + Args: []model.Arg{{ + Name: "analyzer", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--collection"}, + Description: `Collection name`, + Args: []model.Arg{{ + Name: "collection", + }}, + }, { + Name: []string{"--db"}, + Description: `Database name`, + Args: []model.Arg{{ + Name: "db", + }}, + }, { + Name: []string{"--dynamic"}, + Description: `Indicates whether the index uses dynamic or static mappings`, + }, { + Name: []string{"--field"}, + Description: `Static field specifications`, + Args: []model.Arg{{ + Name: "field", + }}, + }, { + Name: []string{"--file", "-f"}, + Description: `File name to use, file with a json index configuration`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--indexName"}, + Description: `Name of the index`, + Args: []model.Arg{{ + Name: "indexName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--searchAnalyzer"}, + Description: `Analyzer to use when searching the index`, + Args: []model.Arg{{ + Name: "searchAnalyzer", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a search index from a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"onlinearchives", "online-archives", "onlineArchive", "onlinearchive", "online-archive", "onlineArchives"}, + Description: `Manage online archives for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List online archives for a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Describe an online archive for a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an online archive for a cluster`, + Options: []model.Option{{ + Name: []string{"--archiveAfter"}, + Description: `Number of days that specifies the age limit for the data in the live Atlas cluster`, + Args: []model.Arg{{ + Name: "archiveAfter", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--collection"}, + Description: `Collection name`, + Args: []model.Arg{{ + Name: "collection", + }}, + }, { + Name: []string{"--dateField"}, + Description: `Name of an already indexed date field from the documents`, + Args: []model.Arg{{ + Name: "dateField", + }}, + }, { + Name: []string{"--dateFormat"}, + Description: `Date format for the date field. Valid values are ISODATE, EPOCH_SECONDS, EPOCH_MILLIS, or EPOCH_NANOSECONDS`, + Args: []model.Arg{{ + Name: "dateFormat", + }}, + }, { + Name: []string{"--db"}, + Description: `Database name`, + Args: []model.Arg{{ + Name: "db", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--partition"}, + Description: `Fields to use to partition data. You can specify up to two frequently queried fields to use for partitioning data`, + Args: []model.Arg{{ + Name: "partition", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update an online archive for a cluster`, + Options: []model.Option{{ + Name: []string{"--archiveAfter"}, + Description: `Number of days that specifies the age limit for the data in the live Atlas cluster`, + Args: []model.Arg{{ + Name: "archiveAfter", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"start"}, + Description: `Start a paused online archive from a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"pause"}, + Description: `Pause an online archive from a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an online archive from a cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for an archive to be available`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"connectionstrings", "connection-strings", "connectionString", "connectionstring", "connection-string", "cs", "connectionStrings"}, + Description: `Manage MongoDB cluster connection string`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Retrieve the SRV connection string of your MongoDB cluster`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--type"}, + Description: `When set to 'private', retrieves the connection string for the network peering endpoint`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }}, + }, { + Name: []string{"availableregions", "available-regions", "availableRegion", "availableregion", "available-region", "availableRegions"}, + Description: `Manage available regions for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available regions for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of your cloud service provider. Valid values are AWS, AZURE, or GCP`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--tier"}, + Description: `Tier for each data-bearing server in the cluster`, + Args: []model.Arg{{ + Name: "tier", + }}, + }}, + }}, + }}, + }, { + Name: []string{"dbuser", "dbusers"}, + Description: `Manage database users for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas database users for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a single Atlas database user for your project`, + Options: []model.Option{{ + Name: []string{"--authDB"}, + Description: `Authentication database name`, + Args: []model.Arg{{ + Name: "authDB", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a database user for your project`, + Options: []model.Option{{ + Name: []string{"--awsIAMType"}, + Description: `AWS IAM method by which the provided username is authenticated. Valid values are NONE, USER, or ROLE`, + Args: []model.Arg{{ + Name: "awsIAMType", + }}, + }, { + Name: []string{"--deleteAfter"}, + Description: `Timestamp in ISO 8601 in UTC after which Atlas deletes the user`, + Args: []model.Arg{{ + Name: "deleteAfter", + }}, + }, { + Name: []string{"--ldapType"}, + Description: `LDAP method by which the provided username is authenticated. Valid values are NONE, USER, or GROUP`, + Args: []model.Arg{{ + Name: "ldapType", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--password", "-p"}, + Description: `User's password`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles and the databases or collections on which the roles apply`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--scope"}, + Description: `Array of clusters and Atlas Data Lakes that this user has access to`, + Args: []model.Arg{{ + Name: "scope", + }}, + }, { + Name: []string{"--username", "-u"}, + Description: `Username for authenticating to MongoDB`, + Args: []model.Arg{{ + Name: "username", + }}, + }, { + Name: []string{"--x509Type"}, + Description: `X.509 method by which the provided username is authenticated. Valid values are NONE, MANAGED, or CUSTOMER`, + Args: []model.Arg{{ + Name: "x509Type", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a database user for your project`, + Options: []model.Option{{ + Name: []string{"--authDB"}, + Description: `Authentication database name`, + Args: []model.Arg{{ + Name: "authDB", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a database user for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--password", "-p"}, + Description: `User's password`, + Args: []model.Arg{{ + Name: "password", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `User's roles and the databases or collections on which the roles apply`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--scope"}, + Description: `Array of clusters and Atlas Data Lakes that this user has access to`, + Args: []model.Arg{{ + Name: "scope", + }}, + }, { + Name: []string{"--username", "-u"}, + Description: `Username for authenticating to MongoDB`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }, { + Name: []string{"cert", "certs"}, + Description: `Manage Atlas x509 certificates for your database users`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List of all Atlas-managed, unexpired certificates for a database user`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new Atlas-managed X.509 certificate for the specified database user`, + Options: []model.Option{{ + Name: []string{"--monthsUntilExpiration"}, + Description: `Number of months that the certificate is valid for`, + Args: []model.Arg{{ + Name: "monthsUntilExpiration", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--username"}, + Description: `Username of a database user`, + Args: []model.Arg{{ + Name: "username", + }}, + }}, + }}, + }}, + }, { + Name: []string{"customdbroles", "custom-db-roles", "customDbRole", "customdbrole", "custom-db-role", "customDBRoles", "customDbRoles"}, + Description: `Manage custom database roles for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a custom database role for your project`, + Options: []model.Option{{ + Name: []string{"--inheritedRole"}, + Description: `List of inherited roles and the database on which the role is granted`, + Args: []model.Arg{{ + Name: "inheritedRole", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privilege"}, + Description: `List of actions per database and collection. If no database or collections are provided, cluster scope is assumed`, + Args: []model.Arg{{ + Name: "privilege", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a single custom database role for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List custom database roles for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a custom database role for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a custom database role for your project`, + Options: []model.Option{{ + Name: []string{"--append"}, + Description: `The input action and inheritedRoles that will be appended to the existing role`, + }, { + Name: []string{"--inheritedRole"}, + Description: `List of inherited roles and the database on which the role is granted`, + Args: []model.Arg{{ + Name: "inheritedRole", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privilege"}, + Description: `List of actions per database and collection. If no database or collections are provided, cluster scope is assumed`, + Args: []model.Arg{{ + Name: "privilege", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"accesslists", "access-lists", "accessList", "accesslist", "access-list", "whitelists", "whitelist", "accessLists"}, + Description: `Manage the access IP access list for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Describe an IP access list entry`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List Atlas IP access list entries for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for your project`, + Options: []model.Option{{ + Name: []string{"--comment"}, + Description: `Optional description or comment for the entry`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--currentIp"}, + Description: `Flag that indicates whether to use the IP Address from the host that is currently executing the command. Only applicable for type ipAddress entries. To learn more, see: https://docs.mongodb.com/mongocli/master/command/mongocli-atlas-accessLists-create/`, + }, { + Name: []string{"--deleteAfter"}, + Description: `ISO-8601-formatted UTC date after which Atlas removes the value from the entry`, + Args: []model.Arg{{ + Name: "deleteAfter", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--type"}, + Description: `Type of access list entry. Valid values are cidrBlock, ipAddress, or awsSecurityGroup`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"datalakes", "data-lakes", "dataLake", "datalake", "data-lake", "dataLakes"}, + Description: `Manage Atlas Data Lakes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas Data Lakes for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Return a specific data lake`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new data lake for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--role"}, + Description: `Amazon Resource Name (ARN) of the role which Atlas Data Lake uses for accessing the data stores`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--testBucket"}, + Description: `Name of an Amazon S3 data bucket which Atlas Data Lake uses to validate the provided role`, + Args: []model.Arg{{ + Name: "testBucket", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a data lake from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Update a data lake for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Name of the region to which Atlas Data Lake routes client connections for data processing`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--role"}, + Description: `Amazon Resource Name (ARN) of the role which Atlas Data Lake uses for accessing the data stores`, + Args: []model.Arg{{ + Name: "role", + }}, + }, { + Name: []string{"--testBucket"}, + Description: `Name of an Amazon S3 data bucket which Atlas Data Lake uses to validate the provided role`, + Args: []model.Arg{{ + Name: "testBucket", + }}, + }}, + }}, + }, { + Name: []string{"alert", "alerts"}, + Description: `Manage alerts for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"config", "settings"}, + Description: `Manages alerts configuration for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Creates one alert configuration in the specified project`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `Datadog API Key, Opsgenie API Key, VictorOps API key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--enabled"}, + Description: `If set to true, the alert configuration is enabled`, + }, { + Name: []string{"--event"}, + Description: `Type of the event that triggered the alert`, + Args: []model.Arg{{ + Name: "event", + }}, + }, { + Name: []string{"--matcherFieldName"}, + Description: `Name of the field in the target object to match on`, + Args: []model.Arg{{ + Name: "matcherFieldName", + }}, + }, { + Name: []string{"--matcherOperator"}, + Description: `Operator to test the field's value`, + Args: []model.Arg{{ + Name: "matcherOperator", + }}, + }, { + Name: []string{"--matcherValue"}, + Description: `Value to test with the specified operator`, + Args: []model.Arg{{ + Name: "matcherValue", + }}, + }, { + Name: []string{"--metricMode"}, + Description: `If specified, Atlas computes the current metric value as an average`, + Args: []model.Arg{{ + Name: "metricMode", + }}, + }, { + Name: []string{"--metricName"}, + Description: `Name of the metric against which Atlas checks the configured alert`, + Args: []model.Arg{{ + Name: "metricName", + }}, + }, { + Name: []string{"--metricOperator"}, + Description: `Operator to apply when checking the current metric value against the threshold value`, + Args: []model.Arg{{ + Name: "metricOperator", + }}, + }, { + Name: []string{"--metricThreshold"}, + Description: `Threshold value outside of which an alert will be triggered`, + Args: []model.Arg{{ + Name: "metricThreshold", + }}, + }, { + Name: []string{"--metricUnits"}, + Description: `Units for the threshold value`, + Args: []model.Arg{{ + Name: "metricUnits", + }}, + }, { + Name: []string{"--notificationChannelName"}, + Description: `Slack channel name. Required for the SLACK notifications type`, + Args: []model.Arg{{ + Name: "notificationChannelName", + }}, + }, { + Name: []string{"--notificationDelayMin"}, + Description: `Number of minutes to wait after an alert condition is detected before sending out the first notification`, + Args: []model.Arg{{ + Name: "notificationDelayMin", + }}, + }, { + Name: []string{"--notificationEmailAddress"}, + Description: `Email address to which alert notifications are sent`, + Args: []model.Arg{{ + Name: "notificationEmailAddress", + }}, + }, { + Name: []string{"--notificationEmailEnabled"}, + Description: `Flag indicating whether email notifications should be sent`, + }, { + Name: []string{"--notificationFlowName"}, + Description: `Flowdock Flow name in lower-case letters for sending alert notifications`, + Args: []model.Arg{{ + Name: "notificationFlowName", + }}, + }, { + Name: []string{"--notificationIntervalMin"}, + Description: `Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved`, + Args: []model.Arg{{ + Name: "notificationIntervalMin", + }}, + }, { + Name: []string{"--notificationMobileNumber"}, + Description: `Mobile number to which alert notifications are sent`, + Args: []model.Arg{{ + Name: "notificationMobileNumber", + }}, + }, { + Name: []string{"--notificationOrgName"}, + Description: `Flowdock organization's name in lower-case letters`, + Args: []model.Arg{{ + Name: "notificationOrgName", + }}, + }, { + Name: []string{"--notificationRegion"}, + Description: `Region that indicates which API URL to use`, + Args: []model.Arg{{ + Name: "notificationRegion", + }}, + }, { + Name: []string{"--notificationServiceKey"}, + Description: `PagerDuty service key`, + Args: []model.Arg{{ + Name: "notificationServiceKey", + }}, + }, { + Name: []string{"--notificationSmsEnabled"}, + Description: `Flag indicating whether text message notifications should be sent`, + }, { + Name: []string{"--notificationTeamId"}, + Description: `Unique identifier of a team`, + Args: []model.Arg{{ + Name: "notificationTeamId", + }}, + }, { + Name: []string{"--notificationToken"}, + Description: `Slack API token, Bot token, or Flowdock personal API token`, + Args: []model.Arg{{ + Name: "notificationToken", + }}, + }, { + Name: []string{"--notificationType"}, + Description: `Type of alert notification. The values are DATADOG, EMAIL, FLOWDOCK, GROUP (Project), ORG, OPS_GENIE, PAGER_DUTY, SLACK, SMS, USER, or VICTOR_OPS`, + Args: []model.Arg{{ + Name: "notificationType", + }}, + }, { + Name: []string{"--notificationUsername"}, + Description: `Name of the Atlas user to which to send notifications`, + Args: []model.Arg{{ + Name: "notificationUsername", + }}, + }, { + Name: []string{"--notificationVictorOpsRoutingKey"}, + Description: `VictorOps routing key`, + Args: []model.Arg{{ + Name: "notificationVictorOpsRoutingKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `Returns alert configurations for the specified project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes the specified alert configuration in a specified project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"field", "fields"}, + Description: `Manages alert configuration fields for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"types", "type"}, + Description: `Lists available field types for your alert configurations`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }}, + }, { + Name: []string{"update"}, + Description: `Updates one alert configuration in the specified project`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `Datadog API Key, Opsgenie API Key, VictorOps API key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--enabled"}, + Description: `If set to true, the alert configuration is enabled`, + }, { + Name: []string{"--event"}, + Description: `Type of the event that triggered the alert`, + Args: []model.Arg{{ + Name: "event", + }}, + }, { + Name: []string{"--matcherFieldName"}, + Description: `Name of the field in the target object to match on`, + Args: []model.Arg{{ + Name: "matcherFieldName", + }}, + }, { + Name: []string{"--matcherOperator"}, + Description: `Operator to test the field's value`, + Args: []model.Arg{{ + Name: "matcherOperator", + }}, + }, { + Name: []string{"--matcherValue"}, + Description: `Value to test with the specified operator`, + Args: []model.Arg{{ + Name: "matcherValue", + }}, + }, { + Name: []string{"--metricMode"}, + Description: `If specified, Atlas computes the current metric value as an average`, + Args: []model.Arg{{ + Name: "metricMode", + }}, + }, { + Name: []string{"--metricName"}, + Description: `Name of the metric against which Atlas checks the configured alert`, + Args: []model.Arg{{ + Name: "metricName", + }}, + }, { + Name: []string{"--metricOperator"}, + Description: `Operator to apply when checking the current metric value against the threshold value`, + Args: []model.Arg{{ + Name: "metricOperator", + }}, + }, { + Name: []string{"--metricThreshold"}, + Description: `Threshold value outside of which an alert will be triggered`, + Args: []model.Arg{{ + Name: "metricThreshold", + }}, + }, { + Name: []string{"--metricUnits"}, + Description: `Units for the threshold value`, + Args: []model.Arg{{ + Name: "metricUnits", + }}, + }, { + Name: []string{"--notificationChannelName"}, + Description: `Slack channel name. Required for the SLACK notifications type`, + Args: []model.Arg{{ + Name: "notificationChannelName", + }}, + }, { + Name: []string{"--notificationDelayMin"}, + Description: `Number of minutes to wait after an alert condition is detected before sending out the first notification`, + Args: []model.Arg{{ + Name: "notificationDelayMin", + }}, + }, { + Name: []string{"--notificationEmailAddress"}, + Description: `Email address to which alert notifications are sent`, + Args: []model.Arg{{ + Name: "notificationEmailAddress", + }}, + }, { + Name: []string{"--notificationEmailEnabled"}, + Description: `Flag indicating whether email notifications should be sent`, + }, { + Name: []string{"--notificationFlowName"}, + Description: `Flowdock Flow name in lower-case letters for sending alert notifications`, + Args: []model.Arg{{ + Name: "notificationFlowName", + }}, + }, { + Name: []string{"--notificationIntervalMin"}, + Description: `Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved`, + Args: []model.Arg{{ + Name: "notificationIntervalMin", + }}, + }, { + Name: []string{"--notificationMobileNumber"}, + Description: `Mobile number to which alert notifications are sent`, + Args: []model.Arg{{ + Name: "notificationMobileNumber", + }}, + }, { + Name: []string{"--notificationOrgName"}, + Description: `Flowdock organization's name in lower-case letters`, + Args: []model.Arg{{ + Name: "notificationOrgName", + }}, + }, { + Name: []string{"--notificationRegion"}, + Description: `Region that indicates which API URL to use`, + Args: []model.Arg{{ + Name: "notificationRegion", + }}, + }, { + Name: []string{"--notificationServiceKey"}, + Description: `PagerDuty service key`, + Args: []model.Arg{{ + Name: "notificationServiceKey", + }}, + }, { + Name: []string{"--notificationSmsEnabled"}, + Description: `Flag indicating whether text message notifications should be sent`, + }, { + Name: []string{"--notificationTeamId"}, + Description: `Unique identifier of a team`, + Args: []model.Arg{{ + Name: "notificationTeamId", + }}, + }, { + Name: []string{"--notificationToken"}, + Description: `Slack API token, Bot token, or Flowdock personal API token`, + Args: []model.Arg{{ + Name: "notificationToken", + }}, + }, { + Name: []string{"--notificationType"}, + Description: `Type of alert notification. The values are DATADOG, EMAIL, FLOWDOCK, GROUP (Project), ORG, OPS_GENIE, PAGER_DUTY, SLACK, SMS, USER, or VICTOR_OPS`, + Args: []model.Arg{{ + Name: "notificationType", + }}, + }, { + Name: []string{"--notificationUsername"}, + Description: `Name of the Atlas user to which to send notifications`, + Args: []model.Arg{{ + Name: "notificationUsername", + }}, + }, { + Name: []string{"--notificationVictorOpsRoutingKey"}, + Description: `VictorOps routing key`, + Args: []model.Arg{{ + Name: "notificationVictorOpsRoutingKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieves one alert for the specified project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `Retrieves all alerts for the specified Atlas project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--status"}, + Description: `Alert's status. The values are TRACKING, OPEN, CLOSED, and CANCELED`, + Args: []model.Arg{{ + Name: "status", + }}, + }}, + }, { + Name: []string{"ack", "acknowledge"}, + Description: `Acknowledges one alert for the specified project`, + Options: []model.Option{{ + Name: []string{"--comment"}, + Description: `Optional description or comment for the entry`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--forever", "-F"}, + Description: `Acknowledges an alert 'forever'`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--until"}, + Description: `Time, in ISO 8601 format, until which the alert has been acknowledged. mongocli returns this value after the alert has been acknowledged`, + Args: []model.Arg{{ + Name: "until", + }}, + }}, + }, { + Name: []string{"unack", "unacknowledge"}, + Description: `Unacknowledges one alert for the specified project`, + Options: []model.Option{{ + Name: []string{"--comment"}, + Description: `Optional description or comment for the entry`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"global"}, + Description: `Retrieves all the global alerts for the specified Ops Manager project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Returns all global alerts for the specified Ops Manager project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--status"}, + Description: `Alert's status. The values are TRACKING, OPEN, CLOSED, and CANCELED`, + Args: []model.Arg{{ + Name: "status", + }}, + }}, + }}, + }}, + }, { + Name: []string{"backup", "backups"}, + Description: `Manage cloud backups for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"snapshot", "snapshots"}, + Description: `Manage cloud backup snapshots for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List cloud backup snapshots for your project and cluster`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"take", "create"}, + Description: `Create a backup snapshot for your project and cluster`, + Options: []model.Option{{ + Name: []string{"--desc"}, + Description: `Description of the on-demand snapshot`, + Args: []model.Arg{{ + Name: "desc", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--retention"}, + Description: `Cloud provider region in which you want to create the private endpoint connection`, + Args: []model.Arg{{ + Name: "retention", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Get a specific snapshot for your project`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a snapshot to be available`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a backup snapshot`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"restore", "restores"}, + Description: `Manage cloud backup restore jobs for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List cloud backup restore jobs for your project and cluster`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"start"}, + Description: `Start a restore job for your project and cluster`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--oplogInc"}, + Description: `32-bit incrementing ordinal that represents operations within a given second. When paired with oplogTs, they represent the point in time to which your data will be restored`, + Args: []model.Arg{{ + Name: "oplogInc", + }}, + }, { + Name: []string{"--oplogTs"}, + Description: `Oplog timestamp given as a timestamp in the number of seconds that have elapsed since the UNIX Epoch. When paired with oplogInc, they represent the point in time to which your data will be restored`, + Args: []model.Arg{{ + Name: "oplogTs", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--pointInTimeUTCMillis"}, + Description: `Timestamp in the number of milliseconds that have elapsed since the UNIX epoch that represents the point in time to which your data will be restored. This timestamp must be within the last 24 hours of the current time`, + Args: []model.Arg{{ + Name: "pointInTimeUTCMillis", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--snapshotId"}, + Description: `Unique identifier of the snapshot to restore`, + Args: []model.Arg{{ + Name: "snapshotId", + }}, + }, { + Name: []string{"--targetClusterName"}, + Description: `Name of the target cluster. For use only with automated restore jobs`, + Args: []model.Arg{{ + Name: "targetClusterName", + }}, + }, { + Name: []string{"--targetProjectId"}, + Description: `Unique identifier of the project that contains the destination cluster for the restore job`, + Args: []model.Arg{{ + Name: "targetProjectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"event", "events"}, + Description: `Manage events for your organization or project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for an organization or project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--maxDate"}, + Description: `Returns events whose created date is less than or equal to it`, + Args: []model.Arg{{ + Name: "maxDate", + }}, + }, { + Name: []string{"--minDate"}, + Description: `Returns events whose created date is greater than or equal to it`, + Args: []model.Arg{{ + Name: "minDate", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--type"}, + Description: `Type of the event that triggered the alert`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }, { + Name: []string{"organization", "orgs", "org", "organizations"}, + Description: `Organization operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for an organization`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--maxDate"}, + Description: `Returns events whose created date is less than or equal to it`, + Args: []model.Arg{{ + Name: "maxDate", + }}, + }, { + Name: []string{"--minDate"}, + Description: `Returns events whose created date is greater than or equal to it`, + Args: []model.Arg{{ + Name: "minDate", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--type"}, + Description: `Type of the event that triggered the alert`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }}, + }, { + Name: []string{"project", "projects"}, + Description: `Project operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for a project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--maxDate"}, + Description: `Returns events whose created date is less than or equal to it`, + Args: []model.Arg{{ + Name: "maxDate", + }}, + }, { + Name: []string{"--minDate"}, + Description: `Returns events whose created date is greater than or equal to it`, + Args: []model.Arg{{ + Name: "minDate", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--type"}, + Description: `Type of the event that triggered the alert`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }}, + }}, + }, { + Name: []string{"metric", "measurements", "measurement", "metrics"}, + Description: `Get metrics on the MongoDB process`, + Subcommands: []model.Subcommand{{ + Name: []string{"process", "processes"}, + Description: `Get MongoDB process metrics for a given host`, + Options: []model.Option{{ + Name: []string{"--end"}, + Description: `End of the period, in UNIX Epoch format, until which to retrieve measurements`, + Args: []model.Arg{{ + Name: "end", + }}, + }, { + Name: []string{"--granularity"}, + Description: `Duration in ISO 8601 notation that specifies the interval between measurement data points. Only the following subset of ISO 8601-formatted time periods are supported: PT10S, PT1M, PT5M, PT1H, P1D`, + Args: []model.Arg{{ + Name: "granularity", + }}, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--period"}, + Description: `Duration in ISO 8601 that specifies how far back in the past to retrieve measurements`, + Args: []model.Arg{{ + Name: "period", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--start"}, + Description: `Beginning of the period, in UNIX Epoch format, from which to start retrieving measurements`, + Args: []model.Arg{{ + Name: "start", + }}, + }, { + Name: []string{"--type"}, + Description: `Measurements to return. If it is not specified, all measurements are returned`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }, { + Name: []string{"disk", "disks"}, + Description: `List available disks or disk metrics for a given host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available disks or disk partitions for a given host`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Describe disk partition metrics for a disk partition on a specified host`, + Options: []model.Option{{ + Name: []string{"--end"}, + Description: `End of the period, in UNIX Epoch format, until which to retrieve measurements`, + Args: []model.Arg{{ + Name: "end", + }}, + }, { + Name: []string{"--granularity"}, + Description: `Duration in ISO 8601 notation that specifies the interval between measurement data points. Only the following subset of ISO 8601-formatted time periods are supported: PT10S, PT1M, PT5M, PT1H, P1D`, + Args: []model.Arg{{ + Name: "granularity", + }}, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--period"}, + Description: `Duration in ISO 8601 that specifies how far back in the past to retrieve measurements`, + Args: []model.Arg{{ + Name: "period", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--start"}, + Description: `Beginning of the period, in UNIX Epoch format, from which to start retrieving measurements`, + Args: []model.Arg{{ + Name: "start", + }}, + }, { + Name: []string{"--type"}, + Description: `Measurements to return. If it is not specified, all measurements are returned`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }}, + }, { + Name: []string{"database", "databases"}, + Description: `List available databases or database metrics for a given host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available databases or database metrics for a given host`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Describe database metrics for a database on a specific host`, + Options: []model.Option{{ + Name: []string{"--end"}, + Description: `End of the period, in UNIX Epoch format, until which to retrieve measurements`, + Args: []model.Arg{{ + Name: "end", + }}, + }, { + Name: []string{"--granularity"}, + Description: `Duration in ISO 8601 notation that specifies the interval between measurement data points. Only the following subset of ISO 8601-formatted time periods are supported: PT10S, PT1M, PT5M, PT1H, P1D`, + Args: []model.Arg{{ + Name: "granularity", + }}, + }, { + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--period"}, + Description: `Duration in ISO 8601 that specifies how far back in the past to retrieve measurements`, + Args: []model.Arg{{ + Name: "period", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--start"}, + Description: `Beginning of the period, in UNIX Epoch format, from which to start retrieving measurements`, + Args: []model.Arg{{ + Name: "start", + }}, + }, { + Name: []string{"--type"}, + Description: `Measurements to return. If it is not specified, all measurements are returned`, + Args: []model.Arg{{ + Name: "type", + }}, + }}, + }}, + }}, + }, { + Name: []string{"performanceadvisor", "performance-advisor", "performanceAdvisor"}, + Description: `Performance Advisor operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"namespace", "namespaces"}, + Description: `Retrieve namespaces for collections experiencing slow queries`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve up to 20 namespaces for collections experiencing slow queries for a specified host`, + Options: []model.Option{{ + Name: []string{"--duration"}, + Description: `Length of time from the since parameter, in milliseconds, for which you want to receive results`, + Args: []model.Arg{{ + Name: "duration", + }}, + }, { + Name: []string{"--hostId"}, + Description: `Unique identifier for the host of a MongoDB process`, + Args: []model.Arg{{ + Name: "hostId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--processName"}, + Description: `Unique identifier for the host of a MongoDB process in the following format: {hostname}:{port}`, + Args: []model.Arg{{ + Name: "processName", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--since"}, + Description: `Point in time, specified as milliseconds since the Unix Epoch, from which you want to receive results`, + Args: []model.Arg{{ + Name: "since", + }}, + }}, + }}, + }, { + Name: []string{"slowquerylogs", "slow-query-logs", "slowQueryLog", "slowquerylog", "slow-query-log", "slowQueryLogs"}, + Description: `Get log lines for slow queries for a specified host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return log lines for slow queries that the Performance Advisor and Query Profiler identified`, + Options: []model.Option{{ + Name: []string{"--duration"}, + Description: `Length of time from the since parameter, in milliseconds, for which you want to receive results`, + Args: []model.Arg{{ + Name: "duration", + }}, + }, { + Name: []string{"--hostId"}, + Description: `Unique identifier for the host of a MongoDB process`, + Args: []model.Arg{{ + Name: "hostId", + }}, + }, { + Name: []string{"--nLog"}, + Description: `Maximum number of log lines to return`, + Args: []model.Arg{{ + Name: "nLog", + }}, + }, { + Name: []string{"--namespaces"}, + Description: `Namespaces from which to retrieve suggested slow query logs`, + Args: []model.Arg{{ + Name: "namespaces", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--processName"}, + Description: `Unique identifier for the host of a MongoDB process in the following format: {hostname}:{port}`, + Args: []model.Arg{{ + Name: "processName", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--since"}, + Description: `Point in time, specified as milliseconds since the Unix Epoch, from which you want to receive results`, + Args: []model.Arg{{ + Name: "since", + }}, + }}, + }}, + }, { + Name: []string{"suggestedindexes", "suggested-indexes", "suggestedIndex", "suggestedindex", "suggested-index", "suggestedIndexes"}, + Description: `Get suggested indexes for collections experiencing slow queries`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve suggested indexes for collections experiencing slow queries`, + Options: []model.Option{{ + Name: []string{"--duration"}, + Description: `Length of time from the since parameter, in milliseconds, for which you want to receive results`, + Args: []model.Arg{{ + Name: "duration", + }}, + }, { + Name: []string{"--hostId"}, + Description: `Unique identifier for the host of a MongoDB process`, + Args: []model.Arg{{ + Name: "hostId", + }}, + }, { + Name: []string{"--nExamples"}, + Description: `Maximum number of example queries to provide that will be improved by a suggested index`, + Args: []model.Arg{{ + Name: "nExamples", + }}, + }, { + Name: []string{"--nIndexes"}, + Description: `Maximum number of indexes to suggest`, + Args: []model.Arg{{ + Name: "nIndexes", + }}, + }, { + Name: []string{"--namespaces"}, + Description: `Namespaces from which to retrieve suggested indexes`, + Args: []model.Arg{{ + Name: "namespaces", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--processName"}, + Description: `Unique identifier for the host of a MongoDB process in the following format: {hostname}:{port}`, + Args: []model.Arg{{ + Name: "processName", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--since"}, + Description: `Point in time, specified as milliseconds since the Unix Epoch, from which you want to receive results`, + Args: []model.Arg{{ + Name: "since", + }}, + }}, + }}, + }, { + Name: []string{"slowOT", "sot", "slowMS", "slowOperationThreshold"}, + Description: `Enable or disable management of the slow operation threshold for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "enable"}, + Description: `Enable the application-managed slow operation threshold for your project`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"disable"}, + Description: `Disable the application-managed slow operation threshold for your project`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"log", "logs"}, + Description: `Download host logs for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"download"}, + Description: `Download a host mongodb logs`, + Options: []model.Option{{ + Name: []string{"--end"}, + Description: `End of the period, in UNIX Epoch format, until which to retrieve logs`, + Args: []model.Arg{{ + Name: "end", + }}, + }, { + Name: []string{"--force"}, + Description: `Overwrites the destination file`, + }, { + Name: []string{"--out"}, + Description: `Optional output file name. Uses the log name if the output file's name is not specified`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "out", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--start"}, + Description: `Beginning of the date and time, in UNIX Epoch format, from which to retrieve logs`, + Args: []model.Arg{{ + Name: "start", + }}, + }}, + }}, + }, { + Name: []string{"process", "processes"}, + Description: `Manage MongoDB processes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List MongoDB processes for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"privateendpoints", "private-endpoints", "privateEndpoint", "privateendpoint", "private-endpoint", "privateEndpoints"}, + Description: `Manage Atlas private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of the cloud provider you want to create the private endpoint connection for`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--region"}, + Description: `Cloud provider region in which you want to create the private endpoint connection`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a private endpoint from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a private endpoint to be available`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of the cloud provider you want to create the private endpoint connection for`, + Args: []model.Arg{{ + Name: "provider", + }}, + }}, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new interface to a private endpoint`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific private endpoint interface for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a private endpoint interface from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"aws"}, + Description: `Manage AWS Private Endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List AWS Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific AWS Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new AWS Private Endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Cloud provider region in which you want to create the private endpoint connection`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific AWS Private Endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a specific AWS Private Endpoint to be available`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas AWS private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new interface to a AWS private endpoint`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific AWS private endpoint interface for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific AWS private endpoint interface and the related endpoint service for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"azure"}, + Description: `Manage Azure Private Endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Azure Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Azure Private Endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a new Azure Private Endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Cloud provider region in which you want to create the private endpoint connection`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Azure Private Endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a specific Azure Private Endpoint to be available`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas Azure private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new Azure interface to a private endpoint`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the Azure private endpoint resource`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--privateEndpointIpAddress"}, + Description: `Private IP address of the private endpoint network interface you created in your Azure VNet`, + Args: []model.Arg{{ + Name: "privateEndpointIpAddress", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Azure private endpoint interface for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Azure private endpoint interface and related service for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"gcp"}, + Description: `Manage GCP private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new GCP private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Cloud provider region in which you want to create the private endpoint connection`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a GCP private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List GCP private endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific GCP private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch the specified GCP private endpoint to detect changes in the endpoint's state`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas GCP private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Return a specific GCP private endpoint interface for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific GCP private endpoint interface for your project`, + Options: []model.Option{{ + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"add", "create"}, + Description: `Create a GCP private endpoint interface`, + Options: []model.Option{{ + Name: []string{"--endpoint"}, + Description: `List of GCP endpoints in the group separated by commas, such as: endpointName1@ipAddress1,...,endpointNameN@ipAddressN`, + Args: []model.Arg{{ + Name: "endpoint", + }}, + }, { + Name: []string{"--endpointServiceId"}, + Description: `Unique identifier of the private endpoint service for which you want to retrieve a private endpoint`, + Args: []model.Arg{{ + Name: "endpointServiceId", + }}, + }, { + Name: []string{"--gcpProjectId"}, + Description: `Unique identifier of the GCP project in which the network peer resides`, + Args: []model.Arg{{ + Name: "gcpProjectId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"regionalmodes", "regional-modes", "regionalMode", "regionalmode", "regional-mode", "regionalModes"}, + Description: `Manage regionalized private endpoint setting for your Atlas project`, + Subcommands: []model.Subcommand{{ + Name: []string{"enable"}, + Description: `Enable the regionalized private endpoint setting for your Atlas project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"disable"}, + Description: `Disable the regionalized private endpoint setting for your Atlas project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Get the regionalized private endpoint setting for your Atlas project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"datalakes", "data-lakes", "dataLake", "datalake", "data-lake", "dataLakes"}, + Description: `Manage Data Lake private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--comment"}, + Description: `Optional description or comment for the entry`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List Data Lake private endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"onlinearchive", "online-archive", "onlineArchive"}, + Description: `Manage Online Archive private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--comment"}, + Description: `Optional description or comment for the entry`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--privateEndpointId"}, + Description: `Unique identifier of the AWS PrivateLink connection`, + Args: []model.Arg{{ + Name: "privateEndpointId", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List Data Lake private endpoints for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Data Lake private endpoint for your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }}, + }, { + Name: []string{"networking"}, + Description: `Networking operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"container", "containers"}, + Description: `Manage Network Peering containers`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List network peering containers in an Atlas project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of your cloud service provider. Valid values are AWS, AZURE, or GCP`, + Args: []model.Arg{{ + Name: "provider", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Remove one network peering container in an Atlas project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"peering"}, + Description: `Manage Network Peering connections`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve details for all network peering connections in one Atlas project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Name of your cloud service provider. Valid values are AWS, AZURE, or GCP`, + Args: []model.Arg{{ + Name: "provider", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create a connection with AWS, Azure and Google Cloud`, + Subcommands: []model.Subcommand{{ + Name: []string{"azure"}, + Description: `Create a connection with Azure`, + Options: []model.Option{{ + Name: []string{"--atlasCidrBlock"}, + Description: `CIDR block that Atlas uses for your clusters`, + Args: []model.Arg{{ + Name: "atlasCidrBlock", + }}, + }, { + Name: []string{"--directoryId"}, + Description: `Unique identifier for an Azure AD directory`, + Args: []model.Arg{{ + Name: "directoryId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Atlas region where the container resides`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--resourceGroup"}, + Description: `Name of your Azure resource group`, + Args: []model.Arg{{ + Name: "resourceGroup", + }}, + }, { + Name: []string{"--subscriptionId"}, + Description: `Unique identifier of the Azure subscription in which the VNet resides`, + Args: []model.Arg{{ + Name: "subscriptionId", + }}, + }, { + Name: []string{"--vnet"}, + Description: `Name of your Azure VNet`, + Args: []model.Arg{{ + Name: "vnet", + }}, + }}, + }, { + Name: []string{"aws"}, + Description: `Create a connection with AWS`, + Options: []model.Option{{ + Name: []string{"--accountId"}, + Description: `Account ID of the owner of the peer VPC`, + Args: []model.Arg{{ + Name: "accountId", + }}, + }, { + Name: []string{"--atlasCidrBlock"}, + Description: `CIDR block that Atlas uses for your clusters`, + Args: []model.Arg{{ + Name: "atlasCidrBlock", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Atlas region where the container resides`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--routeTableCidrBlock"}, + Description: `Peer VPC CIDR block or subnet`, + Args: []model.Arg{{ + Name: "routeTableCidrBlock", + }}, + }, { + Name: []string{"--vpcId"}, + Description: `Unique identifier of the peer VPC`, + Args: []model.Arg{{ + Name: "vpcId", + }}, + }}, + }, { + Name: []string{"gcp"}, + Description: `Create a connection with GCP`, + Options: []model.Option{{ + Name: []string{"--atlasCidrBlock"}, + Description: `CIDR block that Atlas uses for your clusters`, + Args: []model.Arg{{ + Name: "atlasCidrBlock", + }}, + }, { + Name: []string{"--gcpProjectId"}, + Description: `Unique identifier of the GCP project in which the network peer resides`, + Args: []model.Arg{{ + Name: "gcpProjectId", + }}, + }, { + Name: []string{"--network"}, + Description: `Unique identifier of the Network Peering connection in the Atlas project`, + Args: []model.Arg{{ + Name: "network", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `List of Atlas regions where the container resides`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a peering connection to be available`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a peering connection from an Atlas project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"security"}, + Description: `Manage security configuration for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"customercerts", "customer-certs", "customerCert", "customercert", "customer-cert", "certs", "customerCerts"}, + Description: `Manage customer x509 certificates for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"describe"}, + Description: `Get the current customer-managed X.509 configuration details for an Atlas project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Saves a customer-managed X.509 configuration for an Atlas project`, + Options: []model.Option{{ + Name: []string{"--casFile"}, + Description: `Path to a PEM file containing one or more CAs for database user authentication`, + Args: []model.Arg{{ + Name: "casFile", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"disable"}, + Description: `Disables customer-managed X.509 for a project`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"ldap"}, + Description: `LDAP operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"verify"}, + Description: `Request verification of an LDAP configuration`, + Options: []model.Option{{ + Name: []string{"--authzQueryTemplate"}, + Description: `An LDAP query template that Atlas executes to obtain the LDAP groups to which the authenticated user belongs`, + Args: []model.Arg{{ + Name: "authzQueryTemplate", + }}, + }, { + Name: []string{"--bindPassword"}, + Description: `Password used to authenticate the bindUsername`, + Args: []model.Arg{{ + Name: "bindPassword", + }}, + }, { + Name: []string{"--bindUsername"}, + Description: `The user distinguished name (DN) that Atlas uses to connect to the LDAP server`, + Args: []model.Arg{{ + Name: "bindUsername", + }}, + }, { + Name: []string{"--caCertificate"}, + Description: `CA certificate used to verify the identify of the LDAP server`, + Args: []model.Arg{{ + Name: "caCertificate", + }}, + }, { + Name: []string{"--hostname"}, + Description: `Hostname or IP address of the LDAP server`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--port"}, + Description: `Port to which the LDAP server listens to for client connections`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"status"}, + Description: `Get the status of an LDAP configuration request`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"watch"}, + Description: `Watch for an LDAP configuration request to complete`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"save"}, + Description: `Save an LDAP configuration`, + Options: []model.Option{{ + Name: []string{"--authenticationEnabled"}, + Description: `Specifies whether user authentication with LDAP is enabled`, + }, { + Name: []string{"--authorizationEnabled"}, + Description: `Specifies whether user authorization with LDAP is enabled`, + }, { + Name: []string{"--authzQueryTemplate"}, + Description: `An LDAP query template that Atlas executes to obtain the LDAP groups to which the authenticated user belongs`, + Args: []model.Arg{{ + Name: "authzQueryTemplate", + }}, + }, { + Name: []string{"--bindPassword"}, + Description: `Password used to authenticate the bindUsername`, + Args: []model.Arg{{ + Name: "bindPassword", + }}, + }, { + Name: []string{"--bindUsername"}, + Description: `The user distinguished name (DN) that Atlas uses to connect to the LDAP server`, + Args: []model.Arg{{ + Name: "bindUsername", + }}, + }, { + Name: []string{"--caCertificate"}, + Description: `CA certificate used to verify the identify of the LDAP server`, + Args: []model.Arg{{ + Name: "caCertificate", + }}, + }, { + Name: []string{"--hostname"}, + Description: `Hostname or IP address of the LDAP server`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--mappingLdapQuery"}, + Description: `An LDAP query formatting template that inserts the authentication name matched by the match regex into an LDAP query URI encoded respecting RFC4515 and RFC4516`, + Args: []model.Arg{{ + Name: "mappingLdapQuery", + }}, + }, { + Name: []string{"--mappingMatch"}, + Description: `An ECMAScript-formatted regular expression (regex) to match against a provided username`, + Args: []model.Arg{{ + Name: "mappingMatch", + }}, + }, { + Name: []string{"--mappingSubstitution"}, + Description: `An LDAP distinguished name (DN) formatting template that converts the authentication name matched by the match regex into a LDAP DN`, + Args: []model.Arg{{ + Name: "mappingSubstitution", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--port"}, + Description: `Port to which the LDAP server listens to for client connections`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an LDAP configuration userToDNMapping from an LDAP configuration`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get"}, + Description: `Get an LDAP configuration`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"integration", "integrations"}, + Description: `Third party integration operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"update", "create"}, + Description: `Create operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"new_relic", "newRelic", "NEW_RELIC"}, + Description: `Create or update the New Relic integration`, + Options: []model.Option{{ + Name: []string{"--accountId"}, + Description: `Unique identifier of your New Relic account`, + Args: []model.Arg{{ + Name: "accountId", + }}, + }, { + Name: []string{"--licenceKey"}, + Description: `Your License Key`, + Args: []model.Arg{{ + Name: "licenceKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--readToken"}, + Description: `Your Insights Query Key`, + Args: []model.Arg{{ + Name: "readToken", + }}, + }, { + Name: []string{"--writeToken"}, + Description: `Your Insights Insert Key`, + Args: []model.Arg{{ + Name: "writeToken", + }}, + }}, + }, { + Name: []string{"ops_genie", "opsGenie", "OPS_GENIE"}, + Description: `Create or update the Ops Genie integration`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `API Key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Indicates which API URL to use, either US or EU. The integration service will use US by default`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"pager_duty", "pagerDuty", "PAGER_DUTY"}, + Description: `Create or update the PagerDuty integration`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--serviceKey"}, + Description: `Your Service Key`, + Args: []model.Arg{{ + Name: "serviceKey", + }}, + }}, + }, { + Name: []string{"datadog", "DATADOG"}, + Description: `Create or update the Datadog integration`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `API Key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--region"}, + Description: `Indicates which API URL to use, either US or EU. The integration service will use US by default`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"victor_ops", "victorOps", "VICTOR_OPS"}, + Description: `Create or update the VictorOps integrations`, + Options: []model.Option{{ + Name: []string{"--apiKey"}, + Description: `API Key`, + Args: []model.Arg{{ + Name: "apiKey", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--routingKey"}, + Description: `An optional field for your Routing Key`, + Args: []model.Arg{{ + Name: "routingKey", + }}, + }}, + }, { + Name: []string{"flowdock", "FLOWDOCK"}, + Description: `Create or update the Flowdock integration`, + Options: []model.Option{{ + Name: []string{"--apiToken"}, + Description: `Your API Token`, + Args: []model.Arg{{ + Name: "apiToken", + }}, + }, { + Name: []string{"--flowName"}, + Description: `Flowdock Flow name`, + Args: []model.Arg{{ + Name: "flowName", + }}, + }, { + Name: []string{"--orgName"}, + Description: `Your Flowdock organization's name`, + Args: []model.Arg{{ + Name: "orgName", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"webhook", "WEBHOOK"}, + Description: `Create or update the Webhook integration`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--secret"}, + Description: `An optional field for your webhook secret`, + Args: []model.Arg{{ + Name: "secret", + }}, + }, { + Name: []string{"--url"}, + Description: `Your webhook URL`, + Args: []model.Arg{{ + Name: "url", + }}, + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List third party integrations`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a third party integration`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"describe"}, + Description: `Get a third party integration`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"maintenancewindows", "maintenance-windows", "maintenanceWindow", "maintenancewindow", "maintenance-window", "maintenanceWindows"}, + Description: `Manage Atlas maintenance windows`, + Subcommands: []model.Subcommand{{ + Name: []string{"update"}, + Description: `Update the maintenance window`, + Options: []model.Option{{ + Name: []string{"--dayOfWeek"}, + Description: `Day of the week that you want the maintenance window to start, as a 1-based integer`, + Args: []model.Arg{{ + Name: "dayOfWeek", + }}, + }, { + Name: []string{"--hourOfDay"}, + Description: `Hour of the day that you want the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0 and noon is 12`, + Args: []model.Arg{{ + Name: "hourOfDay", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--startASAP"}, + Description: `Flag that, if specified, indicates to start maintenance immediately upon receiving this request`, + }}, + }, { + Name: []string{"rm", "delete", "clear"}, + Description: `Clear the maintenance window`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"defer"}, + Description: `Defer the maintenance window`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Get a maintenance window`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"customdns", "custom-dns", "customDn", "customdn", "custom-dn", "customDns"}, + Description: `Manage DNS configuration of Atlas project’s clusters deployed to AWS`, + Subcommands: []model.Subcommand{{ + Name: []string{"aw", "aws"}, + Description: `Manage DNS configuration of an Atlas project’s cluster deployed to AWS`, + Subcommands: []model.Subcommand{{ + Name: []string{"enable"}, + Description: `Enable the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"disable"}, + Description: `Disable the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Describe the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"cloudproviders", "cloud-providers", "cloudProvider", "cloudprovider", "cloud-provider", "cloudProviders"}, + Description: `Manage unified IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"accessroles", "access-roles", "accessRole", "accessrole", "access-role", "accessRoles"}, + Description: `Manage AWS IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create an AWS IAM role`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"authorize"}, + Description: `Authorize an AWS IAM role`, + Options: []model.Option{{ + Name: []string{"--iamAssumedRoleArn"}, + Description: `Role ARN that Atlas assumes to access your AWS account`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "iamAssumedRoleArn", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"deauthorize"}, + Description: `Deauthorize an AWS IAM role`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List AWS IAM role access in Atlas`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }}, + }, { + Name: []string{"sl", "serverless"}, + Description: `Manage serverless instances for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all serverless instances in the specified project`, + Options: []model.Option{{ + Name: []string{"--limit"}, + Description: `Number of items per page`, + Args: []model.Arg{{ + Name: "limit", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--page"}, + Description: `Page number`, + Args: []model.Arg{{ + Name: "page", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return one serverless instance in the specified project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Remove a serverless instance from your project`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Creates one serverless instance in the specified project`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--provider"}, + Description: `Cloud service provider that applies to the provisioned serverless instance`, + Args: []model.Arg{{ + Name: "provider", + }}, + }, { + Name: []string{"--region"}, + Description: `Human-readable label that identifies the physical location of your MongoDB serverless instance. The region you choose can affect network latency for clients accessing your databases`, + Args: []model.Arg{{ + Name: "region", + }}, + }}, + }, { + Name: []string{"watch"}, + Description: `Monitor the status of serverless instance`, + Options: []model.Option{{ + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"livemigrations", "live-migrations", "liveMigration", "livemigration", "live-migration", "lm", "liveMigrations"}, + Description: `Manage a Live Migration to Atlas for your organization`, + Subcommands: []model.Subcommand{{ + Name: []string{"link"}, + Description: `Manage the link-token for your organization`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create one new link-token`, + Options: []model.Option{{ + Name: []string{"--accessListIp"}, + Description: `IP address access list entries that are associated with the link-token`, + Args: []model.Arg{{ + Name: "accessListIp", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete one link-token`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }}, + }}, + }, { + Name: []string{"validation"}, + Description: `Manage a Live Migration validation job for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create one new validation request`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Human-readable label that identifies the Atlas destination cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--drop"}, + Description: `Flag that indicates whether this process should drop existing collections from the destination (Atlas) cluster given in --destinationClusterName before starting the migration of data from the source cluster`, + }, { + Name: []string{"--migrationHost"}, + Description: `List of hosts running the MongoDB Agent that can transfer your MongoDB data from the source (Cloud Manager or Ops Manager) to destination (Atlas) deployments. Each live migration process uses its own dedicated migration host`, + Args: []model.Arg{{ + Name: "migrationHost", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--sourceCACertificatePath"}, + Description: `Path to the CA certificate that signed TLS certificates use to authenticate to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceSSL is not passed`, + Args: []model.Arg{{ + Name: "sourceCACertificatePath", + }}, + }, { + Name: []string{"--sourceClusterName"}, + Description: `Human-readable label that identifies the source Cloud Manager or Ops Manager cluster`, + Args: []model.Arg{{ + Name: "sourceClusterName", + }}, + }, { + Name: []string{"--sourceManagedAuthentication"}, + Description: `Flag that indicates whether MongoDB Automation manages authentication to the source Cloud Manager or Ops Manager cluster. If you set this to true, don't provide values for --sourceUsername and --sourcePassword`, + }, { + Name: []string{"--sourcePassword", "-p"}, + Description: `Password that authenticates the username to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceManagedAuthentication is passed`, + Args: []model.Arg{{ + Name: "sourcePassword", + }}, + }, { + Name: []string{"--sourceProjectId"}, + Description: `Unique 24-hexadecimal digit string that identifies the source project`, + Args: []model.Arg{{ + Name: "sourceProjectId", + }}, + }, { + Name: []string{"--sourceSsl"}, + Description: `Flag that indicates whether data source has TLS enabled`, + }, { + Name: []string{"--sourceUsername", "-u"}, + Description: `Human-readable label that identifies the SCRAM-SHA user that connects to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceManagedAuthentication is set`, + Args: []model.Arg{{ + Name: "sourceUsername", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return one validation job`, + Options: []model.Option{{ + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--validationId"}, + Description: `Unique 24-hexadecimal digit string that identifies the validation job`, + Args: []model.Arg{{ + Name: "validationId", + }}, + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create one new migration`, + Options: []model.Option{{ + Name: []string{"--clusterName"}, + Description: `Human-readable label that identifies the Atlas destination cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--drop"}, + Description: `Flag that indicates whether this process should drop existing collections from the destination (Atlas) cluster given in --destinationClusterName before starting the migration of data from the source cluster`, + }, { + Name: []string{"--migrationHost"}, + Description: `List of hosts running the MongoDB Agent that can transfer your MongoDB data from the source (Cloud Manager or Ops Manager) to destination (Atlas) deployments. Each live migration process uses its own dedicated migration host`, + Args: []model.Arg{{ + Name: "migrationHost", + }}, + }, { + Name: []string{"--orgId"}, + Description: `Organization ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "orgId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--sourceCACertificatePath"}, + Description: `Path to the CA certificate that signed TLS certificates use to authenticate to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceSSL is not passed`, + Args: []model.Arg{{ + Name: "sourceCACertificatePath", + }}, + }, { + Name: []string{"--sourceClusterName"}, + Description: `Human-readable label that identifies the source Cloud Manager or Ops Manager cluster`, + Args: []model.Arg{{ + Name: "sourceClusterName", + }}, + }, { + Name: []string{"--sourceManagedAuthentication"}, + Description: `Flag that indicates whether MongoDB Automation manages authentication to the source Cloud Manager or Ops Manager cluster. If you set this to true, don't provide values for --sourceUsername and --sourcePassword`, + }, { + Name: []string{"--sourcePassword", "-p"}, + Description: `Password that authenticates the username to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceManagedAuthentication is passed`, + Args: []model.Arg{{ + Name: "sourcePassword", + }}, + }, { + Name: []string{"--sourceProjectId"}, + Description: `Unique 24-hexadecimal digit string that identifies the source project`, + Args: []model.Arg{{ + Name: "sourceProjectId", + }}, + }, { + Name: []string{"--sourceSsl"}, + Description: `Flag that indicates whether data source has TLS enabled`, + }, { + Name: []string{"--sourceUsername", "-u"}, + Description: `Human-readable label that identifies the SCRAM-SHA user that connects to the source Cloud Manager or Ops Manager cluster. Omit this value if --sourceManagedAuthentication is set`, + Args: []model.Arg{{ + Name: "sourceUsername", + }}, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Return one migration job`, + Options: []model.Option{{ + Name: []string{"--liveMigrationId"}, + Description: `Unique 24-hexadecimal digit string that identifies the live migration job`, + Args: []model.Arg{{ + Name: "liveMigrationId", + }}, + }}, + }, { + Name: []string{"cutover"}, + Description: `Start the cutover and confirm when the cutover completes. When the cutover completes, the application completes the live migration process and stops synchronizing with the source cluster`, + Options: []model.Option{{ + Name: []string{"--liveMigrationId"}, + Description: `Unique 24-hexadecimal digit string that identifies the live migration job`, + Args: []model.Arg{{ + Name: "liveMigrationId", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }}, + }}, + }, { + Name: []string{"accesslogs", "access-logs", "accessLog", "accesslog", "access-log", "accessLogs"}, + Description: `Manage the access logs of a cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve the access logs of a cluster identified by the cluster's name or hostname`, + Options: []model.Option{{ + Name: []string{"--authResult"}, + Description: `Flag that indicates whether to return either successful or failed authentication attempts. When set to success, Atlas filters the log to return only successful authentication attempts. When set to fail, Atlas filters the log to return only failed authentication attempts`, + Args: []model.Arg{{ + Name: "authResult", + }}, + }, { + Name: []string{"--clusterName"}, + Description: `Name of the cluster`, + Args: []model.Arg{{ + Name: "clusterName", + }}, + }, { + Name: []string{"--end"}, + Description: `Timestamp in the number of milliseconds that have elapsed, since the UNIX Epoch, for the first entry that Atlas returns from the database access logs`, + Args: []model.Arg{{ + Name: "end", + }}, + }, { + Name: []string{"--hostname"}, + Description: `The fully qualified domain name (FQDN) of the target node that should receive the authentication attempt`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--ip"}, + Description: `IP address that attempted to authenticate with the database. Atlas filters the returned logs to include documents with only this IP address`, + Args: []model.Arg{{ + Name: "ip", + }}, + }, { + Name: []string{"--nLog"}, + Description: `Maximum number of log lines to return`, + Args: []model.Arg{{ + Name: "nLog", + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Output format. Valid values are json, json-path, go-template, or go-template-file`, + Args: []model.Arg{{ + Name: "output", + }}, + }, { + Name: []string{"--projectId"}, + Description: `Project ID to use. Overrides the settings in the configuration file or environment variable`, + Args: []model.Arg{{ + Name: "projectId", + }}, + }, { + Name: []string{"--start"}, + Description: `Timestamp in the number of milliseconds that have elapsed, since the UNIX Epoch, for the first entry that Atlas returns from the database access logs`, + Args: []model.Arg{{ + Name: "start", + }}, + }}, + }}, + }, { + Name: []string{"login"}, + Description: `Authenticate with MongoDB Atlas`, + Options: []model.Option{{ + Name: []string{"--cm"}, + Description: `Log in to Cloud Manager`, + }, { + Name: []string{"--gov"}, + Description: `Log in to Atlas for Government`, + }, { + Name: []string{"--loginOnly"}, + Description: `Skip profile configuration`, + }, { + Name: []string{"--noBrowser"}, + Description: `Don't try to open a browser session`, + }}, + }, { + Name: []string{"logout"}, + Description: `Log out of the CLI`, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `If specified, skips asking for confirmation before proceeding with a requsted action`, + }}, + }, { + Name: []string{"whoami"}, + Description: `Verifies and displays information about your authentication state`, + }, { + Name: []string{"completion"}, + Description: `Generate the autocompletion script for the specified shell`, + Subcommands: []model.Subcommand{{ + Name: []string{"bash"}, + Description: `Generate the autocompletion script for bash`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"zsh"}, + Description: `Generate the autocompletion script for zsh`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"fish"}, + Description: `Generate the autocompletion script for fish`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }, { + Name: []string{"powershell"}, + Description: `Generate the autocompletion script for powershell`, + Options: []model.Option{{ + Name: []string{"--no-descriptions"}, + Description: `Disable completion descriptions`, + }}, + }}, + }, { + Name: []string{"help"}, + Description: `Help about any command`, + Subcommands: []model.Subcommand{{ + Name: []string{"config"}, + Description: `Manage your profile to store access settings for your MongoDB deployment`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Configure a profile to store access settings for your MongoDB deployment`, + }, { + Name: []string{"set"}, + Description: `Configure specific properties of a profile`, + }, { + Name: []string{"ls", "list"}, + Description: `List available profiles`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific profile`, + }, { + Name: []string{"mv", "rename"}, + Description: `Rename a profile`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a profile`, + }}, + }, { + Name: []string{"auth"}, + Description: `Manage the CLI's authentication state`, + Subcommands: []model.Subcommand{{ + Name: []string{"login"}, + Description: `Authenticate with MongoDB Atlas`, + }, { + Name: []string{"whoami"}, + Description: `Verifies and displays information about your authentication state`, + }, { + Name: []string{"logout"}, + Description: `Log out of the CLI`, + }}, + }, { + Name: []string{"quickstart"}, + Description: `Create and access an Atlas Cluster`, + }, { + Name: []string{"project", "projects"}, + Description: `Project operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List projects`, + }, { + Name: []string{"create"}, + Description: `Create a project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a project`, + }, { + Name: []string{"show", "get", "describe"}, + Description: `Describe a project`, + }, { + Name: []string{"apikeys", "api-keys", "apiKey", "apikey", "api-key", "apiKeys"}, + Description: `Manage API Keys for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List API Keys for your project`, + }, { + Name: []string{"create"}, + Description: `Create an API Key for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an API Key for your project`, + }, { + Name: []string{"update", "assign"}, + Description: `Assign an API Key to a project`, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Manage users for a project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List all users for a project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete user from a project`, + }}, + }, { + Name: []string{"team", "teams"}, + Description: `Teams operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Get all teams in a project`, + }, { + Name: []string{"add"}, + Description: `Add team to a project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete team from a project`, + }, { + Name: []string{"updates", "update"}, + Description: `Update roles for a team in a project`, + }}, + }, { + Name: []string{"invitation", "invitations"}, + Description: `Invitation operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieves all pending invitations to the specified project`, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieve details for one pending invitation to the specified project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes one pending invitation to the specified project`, + }, { + Name: []string{"create", "invite"}, + Description: `Invites one user to the project that you specify`, + }, { + Name: []string{"updates", "update"}, + Description: `Updates one pending invitation by invitationId or email to the project that you specify`, + }}, + }}, + }, { + Name: []string{"organization", "orgs", "org", "organizations"}, + Description: `Organization operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List organizations`, + }, { + Name: []string{"show", "describe"}, + Description: `Describe an organizations`, + }, { + Name: []string{"create"}, + Description: `Create an organization`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an organization`, + }, { + Name: []string{"apikeys", "api-keys", "apiKey", "apikey", "api-key", "apiKeys"}, + Description: `Organization API Keys operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List API Keys for your organization`, + }, { + Name: []string{"show", "describe"}, + Description: `Get a specific Organization API Key`, + }, { + Name: []string{"updates", "assign"}, + Description: `Update an Organization API Key`, + }, { + Name: []string{"create"}, + Description: `Create an Organization API Key`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an Organization API Key`, + }, { + Name: []string{"accesslists", "access-lists", "accessList", "accesslist", "access-list", "whitelists", "whitelist", "accessLists"}, + Description: `Manage the IP access list for your API Key`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List IP access list entries for your API Key`, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for your API Key`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from your API Key`, + }}, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List users in a organization`, + }}, + }, { + Name: []string{"invitation", "invitations"}, + Description: `Invitation operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieves all pending invitations to the specified organization`, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieve details for one pending invitation to the specified organization`, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes one pending invitation to the specified organization`, + }, { + Name: []string{"updates", "update"}, + Description: `Updates one pending invitation by invitationId or email to the project that you specify`, + }, { + Name: []string{"create", "invite"}, + Description: `Invites one user to the organization that you specify`, + }}, + }}, + }, { + Name: []string{"globalapikeys", "global-api-keys", "globalApiKey", "globalapikey", "global-api-key", "globalApiKeys"}, + Description: `Global API Keys operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Global API Keys`, + }, { + Name: []string{"show", "describe"}, + Description: `Get a specific Global API Key`, + }, { + Name: []string{"create"}, + Description: `Create a Global API Key`, + }, { + Name: []string{"update"}, + Description: `Update a Global API Key`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a Global API Key`, + }}, + }, { + Name: []string{"globalaccesslists", "global-access-lists", "globalAccessList", "globalaccesslist", "global-access-list", "globalWhitelists", "globalwhitelists", "global-whitelists", "globalWhitelist", "globalwhitelist", "global-whitelist", "globalAccessLists"}, + Description: `Manage IP access list for Global API Key`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas IP access list entries for Global API Key`, + }, { + Name: []string{"show", "describe"}, + Description: `Return one Global IP access list entry`, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for Global API Key`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from Global API Key`, + }}, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"invite"}, + Description: `Invite a user`, + }, { + Name: []string{"get", "describe"}, + Description: `Get a user by username or id`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an Ops Manager user`, + }}, + }, { + Name: []string{"team", "teams"}, + Description: `Teams operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Get all teams in an organization`, + }, { + Name: []string{"get", "describe"}, + Description: `Get a team in an organization`, + }, { + Name: []string{"create"}, + Description: `Create a team in an organization`, + }, { + Name: []string{"user", "users"}, + Description: `Users operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List users of a team`, + }, { + Name: []string{"add"}, + Description: `Add a user to a team`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete user from a team`, + }}, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a team from an organization`, + }}, + }, { + Name: []string{"cluster", "clusters"}, + Description: `Manage clusters for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List clusters for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Describe a cluster`, + }, { + Name: []string{"create"}, + Description: `Create one cluster in the specified project`, + }, { + Name: []string{"watch"}, + Description: `Watch for a cluster to be available`, + }, { + Name: []string{"update"}, + Description: `Update a MongoDB cluster`, + }, { + Name: []string{"pause"}, + Description: `Pause a running MongoDB cluster in Atlas`, + }, { + Name: []string{"start"}, + Description: `Start a paused MongoDB cluster in Atlas`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a cluster from your project`, + }, { + Name: []string{"loadSampleData"}, + Description: `Load sample data into a MongoDB cluster in Atlas`, + }, { + Name: []string{"index", "indexes"}, + Description: `Manage cluster rolling indexes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a rolling index for your MongoDB cluster`, + }}, + }, { + Name: []string{"fts", "search"}, + Description: `Manage Atlas Search for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"index", "indexes"}, + Description: `Manage Atlas Search indexes for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas search indexes for a cluster`, + }, { + Name: []string{"create"}, + Description: `Create a search index for a cluster`, + }, { + Name: []string{"describe"}, + Description: `Describe a search index for a cluster`, + }, { + Name: []string{"update"}, + Description: `Update a search index for a cluster`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a search index from a cluster`, + }}, + }}, + }, { + Name: []string{"onlinearchives", "online-archives", "onlineArchive", "onlinearchive", "online-archive", "onlineArchives"}, + Description: `Manage online archives for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List online archives for a cluster`, + }, { + Name: []string{"describe"}, + Description: `Describe an online archive for a cluster`, + }, { + Name: []string{"create"}, + Description: `Create an online archive for a cluster`, + }, { + Name: []string{"update"}, + Description: `Update an online archive for a cluster`, + }, { + Name: []string{"start"}, + Description: `Start a paused online archive from a cluster`, + }, { + Name: []string{"pause"}, + Description: `Pause an online archive from a cluster`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an online archive from a cluster`, + }, { + Name: []string{"watch"}, + Description: `Watch for an archive to be available`, + }}, + }, { + Name: []string{"connectionstrings", "connection-strings", "connectionString", "connectionstring", "connection-string", "cs", "connectionStrings"}, + Description: `Manage MongoDB cluster connection string`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Retrieve the SRV connection string of your MongoDB cluster`, + }}, + }, { + Name: []string{"availableregions", "available-regions", "availableRegion", "availableregion", "available-region", "availableRegions"}, + Description: `Manage available regions for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available regions for your project`, + }}, + }}, + }, { + Name: []string{"dbuser", "dbusers"}, + Description: `Manage database users for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas database users for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a single Atlas database user for your project`, + }, { + Name: []string{"create"}, + Description: `Create a database user for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a database user for your project`, + }, { + Name: []string{"update"}, + Description: `Update a database user for your project`, + }, { + Name: []string{"cert", "certs"}, + Description: `Manage Atlas x509 certificates for your database users`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List of all Atlas-managed, unexpired certificates for a database user`, + }, { + Name: []string{"create"}, + Description: `Create a new Atlas-managed X.509 certificate for the specified database user`, + }}, + }}, + }, { + Name: []string{"customdbroles", "custom-db-roles", "customDbRole", "customdbrole", "custom-db-role", "customDBRoles", "customDbRoles"}, + Description: `Manage custom database roles for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a custom database role for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a single custom database role for your project`, + }, { + Name: []string{"ls", "list"}, + Description: `List custom database roles for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a custom database role for your project`, + }, { + Name: []string{"update"}, + Description: `Update a custom database role for your project`, + }}, + }, { + Name: []string{"accesslists", "access-lists", "accessList", "accesslist", "access-list", "whitelists", "whitelist", "accessLists"}, + Description: `Manage the access IP access list for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Describe an IP access list entry`, + }, { + Name: []string{"ls", "list"}, + Description: `List Atlas IP access list entries for your project`, + }, { + Name: []string{"create"}, + Description: `Create an IP access list for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an IP access list from your project`, + }}, + }, { + Name: []string{"datalakes", "data-lakes", "dataLake", "datalake", "data-lake", "dataLakes"}, + Description: `Manage Atlas Data Lakes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas Data Lakes for your project`, + }, { + Name: []string{"describe"}, + Description: `Return a specific data lake`, + }, { + Name: []string{"create"}, + Description: `Create a new data lake for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a data lake from your project`, + }, { + Name: []string{"update"}, + Description: `Update a data lake for your project`, + }}, + }, { + Name: []string{"alert", "alerts"}, + Description: `Manage alerts for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"config", "settings"}, + Description: `Manages alerts configuration for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Creates one alert configuration in the specified project`, + }, { + Name: []string{"ls", "list"}, + Description: `Returns alert configurations for the specified project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Deletes the specified alert configuration in a specified project`, + }, { + Name: []string{"field", "fields"}, + Description: `Manages alert configuration fields for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"types", "type"}, + Description: `Lists available field types for your alert configurations`, + }}, + }, { + Name: []string{"update"}, + Description: `Updates one alert configuration in the specified project`, + }}, + }, { + Name: []string{"get", "describe"}, + Description: `Retrieves one alert for the specified project`, + }, { + Name: []string{"ls", "list"}, + Description: `Retrieves all alerts for the specified Atlas project`, + }, { + Name: []string{"ack", "acknowledge"}, + Description: `Acknowledges one alert for the specified project`, + }, { + Name: []string{"unack", "unacknowledge"}, + Description: `Unacknowledges one alert for the specified project`, + }, { + Name: []string{"global"}, + Description: `Retrieves all the global alerts for the specified Ops Manager project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Returns all global alerts for the specified Ops Manager project`, + }}, + }}, + }, { + Name: []string{"backup", "backups"}, + Description: `Manage cloud backups for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"snapshot", "snapshots"}, + Description: `Manage cloud backup snapshots for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List cloud backup snapshots for your project and cluster`, + }, { + Name: []string{"take", "create"}, + Description: `Create a backup snapshot for your project and cluster`, + }, { + Name: []string{"describe"}, + Description: `Get a specific snapshot for your project`, + }, { + Name: []string{"watch"}, + Description: `Watch for a snapshot to be available`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a backup snapshot`, + }}, + }, { + Name: []string{"restore", "restores"}, + Description: `Manage cloud backup restore jobs for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List cloud backup restore jobs for your project and cluster`, + }, { + Name: []string{"start"}, + Description: `Start a restore job for your project and cluster`, + }}, + }}, + }, { + Name: []string{"event", "events"}, + Description: `Manage events for your organization or project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for an organization or project`, + }, { + Name: []string{"organization", "orgs", "org", "organizations"}, + Description: `Organization operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for an organization`, + }}, + }, { + Name: []string{"project", "projects"}, + Description: `Project operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all events for a project`, + }}, + }}, + }, { + Name: []string{"metric", "measurements", "measurement", "metrics"}, + Description: `Get metrics on the MongoDB process`, + Subcommands: []model.Subcommand{{ + Name: []string{"process", "processes"}, + Description: `Get MongoDB process metrics for a given host`, + }, { + Name: []string{"disk", "disks"}, + Description: `List available disks or disk metrics for a given host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available disks or disk partitions for a given host`, + }, { + Name: []string{"describe"}, + Description: `Describe disk partition metrics for a disk partition on a specified host`, + }}, + }, { + Name: []string{"database", "databases"}, + Description: `List available databases or database metrics for a given host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List available databases or database metrics for a given host`, + }, { + Name: []string{"describe"}, + Description: `Describe database metrics for a database on a specific host`, + }}, + }}, + }, { + Name: []string{"performanceadvisor", "performance-advisor", "performanceAdvisor"}, + Description: `Performance Advisor operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"namespace", "namespaces"}, + Description: `Retrieve namespaces for collections experiencing slow queries`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve up to 20 namespaces for collections experiencing slow queries for a specified host`, + }}, + }, { + Name: []string{"slowquerylogs", "slow-query-logs", "slowQueryLog", "slowquerylog", "slow-query-log", "slowQueryLogs"}, + Description: `Get log lines for slow queries for a specified host`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return log lines for slow queries that the Performance Advisor and Query Profiler identified`, + }}, + }, { + Name: []string{"suggestedindexes", "suggested-indexes", "suggestedIndex", "suggestedindex", "suggested-index", "suggestedIndexes"}, + Description: `Get suggested indexes for collections experiencing slow queries`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve suggested indexes for collections experiencing slow queries`, + }}, + }, { + Name: []string{"slowOT", "sot", "slowMS", "slowOperationThreshold"}, + Description: `Enable or disable management of the slow operation threshold for your cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "enable"}, + Description: `Enable the application-managed slow operation threshold for your project`, + }, { + Name: []string{"disable"}, + Description: `Disable the application-managed slow operation threshold for your project`, + }}, + }}, + }, { + Name: []string{"log", "logs"}, + Description: `Download host logs for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"download"}, + Description: `Download a host mongodb logs`, + }}, + }, { + Name: []string{"process", "processes"}, + Description: `Manage MongoDB processes for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List MongoDB processes for your project`, + }}, + }, { + Name: []string{"privateendpoints", "private-endpoints", "privateEndpoint", "privateendpoint", "private-endpoint", "privateEndpoints"}, + Description: `Manage Atlas private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Atlas Private Endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Private Endpoints for your project`, + }, { + Name: []string{"create"}, + Description: `Create a new private endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a private endpoint from your project`, + }, { + Name: []string{"watch"}, + Description: `Watch for a private endpoint to be available`, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new interface to a private endpoint`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific private endpoint interface for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a private endpoint interface from your project`, + }}, + }, { + Name: []string{"aws"}, + Description: `Manage AWS Private Endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List AWS Private Endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific AWS Private Endpoints for your project`, + }, { + Name: []string{"create"}, + Description: `Create a new AWS Private Endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific AWS Private Endpoint for your project`, + }, { + Name: []string{"watch"}, + Description: `Watch for a specific AWS Private Endpoint to be available`, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas AWS private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new interface to a AWS private endpoint`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific AWS private endpoint interface for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific AWS private endpoint interface and the related endpoint service for your project`, + }}, + }}, + }, { + Name: []string{"azure"}, + Description: `Manage Azure Private Endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List Azure Private Endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Azure Private Endpoints for your project`, + }, { + Name: []string{"create"}, + Description: `Create a new Azure Private Endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Azure Private Endpoint for your project`, + }, { + Name: []string{"watch"}, + Description: `Watch for a specific Azure Private Endpoint to be available`, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas Azure private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"add", "create"}, + Description: `Add a new Azure interface to a private endpoint`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Azure private endpoint interface for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Azure private endpoint interface and related service for your project`, + }}, + }}, + }, { + Name: []string{"gcp"}, + Description: `Manage GCP private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new GCP private endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a GCP private endpoint for your project`, + }, { + Name: []string{"ls", "list"}, + Description: `List GCP private endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific GCP private endpoint for your project`, + }, { + Name: []string{"watch"}, + Description: `Watch the specified GCP private endpoint to detect changes in the endpoint's state`, + }, { + Name: []string{"interface", "interfaces"}, + Description: `Manage Atlas GCP private endpoint interfaces`, + Subcommands: []model.Subcommand{{ + Name: []string{"get", "describe"}, + Description: `Return a specific GCP private endpoint interface for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific GCP private endpoint interface for your project`, + }, { + Name: []string{"add", "create"}, + Description: `Create a GCP private endpoint interface`, + }}, + }}, + }, { + Name: []string{"regionalmodes", "regional-modes", "regionalMode", "regionalmode", "regional-mode", "regionalModes"}, + Description: `Manage regionalized private endpoint setting for your Atlas project`, + Subcommands: []model.Subcommand{{ + Name: []string{"enable"}, + Description: `Enable the regionalized private endpoint setting for your Atlas project`, + }, { + Name: []string{"disable"}, + Description: `Disable the regionalized private endpoint setting for your Atlas project`, + }, { + Name: []string{"get", "describe"}, + Description: `Get the regionalized private endpoint setting for your Atlas project`, + }}, + }, { + Name: []string{"datalakes", "data-lakes", "dataLake", "datalake", "data-lake", "dataLakes"}, + Description: `Manage Data Lake private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new Data Lake private endpoint for your project`, + }, { + Name: []string{"ls", "list"}, + Description: `List Data Lake private endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Data Lake private endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Data Lake private endpoint for your project`, + }}, + }}, + }, { + Name: []string{"onlinearchive", "online-archive", "onlineArchive"}, + Description: `Manage Online Archive private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS private endpoints`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create a new Data Lake private endpoint for your project`, + }, { + Name: []string{"ls", "list"}, + Description: `List Data Lake private endpoints for your project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return a specific Data Lake private endpoint for your project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a specific Data Lake private endpoint for your project`, + }}, + }}, + }}, + }, { + Name: []string{"networking"}, + Description: `Networking operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"container", "containers"}, + Description: `Manage Network Peering containers`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `List network peering containers in an Atlas project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Remove one network peering container in an Atlas project`, + }}, + }, { + Name: []string{"peering"}, + Description: `Manage Network Peering connections`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve details for all network peering connections in one Atlas project`, + }, { + Name: []string{"create"}, + Description: `Create a connection with AWS, Azure and Google Cloud`, + Subcommands: []model.Subcommand{{ + Name: []string{"azure"}, + Description: `Create a connection with Azure`, + }, { + Name: []string{"aws"}, + Description: `Create a connection with AWS`, + }, { + Name: []string{"gcp"}, + Description: `Create a connection with GCP`, + }}, + }, { + Name: []string{"watch"}, + Description: `Watch for a peering connection to be available`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a peering connection from an Atlas project`, + }}, + }}, + }, { + Name: []string{"security"}, + Description: `Manage security configuration for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"customercerts", "customer-certs", "customerCert", "customercert", "customer-cert", "certs", "customerCerts"}, + Description: `Manage customer x509 certificates for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"describe"}, + Description: `Get the current customer-managed X.509 configuration details for an Atlas project`, + }, { + Name: []string{"create"}, + Description: `Saves a customer-managed X.509 configuration for an Atlas project`, + }, { + Name: []string{"disable"}, + Description: `Disables customer-managed X.509 for a project`, + }}, + }, { + Name: []string{"ldap"}, + Description: `LDAP operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"verify"}, + Description: `Request verification of an LDAP configuration`, + Subcommands: []model.Subcommand{{ + Name: []string{"status"}, + Description: `Get the status of an LDAP configuration request`, + Subcommands: []model.Subcommand{{ + Name: []string{"watch"}, + Description: `Watch for an LDAP configuration request to complete`, + }}, + }}, + }, { + Name: []string{"save"}, + Description: `Save an LDAP configuration`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete an LDAP configuration userToDNMapping from an LDAP configuration`, + }, { + Name: []string{"get"}, + Description: `Get an LDAP configuration`, + }}, + }}, + }, { + Name: []string{"integration", "integrations"}, + Description: `Third party integration operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"update", "create"}, + Description: `Create operations`, + Subcommands: []model.Subcommand{{ + Name: []string{"new_relic", "newRelic", "NEW_RELIC"}, + Description: `Create or update the New Relic integration`, + }, { + Name: []string{"ops_genie", "opsGenie", "OPS_GENIE"}, + Description: `Create or update the Ops Genie integration`, + }, { + Name: []string{"pager_duty", "pagerDuty", "PAGER_DUTY"}, + Description: `Create or update the PagerDuty integration`, + }, { + Name: []string{"datadog", "DATADOG"}, + Description: `Create or update the Datadog integration`, + }, { + Name: []string{"victor_ops", "victorOps", "VICTOR_OPS"}, + Description: `Create or update the VictorOps integrations`, + }, { + Name: []string{"flowdock", "FLOWDOCK"}, + Description: `Create or update the Flowdock integration`, + }, { + Name: []string{"webhook", "WEBHOOK"}, + Description: `Create or update the Webhook integration`, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List third party integrations`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete a third party integration`, + }, { + Name: []string{"describe"}, + Description: `Get a third party integration`, + }}, + }, { + Name: []string{"maintenancewindows", "maintenance-windows", "maintenanceWindow", "maintenancewindow", "maintenance-window", "maintenanceWindows"}, + Description: `Manage Atlas maintenance windows`, + Subcommands: []model.Subcommand{{ + Name: []string{"update"}, + Description: `Update the maintenance window`, + }, { + Name: []string{"rm", "delete", "clear"}, + Description: `Clear the maintenance window`, + }, { + Name: []string{"defer"}, + Description: `Defer the maintenance window`, + }, { + Name: []string{"get", "describe"}, + Description: `Get a maintenance window`, + }}, + }, { + Name: []string{"customdns", "custom-dns", "customDn", "customdn", "custom-dn", "customDns"}, + Description: `Manage DNS configuration of Atlas project’s clusters deployed to AWS`, + Subcommands: []model.Subcommand{{ + Name: []string{"aw", "aws"}, + Description: `Manage DNS configuration of an Atlas project’s cluster deployed to AWS`, + Subcommands: []model.Subcommand{{ + Name: []string{"enable"}, + Description: `Enable the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + }, { + Name: []string{"disable"}, + Description: `Disable the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + }, { + Name: []string{"get", "describe"}, + Description: `Describe the custom DNS configuration of an Atlas project’s cluster deployed to AWS`, + }}, + }}, + }, { + Name: []string{"cloudproviders", "cloud-providers", "cloudProvider", "cloudprovider", "cloud-provider", "cloudProviders"}, + Description: `Manage unified IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"accessroles", "access-roles", "accessRole", "accessrole", "access-role", "accessRoles"}, + Description: `Manage AWS IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"aws"}, + Description: `Manage AWS IAM role access in Atlas`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create an AWS IAM role`, + }, { + Name: []string{"authorize"}, + Description: `Authorize an AWS IAM role`, + }, { + Name: []string{"deauthorize"}, + Description: `Deauthorize an AWS IAM role`, + }}, + }, { + Name: []string{"ls", "list"}, + Description: `List AWS IAM role access in Atlas`, + }}, + }}, + }, { + Name: []string{"sl", "serverless"}, + Description: `Manage serverless instances for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Return all serverless instances in the specified project`, + }, { + Name: []string{"get", "describe"}, + Description: `Return one serverless instance in the specified project`, + }, { + Name: []string{"rm", "delete"}, + Description: `Remove a serverless instance from your project`, + }, { + Name: []string{"create"}, + Description: `Creates one serverless instance in the specified project`, + }, { + Name: []string{"watch"}, + Description: `Monitor the status of serverless instance`, + }}, + }, { + Name: []string{"livemigrations", "live-migrations", "liveMigration", "livemigration", "live-migration", "lm", "liveMigrations"}, + Description: `Manage a Live Migration to Atlas for your organization`, + Subcommands: []model.Subcommand{{ + Name: []string{"link"}, + Description: `Manage the link-token for your organization`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create one new link-token`, + }, { + Name: []string{"rm", "delete"}, + Description: `Delete one link-token`, + }}, + }, { + Name: []string{"validation"}, + Description: `Manage a Live Migration validation job for your project`, + Subcommands: []model.Subcommand{{ + Name: []string{"create"}, + Description: `Create one new validation request`, + }, { + Name: []string{"get", "describe"}, + Description: `Return one validation job`, + }}, + }, { + Name: []string{"create"}, + Description: `Create one new migration`, + }, { + Name: []string{"get", "describe"}, + Description: `Return one migration job`, + }, { + Name: []string{"cutover"}, + Description: `Start the cutover and confirm when the cutover completes. When the cutover completes, the application completes the live migration process and stops synchronizing with the source cluster`, + }}, + }, { + Name: []string{"accesslogs", "access-logs", "accessLog", "accesslog", "access-log", "accessLogs"}, + Description: `Manage the access logs of a cluster`, + Subcommands: []model.Subcommand{{ + Name: []string{"ls", "list"}, + Description: `Retrieve the access logs of a cluster identified by the cluster's name or hostname`, + }}, + }, { + Name: []string{"login"}, + Description: `Authenticate with MongoDB Atlas`, + }, { + Name: []string{"logout"}, + Description: `Log out of the CLI`, + }, { + Name: []string{"whoami"}, + Description: `Verifies and displays information about your authentication state`, + }, { + Name: []string{"completion"}, + Description: `Generate the autocompletion script for the specified shell`, + Subcommands: []model.Subcommand{{ + Name: []string{"bash"}, + Description: `Generate the autocompletion script for bash`, + }, { + Name: []string{"zsh"}, + Description: `Generate the autocompletion script for zsh`, + }, { + Name: []string{"fish"}, + Description: `Generate the autocompletion script for fish`, + }, { + Name: []string{"powershell"}, + Description: `Generate the autocompletion script for powershell`, + }}, + }}, + }}, + } +} diff --git a/autocomplete/specs/authchanger.go b/autocomplete/specs/authchanger.go new file mode 100644 index 0000000..c490423 --- /dev/null +++ b/autocomplete/specs/authchanger.go @@ -0,0 +1,66 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["authchanger"] = model.Subcommand{ + Name: []string{"authchanger"}, + Description: `Authchanger is a utility included with Jamf Connect to help you manage the authorization database used by macOS to determine how the login process progresses`, + Options: []model.Option{{ + Name: []string{"-help", "-h"}, + Description: `Show help for authchanger`, + }, { + Name: []string{"-version"}, + Description: `Prints the version number`, + }, { + Name: []string{"-print"}, + Description: `Prints the current list of authorization mechanisms`, + }, { + Name: []string{"-debug"}, + Description: `Does a dry run of the changes and prints out what would have happened`, + }, { + Name: []string{"-reset"}, + Description: `Resets the login screen to the factory settings`, + }, { + Name: []string{"-demobilize"}, + Description: `Sets up Jamf Connect Login to only demobilze accounts`, + }, { + Name: []string{"-notify"}, + Description: `Adds the DEP Notify addition to the corresponding -AD, or -Setup argument`, + }, { + Name: []string{"-setup"}, + Description: `Adds the DEP Notify addition to the corresponding -AD, or -Setup argument`, + }, { + Name: []string{"-jamfconnect"}, + Description: `Enables Jamf Connect 2.0 login mechanisms`, + }, { + Name: []string{"-verbose"}, + Description: `Enables verbose logging`, + }, { + Name: []string{"-prelogin"}, + Description: `Mechs to be used before the actual UI is shown`, + }, { + Name: []string{"-preauth"}, + Description: `Mechs to be used between the login UI and actual authentication`, + }, { + Name: []string{"-postauth"}, + Description: `Mechs to be used after system authentication`, + }, { + Name: []string{"-customrule"}, + Description: `Allows the printout of any authorizationDB rule as well as setting of that rule to any custom mechanism(s)`, + }, { + Name: []string{"-sysprefs"}, + Description: `Enables Azure authentication for the Network Preference Pane`, + }, { + Name: []string{"-sysprefsreset"}, + Description: `Removes Azure authentication for the Network Preference Pane`, + }, { + Name: []string{"-defaultjcright"}, + Description: `Adds the mechanism to be used with the sudosaml binary`, + }}, + } +} diff --git a/autocomplete/specs/autojump.go b/autocomplete/specs/autojump.go new file mode 100644 index 0000000..cc9ef06 --- /dev/null +++ b/autocomplete/specs/autojump.go @@ -0,0 +1,51 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["autojump"] = model.Subcommand{ + Name: []string{"autojump"}, + Description: `A faster way to navigate your filesystem`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Show the help message and exit`, + }, { + Name: []string{"-a", "--add"}, + Description: `Add path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-i", "--increase"}, + Description: `Increase current directory weight`, + Args: []model.Arg{{ + Name: "weight", + IsOptional: true, + }}, + }, { + Name: []string{"-d", "--decrease"}, + Description: `Decrease current directory weight`, + Args: []model.Arg{{ + Name: "weight", + IsOptional: true, + }}, + }, { + Name: []string{"--complete"}, + Description: `Used for tab completion`, + }, { + Name: []string{"--purge"}, + Description: `Remove non-existent paths from database`, + }, { + Name: []string{"-s", "--stat"}, + Description: `Show database entries and their key weights`, + }, { + Name: []string{"-v", "--version"}, + Description: `Show version information`, + }}, + } +} diff --git a/autocomplete/specs/aws-vault.go b/autocomplete/specs/aws-vault.go new file mode 100644 index 0000000..919f715 --- /dev/null +++ b/autocomplete/specs/aws-vault.go @@ -0,0 +1,127 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["aws-vault"] = model.Subcommand{ + Name: []string{"aws-vault"}, + Description: `A vault for securely storing and accessing AWS credentials in development environments`, + Options: []model.Option{{ + Name: []string{"--help"}, + Description: `Show context-sensitive help (also try --help-long and --help-man)`, + }, { + Name: []string{"--version"}, + Description: `Show application version`, + }, { + Name: []string{"--debug"}, + Description: `Show debugging output`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add"}, + Description: `Add credentials to the secure keystore`, + Args: []model.Arg{{ + Name: "profile", + Description: `The profile you want to add`, + }}, + }, { + Name: []string{"remove"}, + Description: `Remove credentials from the secure keystore`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"-f", "--force"}, + Description: `Force-remove the profile without a prompt`, + }}, + }, { + Name: []string{"list"}, + Description: `List profiles, along with their credentials and sessions`, + Options: []model.Option{{ + Name: []string{"--profiles"}, + Description: `Show only the profile names`, + }, { + Name: []string{"--sessions"}, + Description: `Show only the session names`, + }, { + Name: []string{"--credentials"}, + Description: `Show only the profiles with stored credential`, + }}, + }, { + Name: []string{"rotate"}, + Description: `Rotate credentials`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"-n", "--no-session"}, + Description: `Use master credentials, no session or role used`, + }}, + }, { + Name: []string{"exec"}, + Description: `Execute a command with AWS credentials`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }, { + Name: "command", + IsCommand: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--duration"}, + Description: `Duration of the temporary or assume-role session. Defaults to 1h`, + Args: []model.Arg{{ + Name: "DURATION", + }}, + }, { + Name: []string{"-n", "--no-session"}, + Description: `Use master credentials, no session or role used`, + }, { + Name: []string{"--region"}, + Description: `The AWS region`, + Args: []model.Arg{{ + Name: "REGION", + }}, + }, { + Name: []string{"-t", "--mfa-token"}, + Description: `The MFA token to use`, + Args: []model.Arg{{ + Name: "MFA-TOKEN", + }}, + }}, + }, { + Name: []string{"export"}, + Description: `Export AWS credentials`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"clear"}, + Description: `Clear temporary credentials from the secure keystore`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"login"}, + Description: `Generate a login link for the AWS Console`, + Args: []model.Arg{{ + Name: "profile", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"help"}, + Description: `Show help about the command`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateHelp}, + Name: "command", + }}, + }}, + } +} diff --git a/autocomplete/specs/aws.go b/autocomplete/specs/aws.go new file mode 100644 index 0000000..673d993 --- /dev/null +++ b/autocomplete/specs/aws.go @@ -0,0 +1,1011 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["aws"] = model.Subcommand{ + Name: []string{"aws"}, + Options: []model.Option{{ + Name: []string{"--profile"}, + Description: `Use a specific profile from your credential file`, + Args: []model.Arg{{ + FilterStrategy: model.FilterStrategyFuzzy, + Generator: nil, // TODO: port over generator + }}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"accessanalyzer"}, + Description: `AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. You can also use Access Analyzer to preview and validate public and cross-account access to your resources before deploying permissions changes. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see AWS IAM Access Analyzer in the IAM User Guide. To start using Access Analyzer, you first need to create an analyzer`, + }, { + Name: []string{"acm"}, + Description: `AWS Certificate Manager You can use AWS Certificate Manager (ACM) to manage SSL/TLS certificates for your AWS-based websites and applications. For more information about using ACM, see the AWS Certificate Manager User Guide`, + }, { + Name: []string{"acm-pca"}, + Description: `This is the ACM Private CA API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types involved in creating and managing private certificate authorities (CA) for your organization. The documentation for each action shows the Query API request parameters and the XML response. Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs. Each ACM Private CA API action has a quota that determines the number of times the action can be called per second. For more information, see API Rate Quotas in ACM Private CA in the ACM Private CA user guide`, + }, { + Name: []string{"alexaforbusiness"}, + Description: `Alexa for Business helps you use Alexa in your organization. Alexa for Business provides you with the tools to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations. You can also make these available as private skills for your organization. Alexa for Business makes it efficient to voice-enable your products and services, thus providing context-aware voice experiences for your customers. Device makers building with the Alexa Voice Service (AVS) can create fully integrated solutions, register their products with Alexa for Business, and manage them as shared devices in their organization`, + }, { + Name: []string{"amp"}, + Description: `Amazon Managed Service for Prometheus`, + }, { + Name: []string{"amplify"}, + Description: `Amplify enables developers to develop and deploy cloud-powered mobile and web apps. The Amplify Console provides a continuous delivery and hosting service for web applications. For more information, see the Amplify Console User Guide. The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. For more information, see the Amplify Framework`, + }, { + Name: []string{"amplifybackend"}, + Description: `AWS Amplify Admin API`, + }, { + Name: []string{"apigateway"}, + Description: `Amazon API Gateway Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS`, + }, { + Name: []string{"apigatewaymanagementapi"}, + Description: `The Amazon API Gateway Management API allows you to directly manage runtime aspects of your deployed APIs. To use it, you must explicitly set the SDK's endpoint to point to the endpoint of your deployed API. The endpoint will be of the form https://{api-id}.execute-api.{region}.amazonaws.com/{stage}, or will be the endpoint corresponding to your API's custom domain and base path, if applicable`, + }, { + Name: []string{"apigatewayv2"}, + Description: `Amazon API Gateway V2`, + }, { + Name: []string{"appconfig"}, + Description: `AWS AppConfig Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, and quickly deploy application configurations. AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices. To prevent errors when deploying application configurations, especially for production systems where a simple typo could cause an unexpected outage, AppConfig includes validators. A validator provides a syntactic or semantic check to ensure that the configuration you want to deploy works as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid. During a configuration deployment, AppConfig monitors the application to ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can configure a deployment strategy for each application or environment that includes deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back to the previous version. AppConfig supports multiple use cases. Here are some examples. Application tuning: Use AppConfig to carefully introduce changes to your application that can only be tested with production traffic. Feature toggle: Use AppConfig to turn on new features that require a timely deployment, such as a product launch or announcement. Allow list: Use AppConfig to allow premium subscribers to access paid content. Operational issues: Use AppConfig to reduce stress on your application when a dependency or other external factor impacts the system. This reference is intended to be used with the AWS AppConfig User Guide`, + }, { + Name: []string{"appflow"}, + Description: `Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors. Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift. Use the following links to get started on the Amazon AppFlow API: Actions: An alphabetical list of all Amazon AppFlow API operations. Data types: An alphabetical list of all Amazon AppFlow data types. Common parameters: Parameters that all Query operations can use. Common errors: Client and server errors that all operations can return. If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide. Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the Authorize Apps with OAuth documentation`, + }, { + Name: []string{"appintegrations"}, + Description: `The Amazon AppIntegrations APIs are in preview release and are subject to change. The Amazon AppIntegrations service enables you to configure and reuse connections to external applications. For information about how you can use external applications with Amazon Connect, see Set up pre-built integrations in the Amazon Connect Administrator Guide`, + }, { + Name: []string{"application-autoscaling"}, + Description: `With Application Auto Scaling, you can configure automatic scaling for the following resources: Amazon ECS services Amazon EC2 Spot Fleet requests Amazon EMR clusters Amazon AppStream 2.0 fleets Amazon DynamoDB tables and global secondary indexes throughput capacity Amazon Aurora Replicas Amazon SageMaker endpoint variants Custom resources provided by your own applications or services Amazon Comprehend document classification and entity recognizer endpoints AWS Lambda function provisioned concurrency Amazon Keyspaces (for Apache Cassandra) tables Amazon Managed Streaming for Apache Kafka broker storage API Summary The Application Auto Scaling service API includes three key sets of actions: Register and manage scalable targets - Register AWS or custom resources as scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and retrieve information on existing scalable targets. Configure and manage automatic scaling - Define scaling policies to dynamically scale your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, and retrieve your recent scaling activity history. Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can suspend and resume (individually or in combination) scale-out activities that are triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, and scheduled scaling. To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide`, + }, { + Name: []string{"application-insights"}, + Description: `Amazon CloudWatch Application Insights Amazon CloudWatch Application Insights is a service that helps you detect common problems with your applications. It enables you to pinpoint the source of issues in your applications (built with technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into detected problems. After you onboard your application, CloudWatch Application Insights identifies, recommends, and sets up metrics and logs. It continuously analyzes and correlates your metrics and logs for unusual behavior to surface actionable problems with your application. For example, if your application is slow and unresponsive and leading to HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you that a memory pressure problem with your SQL Server database is occurring. It bases this analysis on impactful metrics and log errors`, + }, { + Name: []string{"appmesh"}, + Description: `AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and control microservices. App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high availability for your applications. App Mesh gives you consistent visibility and network traffic controls for every microservice in an application. You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS, Kubernetes on AWS, and Amazon EC2. App Mesh supports microservice applications that use service discovery naming for their components. For more information about service discovery on Amazon ECS, see Service Discovery in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns and coredns are supported. For more information, see DNS for Services and Pods in the Kubernetes documentation`, + }, { + Name: []string{"appstream"}, + Description: `Amazon AppStream 2.0 This is the Amazon AppStream 2.0 API Reference. This documentation provides descriptions and syntax for each of the actions and data types in AppStream 2.0. AppStream 2.0 is a fully managed, secure application streaming service that lets you stream desktop applications to users without rewriting applications. AppStream 2.0 manages the AWS resources that are required to host and run your applications, scales automatically, and provides access to your users on demand. You can call the AppStream 2.0 API operations by using an interface VPC endpoint (interface endpoint). For more information, see Access AppStream 2.0 API Operations and CLI Commands Through an Interface VPC Endpoint in the Amazon AppStream 2.0 Administration Guide. To learn more about AppStream 2.0, see the following resources: Amazon AppStream 2.0 product page Amazon AppStream 2.0 documentation`, + }, { + Name: []string{"appsync"}, + Description: `AWS AppSync provides API actions for creating and interacting with data sources using GraphQL from your application`, + }, { + Name: []string{"athena"}, + Description: `Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide. If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see Accessing Amazon Athena with JDBC. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide`, + }, { + Name: []string{"auditmanager"}, + Description: `Welcome to the AWS Audit Manager API reference. This guide is for developers who need detailed information about the AWS Audit Manager API operations, data types, and errors. AWS Audit Manager is a service that provides automated evidence collection so that you can continuously audit your AWS usage, and assess the effectiveness of your controls to better manage risk and simplify compliance. AWS Audit Manager provides pre-built frameworks that structure and automate assessments for a given compliance standard. Frameworks include a pre-built collection of controls with descriptions and testing procedures, which are grouped according to the requirements of the specified compliance standard or regulation. You can also customize frameworks and controls to support internal audits with unique requirements. Use the following links to get started with the AWS Audit Manager API: Actions: An alphabetical list of all AWS Audit Manager API operations. Data types: An alphabetical list of all AWS Audit Manager data types. Common parameters: Parameters that all Query operations can use. Common errors: Client and server errors that all operations can return. If you're new to AWS Audit Manager, we recommend that you review the AWS Audit Manager User Guide`, + }, { + Name: []string{"autoscaling"}, + Description: `Amazon EC2 Auto Scaling Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks. Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing. For more information, including information about granting IAM users required permissions for Amazon EC2 Auto Scaling actions, see the Amazon EC2 Auto Scaling User Guide`, + }, { + Name: []string{"autoscaling-plans"}, + Description: `AWS Auto Scaling Use AWS Auto Scaling to create scaling plans for your applications to automatically scale your scalable AWS resources. API Summary You can use the AWS Auto Scaling service API to accomplish the following tasks: Create and manage scaling plans Define target tracking scaling policies to dynamically scale your resources based on utilization Scale Amazon EC2 Auto Scaling groups using predictive scaling and dynamic scaling to scale your Amazon EC2 capacity faster Set minimum and maximum capacity limits Retrieve information on existing scaling plans Access current forecast data and historical forecast data for up to 56 days previous To learn more about AWS Auto Scaling, including information about granting IAM users required permissions for AWS Auto Scaling actions, see the AWS Auto Scaling User Guide`, + }, { + Name: []string{"backup"}, + Description: `AWS Backup AWS Backup is a unified backup service designed to protect AWS services and their associated data. AWS Backup simplifies the creation, migration, restoration, and deletion of backups, while also providing reporting and auditing`, + }, { + Name: []string{"batch"}, + Description: `Using AWS Batch, you can run batch computing workloads on the AWS Cloud. Batch computing is a common means for developers, scientists, and engineers to access large amounts of compute resources. AWS Batch uses the advantages of this computing workload to remove the undifferentiated heavy lifting of configuring and managing required infrastructure. At the same time, it also adopts a familiar batch computing software approach. Given these advantages, AWS Batch can help you to efficiently provision resources in response to jobs submitted, thus effectively helping you to eliminate capacity constraints, reduce compute costs, and deliver your results more quickly. As a fully managed service, AWS Batch can run batch computing workloads of any scale. AWS Batch automatically provisions compute resources and optimizes workload distribution based on the quantity and scale of your specific workloads. With AWS Batch, there's no need to install or manage batch computing software. This means that you can focus your time and energy on analyzing results and solving your specific problems`, + }, { + Name: []string{"braket"}, + Description: `The Amazon Braket API Reference provides information about the operations and structures supported in Amazon Braket`, + }, { + Name: []string{"budgets"}, + Description: `The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets. Budgets provide you with a way to see the following information: How close your plan is to your budgeted amount or to the free tier limits Your usage-to-date, including how much you've used of your Reserved Instances (RIs) Your current estimated charges from AWS, and how much your predicted usage will accrue in charges by the end of the month How much of your budget has been used AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets: Cost budgets - Plan how much you want to spend on a service. Usage budgets - Plan how much you want to use one or more services. RI utilization budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized. RI coverage budgets - Define a coverage threshold, and receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation. Service Endpoint The AWS Budgets API provides the following endpoint: https://budgets.amazonaws.com For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing`, + }, { + Name: []string{"ce"}, + Description: `The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment. Service Endpoint The Cost Explorer API provides the following endpoint: https://ce.us-east-1.amazonaws.com For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing`, + }, { + Name: []string{"chime"}, + Description: `The Amazon Chime API (application programming interface) is designed for developers to perform key tasks, such as creating and managing Amazon Chime accounts, users, and Voice Connectors. This guide provides detailed information about the Amazon Chime API, including operations, types, inputs and outputs, and error codes. It also includes some server-side API actions to use with the Amazon Chime SDK. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide. You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes links to information about using it with a language-specific AWS SDK or the AWS CLI. Using an AWS SDK You don't need to write code to calculate a signature for request authentication. The SDK clients authenticate your requests by using access keys that you provide. For more information about AWS SDKs, see the AWS Developer Center. Using the AWS CLI Use your access keys with the AWS CLI to make API calls. For information about setting up the AWS CLI, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide. For a list of available Amazon Chime commands, see the Amazon Chime commands in the AWS CLI Command Reference. Using REST APIs If you use REST to make API calls, you must authenticate your request by providing a signature. Amazon Chime supports signature version 4. For more information, see Signature Version 4 Signing Process in the Amazon Web Services General Reference. When making REST API calls, use the service name chime and REST endpoint https://service.chime.aws.amazon.com. Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Identity and Access Management for Amazon Chime in the Amazon Chime Administration Guide`, + }, { + Name: []string{"cloud9"}, + Description: `AWS Cloud9 AWS Cloud9 is a collection of tools that you can use to code, build, run, test, debug, and release software in the cloud. For more information about AWS Cloud9, see the AWS Cloud9 User Guide. AWS Cloud9 supports these operations: CreateEnvironmentEC2: Creates an AWS Cloud9 development environment, launches an Amazon EC2 instance, and then connects from the instance to the environment. CreateEnvironmentMembership: Adds an environment member to an environment. DeleteEnvironment: Deletes an environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance. DeleteEnvironmentMembership: Deletes an environment member from an environment. DescribeEnvironmentMemberships: Gets information about environment members for an environment. DescribeEnvironments: Gets information about environments. DescribeEnvironmentStatus: Gets status information for an environment. ListEnvironments: Gets a list of environment identifiers. ListTagsForResource: Gets the tags for an environment. TagResource: Adds tags to an environment. UntagResource: Removes tags from an environment. UpdateEnvironment: Changes the settings of an existing environment. UpdateEnvironmentMembership: Changes the settings of an existing environment member for an environment`, + }, { + Name: []string{"clouddirectory"}, + Description: `Amazon Cloud Directory Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about Cloud Directory features, see AWS Directory Service and the Amazon Cloud Directory Developer Guide`, + }, { + Name: []string{"cloudformation"}, + Description: `AWS CloudFormation AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure. With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you. For more information about AWS CloudFormation, see the AWS CloudFormation Product Page. Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com`, + }, { + Name: []string{"cloudfront"}, + Description: `Amazon CloudFront This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide`, + }, { + Name: []string{"cloudhsm"}, + Description: `AWS CloudHSM Service This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference`, + }, { + Name: []string{"cloudhsmv2"}, + Description: `For more information about AWS CloudHSM, see AWS CloudHSM and the AWS CloudHSM User Guide`, + }, { + Name: []string{"cloudsearch"}, + Description: `Amazon CloudSearch Configuration Service You use the Amazon CloudSearch configuration service to create, configure, and manage search domains. Configuration service requests are submitted using the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action. The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints`, + }, { + Name: []string{"cloudsearchdomain"}, + Description: `You use the AmazonCloudSearch2013 API to upload documents to a search domain and search those documents. The endpoints for submitting UploadDocuments, Search, and Suggest requests are domain-specific. To get the endpoints for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. The domain endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. You submit suggest requests to the search endpoint. For more information, see the Amazon CloudSearch Developer Guide`, + }, { + Name: []string{"cloudtrail"}, + Description: `AWS CloudTrail This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail. CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service. As an alternative to the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page. See the AWS CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files`, + }, { + Name: []string{"cloudwatch"}, + Description: `Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications. CloudWatch alarms send notifications or automatically change the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon EC2 instances. Then, use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money. In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health`, + }, { + Name: []string{"codeartifact"}, + Description: `AWS CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools such as npm, Apache Maven, and pip. You can use CodeArtifact to share packages with development teams and pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact repository and another repository, which effectively merges their contents from the point of view of a package manager client. AWS CodeArtifact Components Use the information in this guide to help you work with the following CodeArtifact components: Repository: A CodeArtifact repository contains a set of package versions, each of which maps to a set of assets, or files. Repositories are polyglot, so a single repository can contain packages of any supported type. Each repository exposes endpoints for fetching and publishing packages using tools like the npm CLI, the Maven CLI ( mvn ), and pip . Domain: Repositories are aggregated into a higher-level entity known as a domain. All package assets and metadata are stored in the domain, but are consumed through repositories. A given package asset, such as a Maven JAR file, is stored once per domain, no matter how many repositories it's present in. All of the assets and metadata in a domain are encrypted with the same customer master key (CMK) stored in AWS Key Management Service (AWS KMS). Each repository is a member of a single domain and can't be moved to a different domain. The domain allows organizational policy to be applied across multiple repositories, such as which accounts can access repositories in the domain, and which public repositories can be used as sources of packages. Although an organization can have multiple domains, we recommend a single production domain that contains all published artifacts so that teams can find and share packages across their organization. Package: A package is a bundle of software and the metadata required to resolve dependencies and install the software. CodeArtifact supports npm, PyPI, and Maven package formats. In CodeArtifact, a package consists of: A name (for example, webpack is the name of a popular npm package) An optional namespace (for example, @types in @types/node) A set of versions (for example, 1.0.0, 1.0.1, 1.0.2, etc.) Package-level metadata (for example, npm tags) Package version: A version of a package, such as @types/node 12.6.9. The version number format and semantics vary for different package formats. For example, npm package versions must conform to the Semantic Versioning specification. In CodeArtifact, a package version consists of the version identifier, metadata at the package version level, and a set of assets. Upstream repository: One repository is upstream of another when the package versions in it can be accessed from the repository endpoint of the downstream repository, effectively merging the contents of the two repositories from the point of view of a client. CodeArtifact allows creating an upstream relationship between two repositories. Asset: An individual file stored in CodeArtifact associated with a package version, such as an npm .tgz file or Maven POM and JAR files. CodeArtifact supports these operations: AssociateExternalConnection: Adds an existing external connection to a repository. CopyPackageVersions: Copies package versions from one repository to another repository in the same domain. CreateDomain: Creates a domain CreateRepository: Creates a CodeArtifact repository in a domain. DeleteDomain: Deletes a domain. You cannot delete a domain that contains repositories. DeleteDomainPermissionsPolicy: Deletes the resource policy that is set on a domain. DeletePackageVersions: Deletes versions of a package. After a package has been deleted, it can be republished, but its assets and metadata cannot be restored because they have been permanently removed from storage. DeleteRepository: Deletes a repository. DeleteRepositoryPermissionsPolicy: Deletes the resource policy that is set on a repository. DescribeDomain: Returns a DomainDescription object that contains information about the requested domain. DescribePackageVersion: Returns a PackageVersionDescription object that contains details about a package version. DescribeRepository: Returns a RepositoryDescription object that contains detailed information about the requested repository. DisposePackageVersions: Disposes versions of a package. A package version with the status Disposed cannot be restored because they have been permanently removed from storage. DisassociateExternalConnection: Removes an existing external connection from a repository. GetAuthorizationToken: Generates a temporary authorization token for accessing repositories in the domain. The token expires the authorization period has passed. The default authorization period is 12 hours and can be customized to any length with a maximum of 12 hours. GetDomainPermissionsPolicy: Returns the policy of a resource that is attached to the specified domain. GetPackageVersionAsset: Returns the contents of an asset that is in a package version. GetPackageVersionReadme: Gets the readme file or descriptive text for a package version. GetRepositoryEndpoint: Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format: npm pypi maven GetRepositoryPermissionsPolicy: Returns the resource policy that is set on a repository. ListDomains: Returns a list of DomainSummary objects. Each returned DomainSummary object contains information about a domain. ListPackages: Lists the packages in a repository. ListPackageVersionAssets: Lists the assets for a given package version. ListPackageVersionDependencies: Returns a list of the direct dependencies for a package version. ListPackageVersions: Returns a list of package versions for a specified package in a repository. ListRepositories: Returns a list of repositories owned by the AWS account that called this method. ListRepositoriesInDomain: Returns a list of the repositories in a domain. PutDomainPermissionsPolicy: Attaches a resource policy to a domain. PutRepositoryPermissionsPolicy: Sets the resource policy on a repository that specifies permissions to access it. UpdatePackageVersionsStatus: Updates the status of one or more versions of a package. UpdateRepository: Updates the properties of a repository`, + }, { + Name: []string{"codebuild"}, + Description: `AWS CodeBuild AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests. You pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide`, + }, { + Name: []string{"codecommit"}, + Description: `AWS CodeCommit This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API along with usage examples. You can use the AWS CodeCommit API to work with the following objects: Repositories, by calling the following: BatchGetRepositories, which returns information about one or more repositories associated with your AWS account. CreateRepository, which creates an AWS CodeCommit repository. DeleteRepository, which deletes an AWS CodeCommit repository. GetRepository, which returns information about a specified repository. ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account. UpdateRepositoryDescription, which sets or updates the description of the repository. UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository can access it until you send them the new HTTPS or SSH URL to use. Branches, by calling the following: CreateBranch, which creates a branch in a specified repository. DeleteBranch, which deletes the specified branch in a repository unless it is the default branch. GetBranch, which returns information about a specified branch. ListBranches, which lists all branches for a specified repository. UpdateDefaultBranch, which changes the default branch for a repository. Files, by calling the following: DeleteFile, which deletes the content of a specified file from a specified branch. GetBlob, which returns the base-64 encoded content of an individual Git blob object in a repository. GetFile, which returns the base-64 encoded content of a specified file. GetFolder, which returns the contents of a specified folder or directory. PutFile, which adds or modifies a single file in a specified repository and branch. Commits, by calling the following: BatchGetCommits, which returns information about one or more commits in a repository. CreateCommit, which creates a commit for changes to a repository. GetCommit, which returns information about a commit, including commit messages and author and committer information. GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference). Merges, by calling the following: BatchDescribeMergeConflicts, which returns information about conflicts in a merge between commits in a repository. CreateUnreferencedMergeCommit, which creates an unreferenced commit between two branches or commits for the purpose of comparing them and identifying any potential conflicts. DescribeMergeConflicts, which returns information about merge conflicts between the base, source, and destination versions of a file in a potential merge. GetMergeCommit, which returns information about the merge between a source and destination commit. GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request. GetMergeOptions, which returns information about the available merge options between two branches or commit specifiers. MergeBranchesByFastForward, which merges two branches using the fast-forward merge option. MergeBranchesBySquash, which merges two branches using the squash merge option. MergeBranchesByThreeWay, which merges two branches using the three-way merge option. Pull requests, by calling the following: CreatePullRequest, which creates a pull request in a specified repository. CreatePullRequestApprovalRule, which creates an approval rule for a specified pull request. DeletePullRequestApprovalRule, which deletes an approval rule for a specified pull request. DescribePullRequestEvents, which returns information about one or more pull request events. EvaluatePullRequestApprovalRules, which evaluates whether a pull request has met all the conditions specified in its associated approval rules. GetCommentsForPullRequest, which returns information about comments on a specified pull request. GetPullRequest, which returns information about a specified pull request. GetPullRequestApprovalStates, which returns information about the approval states for a specified pull request. GetPullRequestOverrideState, which returns information about whether approval rules have been set aside (overridden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request. ListPullRequests, which lists all pull requests for a repository. MergePullRequestByFastForward, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the fast-forward merge option. MergePullRequestBySquash, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the squash merge option. MergePullRequestByThreeWay. which merges the source destination branch of a pull request into the specified destination branch for that pull request using the three-way merge option. OverridePullRequestApprovalRules, which sets aside all approval rule requirements for a pull request. PostCommentForPullRequest, which posts a comment to a pull request at the specified line, file, or request. UpdatePullRequestApprovalRuleContent, which updates the structure of an approval rule for a pull request. UpdatePullRequestApprovalState, which updates the state of an approval on a pull request. UpdatePullRequestDescription, which updates the description of a pull request. UpdatePullRequestStatus, which updates the status of a pull request. UpdatePullRequestTitle, which updates the title of a pull request. Approval rule templates, by calling the following: AssociateApprovalRuleTemplateWithRepository, which associates a template with a specified repository. After the template is associated with a repository, AWS CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repository. BatchAssociateApprovalRuleTemplateWithRepositories, which associates a template with one or more specified repositories. After the template is associated with a repository, AWS CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repositories. BatchDisassociateApprovalRuleTemplateFromRepositories, which removes the association between a template and specified repositories so that approval rules based on the template are not automatically created when pull requests are created in those repositories. CreateApprovalRuleTemplate, which creates a template for approval rules that can then be associated with one or more repositories in your AWS account. DeleteApprovalRuleTemplate, which deletes the specified template. It does not remove approval rules on pull requests already created with the template. DisassociateApprovalRuleTemplateFromRepository, which removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository. GetApprovalRuleTemplate, which returns information about an approval rule template. ListApprovalRuleTemplates, which lists all approval rule templates in the AWS Region in your AWS account. ListAssociatedApprovalRuleTemplatesForRepository, which lists all approval rule templates that are associated with a specified repository. ListRepositoriesForApprovalRuleTemplate, which lists all repositories associated with the specified approval rule template. UpdateApprovalRuleTemplateDescription, which updates the description of an approval rule template. UpdateApprovalRuleTemplateName, which updates the name of an approval rule template. UpdateApprovalRuleTemplateContent, which updates the content of an approval rule template. Comments in a repository, by calling the following: DeleteCommentContent, which deletes the content of a comment on a commit in a repository. GetComment, which returns information about a comment on a commit. GetCommentReactions, which returns information about emoji reactions to comments. GetCommentsForComparedCommit, which returns information about comments on the comparison between two commit specifiers in a repository. PostCommentForComparedCommit, which creates a comment on the comparison between two commit specifiers in a repository. PostCommentReply, which creates a reply to a comment. PutCommentReaction, which creates or updates an emoji reaction to a comment. UpdateComment, which updates the content of a comment on a commit in a repository. Tags used to tag resources in AWS CodeCommit (not Git tags), by calling the following: ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit. TagResource, which adds or updates tags for a resource in AWS CodeCommit. UntagResource, which removes tags for a resource in AWS CodeCommit. Triggers, by calling the following: GetRepositoryTriggers, which returns information about triggers configured for a repository. PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers. TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target. For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide`, + }, { + Name: []string{"codeguru-reviewer"}, + Description: `This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommendations to address them in your Java and Python code. By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the Amazon CodeGuru Reviewer User Guide. To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by creating an interface VPC endpoint. For more information, see CodeGuru Reviewer and interface VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide`, + }, { + Name: []string{"codeguruprofiler"}, + Description: `This section provides documentation for the Amazon CodeGuru Profiler API operations. Amazon CodeGuru Profiler collects runtime performance data from your live applications, and provides recommendations that can help you fine-tune your application performance. Using machine learning algorithms, CodeGuru Profiler can help you find your most expensive lines of code and suggest ways you can improve efficiency and remove CPU bottlenecks. Amazon CodeGuru Profiler provides different visualizations of profiling data to help you identify what code is running on the CPU, see how much time is consumed, and suggest ways to reduce CPU utilization. Amazon CodeGuru Profiler currently supports applications written in all Java virtual machine (JVM) languages and Python. While CodeGuru Profiler supports both visualizations and recommendations for applications written in Java, it can also generate visualizations and a subset of recommendations for applications written in other JVM languages and Python. For more information, see What is Amazon CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide`, + }, { + Name: []string{"codepipeline"}, + Description: `AWS CodePipeline Overview This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline can only be configured through the API. For more information, see the AWS CodePipeline User Guide. You can use the AWS CodePipeline API to work with pipelines, stages, actions, and transitions. Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions. You can work with pipelines by calling: CreatePipeline, which creates a uniquely named pipeline. DeletePipeline, which deletes the specified pipeline. GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN). GetPipelineExecution, which returns information about a specific execution of a pipeline. GetPipelineState, which returns information about the current state of the stages and actions of a pipeline. ListActionExecutions, which returns action-level details for past executions. The details include full stage and action-level details, including individual action duration, status, any errors that occurred during the execution, and input and output artifact location details. ListPipelines, which gets a summary of all of the pipelines associated with your account. ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline. StartPipelineExecution, which runs the most recent revision of an artifact through the pipeline. StopPipelineExecution, which stops the specified pipeline execution from continuing through the pipeline. UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline. Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage results in success or failure. If a stage fails, the pipeline stops at that stage and remains stopped until either a new version of an artifact appears in the source location, or a user takes action to rerun the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, see AWS CodePipeline Pipeline Structure Reference. Pipeline stages include actions that are categorized into categories such as source or build actions performed in a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are: Source Build Test Deploy Approval Invoke Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete. You can work with transitions by calling: DisableStageTransition, which prevents artifacts from transitioning to the next stage in a pipeline. EnableStageTransition, which enables transition of artifacts between stages in a pipeline. Using the API to integrate with AWS CodePipeline For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. To integrate with AWS CodePipeline, developers need to work with the following items: Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source. You can work with jobs by calling: AcknowledgeJob, which confirms whether a job worker has received the specified job. GetJobDetails, which returns the details of a job. PollForJobs, which determines whether there are any jobs to act on. PutJobFailureResult, which provides details of a job failure. PutJobSuccessResult, which provides details of a job success. Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network. You can work with third party jobs by calling: AcknowledgeThirdPartyJob, which confirms whether a job worker has received the specified job. GetThirdPartyJobDetails, which requests the details of a job for a partner action. PollForThirdPartyJobs, which determines whether there are any jobs to act on. PutThirdPartyJobFailureResult, which provides details of a job failure. PutThirdPartyJobSuccessResult, which provides details of a job success`, + }, { + Name: []string{"codestar"}, + Description: `AWS CodeStar This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples. You can use the AWS CodeStar API to work with: Projects and their resources, by calling the following: DeleteProject, which deletes a project. DescribeProject, which lists the attributes of a project. ListProjects, which lists all projects associated with your AWS account. ListResources, which lists the resources associated with a project. ListTagsForProject, which lists the tags associated with a project. TagProject, which adds tags to a project. UntagProject, which removes tags from a project. UpdateProject, which updates the attributes of a project. Teams and team members, by calling the following: AssociateTeamMember, which adds an IAM user to the team for a project. DisassociateTeamMember, which removes an IAM user from the team for a project. ListTeamMembers, which lists all the IAM users in the team for a project, including their roles and attributes. UpdateTeamMember, which updates a team member's attributes in a project. Users, by calling the following: CreateUserProfile, which creates a user profile that contains data associated with the user across all projects. DeleteUserProfile, which deletes all user profile information across all projects. DescribeUserProfile, which describes the profile of a user. ListUserProfiles, which lists all user profiles. UpdateUserProfile, which updates the profile for a user`, + }, { + Name: []string{"codestar-connections"}, + Description: `AWS CodeStar Connections This AWS CodeStar Connections API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Connections API. You can use the connections API to work with connections and installations. Connections are configurations that you use to connect AWS resources to external code repositories. Each connection is a resource that can be given to services such as CodePipeline to connect to a third-party repository such as Bitbucket. For example, you can add the connection in CodePipeline so that it triggers your pipeline when a code change is made to your third-party code repository. Each connection is named and associated with a unique ARN that is used to reference the connection. When you create a connection, the console initiates a third-party connection handshake. Installations are the apps that are used to conduct this handshake. For example, the installation for the Bitbucket provider type is the Bitbucket app. When you create a connection, you can choose an existing installation or create one. When you want to create a connection to an installed provider type such as GitHub Enterprise Server, you create a host for your connections. You can work with connections by calling: CreateConnection, which creates a uniquely named connection that can be referenced by services such as CodePipeline. DeleteConnection, which deletes the specified connection. GetConnection, which returns information about the connection, including the connection status. ListConnections, which lists the connections associated with your account. You can work with hosts by calling: CreateHost, which creates a host that represents the infrastructure where your provider is installed. DeleteHost, which deletes the specified host. GetHost, which returns information about the host, including the setup status. ListHosts, which lists the hosts associated with your account. You can work with tags in AWS CodeStar Connections by calling the following: ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeStar Connections. TagResource, which adds or updates tags for a resource in AWS CodeStar Connections. UntagResource, which removes tags for a resource in AWS CodeStar Connections. For information about how to use AWS CodeStar Connections, see the Developer Tools User Guide`, + }, { + Name: []string{"codestar-notifications"}, + Description: `This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API to work with the following objects: Notification rules, by calling the following: CreateNotificationRule, which creates a notification rule for a resource in your account. DeleteNotificationRule, which deletes a notification rule. DescribeNotificationRule, which provides information about a notification rule. ListNotificationRules, which lists the notification rules associated with your account. UpdateNotificationRule, which changes the name, events, or targets associated with a notification rule. Subscribe, which subscribes a target to a notification rule. Unsubscribe, which removes a target from a notification rule. Targets, by calling the following: DeleteTarget, which removes a notification rule target (SNS topic) from a notification rule. ListTargets, which lists the targets associated with a notification rule. Events, by calling the following: ListEventTypes, which lists the event types you can include in a notification rule. Tags, by calling the following: ListTagsForResource, which lists the tags already associated with a notification rule in your account. TagResource, which associates a tag you provide with a notification rule in your account. UntagResource, which removes a tag from a notification rule in your account. For information about how to use AWS CodeStar Notifications, see link in the CodeStarNotifications User Guide`, + }, { + Name: []string{"cognito-identity"}, + Description: `Amazon Cognito Federated Identities Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. It uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application. Using Amazon Cognito Federated Identities, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials. For a description of the authentication flow from the Amazon Cognito Developer Guide see Authentication Flow. For more information see Amazon Cognito Federated Identities`, + }, { + Name: []string{"cognito-idp"}, + Description: `Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies. This API reference provides information about user pools in Amazon Cognito User Pools. For more information, see the Amazon Cognito Documentation`, + }, { + Name: []string{"cognito-sync"}, + Description: `Amazon Cognito Sync Amazon Cognito Sync provides an AWS service and client library that enable cross-device syncing of application-related user data. High-level client libraries are available for both iOS and Android. You can use these libraries to persist data locally so that it's available even if the device is offline. Developer credentials don't need to be stored on the mobile device to access the service. You can use Amazon Cognito to obtain a normalized user ID and credentials. User data is persisted in a dataset that can store up to 1 MB of key-value pairs, and you can have up to 20 datasets per user identity. With Amazon Cognito Sync, the data stored for each identity is accessible only to credentials assigned to that identity. In order to use the Cognito Sync service, you need to make API calls using credentials retrieved with Amazon Cognito Identity service. If you want to use Cognito Sync in an Android or iOS application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the Developer Guide for Android and the Developer Guide for iOS`, + }, { + Name: []string{"comprehend"}, + Description: `Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these actions to determine the topics contained in your documents, the topics they discuss, the predominant sentiment expressed in them, the predominant language used, and more`, + }, { + Name: []string{"comprehendmedical"}, + Description: `Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions to gain insight in your documents`, + }, { + Name: []string{"compute-optimizer"}, + Description: `AWS Compute Optimizer is a service that analyzes the configuration and utilization metrics of your AWS compute resources, such as EC2 instances, Auto Scaling groups, AWS Lambda functions, and Amazon EBS volumes. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, as well as projected utilization metric data for the recommendations, which you can use to evaluate which recommendation provides the best price-performance trade-off. The analysis of your usage patterns can help you decide when to move or resize your running resources, and still meet your performance and capacity requirements. For more information about Compute Optimizer, including the required permissions to use the service, see the AWS Compute Optimizer User Guide`, + }, { + Name: []string{"connect"}, + Description: `Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale. Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents. There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide. You can connect programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints. Working with contact flows? Check out the Amazon Connect Flow language`, + }, { + Name: []string{"connect-contact-lens"}, + Description: `Contact Lens for Amazon Connect enables you to analyze conversations between customer and agents, by using speech transcription, natural language processing, and intelligent search capabilities. It performs sentiment analysis, detects issues, and enables you to automatically categorize contacts. Contact Lens for Amazon Connect provides both real-time and post-call analytics of customer-agent conversations. For more information, see Analyze conversations using Contact Lens in the Amazon Connect Administrator Guide`, + }, { + Name: []string{"connectparticipant"}, + Description: `Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale. Amazon Connect enables customer contacts through voice or chat. The APIs described here are used by chat participants, such as agents and customers`, + }, { + Name: []string{"cur"}, + Description: `The AWS Cost and Usage Report API enables you to programmatically create, query, and delete AWS Cost and Usage report definitions. AWS Cost and Usage reports track the monthly AWS costs and usage associated with your AWS account. The report contains line items for each unique combination of AWS product, usage type, and operation that your AWS account uses. You can configure the AWS Cost and Usage report to show only the data that you want, using the AWS Cost and Usage API. Service Endpoint The AWS Cost and Usage Report API provides the following endpoint: cur.us-east-1.amazonaws.com`, + }, { + Name: []string{"customer-profiles"}, + Description: `Amazon Connect Customer Profiles Welcome to the Amazon Connect Customer Profiles API Reference. This guide provides information about the Amazon Connect Customer Profiles API, including supported operations, data types, parameters, and schemas. Amazon Connect Customer Profiles is a unified customer profile for your contact center that has pre-built connectors powered by AppFlow that make it easy to combine customer information from third party applications, such as Salesforce (CRM), ServiceNow (ITSM), and your enterprise resource planning (ERP), with contact history from your Amazon Connect contact center. If you're new to Amazon Connect , you might find it helpful to also review the Amazon Connect Administrator Guide`, + }, { + Name: []string{"databrew"}, + Description: `AWS Glue DataBrew is a visual, cloud-scale data-preparation service. DataBrew simplifies data preparation tasks, targeting data issues that are hard to spot and time-consuming to fix. DataBrew empowers users of all technical levels to visualize the data and perform one-click data transformations, with no coding required`, + }, { + Name: []string{"dataexchange"}, + Description: `AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.As a subscriber, you can view and access the data sets that you have an entitlement to through a subscription. You can use the APIS to download or copy your entitled data sets to Amazon S3 for use across a variety of AWS analytics and machine learning services.As a provider, you can create and manage your data sets that you would like to publish to a product. Being able to package and provide your data sets into products requires a few steps to determine eligibility. For more information, visit the AWS Data Exchange User Guide.A data set is a collection of data that can be changed or updated over time. Data sets can be updated using revisions, which represent a new version or incremental change to a data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data that can be stored as an Amazon S3 object. The asset can be a structured data file, an image file, or some other data file. Jobs are asynchronous import or export operations used to create or copy assets`, + }, { + Name: []string{"datapipeline"}, + Description: `AWS Data Pipeline configures and manages a data-driven workflow called a pipeline. AWS Data Pipeline handles the details of scheduling and ensuring that data dependencies are met so that your application can focus on processing the data. AWS Data Pipeline provides a JAR implementation of a task runner called AWS Data Pipeline Task Runner. AWS Data Pipeline Task Runner provides logic for common data management scenarios, such as performing database queries and running data analysis using Amazon Elastic MapReduce (Amazon EMR). You can use AWS Data Pipeline Task Runner as your task runner, or you can write your own task runner to provide custom data management. AWS Data Pipeline implements two main sets of functionality. Use the first set to create a pipeline and define data sources, schedules, dependencies, and the transforms to be performed on the data. Use the second set in your task runner application to receive the next task ready for processing. The logic for performing the task, such as querying the data, running data analysis, or converting the data from one format to another, is contained within the task runner. The task runner performs the task assigned to it by the web service, reporting progress to the web service as it does so. When the task is done, the task runner reports the final success or failure of the task to the web service`, + }, { + Name: []string{"datasync"}, + Description: `AWS DataSync AWS DataSync is a managed data transfer service that makes it simpler for you to automate moving data between on-premises storage and Amazon Simple Storage Service (Amazon S3) or Amazon Elastic File System (Amazon EFS). This API interface reference for AWS DataSync contains documentation for a programming interface that you can use to manage AWS DataSync`, + }, { + Name: []string{"dax"}, + Description: `DAX is a managed caching service engineered for Amazon DynamoDB. DAX dramatically speeds up database reads by caching frequently-accessed data from DynamoDB, so applications can access that data with sub-millisecond latency. You can create a DAX cluster easily, using the AWS Management Console. With a few simple modifications to your code, your application can begin taking advantage of the DAX cluster and realize significant improvements in read performance`, + }, { + Name: []string{"detective"}, + Description: `Detective uses machine learning and purpose-built visualizations to help you analyze and investigate security issues across your Amazon Web Services (AWS) workloads. Detective automatically extracts time-based events such as login attempts, API calls, and network traffic from AWS CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by Amazon GuardDuty. The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the extracted data from a set of member accounts, and is created and managed by an administrator account. Every behavior graph is specific to a Region. You can only use the API to manage graphs that belong to the Region that is associated with the currently selected endpoint. A Detective administrator account can use the Detective API to do the following: Enable and disable Detective. Enabling Detective creates a new behavior graph. View the list of member accounts in a behavior graph. Add member accounts to a behavior graph. Remove member accounts from a behavior graph. A member account can use the Detective API to do the following: View the list of behavior graphs that they are invited to. Accept an invitation to contribute to a behavior graph. Decline an invitation to contribute to a behavior graph. Remove their account from a behavior graph. All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail. We replaced the term "master account" with the term "administrator account." An administrator account is used to centrally manage multiple accounts. In the case of Detective, the administrator account manages the accounts in their behavior graph`, + }, { + Name: []string{"devicefarm"}, + Description: `Welcome to the AWS Device Farm API documentation, which contains APIs for: Testing on desktop browsers Device Farm makes it possible for you to test your web applications on desktop browsers using Selenium. The APIs for desktop browser testing contain TestGrid in their names. For more information, see Testing Web Applications on Selenium with Device Farm. Testing on real mobile devices Device Farm makes it possible for you to test apps on physical phones, tablets, and other devices in the cloud. For more information, see the Device Farm Developer Guide`, + }, { + Name: []string{"devops-guru"}, + Description: `Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business critical operational applications. You specify the AWS resources that you want DevOps Guru to cover, then the Amazon CloudWatch metrics and AWS CloudTrail events related to those resources are analyzed. When anomalous behavior is detected, DevOps Guru creates an insight that includes recommendations, related events, and related metrics that can help you improve your operational applications. For more information, see What is Amazon DevOps Guru. You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is created. You can also enable DevOps Guru to generate an OpsItem in AWS Systems Manager for each insight to help you manage and track your work addressing insights. To learn about the DevOps Guru workflow, see How DevOps Guru works. To learn about DevOps Guru concepts, see Concepts in DevOps Guru`, + }, { + Name: []string{"directconnect"}, + Description: `AWS Direct Connect links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. With this connection in place, you can create virtual interfaces directly to the AWS cloud (for example, to Amazon EC2 and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A connection provides access to all AWS Regions except the China (Beijing) and (China) Ningxia Regions. AWS resources in the China Regions can only be accessed through locations associated with those Regions`, + }, { + Name: []string{"discovery"}, + Description: `AWS Application Discovery Service AWS Application Discovery Service helps you plan application migration projects. It automatically identifies servers, virtual machines (VMs), and network dependencies in your on-premises data centers. For more information, see the AWS Application Discovery Service FAQ. Application Discovery Service offers three ways of performing discovery and collecting data about your on-premises servers: Agentless discovery is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. It does not work in non-VMware environments. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about network dependencies, only agent-based discovery collects that information. Agent-based discovery collects a richer set of data than agentless discovery by using the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of running processes, system performance information, resource utilization, and network dependencies. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud. AWS Partner Network (APN) solutions integrate with Application Discovery Service, enabling you to import details of your on-premises environment directly into Migration Hub without using the discovery connector or discovery agent. Third-party application discovery tools can query AWS Application Discovery Service, and they can write to the Application Discovery Service database using the public API. In this way, you can import data into Migration Hub and view it, so that you can associate applications with servers and track migrations. Recommendations We recommend that you use agent-based discovery for non-VMware environments, and whenever you want to collect information about network dependencies. You can run agent-based and agentless discovery simultaneously. Use agentless discovery to complete the initial infrastructure assessment quickly, and then install agents on select hosts to collect additional information. Working With This Guide This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs. Remember that you must set your Migration Hub home region before you call any of these APIs. You must make API calls for write actions (create, notify, associate, disassociate, import, or put) while in your home region, or a HomeRegionNotSetException error is returned. API calls for read actions (list, describe, stop, and delete) are permitted outside of your home region. Although it is unlikely, the Migration Hub home region could change. If you call APIs outside the home region, an InvalidInputException is returned. You must call GetHomeRegion to obtain the latest Migration Hub home region. This guide is intended for use with the AWS Application Discovery Service User Guide. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service offline to inspect collected data before it is shared with the service`, + }, { + Name: []string{"dlm"}, + Description: `Amazon Data Lifecycle Manager With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources. Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide`, + }, { + Name: []string{"dms"}, + Description: `AWS Database Migration Service AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL. For more information about AWS DMS, see What Is AWS Database Migration Service? in the AWS Database Migration User Guide`, + }, { + Name: []string{"docdb"}, + Description: `Amazon DocumentDB API documentation`, + }, { + Name: []string{"ds"}, + Description: `AWS Directory Service AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide. AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services`, + }, { + Name: []string{"dynamodb"}, + Description: `Amazon DynamoDB Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling. With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the AWS Management Console to monitor resource utilization and performance metrics. DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an AWS region, providing built-in high availability and data durability`, + }, { + Name: []string{"dynamodbstreams"}, + Description: `Amazon DynamoDB Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide`, + }, { + Name: []string{"ebs"}, + Description: `You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to your snapshots, read data on your snapshots, and identify the differences or changes between two snapshots. If you’re an independent software vendor (ISV) who offers backup services for Amazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on your EBS volumes through snapshots. This can be done without having to create new volumes from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences. You can create incremental snapshots directly from data on-premises into EBS volumes and the cloud to use for quick disaster recovery. With the ability to write and read snapshots, you can write your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can restore it back to AWS or on-premises from the snapshot. You no longer need to build and maintain complex mechanisms to copy data to and from Amazon EBS. This API reference provides detailed information about the actions, data types, parameters, and errors of the EBS direct APIs. For more information about the elements that make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. For more information about the supported AWS Regions, endpoints, and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in the AWS General Reference`, + }, { + Name: []string{"ec2"}, + Description: `Amazon Elastic Compute Cloud Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available and reliable storage volumes that can be attached to any running instance and used like a hard drive. To learn more, see the following resources: Amazon EC2: AmazonEC2 product page, Amazon EC2 documentation Amazon EBS: Amazon EBS product page, Amazon EBS documentation Amazon VPC: Amazon VPC product page, Amazon VPC documentation AWS VPN: AWS VPN product page, AWS VPN documentation`, + }, { + Name: []string{"ec2-instance-connect"}, + Description: `Amazon EC2 Instance Connect enables system administrators to publish one-time use SSH public keys to EC2, providing users a simple and secure way to connect to their instances`, + }, { + Name: []string{"ecr"}, + Description: `Amazon Elastic Container Registry Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR supports private repositories with resource-based permissions using IAM so that specific users or Amazon EC2 instances can access repositories and images`, + }, { + Name: []string{"ecr-public"}, + Description: `Amazon Elastic Container Registry Public Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Amazon ECR provides both public and private registries to host your container images. You can use the familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR supports public repositories with this API. For information about the Amazon ECR API for private repositories, see Amazon Elastic Container Registry API Reference`, + }, { + Name: []string{"ecs"}, + Description: `Amazon Elastic Container Service Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks on AWS Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage. Amazon ECS makes it easy to launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features. You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure`, + }, { + Name: []string{"efs"}, + Description: `Amazon Elastic File System Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide`, + }, { + Name: []string{"eks"}, + Description: `Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required`, + }, { + Name: []string{"elastic-inference"}, + Description: `Elastic Inference public APIs`, + }, { + Name: []string{"elasticache"}, + Description: `Amazon ElastiCache Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud. With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment. In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot`, + }, { + Name: []string{"elasticbeanstalk"}, + Description: `AWS Elastic Beanstalk AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud. For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services. Endpoints For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary`, + }, { + Name: []string{"elastictranscoder"}, + Description: `AWS Elastic Transcoder Service The AWS Elastic Transcoder Service`, + }, { + Name: []string{"elb"}, + Description: `Elastic Load Balancing A load balancer can distribute incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances. Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. You can select a load balancer based on your application needs. For more information, see the Elastic Load Balancing User Guide. This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers and Network Load Balancers. To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer. All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code`, + }, { + Name: []string{"elbv2"}, + Description: `Elastic Load Balancing A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets. Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, Gateway Load Balancers, and Classic Load Balancers. This reference covers the following load balancer types: Application Load Balancer - Operates at the application layer (layer 7) and supports HTTP and HTTPS. Network Load Balancer - Operates at the transport layer (layer 4) and supports TCP, TLS, and UDP. Gateway Load Balancer - Operates at the network layer (layer 3). For more information, see the Elastic Load Balancing User Guide. All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds`, + }, { + Name: []string{"emr"}, + Description: `Amazon EMR is a web service that makes it easier to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS services to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehouse management`, + }, { + Name: []string{"emr-containers"}, + Description: `Amazon EMR on EKS provides a deployment option for Amazon EMR that allows you to run open-source big data frameworks on Amazon Elastic Kubernetes Service (Amazon EKS). With this deployment option, you can focus on running analytics workloads while Amazon EMR on EKS builds, configures, and manages containers for open-source applications. For more information about Amazon EMR on EKS concepts and tasks, see What is Amazon EMR on EKS. Amazon EMR containers is the API name for Amazon EMR on EKS. The emr-containers prefix is used in the following scenarios: It is the prefix in the CLI commands for Amazon EMR on EKS. For example, aws emr-containers start-job-run. It is the prefix before IAM policy actions for Amazon EMR on EKS. For example, "Action": [ "emr-containers:StartJobRun"]. For more information, see Policy actions for Amazon EMR on EKS. It is the prefix used in Amazon EMR on EKS service endpoints. For example, emr-containers.us-east-2.amazonaws.com. For more information, see Amazon EMR on EKS Service Endpoints`, + }, { + Name: []string{"es"}, + Description: `Amazon Elasticsearch Configuration Service Use the Amazon Elasticsearch Configuration API to create, configure, and manage Elasticsearch domains. For sample code that uses the Configuration API, see the Amazon Elasticsearch Service Developer Guide. The guide also contains sample code for sending signed HTTP requests to the Elasticsearch APIs. The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints`, + }, { + Name: []string{"events"}, + Description: `Amazon EventBridge helps you to respond to state changes in your AWS resources. When your resources change state, they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a predetermined schedule. For example, you can configure rules to: Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state. Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for detailed analysis of potential security or availability risks. Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume. For more information about the features of Amazon EventBridge, see the Amazon EventBridge User Guide`, + }, { + Name: []string{"firehose"}, + Description: `Amazon Kinesis Data Firehose API Reference Amazon Kinesis Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), Amazon Redshift, and Splunk`, + }, { + Name: []string{"fis"}, + Description: `AWS Fault Injection Simulator is a managed service that enables you to perform fault injection experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide`, + }, { + Name: []string{"fms"}, + Description: `AWS Firewall Manager This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide. Some API actions require explicit resource permissions. For information, see the developer guide topic Firewall Manager required permissions for API actions`, + }, { + Name: []string{"forecast"}, + Description: `Provides APIs for creating and managing Amazon Forecast resources`, + }, { + Name: []string{"forecastquery"}, + Description: `Provides APIs for creating and managing Amazon Forecast resources`, + }, { + Name: []string{"frauddetector"}, + Description: `This is the Amazon Fraud Detector API Reference. This guide is for developers who need detailed information about Amazon Fraud Detector API actions, data types, and errors. For more information about Amazon Fraud Detector features, see the Amazon Fraud Detector User Guide`, + }, { + Name: []string{"fsx"}, + Description: `Amazon FSx is a fully managed service that makes it easy for storage and application administrators to launch and use shared file storage`, + }, { + Name: []string{"gamelift"}, + Description: `Amazon GameLift Service GameLift provides solutions for hosting session-based multiplayer game servers in the cloud, including tools for deploying, operating, and scaling game servers. Built on AWS global computing infrastructure, GameLift helps you deliver high-performance, high-reliability, low-cost game servers while dynamically scaling your resource usage to meet player demand. About GameLift solutions Get more information on these GameLift solutions in the GameLift Developer Guide. GameLift managed hosting -- GameLift offers a fully managed service to set up and maintain computing machines for hosting, manage game session and player session life cycle, and handle security, storage, and performance tracking. You can use automatic scaling tools to balance player demand and hosting costs, configure your game session management to minimize player latency, and add FlexMatch for matchmaking. Managed hosting with Realtime Servers -- With GameLift Realtime Servers, you can quickly configure and set up ready-to-go game servers for your game. Realtime Servers provides a game server framework with core GameLift infrastructure already built in. Then use the full range of GameLift managed hosting features, including FlexMatch, for your game. GameLift FleetIQ -- Use GameLift FleetIQ as a standalone service while hosting your games using EC2 instances and Auto Scaling groups. GameLift FleetIQ provides optimizations for game hosting, including boosting the viability of low-cost Spot Instances gaming. For a complete solution, pair the GameLift FleetIQ and FlexMatch standalone services. GameLift FlexMatch -- Add matchmaking to your game hosting solution. FlexMatch is a customizable matchmaking service for multiplayer games. Use FlexMatch as integrated with GameLift managed hosting or incorporate FlexMatch as a standalone service into your own hosting solution. About this API Reference This reference guide describes the low-level service API for Amazon GameLift. With each topic in this guide, you can find links to language-specific SDK guides and the AWS CLI reference. Useful links: GameLift API operations listed by tasks GameLift tools and resources`, + }, { + Name: []string{"glacier"}, + Description: `Amazon S3 Glacier (Glacier) is a storage solution for "cold data." Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Glacier, customers can store their data cost effectively for months, years, or decades. Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations. Glacier is a great storage choice when low storage cost is paramount and your data is rarely retrieved. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, see Amazon Simple Storage Service (Amazon S3). You can store any kind of data in any format. There is no maximum limit on the total amount of data you can store in Glacier. If you are a first-time user of Glacier, we recommend that you begin by reading the following sections in the Amazon S3 Glacier Developer Guide: What is Amazon S3 Glacier - This section of the Developer Guide describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service. Getting Started with Amazon S3 Glacier - The Getting Started section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives`, + }, { + Name: []string{"globalaccelerator"}, + Description: `AWS Global Accelerator This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide. AWS Global Accelerator is a service in which you create accelerators to improve the performance of your applications for local and global users. Depending on the type of accelerator you choose, you can gain additional benefits. By using a standard accelerator, you can improve availability of your internet applications that are used by a global audience. With a standard accelerator, Global Accelerator directs traffic to optimal endpoints over the AWS global network. For other scenarios, you might choose a custom routing accelerator. With a custom routing accelerator, you can use application logic to directly map one or more users to a specific endpoint among many endpoints. Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators. By default, Global Accelerator provides you with two static IP addresses that you associate with your accelerator. With a standard accelerator, instead of using the IP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator. The static IP addresses are anycast from the AWS edge network. For a standard accelerator, they distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions. For custom routing accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that are virtual private cloud (VPC) subnets. The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Tag-based policies. For standard accelerators, Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is always directed to healthy endpoints. For a list of the AWS Regions where Global Accelerator and other services are currently supported, see the AWS Region Table. AWS Global Accelerator includes the following components: Static IP addresses Global Accelerator provides you with a set of two static IP addresses that are anycast from the AWS edge network. If you bring your own IP address range to AWS (BYOIP) to use with a standard accelerator, you can instead assign IP addresses from your own pool to use with your accelerator. For more information, see Bring your own IP addresses (BYOIP) in AWS Global Accelerator. The IP addresses serve as single fixed entry points for your clients. If you already have Elastic Load Balancing load balancers, Amazon EC2 instances, or Elastic IP address resources set up for your applications, you can easily add those to a standard accelerator in Global Accelerator. This allows Global Accelerator to use static IP addresses to access the resources. The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to delete an accelerator. For more information, see Tag-based policies. Accelerator An accelerator directs traffic to endpoints over the AWS global network to improve the performance of your internet applications. Each accelerator includes one or more listeners. There are two types of accelerators: A standard accelerator directs traffic to the optimal AWS endpoint based on several factors, including the user’s location, the health of the endpoint, and the endpoint weights that you configure. This improves the availability and performance of your applications. Endpoints can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses. A custom routing accelerator directs traffic to one of possibly thousands of Amazon EC2 instances running in a single or multiple virtual private clouds (VPCs). With custom routing, listener ports are mapped to statically associate port ranges with VPC subnets, which allows Global Accelerator to determine an EC2 instance IP address at the time of connection. By default, all port mapping destinations in a VPC subnet can't receive traffic. You can choose to configure all destinations in the subnet to receive traffic, or to specify individual port mappings that can receive traffic. For more information, see Types of accelerators. DNS name Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points to the static IP addresses that Global Accelerator assigns to you or that you choose from your own IP address range. Depending on the use case, you can use your accelerator's static IP addresses or DNS name to route traffic to your accelerator, or set up DNS records to route traffic using your own custom domain name. Network zone A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone. Listener A listener processes inbound connections from clients to Global Accelerator, based on the port (or port range) and protocol (or protocols) that you configure. A listener can be configured for TCP, UDP, or both TCP and UDP protocols. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. With a standard accelerator, traffic is distributed to optimal endpoints within the endpoint groups associated with a listener. Endpoint group Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. With a standard accelerator, you can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing, for example, for new releases across different AWS Regions. Endpoint An endpoint is a resource that Global Accelerator directs traffic to. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses. An Application Load Balancer endpoint can be internet-facing or internal. Traffic for standard accelerators is routed to endpoints based on the health of the endpoint along with configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region. Endpoints for custom routing accelerators are virtual private cloud (VPC) subnets with one or many EC2 instances`, + }, { + Name: []string{"glue"}, + Description: `AWS Glue Defines the public endpoint for the AWS Glue service`, + }, { + Name: []string{"greengrass"}, + Description: `AWS IoT Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS IoT Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally`, + }, { + Name: []string{"greengrassv2"}, + Description: `AWS IoT Greengrass brings local compute, messaging, data management, sync, and ML inference capabilities to edge devices. This enables devices to collect and analyze data closer to the source of information, react autonomously to local events, and communicate securely with each other on local networks. Local devices can also communicate securely with AWS IoT Core and export IoT data to the AWS Cloud. AWS IoT Greengrass developers can use AWS Lambda functions and components to create and deploy applications to fleets of edge devices for local operation. AWS IoT Greengrass Version 2 provides a new major version of the AWS IoT Greengrass Core software, new APIs, and a new console. Use this API reference to learn how to use the AWS IoT Greengrass V2 API operations to manage components, manage deployments, and core devices. For more information, see What is AWS IoT Greengrass? in the AWS IoT Greengrass V2 Developer Guide`, + }, { + Name: []string{"groundstation"}, + Description: `Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that enables you to control satellite communications, downlink and process satellite data, and scale your satellite operations efficiently and cost-effectively without having to build or manage your own ground station infrastructure`, + }, { + Name: []string{"guardduty"}, + Description: `Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin. GuardDuty also monitors AWS account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength. GuardDuty informs you of the status of your AWS environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the Amazon GuardDuty User Guide`, + }, { + Name: []string{"health"}, + Description: `AWS Health The AWS Health API provides programmatic access to the AWS Health information that appears in the AWS Personal Health Dashboard. You can use the API operations to get information about AWS Health events that affect your AWS services and resources. You must have a Business or Enterprise support plan from AWS Support to use the AWS Health API. If you call the AWS Health API from an AWS account that doesn't have a Business or Enterprise support plan, you receive a SubscriptionRequiredException error. AWS Health has a single endpoint: health.us-east-1.amazonaws.com (HTTPS). Use this endpoint to call the AWS Health API operations. For authentication of requests, AWS Health uses the Signature Version 4 Signing Process. If your AWS account is part of AWS Organizations, you can use the AWS Health organizational view feature. This feature provides a centralized view of AWS Health events across all accounts in your organization. You can aggregate AWS Health events in real time to identify accounts in your organization that are affected by an operational event or get notified of security vulnerabilities. Use the organizational view API operations to enable this feature and return event information. For more information, see Aggregating AWS Health events in the AWS Health User Guide. When you use the AWS Health API operations to return AWS Health events, see the following recommendations: Use the eventScopeCode parameter to specify whether to return AWS Health events that are public or account-specific. Use pagination to view all events from the response. For example, if you call the DescribeEventsForOrganization operation to get all events in your organization, you might receive several page results. Specify the nextToken in the next request to return more results`, + }, { + Name: []string{"healthlake"}, + Description: `Amazon HealthLake is a HIPAA eligibile service that allows customers to store, transform, query, and analyze their FHIR-formatted data in a consistent fashion in the cloud`, + }, { + Name: []string{"help"}, + Description: `Displays aws usage information`, + }, { + Name: []string{"honeycode"}, + Description: `Amazon Honeycode is a fully managed service that allows you to quickly build mobile and web apps for teams—without programming. Build Honeycode apps for managing almost anything, like projects, customers, operations, approvals, resources, and even your team`, + }, { + Name: []string{"iam"}, + Description: `AWS Identity and Access Management AWS Identity and Access Management (IAM) is a web service for securely controlling access to AWS services. With IAM, you can centrally manage users, security credentials such as access keys, and permissions that control which AWS resources users and applications can access. For more information about IAM, see AWS Identity and Access Management (IAM) and the AWS Identity and Access Management User Guide`, + }, { + Name: []string{"identitystore"}, + Description: ``, + }, { + Name: []string{"imagebuilder"}, + Description: `EC2 Image Builder is a fully managed AWS service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date "golden" server images that are pre-installed and pre-configured with software and settings to meet specific IT standards`, + }, { + Name: []string{"importexport"}, + Description: `AWS Import/Export Service AWS Import/Export accelerates transferring large amounts of data between the AWS cloud and portable storage devices that you mail to us. AWS Import/Export transfers data directly onto and off of your storage devices using Amazon's high-speed internal network and bypassing the Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your connectivity`, + }, { + Name: []string{"inspector"}, + Description: `Amazon Inspector Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide`, + }, { + Name: []string{"iot"}, + Description: `AWS IoT AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices. The service endpoints that expose this API are listed in AWS IoT Core Endpoints and Quotas. You must use the endpoint for the region that has the resources you want to access. The service name used by AWS Signature Version 4 to sign the request is: execute-api. For more information about how AWS IoT works, see the Developer Guide. For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services`, + }, { + Name: []string{"iot-data"}, + Description: `AWS IoT AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a persistent representation of your things and their state in the AWS cloud. Find the endpoint address for actions in the AWS IoT data plane by running this CLI command: aws iot describe-endpoint --endpoint-type iot:Data-ATS The service name used by AWS Signature Version 4 to sign requests is: iotdevicegateway`, + }, { + Name: []string{"iot-jobs-data"}, + Description: `AWS IoT Jobs is a service that allows you to define a set of jobs — remote operations that are sent to and executed on one or more devices connected to AWS IoT. For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations. To create a job, you make a job document which is a description of the remote operations to be performed, and you specify a list of targets that should perform the operations. The targets can be individual things, thing groups or both. AWS IoT Jobs sends a message to inform the targets that a job is available. The target starts the execution of the job by downloading the job document, performing the operations it specifies, and reporting its progress to AWS IoT. The Jobs service provides commands to track the progress of a job on a specific target and for all the targets of the job`, + }, { + Name: []string{"iot1click-devices"}, + Description: `Describes all of the AWS IoT 1-Click device-related API operations for the service. + Also provides sample requests, responses, and errors for the supported web services + protocols`, + }, { + Name: []string{"iot1click-projects"}, + Description: `The AWS IoT 1-Click Projects API Reference`, + }, { + Name: []string{"iotanalytics"}, + Description: `AWS IoT Analytics allows you to collect large amounts of device data, process messages, and store them. You can then query the data and run sophisticated analytics on it. AWS IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight. Traditional analytics and business intelligence tools are designed to process structured data. IoT data often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result the data from these devices can have significant gaps, corrupted messages, and false readings that must be cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data from external sources. AWS IoT Analytics automates the steps required to analyze data from IoT devices. AWS IoT Analytics filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, or perform more complex analytics and machine learning inference. AWS IoT Analytics includes pre-built models for common IoT use cases so you can answer questions like which devices are about to fail or which customers are at risk of abandoning their wearable devices`, + }, { + Name: []string{"iotdeviceadvisor"}, + Description: `AWS IoT Core Device Advisor is a cloud-based, fully managed test capability for validating IoT devices during device software development. Device Advisor provides pre-built tests that you can use to validate IoT devices for reliable and secure connectivity with AWS IoT Core before deploying devices to production. By using Device Advisor, you can confirm that your devices can connect to AWS IoT Core, follow security best practices and, if applicable, receive software updates from IoT Device Management. You can also download signed qualification reports to submit to the AWS Partner Network to get your device qualified for the AWS Partner Device Catalog without the need to send your device in and wait for it to be tested`, + }, { + Name: []string{"iotevents"}, + Description: `AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. You can use AWS IoT Events API operations to create, read, update, and delete inputs and detector models, and to list their versions`, + }, { + Name: []string{"iotevents-data"}, + Description: `AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. AWS IoT Events Data API commands enable you to send inputs to detectors, list detectors, and view or update a detector's status`, + }, { + Name: []string{"iotfleethub"}, + Description: `With Fleet Hub for AWS IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets. Fleet Hub for AWS IoT Device Management is in public preview and is subject to change`, + }, { + Name: []string{"iotsecuretunneling"}, + Description: `AWS IoT Secure Tunneling AWS IoT Secure Tunnling enables you to create remote connections to devices deployed in the field. For more information about how AWS IoT Secure Tunneling works, see AWS IoT Secure Tunneling`, + }, { + Name: []string{"iotsitewise"}, + Description: `Welcome to the AWS IoT SiteWise API Reference. AWS IoT SiteWise is an AWS service that connects Industrial Internet of Things (IIoT) devices to the power of the AWS Cloud. For more information, see the AWS IoT SiteWise User Guide. For information about AWS IoT SiteWise quotas, see Quotas in the AWS IoT SiteWise User Guide`, + }, { + Name: []string{"iotthingsgraph"}, + Description: `AWS IoT Things Graph AWS IoT Things Graph provides an integrated set of tools that enable developers to connect devices and services that use different standards, such as units of measure and communication protocols. AWS IoT Things Graph makes it possible to build IoT applications with little to no code by connecting devices and services and defining how they interact at an abstract level. For more information about how AWS IoT Things Graph works, see the User Guide`, + }, { + Name: []string{"iotwireless"}, + Description: `AWS IoT Wireless API documentation`, + }, { + Name: []string{"ivs"}, + Description: `Introduction The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors. The API is an AWS regional service, currently in these regions: us-west-2, us-east-1, and eu-west-1. All API request parameters and URLs are case sensitive. For a summary of notable documentation changes in each release, see Document History. Service Endpoints The following are the Amazon IVS service endpoints (all HTTPS): Region name: US West (Oregon) Region: us-west-2 Endpoint: ivs.us-west-2.amazonaws.com Region name: US East (Virginia) Region: us-east-1 Endpoint: ivs.us-east-1.amazonaws.com Region name: EU West (Dublin) Region: eu-west-1 Endpoint: ivs.eu-west-1.amazonaws.com Allowed Header Values Accept: application/json Accept-Encoding: gzip, deflate Content-Type: application/json Resources The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS): Channel — Stores configuration data related to your live stream. You first create a channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information. Stream key — An identifier assigned by Amazon IVS when you create a channel, which is then used to authorize streaming. See the StreamKey endpoints for more information. Treat the stream key like a secret, since it allows anyone to stream to the channel. Playback key pair — Video playback may be restricted using playback-authorization tokens, which use public-key encryption. A playback key pair is the public-private pair of keys used to sign and validate the playback-authorization token. See the PlaybackKeyPair endpoints for more information. Recording configuration — Stores configuration related to recording a live stream and where to store the recorded content. Multiple channels can reference the same recording configuration. See the Recording Configuration endpoints for more information. Tagging A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags. Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags). The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resources support tagging: Channels, Stream Keys, Playback Key Pairs, and Recording Configurations. Authentication versus Authorization Note the differences between these concepts: Authentication is about verifying identity. You need to be authenticated to sign Amazon IVS API requests. Authorization is about granting permissions. You need to be authorized to view Amazon IVS private channels. (Private channels are channels that are enabled for "playback authorization.") Authentication All Amazon IVS API requests must be authenticated with a signature. The AWS Command-Line Interface (CLI) and Amazon IVS Player SDKs take care of signing the underlying API calls for you. However, if your application calls the Amazon IVS API directly, it’s your responsibility to sign the requests. You generate a signature using valid AWS credentials that have permission to perform the requested action. For example, you must sign PutMetadata requests with a signature generated from an IAM user account that has the ivs:PutMetadata permission. For more information: Authentication and generating signatures — See Authenticating Requests (AWS Signature Version 4) in the AWS General Reference. Managing Amazon IVS permissions — See Identity and Access Management on the Security page of the Amazon IVS User Guide. Channel Endpoints CreateChannel — Creates a new channel and an associated stream key to start streaming. GetChannel — Gets the channel configuration for the specified channel ARN (Amazon Resource Name). BatchGetChannel — Performs GetChannel on multiple ARNs simultaneously. ListChannels — Gets summary information about all channels in your account, in the AWS region where the API request is processed. This list can be filtered to match a specified name or recording-configuration ARN. Filters are mutually exclusive and cannot be used together. If you try to use both filters, you will get an error (409 Conflict Exception). UpdateChannel — Updates a channel's configuration. This does not affect an ongoing stream of this channel. You must stop and restart the stream for the changes to take effect. DeleteChannel — Deletes the specified channel. StreamKey Endpoints CreateStreamKey — Creates a stream key, used to initiate a stream, for the specified channel ARN. GetStreamKey — Gets stream key information for the specified ARN. BatchGetStreamKey — Performs GetStreamKey on multiple ARNs simultaneously. ListStreamKeys — Gets summary information about stream keys for the specified channel. DeleteStreamKey — Deletes the stream key for the specified ARN, so it can no longer be used to stream. Stream Endpoints GetStream — Gets information about the active (live) stream on a specified channel. ListStreams — Gets summary information about live streams in your account, in the AWS region where the API request is processed. StopStream — Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel. PutMetadata — Inserts metadata into the active stream of the specified channel. A maximum of 5 requests per second per channel is allowed, each with a maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching your data into a single PutMetadata call.) PlaybackKeyPair Endpoints For more information, see Setting Up Private Channels in the Amazon IVS User Guide. ImportPlaybackKeyPair — Imports the public portion of a new key pair and returns its arn and fingerprint. The privateKey can then be used to generate viewer authorization tokens, to grant viewers access to private channels (channels enabled for playback authorization). GetPlaybackKeyPair — Gets a specified playback authorization key pair and returns the arn and fingerprint. The privateKey held by the caller can be used to generate viewer authorization tokens, to grant viewers access to private channels. ListPlaybackKeyPairs — Gets summary information about playback key pairs. DeletePlaybackKeyPair — Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’s privateKey. RecordingConfiguration Endpoints CreateRecordingConfiguration — Creates a new recording configuration, used to enable recording to Amazon S3. GetRecordingConfiguration — Gets the recording-configuration metadata for the specified ARN. ListRecordingConfigurations — Gets summary information about all recording configurations in your account, in the AWS region where the API request is processed. DeleteRecordingConfiguration — Deletes the recording configuration for the specified ARN. AWS Tags Endpoints TagResource — Adds or updates tags for the AWS resource with the specified ARN. UntagResource — Removes tags from the resource with the specified ARN. ListTagsForResource — Gets information about AWS tags for the specified ARN`, + }, { + Name: []string{"kafka"}, + Description: `The operations for managing an Amazon MSK cluster`, + }, { + Name: []string{"kendra"}, + Description: `Amazon Kendra is a service for indexing large document sets`, + }, { + Name: []string{"kinesis"}, + Description: `Amazon Kinesis Data Streams Service API Reference Amazon Kinesis Data Streams is a managed service that scales elastically for real-time processing of streaming big data`, + }, { + Name: []string{"kinesis-video-archived-media"}, + Description: ``, + }, { + Name: []string{"kinesis-video-media"}, + Description: ``, + }, { + Name: []string{"kinesis-video-signaling"}, + Description: `Kinesis Video Streams Signaling Service is a intermediate service that establishes a communication channel for discovering peers, transmitting offers and answers in order to establish peer-to-peer connection in webRTC technology`, + }, { + Name: []string{"kinesisanalytics"}, + Description: `Amazon Kinesis Analytics Overview This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation. This is the Amazon Kinesis Analytics v1 API Reference. The Amazon Kinesis Analytics Developer Guide provides additional information`, + }, { + Name: []string{"kinesisanalyticsv2"}, + Description: `Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using Java, SQL, or Scala. The service enables you to quickly author and run Java, SQL, or Scala code against streaming sources to perform time series analytics, feed real-time dashboards, and create real-time metrics`, + }, { + Name: []string{"kinesisvideo"}, + Description: ``, + }, { + Name: []string{"kms"}, + Description: `AWS Key Management Service AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide . AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services. We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS. Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes. Signing Requests Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user. You can also use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests. All AWS KMS operations require Signature Version 4. Logging API Requests AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide. Additional Resources For more information about credentials and request signing, see the following: AWS Security Credentials - This topic provides general information about the types of credentials used for accessing AWS. Temporary Security Credentials - This section of the IAM User Guide describes how to create and use temporary security credentials. Signature Version 4 Signing Process - This set of topics walks you through the process of signing a request using an access key ID and a secret access key. Commonly Used API Operations Of the API operations discussed in this guide, the following will prove the most useful for most applications. You will likely perform operations other than these, such as creating keys and assigning policies, by using the console. Encrypt Decrypt GenerateDataKey GenerateDataKeyWithoutPlaintext`, + }, { + Name: []string{"lakeformation"}, + Description: `AWS Lake Formation Defines the public endpoint for the AWS Lake Formation service`, + }, { + Name: []string{"lambda"}, + Description: `AWS Lambda Overview This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, see What is AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide`, + }, { + Name: []string{"lex-models"}, + Description: `Amazon Lex Build-Time Actions Amazon Lex is an AWS service for building conversational voice and text interfaces. Use these actions to create, update, and delete conversational bots for new and existing client applications`, + }, { + Name: []string{"lex-runtime"}, + Description: `Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says "I want pizza", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API,`, + }, { + Name: []string{"lexv2-models"}, + Description: ``, + }, { + Name: []string{"lexv2-runtime"}, + Description: ``, + }, { + Name: []string{"license-manager"}, + Description: `AWS License Manager AWS License Manager makes it easier to manage licenses from software vendors across multiple AWS accounts and on-premises servers`, + }, { + Name: []string{"lightsail"}, + Description: `Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for developers who need to build websites or web applications. It includes everything you need to launch your project quickly - instances (virtual private servers), container services, managed databases, SSD-based block storage, static IP addresses, load balancers, content delivery network (CDN) distributions, DNS management of registered domains, and resource snapshots (backups) - for a low, predictable monthly price. You can manage your Lightsail resources using the Lightsail console, Lightsail API, AWS Command Line Interface (AWS CLI), or SDKs. For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide. This API Reference provides detailed information about the actions, data types, parameters, and errors of the Lightsail service. For more information about the supported AWS Regions, endpoints, and service quotas of the Lightsail service, see Amazon Lightsail Endpoints and Quotas in the AWS General Reference`, + }, { + Name: []string{"location"}, + Description: `Suite of geospatial services including Maps, Places, Tracking, and Geofencing`, + }, { + Name: []string{"logs"}, + Description: `You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK. You can use CloudWatch Logs to: Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException") or count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify. Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting. Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it`, + }, { + Name: []string{"lookoutequipment"}, + Description: `Amazon Lookout for Equipment is a machine learning service that uses advanced analytics to identify anomalies in machines from sensor data for use in predictive maintenance`, + }, { + Name: []string{"lookoutmetrics"}, + Description: `This is the Amazon Lookout for Metrics API Reference. For an introduction to the service with tutorials for getting started, visit Amazon Lookout for Metrics Developer Guide`, + }, { + Name: []string{"lookoutvision"}, + Description: `This is the Amazon Lookout for Vision API Reference. It provides descriptions of actions, data types, common parameters, and common errors. Amazon Lookout for Vision enables you to find visual defects in industrial products, accurately and at scale. It uses computer vision to identify missing components in an industrial product, damage to vehicles or structures, irregularities in production lines, and even minuscule defects in silicon wafers — or any other physical item where quality is important such as a missing capacitor on printed circuit boards`, + }, { + Name: []string{"machinelearning"}, + Description: `Definition of the public APIs exposed by Amazon Machine Learning`, + }, { + Name: []string{"macie"}, + Description: `Amazon Macie Classic Amazon Macie Classic is a security service that uses machine learning to automatically discover, classify, and protect sensitive data in AWS. Macie Classic recognizes sensitive data such as personally identifiable information (PII) or intellectual property, and provides you with dashboards and alerts that give visibility into how this data is being accessed or moved. For more information, see the Amazon Macie Classic User Guide`, + }, { + Name: []string{"macie2"}, + Description: `Amazon Macie is a fully managed data security and data privacy service that uses machine learning and pattern matching to discover and protect your sensitive data in AWS. Macie automates the discovery of sensitive data, such as PII and intellectual property, to provide you with insight into the data that your organization stores in AWS. Macie also provides an inventory of your Amazon S3 buckets, which it continually monitors for you. If Macie detects sensitive data or potential data access issues, it generates detailed findings for you to review and act upon as necessary`, + }, { + Name: []string{"managedblockchain"}, + Description: `Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks using open-source frameworks. Blockchain allows you to build applications where multiple parties can securely and transparently run transactions and share data without the need for a trusted, central authority. Managed Blockchain supports the Hyperledger Fabric and Ethereum open-source frameworks. Because of fundamental differences between the frameworks, some API actions or data types may only apply in the context of one framework and not the other. For example, actions related to Hyperledger Fabric network members such as CreateMember and DeleteMember do not apply to Ethereum. The description for each action indicates the framework or frameworks to which it applies. Data types and properties that apply only in the context of a particular framework are similarly indicated`, + }, { + Name: []string{"marketplace-catalog"}, + Description: `Catalog API actions allow you to manage your entities through list, describe, and update capabilities. An entity can be a product or an offer on AWS Marketplace. You can automate your entity update process by integrating the AWS Marketplace Catalog API with your AWS Marketplace product build or deployment pipelines. You can also create your own applications on top of the Catalog API to manage your products on AWS Marketplace`, + }, { + Name: []string{"marketplace-entitlement"}, + Description: `AWS Marketplace Entitlement Service This reference provides descriptions of the AWS Marketplace Entitlement Service API. AWS Marketplace Entitlement Service is used to determine the entitlement of a customer to a given product. An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database. Getting Entitlement Records GetEntitlements- Gets the entitlements for a Marketplace product`, + }, { + Name: []string{"marketplacecommerceanalytics"}, + Description: `Provides AWS Marketplace business intelligence data on-demand`, + }, { + Name: []string{"mediaconnect"}, + Description: `API for AWS Elemental MediaConnect`, + }, { + Name: []string{"mediaconvert"}, + Description: `AWS Elemental MediaConvert`, + }, { + Name: []string{"medialive"}, + Description: `API for AWS Elemental MediaLive`, + }, { + Name: []string{"mediapackage"}, + Description: `AWS Elemental MediaPackage`, + }, { + Name: []string{"mediapackage-vod"}, + Description: `AWS Elemental MediaPackage VOD`, + }, { + Name: []string{"mediastore"}, + Description: `An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects`, + }, { + Name: []string{"mediastore-data"}, + Description: `An AWS Elemental MediaStore asset is an object, similar to an object in the Amazon S3 service. Objects are the fundamental entities that are stored in AWS Elemental MediaStore`, + }, { + Name: []string{"mediatailor"}, + Description: `Use the AWS Elemental MediaTailor SDKs and CLI to configure scalable ad insertion and linear channels. With MediaTailor, you can assemble existing content into a linear stream and serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide. Through the SDKs and the CLI you manage AWS Elemental MediaTailor configurations and channels the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS)`, + }, { + Name: []string{"meteringmarketplace"}, + Description: `AWS Marketplace Metering Service This reference provides descriptions of the low-level AWS Marketplace Metering Service API. AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions. For information on the permissions you need to use this API, see AWS Marketing metering and entitlement API permissions in the AWS Marketplace Seller Guide. Submitting Metering Records MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance or a container running on EKS or ECS. BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application. Accepting New Customers ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code. Entitlement and Metering for Paid Container Products Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you can do so if you want to receive usage data in your seller reports. For more information on using the RegisterUsage operation, see Container-Based Products. BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide`, + }, { + Name: []string{"mgh"}, + Description: `The AWS Migration Hub API methods help to obtain server and application migration status and integrate your resource-specific migration tool by providing a programmatic interface to Migration Hub. Remember that you must set your AWS Migration Hub home region before you call any of these APIs, or a HomeRegionNotSetException error will be returned. Also, you must make the API calls while in your home region`, + }, { + Name: []string{"mgn"}, + Description: `The Application Migration Service service`, + }, { + Name: []string{"migrationhub-config"}, + Description: `The AWS Migration Hub home region APIs are available specifically for working with your Migration Hub home region. You can use these APIs to determine a home region, as well as to create and work with controls that describe the home region. You must make API calls for write actions (create, notify, associate, disassociate, import, or put) while in your home region, or a HomeRegionNotSetException error is returned. API calls for read actions (list, describe, stop, and delete) are permitted outside of your home region. If you call a write API outside the home region, an InvalidInputException is returned. You can call GetHomeRegion action to obtain the account's Migration Hub home region. For specific API usage, see the sections that follow in this AWS Migration Hub Home Region API reference`, + }, { + Name: []string{"mobile"}, + Description: `AWS Mobile Service provides mobile app and website developers with capabilities required to configure AWS resources and bootstrap their developer desktop projects with the necessary SDKs, constants, tools and samples to make use of those resources`, + }, { + Name: []string{"mq"}, + Description: `Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols`, + }, { + Name: []string{"mturk"}, + Description: `Amazon Mechanical Turk API Reference`, + }, { + Name: []string{"mwaa"}, + Description: `Amazon Managed Workflows for Apache Airflow This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What Is Amazon MWAA?`, + }, { + Name: []string{"neptune"}, + Description: `Amazon Neptune Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. The core of Amazon Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. Amazon Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that efficiently navigate highly connected datasets. Neptune powers graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security. This interface reference for Amazon Neptune contains documentation for a programming or command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide`, + }, { + Name: []string{"network-firewall"}, + Description: `This is the API Reference for AWS Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors. The REST API requires you to handle connection details, such as calculating signatures, handling request retries, and error handling. For general information about using the AWS REST APIs, see AWS APIs. To access Network Firewall using the REST API endpoint: https://network-firewall..amazonaws.com Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs. For descriptions of Network Firewall features, including and step-by-step instructions on how to use them through the Network Firewall console, see the Network Firewall Developer Guide. Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source intrusion detection system (IDS) engine. For information about Suricata, see the Suricata website. You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples: Allow domains or IP addresses for known AWS service endpoints, such as Amazon S3, and block all other forms of traffic. Use custom lists of known bad domains to limit the types of domain names that your applications can access. Perform deep packet inspection on traffic entering or leaving your VPC. Use stateful protocol detection to filter protocols like HTTPS, regardless of the port used. To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide. To start using Network Firewall, do the following: (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints`, + }, { + Name: []string{"networkmanager"}, + Description: `Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your AWS and on-premises networks that are built around transit gateways. The Network Manager APIs are supported in the US West (Oregon) Region only. You must specify the us-west-2 Region in all requests made to Network Manager`, + }, { + Name: []string{"opsworks"}, + Description: `AWS OpsWorks Welcome to the AWS OpsWorks Stacks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes. AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page. SDKs and CLI The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see: AWS CLI AWS SDK for Java AWS SDK for .NET AWS SDK for PHP 2 AWS SDK for Ruby AWS SDK for Node.js AWS SDK for Python(Boto) Endpoints AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created. opsworks.us-east-1.amazonaws.com opsworks.us-east-2.amazonaws.com opsworks.us-west-1.amazonaws.com opsworks.us-west-2.amazonaws.com opsworks.ca-central-1.amazonaws.com (API only; not available in the AWS console) opsworks.eu-west-1.amazonaws.com opsworks.eu-west-2.amazonaws.com opsworks.eu-west-3.amazonaws.com opsworks.eu-central-1.amazonaws.com opsworks.ap-northeast-1.amazonaws.com opsworks.ap-northeast-2.amazonaws.com opsworks.ap-south-1.amazonaws.com opsworks.ap-southeast-1.amazonaws.com opsworks.ap-southeast-2.amazonaws.com opsworks.sa-east-1.amazonaws.com Chef Versions When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions. You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible`, + }, { + Name: []string{"opsworkscm"}, + Description: `AWS OpsWorks CM AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers. You can use AWS OpsWorks CM to create and manage AWS OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove nodes for the servers to manage. Glossary of terms Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted. Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include ChefAutomate and Puppet. Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts. Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted. Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account. Endpoints AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created. opsworks-cm.us-east-1.amazonaws.com opsworks-cm.us-east-2.amazonaws.com opsworks-cm.us-west-1.amazonaws.com opsworks-cm.us-west-2.amazonaws.com opsworks-cm.ap-northeast-1.amazonaws.com opsworks-cm.ap-southeast-1.amazonaws.com opsworks-cm.ap-southeast-2.amazonaws.com opsworks-cm.eu-central-1.amazonaws.com opsworks-cm.eu-west-1.amazonaws.com For more information, see AWS OpsWorks endpoints and quotas in the AWS General Reference. Throttling limits All API operations allow for five requests per second with a burst of 10 requests per second`, + }, { + Name: []string{"organizations"}, + Description: `AWS Organizations`, + }, { + Name: []string{"outposts"}, + Description: `AWS Outposts is a fully managed service that extends AWS infrastructure, APIs, and tools to customer premises. By providing local access to AWS managed infrastructure, AWS Outposts enables customers to build and run applications on premises using the same programming interfaces as in AWS Regions, while using local compute and storage resources for lower latency and local data processing needs`, + }, { + Name: []string{"personalize"}, + Description: `Amazon Personalize is a machine learning service that makes it easy to add individualized recommendations to customers`, + }, { + Name: []string{"personalize-events"}, + Description: `Amazon Personalize can consume real-time user event data, such as stream or click data, and use it for model training either alone or combined with historical data. For more information see Recording Events`, + }, { + Name: []string{"personalize-runtime"}, + Description: ``, + }, { + Name: []string{"pi"}, + Description: `Amazon RDS Performance Insights Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on data captured from a running DB instance. The guide provides detailed information about Performance Insights data types, parameters and errors. When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific view of DB load. DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include SQL, Wait event, User, and Host. To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User Guide. To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide`, + }, { + Name: []string{"pinpoint"}, + Description: `Doc Engage API - Amazon Pinpoint API`, + }, { + Name: []string{"pinpoint-email"}, + Description: `Amazon Pinpoint Email Service Welcome to the Amazon Pinpoint Email API Reference. This guide provides information about the Amazon Pinpoint Email API (version 1.0), including supported operations, data types, parameters, and schemas. Amazon Pinpoint is an AWS service that you can use to engage with your customers across multiple messaging channels. You can use Amazon Pinpoint to send email, SMS text messages, voice messages, and push notifications. The Amazon Pinpoint Email API provides programmatic access to options that are unique to the email channel and supplement the options provided by the Amazon Pinpoint API. If you're new to Amazon Pinpoint, you might find it helpful to also review the Amazon Pinpoint Developer Guide. The Amazon Pinpoint Developer Guide provides tutorials, code samples, and procedures that demonstrate how to use Amazon Pinpoint features programmatically and how to integrate Amazon Pinpoint functionality into mobile apps and other types of applications. The guide also provides information about key topics such as Amazon Pinpoint integration with other AWS services and the limits that apply to using the service. The Amazon Pinpoint Email API is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Service Endpoints in the Amazon Web Services General Reference. To learn more about AWS Regions, see Managing AWS Regions in the Amazon Web Services General Reference. In each Region, AWS maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see AWS Global Infrastructure`, + }, { + Name: []string{"pinpoint-sms-voice"}, + Description: `Pinpoint SMS and Voice Messaging public facing APIs`, + }, { + Name: []string{"polly"}, + Description: `Amazon Polly is a web service that makes it easy to synthesize speech from text. The Amazon Polly service provides API operations for synthesizing high-quality speech from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations lexicons that enable you to get the best results for your application domain`, + }, { + Name: []string{"pricing"}, + Description: `AWS Price List Service API (AWS Price List Service) is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The AWS Price List Service uses standardized product attributes such as Location, Storage Class, and Operating System, and provides prices at the SKU level. You can use the AWS Price List Service to build cost control and scenario planning tools, reconcile billing data, forecast future spend for budgeting purposes, and provide cost benefit analysis that compare your internal workloads with AWS. Use GetServices without a service code to retrieve the service codes for all AWS services, then GetServices with a service code to retrieve the attribute names for that service. After you have the service code and attribute names, you can use GetAttributeValues to see what values are available for an attribute. With the service code and an attribute name and value, you can use GetProducts to find specific products that you're interested in, such as an AmazonEC2 instance, with a Provisioned IOPS volumeType. Service Endpoint AWS Price List Service API provides the following two endpoints: https://api.pricing.us-east-1.amazonaws.com https://api.pricing.ap-south-1.amazonaws.com`, + }, { + Name: []string{"qldb"}, + Description: `The control plane for Amazon QLDB`, + }, { + Name: []string{"qldb-session"}, + Description: `The transactional data APIs for Amazon QLDB Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger. If you are working with an AWS SDK, use the QLDB driver. The driver provides a high-level abstraction layer above this QLDB Session data plane and manages SendCommand API calls for you. For information and a list of supported programming languages, see Getting started with the driver in the Amazon QLDB Developer Guide. If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB shell. The shell is a command line interface that uses the QLDB driver to interact with a ledger. For information, see Accessing Amazon QLDB using the QLDB shell`, + }, { + Name: []string{"quicksight"}, + Description: `Amazon QuickSight API Reference Amazon QuickSight is a fully managed, serverless business intelligence service for the AWS Cloud that makes it easy to extend data and insights to every user in your organization. This API reference contains documentation for a programming interface that you can use to manage Amazon QuickSight`, + }, { + Name: []string{"ram"}, + Description: `Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you create a resource share, associate the resource with the resource share, and specify the principals that can access the resources associated with the resource share. The following principals are supported: AWS accounts, organizational units (OU) from AWS Organizations, and organizations from AWS Organizations. For more information, see the AWS Resource Access Manager User Guide`, + }, { + Name: []string{"rds"}, + Description: `Amazon Relational Database Service Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique. Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your DB instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use. This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide. Amazon RDS API Reference For the alphabetical list of API actions, see API Actions. For the alphabetical list of data types, see Data Types. For a list of common query parameters, see Common Parameters. For descriptions of the error codes, see Common Errors. Amazon RDS User Guide For a summary of the Amazon RDS interfaces, see Available RDS Interfaces. For more information about how to use the Query API, see Using the Query API`, + }, { + Name: []string{"rds-data"}, + Description: `Amazon RDS Data Service Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora Serverless DB cluster. To run these statements, you work with the Data Service API. For more information about the Data Service API, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide`, + }, { + Name: []string{"redshift"}, + Description: `Amazon Redshift Overview This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces. Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers. If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide. If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse`, + }, { + Name: []string{"redshift-data"}, + Description: `You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run individual SQL statements, which are committed if the statement succeeds. For more information about the Amazon Redshift Data API, see Using the Amazon Redshift Data API in the Amazon Redshift Cluster Management Guide`, + }, { + Name: []string{"rekognition"}, + Description: `This is the Amazon Rekognition API reference`, + }, { + Name: []string{"resource-groups"}, + Description: `AWS Resource Groups AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service databases, and Amazon S3 buckets into groups using criteria that you define as tags. A resource group is a collection of resources that match the resource types specified in a query, and share one or more tags or portions of tags. You can create a group of resources based on their roles in your cloud infrastructure, lifecycle stages, regions, application layers, or virtually any criteria. Resource Groups enable you to automate management tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in AWS Systems Manager that shows AWS Config compliance and other monitoring data about member resources. To create a resource group, build a resource query, and specify tags that identify the criteria that members of the group have in common. Tags are key-value pairs. For more information about Resource Groups, see the AWS Resource Groups User Guide. AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of operations. Create, Read, Update, and Delete (CRUD) operations on resource groups and resource query entities Applying, editing, and removing tags from resource groups Resolving resource group member ARNs so they can be returned as search results Getting data about resources that are members of a group Searching AWS resources based on a resource query`, + }, { + Name: []string{"resourcegroupstaggingapi"}, + Description: `Resource Groups Tagging API`, + }, { + Name: []string{"robomaker"}, + Description: `This section provides documentation for the AWS RoboMaker API operations`, + }, { + Name: []string{"route53"}, + Description: `Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service`, + }, { + Name: []string{"route53domains"}, + Description: `Amazon Route 53 API actions let you register domain names and perform related operations`, + }, { + Name: []string{"route53resolver"}, + Description: `When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or ELB load balancers. Resolver performs recursive lookups against public name servers for all other domain names. You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection: Forward DNS queries from resolvers on your network to Route 53 Resolver DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. For more information, see How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide. Conditionally forward queries from a VPC to resolvers on your network You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide. Like Amazon VPC, Resolver is regional. In each region where you have VPCs, you can choose whether to forward queries from your VPCs to your network (outbound queries), from your network to your VPCs (inbound queries), or both`, + }, { + Name: []string{"s3control"}, + Description: `AWS S3 Control provides access to Amazon S3 control plane actions`, + }, { + Name: []string{"s3outposts"}, + Description: `Amazon S3 on Outposts provides access to S3 on Outposts operations`, + }, { + Name: []string{"sagemaker"}, + Description: `Provides APIs for creating and managing Amazon SageMaker resources. Other Resources: Amazon SageMaker Developer Guide Amazon Augmented AI Runtime API Reference`, + }, { + Name: []string{"sagemaker-a2i-runtime"}, + Description: `Amazon Augmented AI is in preview release and is subject to change. We do not recommend using this product in production environments. Amazon Augmented AI (Amazon A2I) adds the benefit of human judgment to any machine learning application. When an AI application can't evaluate data with a high degree of confidence, human reviewers can take over. This human review is called a human review workflow. To create and start a human review workflow, you need three resources: a worker task template, a flow definition, and a human loop. For information about these resources and prerequisites for using Amazon A2I, see Get Started with Amazon Augmented AI in the Amazon SageMaker Developer Guide. This API reference includes information about API actions and data types that you can use to interact with Amazon A2I programmatically. Use this guide to: Start a human loop with the StartHumanLoop operation when using Amazon A2I with a custom task type. To learn more about the difference between custom and built-in task types, see Use Task Types . To learn how to start a human loop using this API, see Create and Start a Human Loop for a Custom Task Type in the Amazon SageMaker Developer Guide. Manage your human loops. You can list all human loops that you have created, describe individual human loops, and stop and delete human loops. To learn more, see Monitor and Manage Your Human Loop in the Amazon SageMaker Developer Guide. Amazon A2I integrates APIs from various AWS services to create and start human review workflows for those services. To learn how Amazon A2I uses these APIs, see Use APIs in Amazon A2I in the Amazon SageMaker Developer Guide`, + }, { + Name: []string{"sagemaker-edge"}, + Description: `SageMaker Edge Manager dataplane service for communicating with active agents`, + }, { + Name: []string{"sagemaker-featurestore-runtime"}, + Description: `Contains all data plane API operations and data types for the Amazon SageMaker Feature Store. Use this API to put, delete, and retrieve (get) features from a feature store. Use the following operations to configure your OnlineStore and OfflineStore features, and to create and manage feature groups: CreateFeatureGroup DeleteFeatureGroup DescribeFeatureGroup ListFeatureGroups`, + }, { + Name: []string{"sagemaker-runtime"}, + Description: `The Amazon SageMaker runtime API`, + }, { + Name: []string{"savingsplans"}, + Description: `Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For more information, see the AWS Savings Plans User Guide`, + }, { + Name: []string{"schemas"}, + Description: `Amazon EventBridge Schema Registry`, + }, { + Name: []string{"sdb"}, + Description: `Amazon SimpleDB is a web service providing the core database functions of data indexing and querying in the cloud. By offloading the time and effort associated with building and operating a web-scale database, SimpleDB provides developers the freedom to focus on application development. A traditional, clustered relational database requires a sizable upfront capital outlay, is complex to design, and often requires extensive and repetitive database administration. Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing your data and providing a simple API for storage and access. This approach eliminates the administrative burden of data modeling, index maintenance, and performance tuning. Developers gain access to this functionality within Amazon's proven computing environment, are able to scale instantly, and pay only for what they use. Visit http://aws.amazon.com/simpledb/ for more information`, + }, { + Name: []string{"secretsmanager"}, + Description: `AWS Secrets Manager API Reference AWS Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets. This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide. API Version This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17. As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs provide cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including downloading and installing them, see Tools for Amazon Web Services. We recommend you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide. Secrets Manager API supports GET and POST requests for all actions, and doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request. Support and Feedback for AWS Secrets Manager We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help. How examples are presented The JSON that AWS Secrets Manager expects as your request parameters and the service returns as a response to HTTP query requests contain single, long strings without line breaks or white space formatting. The JSON shown in the examples displays the code formatted with both line breaks and white space to improve readability. When example input parameters can also cause long strings extending beyond the screen, you can insert line breaks to enhance readability. You should always submit the input as a single JSON text string. Logging API Requests AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see the AWS CloudTrail User Guide`, + }, { + Name: []string{"securityhub"}, + Description: `Security Hub provides you with a comprehensive view of the security state of your AWS environment and resources. It also provides you with the readiness status of your environment based on controls from supported security standards. Security Hub collects security data from AWS accounts, services, and integrated third-party products and helps you analyze security trends in your environment to identify the highest priority security issues. For more information about Security Hub, see the AWS Security Hub User Guide . When you use operations in the Security Hub API, the requests are executed only in the AWS Region that is currently active or in the specific AWS Region that you specify in your request. Any configuration or settings change that results from the operation is applied only to that Region. To make the same change in other Regions, execute the same command for each Region to apply the change to. For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of the member account with the administrator account is created only in the us-west-2 Region. Security Hub must be enabled for the member account in the same Region that the invitation was sent from. The following throttling limits apply to using Security Hub API operations. BatchEnableStandards - RateLimit of 1 request per second, BurstLimit of 1 request per second. GetFindings - RateLimit of 3 requests per second. BurstLimit of 6 requests per second. UpdateFindings - RateLimit of 1 request per second. BurstLimit of 5 requests per second. UpdateStandardsControl - RateLimit of 1 request per second, BurstLimit of 5 requests per second. All other operations - RateLimit of 10 requests per second. BurstLimit of 30 requests per second`, + }, { + Name: []string{"serverlessrepo"}, + Description: `The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find + and deploy serverless applications in the AWS Cloud. For more information about serverless applications, + see Serverless Computing and Applications on the AWS website.The AWS Serverless Application Repository is deeply integrated with the AWS Lambda console, so that developers of + all levels can get started with serverless computing without needing to learn anything new. You can use category + keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. + You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, + configure any required fields, and deploy it with a few clicks. You can also easily publish applications, sharing them publicly with the community at large, or privately + within your team or across your organization. To publish a serverless application (or app), you can use the + AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the + code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template. + For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs + GitHub repository.The AWS Serverless Application Repository Developer Guide contains more information about the two developer + experiences available: + Consuming Applications – Browse for applications and view information about them, including + source code and readme files. Also install, configure, and deploy applications of your choosing. + Publishing Applications – Configure and upload applications to make them available to other + developers, and publish new versions of applications`, + }, { + Name: []string{"service-quotas"}, + Description: `With Service Quotas, you can view and manage your quotas easily as your AWS workloads grow. Quotas, also referred to as limits, are the maximum number of resources that you can create in your AWS account. For more information, see the Service Quotas User Guide`, + }, { + Name: []string{"servicecatalog"}, + Description: `AWS Service Catalog AWS Service Catalog enables organizations to create and manage catalogs of IT services that are approved for AWS. To get the most out of this documentation, you should be familiar with the terminology discussed in AWS Service Catalog Concepts`, + }, { + Name: []string{"servicecatalog-appregistry"}, + Description: `AWS Service Catalog AppRegistry enables organizations to understand the application context of their AWS resources. AppRegistry provides a repository of your applications, their resources, and the application metadata that you use within your enterprise`, + }, { + Name: []string{"servicediscovery"}, + Description: `AWS Cloud Map lets you configure public DNS, private DNS, or HTTP namespaces that your microservice applications run in. When an instance of the service becomes available, you can call the AWS Cloud Map API to register the instance with AWS Cloud Map. For public or private DNS namespaces, AWS Cloud Map automatically creates DNS records and an optional health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer that contains up to eight healthy records`, + }, { + Name: []string{"ses"}, + Description: `Amazon Simple Email Service This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide. For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide`, + }, { + Name: []string{"sesv2"}, + Description: `Amazon SES API v2 Welcome to the Amazon SES API v2 Reference. This guide provides information about the Amazon SES API v2, including supported operations, data types, parameters, and schemas. Amazon SES is an AWS service that you can use to send email messages to your customers. If you're new to Amazon SES API v2, you might find it helpful to also review the Amazon Simple Email Service Developer Guide. The Amazon SES Developer Guide provides information and code samples that demonstrate how to use Amazon SES API v2 features programmatically. The Amazon SES API v2 is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Service Endpoints in the Amazon Web Services General Reference. To learn more about AWS Regions, see Managing AWS Regions in the Amazon Web Services General Reference. In each Region, AWS maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see AWS Global Infrastructure`, + }, { + Name: []string{"shield"}, + Description: `AWS Shield Advanced This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide`, + }, { + Name: []string{"signer"}, + Description: `AWS Signer is a fully managed code signing service to help you ensure the trust and integrity of your code. AWS Signer supports the following applications: With code signing for AWS Lambda, you can sign AWS Lambda deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, and AWS CloudTrail. In order to sign code, you create a signing profile and then use Signer to sign Lambda zip files in S3. With code signing for IoT, you can sign code for any IoT device that is supported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is integrated with AWS Certificate Manager (ACM). In order to sign code, you import a third-party code signing certificate using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For more information about AWS Signer, see the AWS Signer Developer Guide`, + }, { + Name: []string{"sms"}, + Description: `AWS Server Migration Service AWS Server Migration Service (AWS SMS) makes it easier and faster for you to migrate your on-premises workloads to AWS. To learn more about AWS SMS, see the following resources: AWS Server Migration Service product page AWS Server Migration Service User Guide`, + }, { + Name: []string{"sms-voice"}, + Description: `Pinpoint SMS and Voice Messaging public facing APIs`, + }, { + Name: []string{"snowball"}, + Description: `AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snow commands described here provide access to the same functionality that is available in the AWS Snow Family Management Console, which enables you to create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more information, see the User Guide`, + }, { + Name: []string{"sns"}, + Description: `Amazon Simple Notification Service Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see the Amazon SNS product page. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide. For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in the Amazon SNS Developer Guide. We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services`, + }, { + Name: []string{"sqs"}, + Description: `Welcome to the Amazon Simple Queue Service API Reference. Amazon Simple Queue Service (Amazon SQS) is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components. For information on the permissions you need to use this API, see Identity and access management in the Amazon Simple Queue Service Developer Guide. You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically: Cryptographically sign your service requests Retry requests Handle error responses Additional information Amazon SQS Product Page Amazon Simple Queue Service Developer Guide Making API Requests Amazon SQS Message Attributes Amazon SQS Dead-Letter Queues Amazon SQS in the AWS CLI Command Reference Amazon Web Services General Reference Regions and Endpoints`, + }, { + Name: []string{"ssm"}, + Description: `AWS Systems Manager AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon Elastic Compute Cloud instance (EC2 instance), or any on-premises server or virtual machine (VM) in your hybrid environment that has been configured for Systems Manager. This reference is intended to be used with the AWS Systems Manager User Guide. To get started, verify prerequisites and configure managed instances. For more information, see Setting up AWS Systems Manager in the AWS Systems Manager User Guide. For information about other API actions you can perform on EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API requests`, + }, { + Name: []string{"sso"}, + Description: `AWS Single Sign-On Portal is a web service that makes it easy for you to assign user access to AWS SSO resources such as the user portal. Users can get AWS account applications and roles assigned to them and get federated into the application. For general information about AWS SSO, see What is AWS Single Sign-On? in the AWS SSO User Guide. This API reference guide describes the AWS SSO Portal operations that you can call programmatically and includes detailed information on data types and errors. AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms, such as Java, Ruby, .Net, iOS, or Android. The SDKs provide a convenient way to create programmatic access to AWS SSO and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services`, + }, { + Name: []string{"sso-admin"}, + Description: ``, + }, { + Name: []string{"sso-oidc"}, + Description: `AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a client (such as AWS CLI or a native application) to register with AWS SSO. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with AWS SSO. This service conforms with the OAuth 2.0 based implementation of the device authorization grant standard (https://tools.ietf.org/html/rfc8628). For general information about AWS SSO, see What is AWS Single Sign-On? in the AWS SSO User Guide. This API reference guide describes the AWS SSO OIDC operations that you can call programmatically and includes detailed information on data types and errors. AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms such as Java, Ruby, .Net, iOS, and Android. The SDKs provide a convenient way to create programmatic access to AWS SSO and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services`, + }, { + Name: []string{"stepfunctions"}, + Description: `AWS Step Functions AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows. You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues. Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide`, + }, { + Name: []string{"storagegateway"}, + Description: `AWS Storage Gateway Service AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the AWS storage infrastructure. The service enables you to securely upload data to the AWS Cloud for cost effective backup and rapid disaster recovery. Use the following links to get started using the AWS Storage Gateway Service API Reference: AWS Storage Gateway required request headers: Describes the required headers that you must send with every POST request to AWS Storage Gateway. Signing requests: AWS Storage Gateway requires that you authenticate every request you send; this topic describes how sign such a request. Error responses: Provides reference information about AWS Storage Gateway errors. Operations in AWS Storage Gateway: Contains detailed descriptions of all AWS Storage Gateway operations, their request parameters, response elements, possible errors, and examples of requests and responses. AWS Storage Gateway endpoints and quotas: Provides a list of each AWS Region and the endpoints available for use with AWS Storage Gateway. AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected. IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS resource IDs. For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following: arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG. A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee. For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016`, + }, { + Name: []string{"sts"}, + Description: `AWS Security Token Service AWS Security Token Service (STS) enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials`, + }, { + Name: []string{"support"}, + Description: `AWS Support The AWS Support API reference is intended for programmers who need detailed information about the AWS Support operations and data types. This service enables you to manage your AWS Support cases programmatically. It uses HTTP methods that return results in JSON format. You must have a Business or Enterprise support plan to use the AWS Support API. If you call the AWS Support API from an account that does not have a Business or Enterprise support plan, the SubscriptionRequiredException error message appears. For information about changing your support plan, see AWS Support. The AWS Support service also exposes a set of AWS Trusted Advisor features. You can retrieve a list of checks and their descriptions, get check results, specify checks to refresh, and get the refresh status of checks. The following list describes the AWS Support case management operations: Service names, issue categories, and available severity levels. The DescribeServices and DescribeSeverityLevels operations return AWS service names, service codes, service categories, and problem severity levels. You use these values when you call the CreateCase operation. Case creation, case details, and case resolution. The CreateCase, DescribeCases, DescribeAttachment, and ResolveCase operations create AWS Support cases, retrieve information about cases, and resolve cases. Case communication. The DescribeCommunications, AddCommunicationToCase, and AddAttachmentsToSet operations retrieve and add communications and attachments to AWS Support cases. The following list describes the operations available from the AWS Support service for Trusted Advisor: DescribeTrustedAdvisorChecks returns the list of checks that run against your AWS resources. Using the checkId for a specific check returned by DescribeTrustedAdvisorChecks, you can call DescribeTrustedAdvisorCheckResult to obtain the results for the check that you specified. DescribeTrustedAdvisorCheckSummaries returns summarized results for one or more Trusted Advisor checks. RefreshTrustedAdvisorCheck requests that Trusted Advisor rerun a specified check. DescribeTrustedAdvisorCheckRefreshStatuses reports the refresh status of one or more checks. For authentication of requests, AWS Support uses Signature Version 4 Signing Process. See About the AWS Support API in the AWS Support User Guide for information about how to use this service to create and manage your support cases, and how to call Trusted Advisor for results of checks on your resources`, + }, { + Name: []string{"swf"}, + Description: `Amazon Simple Workflow Service The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application. Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state. This documentation serves as reference only. For a broader overview of the Amazon SWF programming model, see the Amazon SWF Developer Guide`, + }, { + Name: []string{"synthetics"}, + Description: `Amazon CloudWatch Synthetics You can use Amazon CloudWatch Synthetics to continually monitor your services. You can create and manage canaries, which are modular, lightweight scripts that monitor your endpoints and APIs from the outside-in. You can set up your canaries to run 24 hours a day, once per minute. The canaries help you check the availability and latency of your web services and troubleshoot anomalies by investigating load time data, screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch ServiceLens to help you trace the causes of impacted nodes in your applications. For more information, see Using ServiceLens to Monitor the Health of Your Applications in the Amazon CloudWatch User Guide. Before you create and manage canaries, be aware of the security considerations. For more information, see Security Considerations for Synthetics Canaries`, + }, { + Name: []string{"textract"}, + Description: `Amazon Textract detects and analyzes text in documents and converts it into machine-readable text. This is the API reference documentation for Amazon Textract`, + }, { + Name: []string{"timestream-query"}, + Description: ``, + }, { + Name: []string{"timestream-write"}, + Description: `Amazon Timestream is a fast, scalable, fully managed time series database service that makes it easy to store and analyze trillions of time series data points per day. With Timestream, you can easily store and analyze IoT sensor data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment management and maintenance. You can also store and analyze log data and metrics to improve the performance and availability of your applications. Timestream is built from the ground up to effectively ingest, process, and store time series data. It organizes data to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs`, + }, { + Name: []string{"transcribe"}, + Description: `Operations and objects for transcribing speech to text`, + }, { + Name: []string{"transfer"}, + Description: `AWS Transfer Family is a fully managed service that enables the transfer of files over the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer Family is easy since there is no infrastructure to buy and set up`, + }, { + Name: []string{"translate"}, + Description: `Provides translation between one source language and another of the same set of languages`, + }, { + Name: []string{"waf"}, + Description: `This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. This is the AWS WAF Classic API Reference for using AWS WAF Classic with Amazon CloudFront. The AWS WAF Classic actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the AWS WAF Classic in the developer guide`, + }, { + Name: []string{"waf-regional"}, + Description: `This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. This is the AWS WAF Regional Classic API Reference for using AWS WAF Classic with the AWS resources, Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. The AWS WAF Classic actions and data types listed in the reference are available for protecting Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the AWS WAF Classic in the developer guide`, + }, { + Name: []string{"wafv2"}, + Description: `This is the latest version of the AWS WAF API, released in November, 2019. The names of the entities that you use to access this API, like endpoints and namespaces, all have the versioning information added, like "V2" or "v2", to distinguish from the prior version. We recommend migrating your resources to this version, because it has a number of significant improvements. If you used AWS WAF prior to this release, you can't use this AWS WAFV2 API to access any AWS WAF resources that you created before. You can access your old rules, web ACLs, and other AWS WAF resources only through the AWS WAF Classic APIs. The AWS WAF Classic APIs have retained the prior names, endpoints, and namespaces. For information, including how to migrate your AWS WAF resources to this version, see the AWS WAF Developer Guide. AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API. AWS WAF also lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, the API Gateway REST API, CloudFront distribution, the Application Load Balancer, or the AWS AppSync GraphQL API responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You also can configure CloudFront to return a custom error page when a request is blocked. This API guide is for developers who need detailed information about AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use AWS WAF, see the AWS WAF Developer Guide. You can make calls using the endpoints listed in AWS Service Endpoints for AWS WAF. For regional applications, you can use any of the endpoints in the list. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API. For AWS CloudFront applications, you must use the API endpoint listed for US East (N. Virginia): us-east-1. Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs. We currently provide two versions of the AWS WAF API: this API and the prior versions, the classic AWS WAF APIs. This new API provides the same functionality as the older versions, with the following major improvements: You use one API for both global and regional applications. Where you need to distinguish the scope, you specify a Scope parameter and set it to CLOUDFRONT or REGIONAL. You can define a Web ACL or rule group with a single call, and update it with a single call. You define all rule specifications in JSON format, and pass them to your rule group or Web ACL calls. The limits AWS WAF places on the use of rules more closely reflects the cost of running each type of rule. Rule groups include capacity settings, so you know the maximum cost of a rule group when you use it`, + }, { + Name: []string{"wellarchitected"}, + Description: `AWS Well-Architected Tool This is the AWS Well-Architected Tool API Reference. The AWS Well-Architected Tool API provides programmatic access to the AWS Well-Architected Tool in the AWS Management Console. For information about the AWS Well-Architected Tool, see the AWS Well-Architected Tool User Guide`, + }, { + Name: []string{"workdocs"}, + Description: `The WorkDocs API is designed for the following use cases: File Migration: File migration applications are supported for users who want to migrate their files from an on-premises or off-premises file system or service. Users can insert files into a user directory structure, as well as allow for basic metadata changes, such as modifications to the permissions of files. Security: Support security applications are supported for users who have additional security needs, such as antivirus or data loss prevention. The API actions, along with AWS CloudTrail, allow these applications to detect when changes occur in Amazon WorkDocs. Then, the application can take the necessary actions and replace the target file. If the target file violates the policy, the application can also choose to email the user. eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These applications can choose to mimic or record the actions in an Amazon WorkDocs site, along with AWS CloudTrail, to replicate data for eDiscovery, backup, or analytical applications. All Amazon WorkDocs API actions are Amazon authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM user gains full administrative visibility into the entire Amazon WorkDocs site (or as set in the IAM policy). This includes, but is not limited to, the ability to modify file permissions and upload any file to any user. This allows developers to perform the three use cases above, as well as give users the ability to grant access on a selective basis using the IAM model`, + }, { + Name: []string{"worklink"}, + Description: `Amazon WorkLink is a cloud-based service that provides secure access to internal websites and web apps from iOS and Android phones. In a single step, your users, such as employees, can access internal websites as efficiently as they access any other public website. They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink authenticates the user's access and securely renders authorized internal web content in a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on mobile devices`, + }, { + Name: []string{"workmail"}, + Description: `Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored. The WorkMail API is designed for the following scenarios: Listing and describing organizations Managing users Managing groups Managing resources All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model`, + }, { + Name: []string{"workmailmessageflow"}, + Description: `The WorkMail Message Flow API provides access to email messages as they are being sent and received by a WorkMail organization`, + }, { + Name: []string{"workspaces"}, + Description: `Amazon WorkSpaces Service Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows and Amazon Linux desktops for your users`, + }, { + Name: []string{"xray"}, + Description: `AWS X-Ray provides APIs for managing debug traces and retrieving service maps and other data created by processing those traces`, + }, { + Name: []string{"s3api"}, + Description: ``, + }, { + Name: []string{"s3"}, + Description: `This section explains prominent concepts and notations in the set of high-level S3 commands provided. + +Path Argument Type +++++++++++++++++++ + +Whenever using a command, at least one path argument must be specified. There +are two types of path arguments: ""LocalPath"" and ""S3Uri"". + +""LocalPath"": represents the path of a local file or directory. It can be +written as an absolute path or relative path. + +""S3Uri"": represents the location of a S3 object, prefix, or bucket. This +must be written in the form ""s3://mybucket/mykey"" where ""mybucket"" is +the specified S3 bucket, ""mykey"" is the specified S3 key. The path argument +must begin with ""s3://"" in order to denote that the path argument refers to +a S3 object. Note that prefixes are separated by forward slashes. For +example, if the S3 object ""myobject"" had the prefix ""myprefix"", the +S3 key would be ""myprefix/myobject"", and if the object was in the bucket +""mybucket"", the ""S3Uri"" would be ""s3://mybucket/myprefix/myobject"". + +""S3Uri"" also supports S3 access points. To specify an access point, this +value must be of the form ""s3:///"". For example if +the access point ""myaccesspoint"" to be used has the ARN: +""arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint"" and the object +being accessed has the key ""mykey"", then the ""S3URI"" used must be: +""s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey"". +Similar to bucket names, you can also use prefixes with access point ARNs for +the ""S3Uri"". For example: +""s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/myprefix/"" + +The higher level ""s3"" commands do **not** support access point object ARNs. +For example, if the following was specified: +""s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/object/mykey"" +the ""S3URI"" will resolve to the object key ""object/mykey"" +Order of Path Arguments ++++++++++++++++++++++++ + +Every command takes one or two positional path arguments. The first path +argument represents the source, which is the local file/directory or S3 +object/prefix/bucket that is being referenced. If there is a second path +argument, it represents the destination, which is the local file/directory +or S3 object/prefix/bucket that is being operated on. Commands with only +one path argument do not have a destination because the operation is being +performed only on the source. +Single Local File and S3 Object Operations +++++++++++++++++++++++++++++++++++++++++++ + +Some commands perform operations only on single files and S3 objects. The +following commands are single file/object operations if no ""--recursive"" +flag is provided. + + * ""cp"" + * ""mv"" + * ""rm"" + +For this type of operation, the first path argument, the source, must exist +and be a local file or S3 object. The second path argument, the destination, +can be the name of a local file, local directory, S3 object, S3 prefix, +or S3 bucket. + +The destination is indicated as a local directory, S3 prefix, or S3 bucket +if it ends with a forward slash or back slash. The use of slash depends +on the path argument type. If the path argument is a ""LocalPath"", +the type of slash is the separator used by the operating system. If the +path is a ""S3Uri"", the forward slash must always be used. If a slash +is at the end of the destination, the destination file or object will +adopt the name of the source file or object. Otherwise, if there is no +slash at the end, the file or object will be saved under the name provided. +See examples in ""cp"" and ""mv"" to illustrate this description. +Directory and S3 Prefix Operations +++++++++++++++++++++++++++++++++++ + +Some commands only perform operations on the contents of a local directory +or S3 prefix/bucket. Adding or omitting a forward slash or back slash to +the end of any path argument, depending on its type, does not affect the +results of the operation. The following commands will always result in +a directory or S3 prefix/bucket operation: + +* ""sync"" +* ""mb"" +* ""rb"" +* ""ls"" +Use of Exclude and Include Filters +++++++++++++++++++++++++++++++++++ + +Currently, there is no support for the use of UNIX style wildcards in +a command's path arguments. However, most commands have ""--exclude """" +and ""--include """" parameters that can achieve the desired result. +These parameters perform pattern matching to either exclude or include +a particular file or object. The following pattern symbols are supported. + + * ""*"": Matches everything + * ""?"": Matches any single character + * ""[sequence]"": Matches any character in ""sequence"" + * ""[!sequence]"": Matches any character not in ""sequence"" + +Any number of these parameters can be passed to a command. You can do this by +providing an ""--exclude"" or ""--include"" argument multiple times, e.g. +""--include "*.txt" --include "*.png""". +When there are multiple filters, the rule is the filters that appear later in +the command take precedence over filters that appear earlier in the command. +For example, if the filter parameters passed to the command were + +:: + + --exclude "*" --include "*.txt" + +All files will be excluded from the command except for files ending with +"".txt"" However, if the order of the filter parameters was changed to + +:: + + --include "*.txt" --exclude "*" + +All files will be excluded from the command. + +Each filter is evaluated against the **source directory**. If the source +location is a file instead of a directory, the directory containing the file is +used as the source directory. For example, suppose you had the following +directory structure:: + + /tmp/foo/ + .git/ + |---config + |---description + foo.txt + bar.txt + baz.jpg + +In the command ""aws s3 sync /tmp/foo s3://bucket/"" the source directory is +""/tmp/foo"". Any include/exclude filters will be evaluated with the source +directory prepended. Below are several examples to demonstrate this. + +Given the directory structure above and the command +""aws s3 cp /tmp/foo s3://bucket/ --recursive --exclude ".git/*""", the +files "".git/config"" and "".git/description"" will be excluded from the +files to upload because the exclude filter "".git/*"" will have the source +prepended to the filter. This means that:: + + /tmp/foo/.git/* -> /tmp/foo/.git/config (matches, should exclude) + /tmp/foo/.git/* -> /tmp/foo/.git/description (matches, should exclude) + /tmp/foo/.git/* -> /tmp/foo/foo.txt (does not match, should include) + /tmp/foo/.git/* -> /tmp/foo/bar.txt (does not match, should include) + /tmp/foo/.git/* -> /tmp/foo/baz.jpg (does not match, should include) + +The command ""aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "ba*""" +will exclude ""/tmp/foo/bar.txt"" and ""/tmp/foo/baz.jpg"":: + + /tmp/foo/ba* -> /tmp/foo/.git/config (does not match, should include) + /tmp/foo/ba* -> /tmp/foo/.git/description (does not match, should include) + /tmp/foo/ba* -> /tmp/foo/foo.txt (does not match, should include) + /tmp/foo/ba* -> /tmp/foo/bar.txt (matches, should exclude) + /tmp/foo/ba* -> /tmp/foo/baz.jpg (matches, should exclude) +Note that, by default, *all files are included*. This means that +providing **only** an ""--include"" filter will not change what +files are transferred. ""--include"" will only re-include files that +have been excluded from an ""--exclude"" filter. If you only want +to upload files with a particular extension, you need to first exclude +all files, then re-include the files with the particular extension. +This command will upload **only** files ending with "".jpg"":: + + aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg" + +If you wanted to include both "".jpg"" files as well as "".txt"" files you +can run:: + + aws s3 cp /tmp/foo/ s3://bucket/ --recursive \ + --exclude "*" --include "*.jpg" --include "*.txt" +`, + }, { + Name: []string{"deploy"}, + Description: `AWS CodeDeploy AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, serverless AWS Lambda functions, or applications in an Amazon ECS service. You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, updated applications in an Amazon ECS service, code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments. AWS CodeDeploy Components Use the information in this guide to help you work with the following AWS CodeDeploy components: Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment. Deployment group: A set of individual instances, CodeDeploy Lambda deployment configuration settings, or an Amazon ECS service and network details. A Lambda deployment group specifies how to route traffic to a new version of a Lambda function. An Amazon ECS deployment group specifies the service created in Amazon ECS to deploy, a load balancer, and a listener to reroute production traffic to an updated containerized application. An EC2/On-premises deployment group contains individually tagged instances, Amazon EC2 instances in Amazon EC2 Auto Scaling groups, or both. All deployment groups can specify optional trigger, alarm, and rollback settings. Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment. Deployment: The process and the components used when updating a Lambda function, a containerized application in an Amazon ECS service, or of installing content on one or more instances. Application revisions: For an AWS Lambda deployment, this is an AppSpec file that specifies the Lambda function to be updated and one or more functions to validate deployment lifecycle events. For an Amazon ECS deployment, this is an AppSpec file that specifies the Amazon ECS task definition, container, and port where production traffic is rerouted. For an EC2/On-premises deployment, this is an archive file that contains source content—source code, webpages, executable files, and deployment scripts—along with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID. This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for AWS CodeDeploy deployments, to get details about a Lambda function deployment, and to get details about Amazon ECS service deployments. AWS CodeDeploy Information Resources AWS CodeDeploy User Guide AWS CodeDeploy API Reference Guide AWS CLI Reference for AWS CodeDeploy AWS CodeDeploy Developer Forum`, + }, { + Name: []string{"configservice"}, + Description: `AWS Config AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources. You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config. This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config. The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config in the AWS Config Developer Guide`, + }, { + Name: []string{"opsworks-cm"}, + Description: `AWS OpsWorks CM AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers. You can use AWS OpsWorks CM to create and manage AWS OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove nodes for the servers to manage. Glossary of terms Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted. Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include ChefAutomate and Puppet. Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts. Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted. Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account. Endpoints AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created. opsworks-cm.us-east-1.amazonaws.com opsworks-cm.us-east-2.amazonaws.com opsworks-cm.us-west-1.amazonaws.com opsworks-cm.us-west-2.amazonaws.com opsworks-cm.ap-northeast-1.amazonaws.com opsworks-cm.ap-southeast-1.amazonaws.com opsworks-cm.ap-southeast-2.amazonaws.com opsworks-cm.eu-central-1.amazonaws.com opsworks-cm.eu-west-1.amazonaws.com For more information, see AWS OpsWorks endpoints and quotas in the AWS General Reference. Throttling limits All API operations allow for five requests per second with a burst of 10 requests per second`, + }, { + Name: []string{"runtime.sagemaker"}, + Description: `The Amazon SageMaker runtime API`, + }, { + Name: []string{"history"}, + Description: `Commands to interact with the history of AWS CLI commands ran over time. To record the history of AWS CLI commands set ""cli_history"" to ""enabled"" in the ""~/.aws/config"" file. This can be done by running: + +""$ aws configure set cli_history enabled""`, + }}, + } +} diff --git a/autocomplete/specs/awsume.go b/autocomplete/specs/awsume.go new file mode 100644 index 0000000..08270ef --- /dev/null +++ b/autocomplete/specs/awsume.go @@ -0,0 +1,162 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["awsume"] = model.Subcommand{ + Name: []string{"awsume"}, + Description: `Awsume`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateHistory}, + Name: "profile", + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for awsume`, + }, { + Name: []string{"--version", "-v"}, + Description: `Display the current version of awsume`, + }, { + Name: []string{"--output-profile", "-o"}, + Description: `A profile to output credentials to`, + Args: []model.Arg{{ + Name: "output_profile", + }}, + }, { + Name: []string{"--clean"}, + Description: `Clean expired output profiles`, + }, { + Name: []string{"--refresh", "-r"}, + Description: `Force refresh credentials`, + }, { + Name: []string{"--show-commands", "-s"}, + Description: `Show the commands to set the credentials`, + }, { + Name: []string{"--unset", "-u"}, + Description: `Unset your aws environment variables`, + }, { + Name: []string{"--auto-refresh", "-a"}, + Description: `Auto refresh credentials`, + }, { + Name: []string{"--kill-refresher", "-k"}, + Description: `Kill autoawsume`, + }, { + Name: []string{"--list-profiles", "-l"}, + Description: `List profiles, "more" for detail (slow)`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--refresh-autocomplete"}, + Description: `Refresh all plugin autocomplete profiles`, + }, { + Name: []string{"--role-arn"}, + Description: `Role ARN or ::`, + Args: []model.Arg{{ + Name: "role_arn", + }}, + }, { + Name: []string{"--principal-arn"}, + Description: `Principal ARN or ::`, + Args: []model.Arg{{ + Name: "principal_arn", + }}, + }, { + Name: []string{"--source-profile"}, + Description: `Source_profile to use(role-arn only)`, + Args: []model.Arg{{ + Name: "source_profile", + }}, + }, { + Name: []string{"--external-id"}, + Description: `External ID to pass to the assume_role`, + Args: []model.Arg{{ + Name: "external_id", + }}, + }, { + Name: []string{"--mfa-token"}, + Description: `Your mfa token`, + Args: []model.Arg{{ + Name: "mfa-token", + }}, + }, { + Name: []string{"--region"}, + Description: `The region you want to awsume into`, + Args: []model.Arg{{ + Name: "region", + }}, + }, { + Name: []string{"--session-name"}, + Description: `Set a custom role session name`, + Args: []model.Arg{{ + Name: "session_name", + }}, + }, { + Name: []string{"--role-duration"}, + Description: `Seconds to get role creds for`, + Args: []model.Arg{{ + Name: "role_duration", + }}, + }, { + Name: []string{"--with-saml"}, + Description: `Use saml (requires plugin)`, + }, { + Name: []string{"--with-web-identity"}, + Description: `Use web identity (requires plugin)`, + }, { + Name: []string{"--json"}, + Description: `Use json credentials`, + Args: []model.Arg{{ + Name: "json", + }}, + }, { + Name: []string{"--credentials-file"}, + Description: `Target a shared credentials file`, + Args: []model.Arg{{ + Name: "credentials_file", + }}, + }, { + Name: []string{"--config-file"}, + Description: `Target a config file`, + Args: []model.Arg{{ + Name: "config_file", + }}, + }, { + Name: []string{"--config"}, + Description: `Configure awsume`, + Args: []model.Arg{{ + Name: "option", + IsVariadic: true, + }}, + }, { + Name: []string{"--list-plugins"}, + Description: `List installed plugins`, + }, { + Name: []string{"--info"}, + Description: `Print any info logs to stderr`, + }, { + Name: []string{"--debug"}, + Description: `Print any debug logs to stderr`, + }, { + Name: []string{"--console", "-c"}, + Description: `Open AWS console`, + }, { + Name: []string{"--console-link", "-cl"}, + Description: `Get a sign-on url`, + }, { + Name: []string{"--console-service", "-cs"}, + Description: `Open the console to a specific service`, + Args: []model.Arg{{ + Name: "service", + }}, + }, { + Name: []string{"-cls", "-csl"}, + Description: `Get a sign-on url to a specific service`, + Args: []model.Arg{{ + Name: "service", + }}, + }}, + } +} diff --git a/autocomplete/specs/azure.go b/autocomplete/specs/azure.go new file mode 100644 index 0000000..90f422e --- /dev/null +++ b/autocomplete/specs/azure.go @@ -0,0 +1,188 @@ +package specs + +import ( + "github.com/cpendery/clac/autocomplete/generators/azure" + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["az"] = model.Subcommand{ + Name: []string{"az"}, + Description: `Azure CLI`, + Subcommands: []model.Subcommand{ + {Name: []string{"account"}, Description: "Manage Azure subscription information."}, + {Name: []string{"acr"}, Description: "Manage private registries with Azure Container Registries."}, + {Name: []string{"ad"}, Description: "Manage Azure Active Directory Graph entities needed for Role Based Access Control."}, + {Name: []string{"advisor"}, Description: "Manage Azure Advisor."}, + {Name: []string{"afd"}, Description: "Manage Azure Front Door Standard/Premium. For classical Azure Front Door, please refer https://docs.microsoft.com/en-us/cli/azure/network/front-door?view=azure-cli-latest."}, + {Name: []string{"aks"}, Description: "Manage Azure Kubernetes Services."}, + {Name: []string{"ams"}, Description: "Manage Azure Media Services resources."}, + {Name: []string{"apim"}, Description: "Manage Azure API Management services."}, + {Name: []string{"appconfig"}, Description: "Manage App Configurations."}, + {Name: []string{"appservice"}, Description: "Manage App Service plans."}, + {Name: []string{"aro"}, Description: "Manage Azure Red Hat OpenShift clusters."}, + {Name: []string{"backup"}, Description: "Manage Azure Backups."}, + {Name: []string{"batch"}, Description: "Manage Azure Batch."}, + {Name: []string{"bicep"}, Description: "Bicep CLI command group."}, + {Name: []string{"billing"}, Description: "Manage Azure Billing."}, + {Name: []string{"bot"}, Description: "Manage Microsoft Azure Bot Service."}, + {Name: []string{"cache"}, Description: "Commands to manage CLI objects cached using the `--defer` argument."}, + {Name: []string{"capacity"}, Description: "Manage capacity resources."}, + {Name: []string{"cdn"}, Description: "Manage Azure Content Delivery Networks (CDNs)."}, + {Name: []string{"cloud"}, Description: "Manage registered Azure clouds."}, + {Name: []string{"cognitiveservices"}, Description: "Manage Azure Cognitive Services accounts."}, + {Name: []string{"config"}, Description: "Manage Azure CLI configuration."}, + {Name: []string{"configure"}, Description: "Manage Azure CLI configuration. This command is interactive."}, + {Name: []string{"connection"}, Description: "Commands to manage Service Connector local connections which allow local environment to connect Azure Resource. If you want to manage connection for compute service, please run 'az webapp/containerapp/spring connection'."}, + {Name: []string{"consumption"}, Description: "Manage consumption of Azure resources."}, + {Name: []string{"container"}, Description: "Manage Azure Container Instances."}, + {Name: []string{"cosmosdb"}, Description: "Manage Azure Cosmos DB database accounts."}, + {Name: []string{"databoxedge"}, Description: "Support data box edge device and management."}, + {Name: []string{"deployment"}, Description: "Manage Azure Resource Manager template deployment at subscription scope."}, + {Name: []string{"deployment-scripts"}, Description: "Manage deployment scripts at subscription or resource group scope."}, + {Name: []string{"deploymentmanager"}, Description: "Create and manage rollouts for your service."}, + {Name: []string{"disk"}, Description: "Manage Azure Managed Disks."}, + {Name: []string{"disk-access"}, Description: "Manage disk access resources."}, + {Name: []string{"disk-encryption-set"}, Description: "Disk Encryption Set resource."}, + {Name: []string{"dla"}, Description: "Manage Data Lake Analytics accounts, jobs, and catalogs."}, + {Name: []string{"dls"}, Description: "Manage Data Lake Store accounts and filesystems."}, + {Name: []string{"dms"}, Description: "Manage Azure Data Migration Service (classic) instances."}, + {Name: []string{"eventgrid"}, Description: "Manage Azure Event Grid topics, domains, domain topics, system topics partner topics, event subscriptions, system topic event subscriptions and partner topic event subscriptions."}, + {Name: []string{"eventhubs"}, Description: "Manage Azure Event Hubs namespaces, eventhubs, consumergroups and geo recovery configurations - Alias."}, + {Name: []string{"extension"}, Description: "Manage and update CLI extensions."}, + {Name: []string{"feature"}, Description: "Manage resource provider features."}, + {Name: []string{"feedback"}, Description: "Send feedback to the Azure CLI Team."}, + {Name: []string{"find"}, Description: "I'm an AI robot, my advice is based on our Azure documentation as well as the usage patterns of Azure CLI and Azure ARM users. Using me improves Azure products and documentation."}, + {Name: []string{"functionapp"}, Description: "Manage function apps. To install the Azure Functions Core tools see https://github.com/Azure/azure-functions-core-tools."}, + {Name: []string{"group"}, Description: "Manage resource groups and template deployments."}, + {Name: []string{"hdinsight"}, Description: "Manage HDInsight resources."}, + {Name: []string{"identity"}, Description: "Managed Identities."}, + {Name: []string{"image"}, Description: "Manage custom virtual machine images."}, + {Name: []string{"interactive"}, Description: "Start interactive mode. Installs the Interactive extension if not installed already."}, + {Name: []string{"iot"}, Description: "Manage Internet of Things (IoT) assets."}, + {Name: []string{"keyvault"}, Description: "Manage KeyVault keys, secrets, and certificates.", + Subcommands: []model.Subcommand{ + {Name: []string{"backup"}, Description: "Manage full HSM backup."}, + {Name: []string{"certificate"}, Description: "Manage certificates."}, + {Name: []string{"key"}, Description: "Manage keys.", Subcommands: []model.Subcommand{ + {Name: []string{"backup"}, Description: "Request that a backup of the specified key be downloaded to the client."}, + {Name: []string{"create"}, Description: "Create a new key, stores it, then returns key parameters and attributes to the client."}, + {Name: []string{"decrypt"}, Description: "Decrypt a single block of encrypted data."}, + {Name: []string{"delete"}, Description: "Delete a key of any type from storage in Vault or HSM."}, + {Name: []string{"download"}, Description: "Download the public part of a stored key."}, + {Name: []string{"encrypt"}, Description: "Encrypt an arbitrary sequence of bytes using an encryption key that is stored in a Vault or HSM."}, + {Name: []string{"get-policy-template"}, Description: "Return policy template as JSON encoded policy definition."}, + {Name: []string{"import"}, Description: "Import a private key."}, + {Name: []string{"list"}, Description: "List keys in the specified Vault or HSM."}, + {Name: []string{"list-deleted"}, Description: "List the deleted keys in the specified Vault or HSM."}, + {Name: []string{"list-versions"}, Description: "Retrieves a list of individual key versions with the same key name."}, + {Name: []string{"purge"}, Description: "Permanently delete the specified key."}, + {Name: []string{"random"}, Description: "Get the requested number of random bytes from a managed HSM."}, + {Name: []string{"recover"}, Description: "Recover the deleted key to its latest version."}, + {Name: []string{"restore"}, Description: "Restore a backed up key to a Vault or HSM."}, + {Name: []string{"rotate"}, Description: "Rotate the key based on the key policy by generating a new version of the key."}, + {Name: []string{"set-attributes"}, Description: "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Vault or HSM."}, + {Name: []string{"show"}, Description: "Get a key's attributes and, if it's an asymmetric key, its public material.", Options: []model.Option{ + {Name: []string{"--id"}, Description: "Id of the key. If specified all other 'Id' arguments should be omitted."}, + {Name: []string{"--name", "-n"}, Description: "Name of the key. Required if --id is not specified", Args: []model.Arg{ + {Name: "key name"}, + }}, + {Name: []string{"--vault-name"}, Description: "Name of the Vault.", Args: []model.Arg{ + {Name: "vault name", Generator: azure.ListKeyVaultsGenerator}, + }}, + {Name: []string{"--version", "-v"}, Description: "The key version. If omitted, uses the latest version."}, + {Name: []string{"--hsm-name"}, Description: "Name of the HSM. (--hsm-name and --vault-name are mutually exclusive, please specify just one of them)"}, + {Name: []string{"--debug"}, Description: "Increase logging verbosity to show all debug logs.", IsPersistent: true}, + {Name: []string{"--help", "-h"}, Description: "Show this help message and exit.", IsPersistent: true}, + {Name: []string{"--only-show-errors"}, Description: "Only show errors, suppressing warnings.", IsPersistent: true}, + {Name: []string{"--output", "-o"}, Description: "Output format. Allowed values: json, jsonc, none, table, tsv, yaml, yamlc. Default json", IsPersistent: true, Args: []model.Arg{ + {Name: "output format", Description: "Allowed values: json, jsonc, none, table, tsv, yaml, yamlc. Default json", Suggestions: []model.Suggestion{ + {Name: []string{"json"}}, {Name: []string{"jsonc"}}, {Name: []string{"none"}}, {Name: []string{"table"}}, {Name: []string{"tsv"}}, {Name: []string{"yaml"}}, {Name: []string{"yamlc"}}, + }}, + }}, + {Name: []string{"--query"}, Description: "Increase logging verbosity to show all debug logs.", IsPersistent: true, Args: []model.Arg{ + {Name: "JMESPath query string", Description: "JMESPath query string. See http://jmespath.org/ for more information and examples"}, + }}, + {Name: []string{"--subscription"}, Description: "Increase logging verbosity to show all debug logs.", IsPersistent: true, Args: []model.Arg{ + {Name: "Name or ID of subscription"}, + }}, + {Name: []string{"--verbose"}, Description: "Increase logging verbosity to show all debug logs.", IsPersistent: true}, + }}, + {Name: []string{"show-deleted"}, Description: "Get the public part of a deleted key."}, + }}, + {Name: []string{"network-rule"}, Description: "Manage vault network ACLs."}, + {Name: []string{"private-endpoint-connection"}, Description: "Manage vault/HSM private endpoint connections."}, + {Name: []string{"private-link-resource"}, Description: "Manage vault/HSM private link resources."}, + {Name: []string{"restore"}, Description: "Manage full HSM restore."}, + {Name: []string{"role"}, Description: "Manage user roles for access control."}, + {Name: []string{"secret"}, Description: "Manage secrets."}, + {Name: []string{"security-domain"}, Description: "Manage security domain operations."}, + {Name: []string{"storage"}, Description: "Manage storage accounts."}, + {Name: []string{"check-name"}, Description: "Checks that the managed hsm name is valid and is not already in use."}, + {Name: []string{"create"}, Description: "Create a Vault or HSM."}, + {Name: []string{"delete"}, Description: "Delete a Vault or HSM."}, + {Name: []string{"delete-policy"}, Description: "Delete security policy settings for a Key Vault."}, + {Name: []string{"list"}, Description: "List Vaults and/or HSMs."}, + {Name: []string{"list-deleted"}, Description: "Get information about the deleted Vaults or HSMs in a subscription."}, + {Name: []string{"purge"}, Description: "Permanently delete the specified Vault or HSM. Aka Purges the deleted Vault or HSM."}, + {Name: []string{"recover"}, Description: "Recover a Vault or HSM."}, + {Name: []string{"set-policy"}, Description: "Update security policy settings for a Key Vault."}, + {Name: []string{"show"}, Description: "Show details of a Vault or HSM."}, + {Name: []string{"show-deleted"}, Description: "Show details of a deleted Vault or HSM."}, + {Name: []string{"update"}, Description: "Update the properties of a Vault."}, + {Name: []string{"update-hsm"}, Description: "Update the properties of a HSM."}, + {Name: []string{"wait"}, Description: "Place the CLI in a waiting state until a condition of the Vault is met."}, + {Name: []string{"wait-hsm"}, Description: "Place the CLI in a waiting state until a condition of the HSM is met."}, + }, + }, + {Name: []string{"kusto"}, Description: "Manage Azure Kusto resources."}, + {Name: []string{"lab"}, Description: "Manage Azure DevTest Labs."}, + {Name: []string{"lock"}, Description: "Manage Azure locks."}, + {Name: []string{"logicapp"}, Description: "Manage logic apps."}, + {Name: []string{"login"}, Description: "Log in to Azure."}, + {Name: []string{"logout"}, Description: "Log out to remove access to Azure subscriptions."}, + {Name: []string{"managed-cassandra"}, Description: "Azure Managed Cassandra."}, + {Name: []string{"managedapp"}, Description: "Manage template solutions provided and maintained by Independent Software Vendors (ISVs)."}, + {Name: []string{"managedservices"}, Description: "Manage the registration assignments and definitions in Azure."}, + {Name: []string{"maps"}, Description: "Manage Azure Maps."}, + {Name: []string{"mariadb"}, Description: "Manage Azure Database for MariaDB servers."}, + {Name: []string{"monitor"}, Description: "Manage the Azure Monitor Service."}, + {Name: []string{"mysql"}, Description: "Manage Azure Database for MySQL servers."}, + {Name: []string{"netappfiles"}, Description: "Manage Azure NetApp Files (ANF) Resources."}, + {Name: []string{"network"}, Description: "Manage Azure Network resources."}, + {Name: []string{"policy"}, Description: "Manage resource policies."}, + {Name: []string{"postgres"}, Description: "Manage Azure Database for PostgreSQL servers."}, + {Name: []string{"ppg"}, Description: "Manage Proximity Placement Groups."}, + {Name: []string{"private-link"}, Description: "Private-link association CLI command group."}, + {Name: []string{"provider"}, Description: "Manage resource providers."}, + {Name: []string{"redis"}, Description: "Manage dedicated Redis caches for your Azure applications."}, + {Name: []string{"relay"}, Description: "Manage Azure Relay Service namespaces, WCF relays, hybrid connections, and rules."}, + {Name: []string{"resource"}, Description: "Manage Azure resources."}, + {Name: []string{"resourcemanagement"}, Description: "Resourcemanagement CLI command group."}, + {Name: []string{"rest"}, Description: "Invoke a custom request."}, + {Name: []string{"restore-point"}, Description: "Manage restore point with res."}, + {Name: []string{"role"}, Description: "Manage user roles for access control with Azure Active Directory and service principals."}, + {Name: []string{"search"}, Description: "Manage Azure Search services, admin keys and query keys."}, + {Name: []string{"security"}, Description: "Manage your security posture with Microsoft Defender for Cloud."}, + {Name: []string{"servicebus"}, Description: "Manage Azure Service Bus namespaces, queues, topics, subscriptions, rules and geo-disaster recovery configuration alias."}, + {Name: []string{"sf"}, Description: "Manage and administer Azure Service Fabric clusters."}, + {Name: []string{"sig"}, Description: "Manage shared image gallery."}, + {Name: []string{"signalr"}, Description: "Manage Azure SignalR Service."}, + {Name: []string{"snapshot"}, Description: "Manage point-in-time copies of managed disks, native blobs, or other snapshots."}, + {Name: []string{"sql"}, Description: "Manage Azure SQL Databases and Data Warehouses."}, + {Name: []string{"sshkey"}, Description: "Manage ssh public key with vm."}, + {Name: []string{"staticwebapp"}, Description: "Manage static apps."}, + {Name: []string{"storage"}, Description: "Manage Azure Cloud Storage resources."}, + {Name: []string{"survey"}, Description: "Take Azure CLI survey."}, + {Name: []string{"synapse"}, Description: "Manage and operate Synapse Workspace, Spark Pool, SQL Pool."}, + {Name: []string{"tag"}, Description: "Tag Management on a resource."}, + {Name: []string{"term"}, Description: "Manage marketplace agreement with marketplaceordering."}, + {Name: []string{"ts"}, Description: "Manage template specs at subscription or resource group scope."}, + {Name: []string{"upgrade"}, Description: "Upgrade Azure CLI and extensions."}, + {Name: []string{"version"}, Description: "Show the versions of Azure CLI modules and extensions in JSON format by default or format configured by --output."}, + {Name: []string{"vm"}, Description: "Manage Linux or Windows virtual machines."}, + {Name: []string{"vmss"}, Description: "Manage groupings of virtual machines in an Azure Virtual Machine Scale Set (VMSS)."}, + {Name: []string{"webapp"}, Description: "Manage web apps."}, + }, + } +} diff --git a/autocomplete/specs/babel.go b/autocomplete/specs/babel.go new file mode 100644 index 0000000..eec967b --- /dev/null +++ b/autocomplete/specs/babel.go @@ -0,0 +1,203 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["babel"] = model.Subcommand{ + Name: []string{"babel"}, + Options: []model.Option{{ + Name: []string{"-f", "--filename"}, + Description: `The filename to use when reading from stdin. This will be used in source-maps, errors etc`, + Args: []model.Arg{{ + Name: "filename", + }}, + }, { + Name: []string{"--presets"}, + Description: `A comma-separated list of preset names`, + Args: []model.Arg{{ + Name: "list", + }}, + }, { + Name: []string{"--plugins"}, + Description: `A comma-separated list of plugin names`, + Args: []model.Arg{{ + Name: "list", + }}, + }, { + Name: []string{"--config-file"}, + Description: `Path to a .babelrc file to use`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"--env-name"}, + Description: `The name of the 'env' to use when loading configs and plugins. Defaults to the value of BABEL_ENV, or else NODE_ENV, or else 'development'`, + Args: []model.Arg{{ + Name: "env", + Suggestions: []model.Suggestion{{Name: []string{`production`}}, {Name: []string{`development`}}}, + }}, + }, { + Name: []string{"--root-mode"}, + Description: `The project-root resolution mode`, + Args: []model.Arg{{ + Name: "mode", + Suggestions: []model.Suggestion{{ + Name: []string{`root`}, + Description: `Passes the "root" value through as unchanged`, + }, { + Name: []string{`upward`}, + Description: `Walks upward from the "root" directory, looking for a directory containing a babel.config.json file, and throws an error if a babel.config.json is not found`, + }, { + Name: []string{`upward-optional`}, + Description: `Walk upward from the "root" directory, looking for a directory containing a babel.config.json file, and falls back to "root" if a babel.config.json is not found`, + }}, + }}, + }, { + Name: []string{"--source-type"}, + Args: []model.Arg{{ + Name: "type", + Suggestions: []model.Suggestion{{Name: []string{`script`}}, {Name: []string{`module`}}}, + }}, + }, { + Name: []string{"--no-babelrc"}, + Description: `Whether or not to look up .babelrc and .babelignore files`, + }, { + Name: []string{"--ignore"}, + Description: `List of glob paths to **not** compile`, + Args: []model.Arg{{ + Name: "list", + }}, + }, { + Name: []string{"--only"}, + Description: `List of glob paths to **only** compile`, + Args: []model.Arg{{ + Name: "list", + }}, + }, { + Name: []string{"--no-highlight-code"}, + Description: `Enable or disable ANSI syntax highlighting of code frames`, + }, { + Name: []string{"--no-comments"}, + Description: `Write comments to generated output`, + }, { + Name: []string{"--retain-lines"}, + Description: `Retain line numbers. This will result in really ugly code`, + }, { + Name: []string{"--compact"}, + Description: `Do not include superfluous whitespace characters and line terminators`, + Args: []model.Arg{{ + Name: "mode", + Suggestions: []model.Suggestion{{Name: []string{`true`}}, {Name: []string{`false`}}, {Name: []string{`auto`}}}, + }}, + }, { + Name: []string{"--minified"}, + Description: `Save as many bytes when printing. (false by default)`, + }, { + Name: []string{"--auxiliary-comment-before"}, + Description: `Print a comment before any injected non-user code`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"--auxiliary-comment-after"}, + Description: `Print a comment after any injected non-user code`, + Args: []model.Arg{{ + Name: "comment", + }}, + }, { + Name: []string{"-s", "--source-maps"}, + Args: []model.Arg{{ + Name: "mode", + Suggestions: []model.Suggestion{{Name: []string{`true`}}, {Name: []string{`false`}}, {Name: []string{`inline`}}, {Name: []string{`both`}}}, + }}, + }, { + Name: []string{"--source-map-target"}, + Description: `Set "file" on returned source map`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--source-file-name"}, + Description: `Set "sources[0]" on returned source map`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--source-root"}, + Description: `The root from which all sources are relative`, + Args: []model.Arg{{ + Name: "filename", + }}, + }, { + Name: []string{"-x", "--extensions"}, + Description: `Comma separated list of extensions to compile when a directory has been the input. [js,ts,jsx,tsx]`, + Args: []model.Arg{{ + Name: "extensions", + }}, + }, { + Name: []string{"--keep-file-extension"}, + Description: `Preserve the file extensions of the input files`, + }, { + Name: []string{"-w", "--watch"}, + Description: `Recompile files on changes`, + }, { + Name: []string{"--skip-initial-build"}, + Description: `Do not compile files before watching`, + }, { + Name: []string{"-o", "--out-file"}, + Description: `Compile all input files into a single file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"-d", "--out-dir"}, + Description: `Compile an input directory of modules into an output directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"--relative"}, + Description: `Compile into an output directory relative to input directory or file`, + }, { + Name: []string{"-D", "--copy-files"}, + Description: `When compiling a directory copy over non-compilable files`, + }, { + Name: []string{"--include-dotfiles"}, + Description: `Include dotfiles when compiling and copying non-compilable files`, + }, { + Name: []string{"--no-copy-ignored"}, + Description: `Exclude ignored files when copying non-compilable files`, + }, { + Name: []string{"--verbose"}, + Description: `Log everything. This option conflicts with --quiet`, + ExclusiveOn: []string{"--quiet"}, + }, { + Name: []string{"--quiet"}, + Description: `Don't log anything. This option conflicts with --verbose`, + ExclusiveOn: []string{"--verbose"}, + }, { + Name: []string{"--delete-dir-on-start"}, + Description: `Delete the out directory before compilation`, + }, { + Name: []string{"--out-file-extension"}, + Description: `Use a specific extension for the output files`, + Args: []model.Arg{{ + Name: "extension", + Suggestions: []model.Suggestion{{Name: []string{`.es6`}}, {Name: []string{`.js`}}, {Name: []string{`.es`}}, {Name: []string{`.jsx`}}, {Name: []string{`.mjs`}}}, + }}, + }, { + Name: []string{"-V", "--version"}, + Description: `Output the version number`, + }, { + Name: []string{"-h", "--help"}, + Description: `Output usage information`, + }}, + } +} diff --git a/autocomplete/specs/banner.go b/autocomplete/specs/banner.go new file mode 100644 index 0000000..5f530bb --- /dev/null +++ b/autocomplete/specs/banner.go @@ -0,0 +1,27 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["banner"] = model.Subcommand{ + Name: []string{"banner"}, + Description: `Prints a large, high quality banner on the standard output`, + Args: []model.Arg{{ + Name: "text", + }}, + Options: []model.Option{{ + Name: []string{"-t"}, + Description: `Enable trace`, + }, { + Name: []string{"-d"}, + Description: `Enable debug`, + }, { + Name: []string{"-w"}, + Description: `Change the output from a width of 132 to width, suitable for a narrow terminal`, + }}, + } +} diff --git a/autocomplete/specs/base32.go b/autocomplete/specs/base32.go new file mode 100644 index 0000000..53b8da0 --- /dev/null +++ b/autocomplete/specs/base32.go @@ -0,0 +1,39 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["base32"] = model.Subcommand{ + Name: []string{"base32"}, + Description: `Base32 encode/decode data and print to standard output`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "FILE", + Description: `File to base32 encode/decode`, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Display this help and exit`, + }, { + Name: []string{"--decode", "-d"}, + Description: `Decode data`, + }, { + Name: []string{"--ignore-garbage", "-i"}, + Description: `When decoding, ignore non-alphabet characters`, + }, { + Name: []string{"--wrap", "-w"}, + Description: `Wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping`, + Args: []model.Arg{{ + Name: "COLS", + Suggestions: []model.Suggestion{{Name: []string{`76`}}, {Name: []string{`78`}}, {Name: []string{`80`}}, {Name: []string{`100`}}, {Name: []string{`120`}}, {Name: []string{`160`}}, {Name: []string{`0`}}}, + }}, + }, { + Name: []string{"--version"}, + Description: `Output version information and exit`, + }}, + } +} diff --git a/autocomplete/specs/base64.go b/autocomplete/specs/base64.go new file mode 100644 index 0000000..3a2d165 --- /dev/null +++ b/autocomplete/specs/base64.go @@ -0,0 +1,44 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["base64"] = model.Subcommand{ + Name: []string{"base64"}, + Description: `Encode and decode using Base64 representation`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Display this help and exit`, + }, { + Name: []string{"--break", "-b"}, + Description: `Insert line breaks every count characters. Default is 0, which generates an unbroken stream`, + Args: []model.Arg{{ + Name: "count", + Suggestions: []model.Suggestion{{Name: []string{`0`}}}, + }}, + }, { + Name: []string{"--decode", "-d", "-D"}, + Description: `Decode incoming Base64 stream into binary data`, + }, { + Name: []string{"--input", "-i"}, + Description: `Read input from input_file. Default is stdin; passing - also represents stdin`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "input_file", + Suggestions: []model.Suggestion{{Name: []string{`stdin`}}, {Name: []string{`-`}}}, + }}, + }, { + Name: []string{"--output", "-o"}, + Description: `Write output to output_file. Default is stdout; passing - also represents stdout`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "output_file", + Suggestions: []model.Suggestion{{Name: []string{`stdout`}}, {Name: []string{`-`}}}, + }}, + }}, + } +} diff --git a/autocomplete/specs/basename.go b/autocomplete/specs/basename.go new file mode 100644 index 0000000..64a530c --- /dev/null +++ b/autocomplete/specs/basename.go @@ -0,0 +1,30 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["basename"] = model.Subcommand{ + Name: []string{"basename"}, + Description: `Return filename portion of pathname`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "string", + Description: `String to operate on (typically filenames)`, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-a"}, + Description: `Treat every argument as a string`, + }, { + Name: []string{"-s"}, + Description: `Suffix to remove from string`, + Args: []model.Arg{{ + Name: "suffix", + }}, + }}, + } +} diff --git a/autocomplete/specs/basenc.go b/autocomplete/specs/basenc.go new file mode 100644 index 0000000..8de0111 --- /dev/null +++ b/autocomplete/specs/basenc.go @@ -0,0 +1,63 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["basenc"] = model.Subcommand{ + Name: []string{"basenc"}, + Description: `Encode/decode data and print to standard output`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "FILE", + Description: `File(s) to encode/decode`, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Display this help and exit`, + }, { + Name: []string{"--base64"}, + Description: `Same as 'base64' program (RFC4648 section 4)`, + }, { + Name: []string{"--base64url"}, + Description: `File- and url-safe base64 (RFC4648 section 5)`, + }, { + Name: []string{"--base32"}, + Description: `Same as 'base32' program (RFC4648 section 6)`, + }, { + Name: []string{"--base32hex"}, + Description: `Extended hex alphabet base32 (RFC4648 section 7)`, + }, { + Name: []string{"--base16"}, + Description: `Hex encoding (RFC4648 section 8)`, + }, { + Name: []string{"--base2msbf"}, + Description: `Bit string with most significant bit (msb) first`, + }, { + Name: []string{"--base2lsbf"}, + Description: `Bit string with least significant bit (lsb) first`, + }, { + Name: []string{"--decode", "-d"}, + Description: `Decode data`, + }, { + Name: []string{"--ignore-garbage", "-i"}, + Description: `When decoding, ignore non-alphabet characters`, + }, { + Name: []string{"--wrap", "-w"}, + Description: `Wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping`, + Args: []model.Arg{{ + Name: "COLS", + Suggestions: []model.Suggestion{{Name: []string{`76`}}, {Name: []string{`78`}}, {Name: []string{`80`}}, {Name: []string{`100`}}, {Name: []string{`120`}}, {Name: []string{`160`}}, {Name: []string{`0`}}}, + }}, + }, { + Name: []string{"--z85"}, + Description: `Ascii85-like encoding (ZeroMQ spec:32/Z85); when encoding, input length must be a multiple of 4; when decoding, input length must be a multiple of 5`, + }, { + Name: []string{"--version"}, + Description: `Output version information and exit`, + }}, + } +} diff --git a/autocomplete/specs/bat.go b/autocomplete/specs/bat.go new file mode 100644 index 0000000..0bd6eaa --- /dev/null +++ b/autocomplete/specs/bat.go @@ -0,0 +1,172 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bat"] = model.Subcommand{ + Name: []string{"bat"}, + Description: `A cat(1) clone with syntax highlighting and Git integration`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Description: `File(s)`, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-A", "--show-all"}, + Description: `Show non-printable characters`, + }, { + Name: []string{"-p", "--plain"}, + Description: `Show plain style, no decorations`, + }, { + Name: []string{"-l", "--language"}, + Description: `Explicitly set the language for syntax highlighting`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"-H", "--highlight-line"}, + Description: `Highlight the specified line ranges`, + Args: []model.Arg{{ + Name: " ", + Description: `Range of line`, + }}, + }, { + Name: []string{"--file-name"}, + Description: `Specify the name to display for a file. Useful when piping data to bat from STDIN when bat does not otherwise know the filename`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Description: `File(s)`, + IsVariadic: true, + }}, + }, { + Name: []string{"-d", "--diff"}, + Description: `Show lines that have been added/removed/modified with respect to the Git index`, + }, { + Name: []string{"--diff-context"}, + Description: `Include N lines of context around added/removed/modified lines when using '--diff'`, + Args: []model.Arg{{ + Name: " ", + Description: `Lines of context`, + }}, + }, { + Name: []string{"--tabs"}, + Description: `Set the tab width to T spaces. Use a width of 0 to pass tabs through directly`, + Args: []model.Arg{{ + Name: " ", + Description: `Spaces of tab width`, + }}, + }, { + Name: []string{"--wrap"}, + Description: `Specify when to use colored output`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--terminal-width"}, + Description: `Explicitly set the width of the terminal instead of determining it automatically`, + Args: []model.Arg{{ + Name: " ", + Description: `Width to wrap`, + }}, + }, { + Name: []string{"-n", "--number"}, + Description: `Show line numbers, no other decorations`, + }, { + Name: []string{"--color"}, + Description: `Specify when to use colored output`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--italic-text"}, + Description: `Specify when to use ANSI sequences for italic text in the output`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--decorations"}, + Description: `Specify when to use the decorations that have been specified via '--style'`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"-f", "--force-colorization"}, + Description: `Alias for '--decorations=always --color=always'`, + }, { + Name: []string{"--paging"}, + Description: `Specify when to use the pager`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--pager"}, + Description: `Determine which pager is used`, + Args: []model.Arg{{ + Name: "", + Description: `Command to pager`, + }}, + }, { + Name: []string{"-m", "--map-syntax"}, + Description: `Map a glob pattern to an existing syntax name`, + Args: []model.Arg{{ + Name: "", + Description: `Full path or the filename:language that highlighted`, + }}, + }, { + Name: []string{"--ignored-suffix"}, + Description: `Ignore extension`, + Args: []model.Arg{{ + Name: "", + Description: `Extension`, + }}, + }, { + Name: []string{"--theme"}, + Description: `Set the theme for syntax highlighting`, + Args: []model.Arg{{ + Name: "", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--list-themes"}, + Description: `Display a list of supported themes for syntax highlighting`, + }, { + Name: []string{"--style"}, + Description: `Display a list of supported themes for syntax highlighting`, + }, { + Name: []string{"-r", "--line-range"}, + Description: `Only print the specified range of lines for each file`, + Args: []model.Arg{{ + Name: " ", + Description: `Range of line`, + }}, + }, { + Name: []string{"-L", "--list-languages"}, + Description: `Display a list of supported languages for syntax highlighting`, + }, { + Name: []string{"-u", "--unbuffered"}, + Description: `Make output unbuffered (exists for POSIX-compliance reasons and is simply ignored)`, + }, { + Name: []string{"--diagnostic"}, + Description: `Show diagnostic information for bug reports`, + }, { + Name: []string{"--acknowledgements"}, + Description: `Show acknowledgements`, + }, { + Name: []string{"-h", "--help"}, + Description: `Print help message`, + }, { + Name: []string{"-V", "--version"}, + Description: `Show version information`, + }}, + } +} diff --git a/autocomplete/specs/bazel.go b/autocomplete/specs/bazel.go new file mode 100644 index 0000000..5d50174 --- /dev/null +++ b/autocomplete/specs/bazel.go @@ -0,0 +1,231 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bazel"] = model.Subcommand{ + Name: []string{"bazel"}, + Description: `Bazel the build system!`, + Options: []model.Option{{ + Name: []string{"--autodetect_server_javabase"}, + Description: `Back to the local JDK for running the bazel server and instead exits`, + ExclusiveOn: []string{"--noautodetect_server_javabase"}, + }, { + Name: []string{"--noautodetect_server_javabase"}, + Description: `Does not fall back to the local JDK for running the bazel server and instead exits`, + ExclusiveOn: []string{"autodetect_server_javabase"}, + }, { + Name: []string{"--batch"}, + Description: `Run as just a client process without a server`, + ExclusiveOn: []string{"--nobatch"}, + }, { + Name: []string{"--nobatch"}, + Description: `Run with a server`, + ExclusiveOn: []string{"--batch"}, + }, { + Name: []string{"--batch_cpu_scheduling"}, + Description: `Only on Linux; use 'batch' CPU scheduling for Bazel`, + ExclusiveOn: []string{"--nobatch_cpu_scheduling"}, + }, { + Name: []string{"--nobatch_cpu_scheduling"}, + Description: `Only on Linux; Bazel does not perform a system call`, + ExclusiveOn: []string{"--batch_cpu_scheduling"}, + }, { + Name: []string{"--bazelrc"}, + Description: `The location of the user .bazelrc file containing default values of Bazel options`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "bazelrc path", + }}, + }, { + Name: []string{"--block_for_lock"}, + Description: `Wait for a running command to complete`, + ExclusiveOn: []string{"--noblock_for_lock"}, + }, { + Name: []string{"--noblock_for_lock"}, + Description: `Bazel does not wait for a running command to complete, but instead exits immediately`, + ExclusiveOn: []string{"--block_for_lock"}, + }, { + Name: []string{"--client_debug"}, + Description: `Log debug information from the client to stderr. Changing this option will not cause the server to restart`, + ExclusiveOn: []string{"--noclient_debug"}, + }, { + Name: []string{"--noclient_debug"}, + Description: `Don't log debug information from the client to stderr`, + ExclusiveOn: []string{"--client_debug"}, + }, { + Name: []string{"--connect_timeout_secs"}, + Description: `The amount of time the client waits for each attempt to connect to the server`, + Args: []model.Arg{{ + Name: "time", + }}, + }, { + Name: []string{"--expand_configs_in_place"}, + Description: `Changed the expansion of --config flags to be done in-place`, + ExclusiveOn: []string{"--noexpand_configs_in_place"}, + }, { + Name: []string{"--noexpand_configs_in_place"}, + Description: `--config flags in a fixed point expansion between normal rc options and command-line specified options`, + ExclusiveOn: []string{"--expand_configs_in_place"}, + }, { + Name: []string{"--failure_detail_out"}, + Description: `Specifies a location to write a failure_detail protobuf message if the server experiences a failure and cannot report it via gRPC, as normal. Otherwise, the location will be ${OUTPUT_BASE}/failure_detail.rawproto`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"--home_rc"}, + Description: `Look for the home bazelrc file at $HOME/.bazelrc`, + ExclusiveOn: []string{"--nohome_rc"}, + }, { + Name: []string{"--nohome_rc"}, + Description: `Don't look for the home bazelrc file at $HOME/.bazelrc`, + ExclusiveOn: []string{"--home_rc"}, + }, { + Name: []string{"--idle_server_tasks"}, + Description: `Run System.gc() when the server is idle`, + ExclusiveOn: []string{"--noidle_server_tasks"}, + }, { + Name: []string{"--noidle_server_tasks"}, + Description: `Don't run System.gc() when the server is idle`, + ExclusiveOn: []string{"--idle_server_tasks"}, + }, { + Name: []string{"--ignore_all_rc_files"}, + Description: `Disables all rc files, regardless of the values of other rc-modifying flags, even if these flags come later in the list of startup options`, + ExclusiveOn: []string{"--noignore_all_rc_files"}, + }, { + Name: []string{"--noignore_all_rc_files"}, + Description: `Enables all rc files`, + ExclusiveOn: []string{"--ignore_all_rc_files"}, + }, { + Name: []string{"--io_nice_level"}, + Description: `Only on Linux; set a level from 0-7 for best-effort IO scheduling using the sys_ioprio_set system call. 0 is highest priority, 7 is lowest`, + Args: []model.Arg{{ + Name: "io-level", + Suggestions: []model.Suggestion{{Name: []string{`0`}}, {Name: []string{`1`}}, {Name: []string{`2`}}, {Name: []string{`3`}}, {Name: []string{`4`}}, {Name: []string{`5`}}, {Name: []string{`6`}}, {Name: []string{`7`}}}, + }}, + }, { + Name: []string{"--local_startup_timeout_secs"}, + Description: `The maximum amount of time the client waits to connect to the server`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"--macos_qos_class"}, + Description: `Sets the QoS service class of the bazel server when running on macOS`, + Args: []model.Arg{{ + Name: "QoS service class", + }}, + }, { + Name: []string{"--max_idle_secs"}, + Description: `The number of seconds the build server will wait idling before shutting down`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"--output_base"}, + Description: `Specifies the output location to which all build output will be written`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Path", + }}, + }, { + Name: []string{"--output_base_root"}, + Description: `The user-specific directory beneath which all build outputs are written`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Path", + }}, + }, { + Name: []string{"--preemptible"}, + Description: `If true, the command can be preempted if another command is started`, + ExclusiveOn: []string{"--nopreemptible"}, + }, { + Name: []string{"--nopreemptible"}, + Description: `If true, the command can be preempted if another command is started`, + ExclusiveOn: []string{"--preemptible"}, + }, { + Name: []string{"--server_jvm_out"}, + Description: `The location to write the server's JVM's output`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Path", + }}, + }, { + Name: []string{"--shutdown_on_low_sys_mem"}, + Description: `Linux only. If max_idle_secs is set and the build server has been idle for a while, shut down the server when the system is low on free RAM`, + ExclusiveOn: []string{"--noshutdown_on_low_sys_mem"}, + }, { + Name: []string{"--noshutdown_on_low_sys_mem"}, + Description: `Linux only. Don't shut down the server when the system is low on free RAM`, + ExclusiveOn: []string{"--shutdown_on_low_sys_mem"}, + }, { + Name: []string{"--system_rc"}, + Description: `Look for the system-wide bazelrc`, + ExclusiveOn: []string{"--nosystem_rc"}, + }, { + Name: []string{"--nosystem_rc"}, + Description: `Don't look for the system-wide bazelrc`, + ExclusiveOn: []string{"--system_rc"}, + }, { + Name: []string{"--unlimit_coredumps"}, + Description: `Raises the soft coredump limit to the hard limit to make coredumps of the server (including the JVM) and the client possible under common conditions`, + ExclusiveOn: []string{"--nounlimit_coredumps"}, + }, { + Name: []string{"--nounlimit_coredumps"}, + Description: `Don't raise the soft coredump limit to the hard limit to make coredumps of the server (including the JVM) and the client possible under common conditions`, + ExclusiveOn: []string{"--unlimit_coredumps"}, + }, { + Name: []string{"--watchfs"}, + Description: `Use the operating system's file watch service for local changes instead of scanning every file for a change`, + ExclusiveOn: []string{"--nowatchfs"}, + }, { + Name: []string{"--nowatchfs"}, + Description: `Scan every file for a change`, + ExclusiveOn: []string{"--watchfs"}, + }, { + Name: []string{"--windows_enable_symlinks"}, + Description: `Real symbolic links will be created on Windows instead of file copying`, + ExclusiveOn: []string{"--nowindows_enable_symlinks"}, + }, { + Name: []string{"--nowindows_enable_symlinks"}, + Description: `Real symbolic links will be created via file copying`, + ExclusiveOn: []string{"--windows_enable_symlinks"}, + }, { + Name: []string{"--workspace_rc"}, + Description: `Look for the workspace bazelrc file at $workspace/.bazelrc`, + ExclusiveOn: []string{"--noworkspace_rc"}, + }, { + Name: []string{"--noworkspace_rc"}, + Description: `Don't look for the workspace bazelrc file at $workspace/.bazelrc`, + ExclusiveOn: []string{"--workspace_rc"}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"run"}, + Description: `Runs the specified target`, + Args: []model.Arg{{ + Name: "BUILD file", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"test"}, + Description: `Builds and runs the specified test targets`, + Args: []model.Arg{{ + Name: "BUILD file", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"build"}, + Description: `Builds the specified targets`, + Args: []model.Arg{{ + Name: "BUILD file", + Generator: nil, // TODO: port over generator + }}, + }}, + } +} diff --git a/autocomplete/specs/bc.go b/autocomplete/specs/bc.go new file mode 100644 index 0000000..e164103 --- /dev/null +++ b/autocomplete/specs/bc.go @@ -0,0 +1,42 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bc"] = model.Subcommand{ + Name: []string{"bc"}, + Description: `An arbitrary precision calculator language`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Print the usage and exit`, + }, { + Name: []string{"--interactive", "-i"}, + Description: `Force interactive mode`, + }, { + Name: []string{"--mathlib", "-l"}, + Description: `Define the standard math library`, + }, { + Name: []string{"--warn", "-w"}, + Description: `Give warnings for extensions to POSIX bc`, + }, { + Name: []string{"--standard", "-s"}, + Description: `Process exactly the POSIX bc language`, + }, { + Name: []string{"--quiet", "-q"}, + Description: `Do not print the normal GNU bc welcome`, + }, { + Name: []string{"--version", "-v"}, + Description: `Print the version number and copyright and quit`, + }}, + } +} diff --git a/autocomplete/specs/bcd.go b/autocomplete/specs/bcd.go new file mode 100644 index 0000000..bf50219 --- /dev/null +++ b/autocomplete/specs/bcd.go @@ -0,0 +1,45 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bcd"] = model.Subcommand{ + Name: []string{"bcd"}, + Description: `Bookmark directories and move to them`, + Args: []model.Arg{{ + Name: "bookmark", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-s", "--store"}, + Description: `Store the current directory as a bookmark`, + Args: []model.Arg{{ + Name: "store", + IsOptional: true, + }}, + }, { + Name: []string{"-r", "--remove"}, + Description: `Remove a specified bookmark`, + Args: []model.Arg{{ + Name: "remove", + IsOptional: true, + }}, + }, { + Name: []string{"-i", "--install"}, + Description: `Setup the the shell init script`, + }, { + Name: []string{"-l", "--list"}, + Description: `List the stored bookmarks`, + }, { + Name: []string{"-V", "--version"}, + Description: `Print version information`, + }, { + Name: []string{"-h", "--help"}, + Description: `Print help information`, + }}, + } +} diff --git a/autocomplete/specs/black.go b/autocomplete/specs/black.go new file mode 100644 index 0000000..17e673d --- /dev/null +++ b/autocomplete/specs/black.go @@ -0,0 +1,146 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["black"] = model.Subcommand{ + Name: []string{"black"}, + Description: `Python code formatter`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file or directory", + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--code", "-c"}, + Description: `Format the code passed in as a string`, + Args: []model.Arg{{ + Name: "string", + }}, + }, { + Name: []string{"--line-length", "-l"}, + Description: `How many characters per line to allow`, + Args: []model.Arg{{ + Name: "line length", + }}, + }, { + Name: []string{"--target-version", "-t"}, + Description: `Python versions that should be supported`, + Args: []model.Arg{{ + Name: "python version", + Suggestions: []model.Suggestion{{Name: []string{`py33`}}, {Name: []string{`py34`}}, {Name: []string{`py35`}}, {Name: []string{`py36`}}, {Name: []string{`py37`}}, {Name: []string{`py38`}}, {Name: []string{`py39`}}, {Name: []string{`py310`}}}, + }}, + }, { + Name: []string{"--pyi"}, + Description: `Format all input files regardless of file extension`, + }, { + Name: []string{"--ipynb"}, + Description: `Format all input files like Jupyter Notebooks regardless of file extension`, + }, { + Name: []string{"--python-cell-magics"}, + Description: `Add the given magic to the list of known python-magics`, + Args: []model.Arg{{ + Name: "python-magic", + Suggestions: []model.Suggestion{{Name: []string{`python`}}, {Name: []string{`python3`}}, {Name: []string{`timeit`}}, {Name: []string{`prun`}}, {Name: []string{`time`}}, {Name: []string{`pypy`}}, {Name: []string{`capture`}}}, + }}, + }, { + Name: []string{"--skip-string-normalization", "-S"}, + Description: `Don't normalize string quotes or prefixes`, + }, { + Name: []string{"--skip-magic-trailing-comma", "-C"}, + Description: `Don't use trailing commas as a reason to split lines`, + }, { + Name: []string{"--preview"}, + Description: `Enable potentially disruptive style changes`, + }, { + Name: []string{"--check"}, + Description: `Don't write the files back, just return the status`, + }, { + Name: []string{"--diff"}, + Description: `Don't write the files back, just output a diff for each file on stdout`, + }, { + Name: []string{"--color"}, + Description: `Show colored diff`, + ExclusiveOn: []string{"--no-color"}, + }, { + Name: []string{"--no-color"}, + Description: `Show uncolored diff`, + ExclusiveOn: []string{"--color"}, + }, { + Name: []string{"--fast"}, + Description: `Skip temporary sanity checks`, + ExclusiveOn: []string{"--safe"}, + }, { + Name: []string{"--safe"}, + Description: `Run temporary sanity checks`, + ExclusiveOn: []string{"--fast"}, + }, { + Name: []string{"--required-version"}, + Description: `Require a specific version of Black`, + Args: []model.Arg{{ + Name: "version", + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--include"}, + Description: `Regex that matches files and directories that should be included on recursive searches`, + Args: []model.Arg{{ + Name: "Regex", + }}, + }, { + Name: []string{"--exclude"}, + Description: `Regex that matches files and directories that should be excluded on recursive searches`, + Args: []model.Arg{{ + Name: "Regex", + }}, + }, { + Name: []string{"--extend-exclude"}, + Description: `Additional exlusions`, + Args: []model.Arg{{ + Name: "Regex", + }}, + }, { + Name: []string{"--force-exclude"}, + Description: `Exlude matching files and folders even when passed explicitly`, + Args: []model.Arg{{ + Name: "Regex", + }}, + }, { + Name: []string{"--stdin-filename"}, + Description: `The name of the file when passing it through stdin`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--workers", "-W"}, + Description: `Number of parallel workers`, + Args: []model.Arg{{ + Name: "integer", + }}, + }, { + Name: []string{"--quiet", "-q"}, + Description: `Don't emit non-error messages to stderr`, + }, { + Name: []string{"--verbose", "-v"}, + Description: `Also emit messages about files that were not changed or were ignored due to exclusion patterns`, + }, { + Name: []string{"--version"}, + Description: `Show the version`, + }, { + Name: []string{"--config"}, + Description: `Read configuration from filepath`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--help", "-h"}, + Description: `Show usage information`, + }}, + } +} diff --git a/autocomplete/specs/blitz.go b/autocomplete/specs/blitz.go new file mode 100644 index 0000000..de0d97b --- /dev/null +++ b/autocomplete/specs/blitz.go @@ -0,0 +1,641 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["blitz"] = model.Subcommand{ + Name: []string{"blitz"}, + Description: `Blitz.js CLI is your single access point for interacting with your app, from database management to code generation`, + Subcommands: []model.Subcommand{{ + Name: []string{"build", "b"}, + Description: `Creates a production build`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"codegen", "cg"}, + Description: `Generates Routes Manifest`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"console", "c"}, + Description: `Run the Blitz console REPL`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"db"}, + Description: `Run database commands`, + Args: []model.Arg{{ + Name: "command", + Description: `Run specific db command`, + Suggestions: []model.Suggestion{{ + Name: []string{`seed`}, + Description: `Generates seeded data in database via Prisma 2. You need db/seeds.ts or db/seeds/index.ts`, + }}, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"dev", "d"}, + Description: `Start a development server`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }, { + Name: []string{"-p", "--port"}, + Description: `Set port number`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-H", "--hostname"}, + Description: `Set server hostname`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--inspect"}, + Description: `Enable the Node.js inspector`, + }, { + Name: []string{"--no-incremental-build"}, + Description: `Disable incremental build and start from a fresh cache`, + }}, + }, { + Name: []string{"export", "e"}, + Description: `Exports a static page`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }, { + Name: []string{"-o", "--outdir"}, + Description: `Set the output dir (defaults to 'out')`, + Args: []model.Arg{{ + Name: "outdir", + }}, + }}, + }, { + Name: []string{"generate", "g"}, + Description: `Generate new files for your Blitz project`, + Args: []model.Arg{{ + Name: "type", + Description: `What files to generate`, + Suggestions: []model.Suggestion{{ + Name: []string{`all`}, + }, { + Name: []string{`crud`}, + }, { + Name: []string{`model`}, + }, { + Name: []string{`pages`}, + }, { + Name: []string{`queries`}, + }, { + Name: []string{`query`}, + }, { + Name: []string{`mutations`}, + }, { + Name: []string{`mutation`}, + }, { + Name: []string{`resource`}, + }}, + }, { + Name: "model", + Description: `The name of your model, like "user". Can be singular or plural - same result`, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }, { + Name: []string{"-c", "--context"}, + Description: `Provide a context folder within which we'll place the generated files for better code organization. You can also supply this in the name of the model to be generated (e.g. "blitz generate query admin/projects"). Combining the "--context" flags and supplying context via the model name in the same command is not supported`, + Args: []model.Arg{{ + Name: "context", + }}, + }, { + Name: []string{"-p", "--parent"}, + Description: `Specify a parent model to be used for generating nested routes for dependent data when generating pages, or to create hierarchical validation in queries and mutations. The code will be generated with the nested data model in mind. Most often this should be used in conjunction with 'blitz generate all'`, + Args: []model.Arg{{ + Name: "parent", + }}, + }, { + Name: []string{"-d", "--dry-run"}, + Description: `Show what files will be created without writing them to disk`, + }}, + }, { + Name: []string{"help", "h"}, + Description: `Display help for <%= config.bin %>`, + Args: []model.Arg{{ + Name: "command", + Description: `Command to show help for`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `See all commands in CLI`, + }}, + }, { + Name: []string{"install", "i"}, + Description: `Install a Recipe into your Blitz app`, + Args: []model.Arg{{ + Name: "recipe", + Description: `Name of a Blitz recipe from @blitzjs/blitz/recipes, or a file path to a local recipe definition`, + }, { + Name: "recipe-flags", + Description: `A list of flags to pass to the recipe. Blitz will only parse these in the form key=value`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"new"}, + Description: `Create a new Blitz project`, + Args: []model.Arg{{ + Name: "name", + Description: `Name of your new project`, + }}, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }, { + Name: []string{"--npm"}, + Description: `Use npm as the package manager`, + }, { + Name: []string{"--yarn"}, + Description: `Use yarn as the package manager`, + }, { + Name: []string{"--form"}, + Description: `A form library`, + Args: []model.Arg{{ + Name: "form", + Suggestions: []model.Suggestion{{Name: []string{`react-final-form`}}, {Name: []string{`react-hook-form`}}, {Name: []string{`formik`}}}, + }}, + }, { + Name: []string{"-d", "--dry-run"}, + Description: `Show what files will be created without writing them to disk`, + }, { + Name: []string{"--no-git"}, + Description: `Skip git repository creation`, + }, { + Name: []string{"--skip-upgrade"}, + Description: `Skip blitz upgrade if outdated`, + }}, + }, { + Name: []string{"prisma", "p"}, + Description: `Loads env variables then proxies all args to Prisma CLI`, + Subcommands: []model.Subcommand{{ + Name: []string{"init"}, + Description: `Setup Prisma for your app`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--datasource-provider"}, + Description: `Define the datasource provider to use`, + Args: []model.Arg{{ + Description: `Choose provider`, + Suggestions: []model.Suggestion{{Name: []string{`PostgreSQL`}}, {Name: []string{`MySQL`}}, {Name: []string{`SQLite`}}, {Name: []string{`SQLServer`}}, {Name: []string{`MongoDB`}}, {Name: []string{`CockroachDB`}}}, + }}, + }, { + Name: []string{"--url"}, + Description: `Define a custom datasource url`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }}, + }, { + Name: []string{"generate"}, + Description: `Generate artifacts (e.g. Prisma Client)`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--data-proxy"}, + Description: `Enable the Data Proxy in the Prisma Client`, + }, { + Name: []string{"--watch"}, + Description: `Watch the Prisma schema and rerun after a change`, + }}, + }, { + Name: []string{"studio"}, + Description: `Open Prisma Studio`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"-p", "--port"}, + Description: `Port to start Studio on`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-b", "--browser"}, + Description: `Browser to open Studio in`, + Args: []model.Arg{{ + Name: "Browser choice", + Suggestions: []model.Suggestion{{Name: []string{`firefox`}}, {Name: []string{`chrome`}}, {Name: []string{`safari`}}, {Name: []string{`none`}}}, + }}, + }, { + Name: []string{"-n", "--hostname"}, + Description: `Hostname to bind the Express server to`, + Args: []model.Arg{{ + Name: "port", + }}, + }}, + }, { + Name: []string{"format"}, + Description: `Format your schema`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }}, + }, { + Name: []string{"migrate"}, + Description: `Migrate your database`, + Subcommands: []model.Subcommand{{ + Name: []string{"dev"}, + Description: `The migrate dev command updates your database using migrations files during development`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--skip-seed"}, + Description: `Skip triggering seed`, + }, { + Name: []string{"--skip-generate"}, + Description: `Skip triggering generators (e.g. Prisma Client)`, + }, { + Name: []string{"--create-only"}, + Description: `Create a new migration but do not apply it. The migration will be empty if there are no changes in Prisma schema`, + }, { + Name: []string{"-n", "--name"}, + Description: `The name of the migration. If no name is provided, the CLI will prompt you`, + Args: []model.Arg{{ + Name: "filename", + IsOptional: true, + }}, + }}, + }, { + Name: []string{"reset"}, + Description: `Reset your database and apply all migrations, all data will be lost`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--skip-seed"}, + Description: `Skip triggering seed`, + }, { + Name: []string{"--skip-generate"}, + Description: `Skip triggering generators (e.g. Prisma Client)`, + }, { + Name: []string{"-f", "--force"}, + Description: `Skip the confirmation prompt`, + }}, + }, { + Name: []string{"deploy"}, + Description: `Apply pending migrations to update the database schema in production/staging`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }}, + }, { + Name: []string{"resolve"}, + Description: `Resolve issues with database migrations in deployment databases`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--applied"}, + Description: `Record a specific migration as applied`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "migration file path", + }}, + }, { + Name: []string{"--rolled-back"}, + Description: `Record a specific migration as rolled back`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "migration file path", + }}, + }}, + }, { + Name: []string{"status"}, + Description: `Check the status of your database migrations`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }}, + }, { + Name: []string{"diff"}, + Description: `Compares the database schema from two arbitrary sources, and outputs the differences either as a human-readable summary (by default) or an executable script`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--from-url"}, + Description: `A datasource url`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }, { + Name: []string{"--to-url"}, + Description: `A datasource url`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }, { + Name: []string{"--from-empty"}, + Description: `Flag to assume from is an empty datamodel`, + }, { + Name: []string{"--to-empty"}, + Description: `Flag to assume to is an empty datamodel`, + }, { + Name: []string{"--from-schema-datamodel"}, + Description: `Path to a Prisma schema file, uses the 'datamodel' for the diff`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--to-schema-datamodel"}, + Description: `Path to a Prisma schema file, uses the 'datamodel' for the diff`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--from-schema-datasource"}, + Description: `Path to a Prisma schema file, uses the 'datasource url' for the diff`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--to-schema-datasource"}, + Description: `Path to a Prisma schema file, uses the 'datasource url' for the diff`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--from-migrations"}, + Description: `Path to the Prisma Migrate migrations directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "folder", + }}, + }, { + Name: []string{"--to-migrations"}, + Description: `Path to the Prisma Migrate migrations directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "folder", + }}, + }, { + Name: []string{"--shadow-database-url"}, + Description: `URL for the shadow database. Only required if using --from-migrations or --to-migrations`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }, { + Name: []string{"--script"}, + Description: `Render a SQL script to stdout instead of the default human readable summary (not supported on MongoDB)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--exit-code"}, + Description: `Change the exit code behavior to signal if the diff is empty or not (Empty: 0, Error: 1, Not empty: 2). Default behavior is Success: 0, Error: 1."`, + }}, + }}, + }, { + Name: []string{"db"}, + Description: `Manage your database schema and lifecycle (Preview)`, + Subcommands: []model.Subcommand{{ + Name: []string{"pull"}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--force"}, + Description: `Ignore current Prisma schema file`, + }, { + Name: []string{"--print"}, + Description: `Print the introspected Prisma schema to stdout`, + }, { + Name: []string{"--url"}, + Description: `The datasource url`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }, { + Name: []string{"--composite-type-depth"}, + Description: `Specify the depth for introspecting composite types (e.g. Embedded Documents in MongoDB). Number, default is -1 for infinite depth, 0 = off`, + Args: []model.Arg{{ + Name: "number", + }}, + }}, + }, { + Name: []string{"push"}, + Description: `This command pushes the state of your Prisma schema file to the database without using migrations files`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--skip-generate"}, + Description: `Skip generation of artifacts such as Prisma Client`, + }, { + Name: []string{"--force-reset"}, + Description: `Resets the database and then updates the schema - useful if you need to start from scratch due to unexecutable migrations`, + }, { + Name: []string{"--accept-data-loss"}, + Description: `Ignore data loss warnings. This option is required if as a result of making the schema changes, data may be lost`, + }}, + }, { + Name: []string{"seed"}, + Description: `Seed your database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }}, + }, { + Name: []string{"execute"}, + Description: `Execute native commands to your database`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display this help message`, + }, { + Name: []string{"--schema"}, + Description: `Custom path to your Prisma schema`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Schema path", + }}, + }, { + Name: []string{"--url"}, + Description: `The datasource url`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "full url", + }}, + }, { + Name: []string{"--file"}, + Description: `Path to a file. The content will be sent as the script to be executed`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "filepath", + }}, + }, { + Name: []string{"--stdin"}, + Description: `Use the terminal standard input as the script to be executed`, + }}, + }}, + }, { + Name: []string{"version", "-v"}, + Description: `Print current version of Prisma components`, + Subcommands: []model.Subcommand{{ + Name: []string{"--json"}, + Description: `Output JSON`, + }}, + }}, + }, { + Name: []string{"routes", "r"}, + Description: `Display all Blitz URL Routes`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }}, + }, { + Name: []string{"start", "s"}, + Description: `Start the production server`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Show help for command`, + }, { + Name: []string{"-p", "--port"}, + Description: `Set port number`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-H", "--hostname"}, + Description: `Set server hostname`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--inspect"}, + Description: `Enable the Node.js inspector`, + }}, + }, { + Name: []string{"autocomplete"}, + Description: `Display autocomplete installation instructions`, + Args: []model.Arg{{ + Name: "shell", + Description: `Shell type`, + Suggestions: []model.Suggestion{{Name: []string{`zsh`}}, {Name: []string{`bash`}}}, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-r", "--refresh-cache"}, + Description: `Refresh cache (ignores displaying instructions)`, + }}, + }}, + } +} diff --git a/autocomplete/specs/bosh.go b/autocomplete/specs/bosh.go new file mode 100644 index 0000000..8a125ff --- /dev/null +++ b/autocomplete/specs/bosh.go @@ -0,0 +1,542 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bosh"] = model.Subcommand{ + Name: []string{"bosh"}, + Description: `Bosh cli to managed your bosh deployment`, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `Show CLI version`, + }, { + Name: []string{"--config"}, + Description: `Config file path (default: ~/.bosh/config)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"-e", "--environment"}, + Description: `Director environment name or URL`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--ca-cert"}, + Description: `Director CA certificate path or value`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"--sha2"}, + Description: `Use SHA256 checksums`, + }, { + Name: []string{"--parallel"}, + Description: `The max number of parallel operations (default: 5)`, + Args: []model.Arg{{ + Name: "amount", + Suggestions: []model.Suggestion{{Name: []string{`1`}}, {Name: []string{`2`}}, {Name: []string{`3`}}, {Name: []string{`4`}}, {Name: []string{`5`}}, {Name: []string{`6`}}, {Name: []string{`7`}}, {Name: []string{`8`}}, {Name: []string{`9`}}, {Name: []string{`10`}}, {Name: []string{`11`}}, {Name: []string{`12`}}, {Name: []string{`13`}}, {Name: []string{`14`}}, {Name: []string{`15`}}, {Name: []string{`16`}}, {Name: []string{`17`}}, {Name: []string{`18`}}, {Name: []string{`19`}}, {Name: []string{`20`}}}, + }}, + }, { + Name: []string{"--client"}, + Description: `Override username or UAA client [$BOSH_CLIENT]`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"--client-secret"}, + Description: `Override password or UAA client secret [$BOSH_CLIENT_SECRET]`, + Args: []model.Arg{{ + Name: "secret", + }}, + }, { + Name: []string{"--deployment"}, + Description: `Deployment name [$BOSH_DEPLOYMENT]`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + }}, + }, { + Name: []string{"--column"}, + Description: `Filter to show only given column(s)`, + Args: []model.Arg{{ + Name: "name", + IsVariadic: true, + }}, + }, { + Name: []string{"--json"}, + Description: `Output as JSON`, + }, { + Name: []string{"--tty"}, + Description: `Force TTY-like output`, + }, { + Name: []string{"--no-color"}, + Description: `Toggle colorized output`, + }, { + Name: []string{"-n", "--non-interactive"}, + Description: `Don't ask for user input [$BOSH_NON_INTERACTIVE]`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"add-blob"}, + Description: `Add blob`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }, { + Templates: []model.Template{model.TemplateFilepaths}, + Name: "BLOBS-PATH", + }}, + }, { + Name: []string{"unignore"}, + Description: `Unignore an instance`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"update-cloud-config"}, + Description: `Update current cloud config`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"update-config"}, + Description: `Update config`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + IsOptional: true, + }}, + }, { + Name: []string{"update-cpi-config"}, + Description: `Update current CPI config`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"update-resurrection"}, + Description: `Enable/disable resurrection`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{Name: []string{`on`}}, {Name: []string{`off`}}}, + }}, + }, { + Name: []string{"update-runtime-config"}, + Description: `Update current runtime config`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"upload-blobs"}, + Description: `Upload blobs`, + }, { + Name: []string{"upload-release"}, + Description: `Upload release`, + Args: []model.Arg{{ + Name: "URL", + IsOptional: true, + }}, + }, { + Name: []string{"upload-stemcell"}, + Description: `Upload stemcell`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "fileOrUrl", + }}, + }, { + Name: []string{"variables"}, + Description: `List variables`, + }, { + Name: []string{"vendor-package"}, + Description: `Vendor package`, + Args: []model.Arg{{ + Name: "PACKAGE", + }, { + Templates: []model.Template{model.TemplateFolders}, + Name: "SRC-DIR", + }}, + }, { + Name: []string{"vms"}, + Description: `List all VMs in all deployments`, + }, { + Name: []string{"orphan-disk"}, + Description: `Orphan disk`, + Args: []model.Arg{{ + Name: "CID", + }}, + }, { + Name: []string{"networks"}, + Description: `List networks`, + }, { + Name: []string{"manifest"}, + Description: `Show deployment manifest`, + }, { + Name: []string{"tasks"}, + Description: `List running or recent tasks`, + Args: []model.Arg{{ + Name: "ID", + IsOptional: true, + }}, + }, { + Name: []string{"task"}, + Description: `Show task status and start tracking its output`, + }, { + Name: []string{"take-snapshot"}, + Description: `Take snapshot`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"sync-blobs"}, + Description: `Sync blobs`, + }, { + Name: []string{"stop-env"}, + Description: `Stop BOSH environment`, + }, { + Name: []string{"stop"}, + Description: `Stop instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"stemcells"}, + Description: `List stemcells`, + }, { + Name: []string{"start-env"}, + Description: `Start BOSH environment`, + }, { + Name: []string{"start"}, + Description: `Start instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"ssh"}, + Description: `SSH into instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"snapshots"}, + Description: `List snapshots`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"sha2ify-release"}, + Description: `Convert release tarball to use SHA256`, + }, { + Name: []string{"sha1ify-release"}, + Description: `Convert release tarball to use SHA1`, + }, { + Name: []string{"runtime-config"}, + Description: `Show current runtime config`, + }, { + Name: []string{"run-errand"}, + Description: `Run errand`, + Args: []model.Arg{{ + Name: "NAME", + }}, + }, { + Name: []string{"restart"}, + Description: `Restart instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"reset-release"}, + Description: `Reset release`, + }, { + Name: []string{"repack-stemcell"}, + Description: `Repack stemcell`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Path-to-Stemcell", + }, { + Templates: []model.Template{model.TemplateFilepaths}, + Name: "Path-to-Result", + }}, + }, { + Name: []string{"remove-blob"}, + Description: `Remove blob`, + }, { + Name: []string{"releases"}, + Description: `List releases`, + }, { + Name: []string{"recreate"}, + Description: `Recreate instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"orphaned-vms"}, + Description: `List all the orphaned VMs in all deployments`, + }, { + Name: []string{"scp"}, + Description: `SCP to/from instance(s)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH...", + IsVariadic: true, + }}, + }, { + Name: []string{"help"}, + Description: `Show this help message`, + }, { + Name: []string{"ignore"}, + Description: `Ignore an instance`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + }}, + }, { + Name: []string{"init-release"}, + Description: `Initialize release`, + }, { + Name: []string{"inspect-local-release"}, + Description: `Display information from release metadata`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"inspect-local-stemcell"}, + Description: `Display information from stemcell metadata`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH-TO-STEMCELL", + }}, + }, { + Name: []string{"inspect-release"}, + Description: `List release contents such as jobs`, + Args: []model.Arg{{ + Name: "NAME/VERSION", + }}, + }, { + Name: []string{"instances"}, + Description: `List all instances in a deployment`, + }, { + Name: []string{"interpolate"}, + Description: `Interpolates variables into a manifest`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"locks"}, + Description: `List current locks`, + }, { + Name: []string{"log-in"}, + Description: `Login`, + }, { + Name: []string{"log-out"}, + Description: `Log out`, + }, { + Name: []string{"logs"}, + Description: `Fetch logs from instance(s)`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + IsOptional: true, + }}, + }, { + Name: []string{"deployment"}, + Description: `Show deployment information`, + }, { + Name: []string{"deployments"}, + Description: `List deployments`, + }, { + Name: []string{"diff-config"}, + Description: `Diff two configs by ID or content`, + }, { + Name: []string{"disks"}, + Description: `List disks`, + }, { + Name: []string{"environment"}, + Description: `Show environment`, + }, { + Name: []string{"environments"}, + Description: `List environments`, + }, { + Name: []string{"errands"}, + Description: `List errands`, + }, { + Name: []string{"event"}, + Description: `Show event details`, + Args: []model.Arg{{ + Name: "ID", + }}, + }, { + Name: []string{"events"}, + Description: `List events`, + }, { + Name: []string{"export-release"}, + Description: `Export the compiled release to a tarball`, + Args: []model.Arg{{ + Name: "NAME/VERSION", + }, { + Name: "OS/VERSION", + }}, + }, { + Name: []string{"finalize-release"}, + Description: `Create final release from dev release tarball`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"generate-job"}, + Description: `Generate job`, + Args: []model.Arg{{ + Name: "NAME", + }}, + }, { + Name: []string{"generate-package"}, + Description: `Generate package`, + Args: []model.Arg{{ + Name: "NAME", + }}, + }, { + Name: []string{"create-release"}, + Description: `Create release`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + IsOptional: true, + }}, + }, { + Name: []string{"curl"}, + Description: `Make an HTTP request to the Director`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"delete-config"}, + Description: `Delete config`, + Args: []model.Arg{{ + Name: "ID", + IsOptional: true, + }}, + }, { + Name: []string{"delete-deployment"}, + Description: `Delete deployment`, + }, { + Name: []string{"delete-disk"}, + Description: `Delete disk`, + Args: []model.Arg{{ + Name: "CID", + }}, + }, { + Name: []string{"delete-env"}, + Description: `Delete BOSH environment`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"delete-network"}, + Description: `Delete network`, + Args: []model.Arg{{ + Name: "NAME", + }}, + }, { + Name: []string{"delete-release"}, + Description: `Delete release`, + Args: []model.Arg{{ + Name: "NAME/VERSION", + }}, + }, { + Name: []string{"delete-snapshot"}, + Description: `Delete snapshot`, + Args: []model.Arg{{ + Name: "CID", + }}, + }, { + Name: []string{"delete-snapshots"}, + Description: `Delete all snapshots in a deployment`, + }, { + Name: []string{"delete-stemcell"}, + Description: `Delete stemcell`, + Args: []model.Arg{{}}, + }, { + Name: []string{"delete-vm"}, + Description: `Delete VM`, + Args: []model.Arg{{ + Name: "CID", + }}, + }, { + Name: []string{"deploy"}, + Description: `Update deployment`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }, { + Name: []string{"alias-env"}, + Description: `Alias environment to save URL and CA certificate`, + Args: []model.Arg{{}}, + }, { + Name: []string{"attach-disk"}, + Description: `Attach disk to an instance`, + Args: []model.Arg{{ + Name: "INSTANCE-GROUP/INSTANCE-ID", + }, { + Name: "DISK-CID", + }}, + }, { + Name: []string{"blobs"}, + Description: `List blobs`, + }, { + Name: []string{"cancel-task"}, + Description: `Cancel task at its next checkpoint`, + Args: []model.Arg{{ + Name: "ID", + }}, + }, { + Name: []string{"cancel-tasks"}, + Description: `Cancel tasks at their next checkpoints`, + }, { + Name: []string{"clean-up"}, + Description: `Clean up old unused resources except orphaned disks`, + }, { + Name: []string{"cloud-check"}, + Description: `Cloud consistency check and interactive repair`, + }, { + Name: []string{"cloud-config"}, + Description: `Show current cloud config`, + }, { + Name: []string{"config"}, + Description: `Show current config for either ID or both type and name`, + Args: []model.Arg{{ + Name: "ID", + IsOptional: true, + }}, + }, { + Name: []string{"configs"}, + Description: `List configs`, + }, { + Name: []string{"cpi-config"}, + Description: `Show current CPI config`, + }, { + Name: []string{"create-env"}, + Description: `Create or update BOSH environment`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "PATH", + }}, + }}, + } +} diff --git a/autocomplete/specs/br.go b/autocomplete/specs/br.go new file mode 100644 index 0000000..1959263 --- /dev/null +++ b/autocomplete/specs/br.go @@ -0,0 +1,184 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["br"] = model.Subcommand{ + Name: []string{"broot"}, + Description: `Broot lets you explore file hierarchies with a tree-like view, manipulate files, launch actions, and define your own shortcuts. broot is best launched as br: this shell function gives you access to more commands, especially cd. The br shell function is interactively installed on first broot launch. Flags and options can be classically passed on launch but also written in the configuration file. Each flag has a counter-flag so that you can cancel at command line a flag which has been set in the configuration file`, + Args: []model.Arg{{ + Name: "ROOT", + Description: `Sets the root directory`, + }}, + Options: []model.Option{{ + Name: []string{"--dates", "-d"}, + Description: `Show the last modified date of files and directories`, + ExclusiveOn: []string{"--no-dates", "-D"}, + }, { + Name: []string{"--no-dates", "-D"}, + Description: `Don't show the last modified date`, + ExclusiveOn: []string{"--dates", "-d"}, + }, { + Name: []string{"--only-folders", "-f"}, + Description: `Only show folders`, + ExclusiveOn: []string{"--no-only-folders", "-F"}, + }, { + Name: []string{"--no-only-folders", "-F"}, + Description: `Show folders and files alike`, + ExclusiveOn: []string{"--only-folders", "-f"}, + }, { + Name: []string{"--show-root-fs"}, + Description: `Show filesystem info on top`, + }, { + Name: []string{"--show-git-info", "-g"}, + Description: `Show git statuses on files and stats of repository`, + ExclusiveOn: []string{"--no-show-git-info", "-G"}, + }, { + Name: []string{"--no-show-git-info", "-G"}, + Description: `Don't show git statuses on files nor stats`, + ExclusiveOn: []string{"--show-git-info", "-g"}, + }, { + Name: []string{"--git-status"}, + Description: `Only show files having an interesting git status, including hidden ones`, + }, { + Name: []string{"--hidden", "-h"}, + Description: `Show hidden files`, + ExclusiveOn: []string{"--no-hidden", "-H"}, + }, { + Name: []string{"--no-hidden", "-H"}, + Description: `Don't show hidden files`, + ExclusiveOn: []string{"--hidden", "-h"}, + }, { + Name: []string{"--show-gitignored", "-i"}, + Description: `Show files which should be ignored according to git`, + ExclusiveOn: []string{"--no-show-gitignored", "-I"}, + }, { + Name: []string{"--no-show-gitignored", "-I"}, + Description: `Don't show gitignored files`, + ExclusiveOn: []string{"--show-gitignored", "-i"}, + }, { + Name: []string{"--permissions", "-p"}, + Description: `Show permissions with owner and group`, + ExclusiveOn: []string{"--no-permissions", "-P"}, + }, { + Name: []string{"--no-permissions", "-P"}, + Description: `Don't show permissions`, + ExclusiveOn: []string{"--permissions", "-p"}, + }, { + Name: []string{"--sizes", "-s"}, + Description: `Show the sizes of files and directories. When this mode is on, children aren't shown so that the biggest entries at the selected level can be sorted first`, + ExclusiveOn: []string{"--no-sizes", "-S"}, + }, { + Name: []string{"--no-sizes", "-S"}, + Description: `Don't show sizes`, + ExclusiveOn: []string{"--sizes", "-s"}, + }, { + Name: []string{"--sort-by-count"}, + Description: `Sort by count (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--sort-by-date"}, + Description: `Sort by date (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--sort-by-size"}, + Description: `Sort by size (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--whale-spotting", "-w"}, + Description: `Sort by size, show ignored and hidden files`, + }, { + Name: []string{"--no-sort"}, + Description: `Don't sort`, + ExclusiveOn: []string{"--sort-by-count", "--sort-by-date", "--sort-by-size"}, + }, { + Name: []string{"--trim-root", "-t"}, + Description: `Trim the root: remove elements which would exceed the screen size. This removes the scrollbar`, + ExclusiveOn: []string{"--no-trim-root", "-T"}, + }, { + Name: []string{"--no-trim-root", "-T"}, + Description: `Don't trim the root (still trim the deeper levels). A scrollbar may be used when there are too many elements to show on screen`, + ExclusiveOn: []string{"--trim-root", "-t"}, + }, { + Name: []string{"--install"}, + Description: `Install or reinstall the br shell function`, + }, { + Name: []string{"--get-root"}, + Description: `Ask for the current root of the remote broot`, + }, { + Name: []string{"--color"}, + Description: `Controls styling of the output (default: auto). If set to auto, all styling is removed when output is piped`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{Name: []string{`yes`}}, {Name: []string{`no`}}, {Name: []string{`auto`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"--help"}, + Description: `Prints a help page, with more or less the same content as this man page`, + }, { + Name: []string{"--version", "-v"}, + Description: `Prints the version of broot`, + }, { + Name: []string{"--outcmd"}, + Description: `Where to write a command if broot produces one`, + Args: []model.Arg{{ + Name: "cmd-export-path", + }}, + }, { + Name: []string{"--cmd", "-c"}, + Description: `Semicolon separated commands to execute on start of broot`, + Args: []model.Arg{{ + Name: "commands", + }}, + }, { + Name: []string{"--conf"}, + Description: `Semicolon separated paths to specific config files`, + Args: []model.Arg{{ + Name: "conf", + }}, + }, { + Name: []string{"--height"}, + Description: `Height to use if you don't want to fill the screen or for file export (by default the terminal height is used)`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--out", "-o"}, + Description: `Where to write the produced path, if any`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file-export-path", + }}, + }, { + Name: []string{"--set-install-state"}, + Description: `Set the installation state. This is mostly useful in installation scripts to override the normal installation process`, + Args: []model.Arg{{ + Name: "state", + Suggestions: []model.Suggestion{{Name: []string{`undefined`}}, {Name: []string{`refused`}}, {Name: []string{`installed`}}}, + }}, + }, { + Name: []string{"--print-shell-function"}, + Description: `Print to stdout the br function for the given shell. This can be used in your own installation process overriden the standard one`, + Args: []model.Arg{{ + Name: "shell", + Suggestions: []model.Suggestion{{Name: []string{`bash`}}, {Name: []string{`fish`}}, {Name: []string{`zsh`}}}, + }}, + }, { + Name: []string{"--listen"}, + Description: `Listen for commands`, + Args: []model.Arg{{ + Name: "listen", + }}, + }, { + Name: []string{"--send"}, + Description: `Send commands to a remote broot then quits`, + Args: []model.Arg{{ + Name: "send", + }}, + }}, + } +} diff --git a/autocomplete/specs/brew.go b/autocomplete/specs/brew.go new file mode 100644 index 0000000..9e8afe9 --- /dev/null +++ b/autocomplete/specs/brew.go @@ -0,0 +1,1276 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["brew"] = model.Subcommand{ + Name: []string{"brew"}, + Description: `Package manager for macOS`, + Args: []model.Arg{{ + Name: "alias", + Description: `Custom user defined brew alias`, + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `The current Homebrew version`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `List all installed formulae`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--formula", "--formulae"}, + Description: `List only formulae, or treat all named arguments as formulae`, + }, { + Name: []string{"--cask", "--casks"}, + Description: `List only casks, or treat all named arguments as casks`, + }, { + Name: []string{"--unbrewed"}, + Description: `List files in Homebrew's prefix not installed by Homebrew. (disabled; replaced by brew --prefix --unbrewed)`, + }, { + Name: []string{"--full-name"}, + Description: `Print formulae with fully-qualified names. Unless --full-name, --versions or`, + }, { + Name: []string{"--pinned"}, + Description: `List only pinned formulae, or only the specified (pinned) formulae if formula are provided`, + }, { + Name: []string{"--versions"}, + Description: `Show the version number for installed formulae, or only the specified formulae if formula are provided`, + }, { + Name: []string{"--multiple"}, + Description: `Only show formulae with multiple versions installed`, + }, { + Name: []string{"--pinned"}, + Description: `List only pinned formulae, or only the specified (pinned) formulae if formula are provided. See also pin, unpin`, + }, { + Name: []string{"-1"}, + Description: `Force output to be one entry per line. This is the default when output is not to a terminal`, + }, { + Name: []string{"-l"}, + Description: `List formulae and/or casks in long format. Has no effect when a formula or cask name is passed as an argument`, + }, { + Name: []string{"-r"}, + Description: `Reverse the order of the formulae and/or casks sort to list the oldest entries first. Has no effect when a formula or cask name is passed as an argument`, + }, { + Name: []string{"-t"}, + Description: `Sort formulae and/or casks by time modified, listing most recently modified first. Has no effect when a formula or cask name is passed as an argument`, + }}, + }, { + Name: []string{"ls"}, + Description: `List all installed formulae`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--formula"}, + Description: `List only formulae, or treat all named arguments as formulae`, + }, { + Name: []string{"--cask"}, + Description: `List only casks, or treat all named arguments as casks`, + }, { + Name: []string{"--unbrewed"}, + Description: `List files in Homebrew's prefix not installed by Homebrew. (disabled; replaced by brew --prefix --unbrewed)`, + }, { + Name: []string{"--full-name"}, + Description: `Print formulae with fully-qualified names. Unless --full-name, --versions or`, + }, { + Name: []string{"--pinned"}, + Description: `List only pinned formulae, or only the specified (pinned) formulae if formula are provided`, + }, { + Name: []string{"--versions"}, + Description: `Show the version number for installed formulae, or only the specified formulae if formula are provided`, + }, { + Name: []string{"--multiple"}, + Description: `Only show formulae with multiple versions installed`, + }, { + Name: []string{"--pinned"}, + Description: `List only pinned formulae, or only the specified (pinned) formulae if formula are provided`, + }, { + Name: []string{"-1"}, + Description: `Force output to be one entry per line. This is the default when output is not to a terminal`, + }, { + Name: []string{"-l"}, + Description: `List formulae and/or casks in long format. Has no effect when a formula or cask name is passed as an argument`, + }, { + Name: []string{"-r"}, + Description: `Reverse the order of the formulae and/or casks sort to list the oldest entries first. Has no effect when a formula or cask name is passed as an argument`, + }, { + Name: []string{"-t"}, + Description: `Sort formulae and/or casks by time modified, listing most recently modified first. Has no effect when a formula or cask name is passed as an argument`, + }}, + }, { + Name: []string{"leaves"}, + Description: `List installed formulae that are not dependencies of another installed formula`, + Options: []model.Option{{ + Name: []string{"-r", "--installed-on-request"}, + Description: `Show manually installed formula`, + }, { + Name: []string{"-p", "--installed-as-dependency"}, + Description: `Show installed formula as dependencies`, + }}, + }, { + Name: []string{"doctor"}, + Description: `Check your system for potential problems`, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--list-checks"}, + Description: `List all audit methods`, + }, { + Name: []string{"-D", "--audit-debug"}, + Description: `Enable debugging and profiling of audit methods`, + }}, + }, { + Name: []string{"abv", "info"}, + Description: `Display brief statistics for your Homebrew installation`, + Args: []model.Arg{{ + Name: "formula", + Description: `Formula or cask to summarize`, + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--cask", "--casks"}, + Description: `List only casks, or treat all named arguments as casks`, + }, { + Name: []string{"--analytics"}, + Description: `List global Homebrew analytics data or, if specified, installation and build error data for formula`, + }, { + Name: []string{"--days"}, + Description: `How many days of analytics data to retrieve`, + Args: []model.Arg{{ + Name: "days", + Description: `Number of days of data to retrieve`, + Suggestions: []model.Suggestion{{Name: []string{`30`}}, {Name: []string{`90`}}, {Name: []string{`365`}}}, + }}, + ExclusiveOn: []string{"--analytics"}, + }, { + Name: []string{"--category"}, + Description: `Which type of analytics data to retrieve`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + }}, + ExclusiveOn: []string{"--analytics"}, + }, { + Name: []string{"--github"}, + Description: `Open the GitHub source page for formula in a browser`, + }, { + Name: []string{"--json"}, + Description: `Print a JSON representation`, + }, { + Name: []string{"--installed"}, + Description: `Print JSON of formulae that are currently installed`, + ExclusiveOn: []string{"--json"}, + }, { + Name: []string{"--all"}, + Description: `Print JSON of all available formulae`, + ExclusiveOn: []string{"--json"}, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Show more verbose analytics data for formulae`, + }, { + Name: []string{"--formula"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--cash"}, + Description: `Treat all named arguments as casks`, + }, { + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `List only the names of outdated kegs`, + }, { + Name: []string{"-h", "--help"}, + Description: `Get help with services command`, + }}, + }, { + Name: []string{"update"}, + Description: `Fetch the newest version of Homebrew and all formulae`, + Options: []model.Option{{ + Name: []string{"-f", "--force"}, + Description: `Always do a slower, full update check`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Print the directories checked and git operations performed`, + }, { + Name: []string{"-d", "--debug"}, + Description: `Display a trace of all shell commands as they are executed`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--merge"}, + Description: `Use git merge to apply updates (rather than git rebase)`, + }, { + Name: []string{"--preinstall"}, + Description: `Run on auto-updates (e.g. before brew install). Skips some slower steps`, + }}, + }, { + Name: []string{"outdated"}, + Description: `List installed casks and formulae that have an updated version available`, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `List only the names of outdated kegs`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Include detailed version information`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message for the outdated command`, + }, { + Name: []string{"--cask"}, + Description: `List only outdated casks`, + }, { + Name: []string{"--fetch-HEAD"}, + Description: `Fetch the upstream repository to detect if the HEAD installation of the formula is outdated`, + }, { + Name: []string{"--formula"}, + Description: `List only outdated formulae`, + }, { + Name: []string{"--greedy"}, + Description: `Print outdated casks with auto_updates or version :latest`, + }, { + Name: []string{"--greedy-latest"}, + Description: `Print outdated casks including those with version :latest`, + }, { + Name: []string{"--greedy-auto-updates"}, + Description: `Print outdated casks including those with auto_updates true`, + }, { + Name: []string{"--json"}, + Description: `Print output in JSON format`, + }}, + }, { + Name: []string{"pin"}, + Description: `Pin formula, preventing them from being upgraded`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }}, + }, { + Name: []string{"unpin"}, + Description: `Unpin formula, allowing them to be upgraded`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }}, + }, { + Name: []string{"upgrade"}, + Description: `Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options`, + Args: []model.Arg{{ + Name: "outdated_formula|outdated_cask", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory`, + }, { + Name: []string{"-f", "--force"}, + Description: `Install formulae without checking for previously installed keg-only or non-migrated versions. When installing casks, overwrite existing files (binaries and symlinks are excluded, unless originally from the same cask)`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Print the verification and postinstall steps`, + }, { + Name: []string{"-n", "--dry-run"}, + Description: `Show what would be upgraded, but do not actually upgrade anything`, + }, { + Name: []string{"-s", "--build-from-source"}, + Description: `Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available`, + }, { + Name: []string{"-i", "--interactive"}, + Description: `Download and patch formula, then open a shell`, + }, { + Name: []string{"-g", "--git"}, + Description: `Create a Git repository`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show this message`, + }, { + Name: []string{"--formula", "--formulae"}, + Description: `Treat all named arguments as formulae. If no named arguments are specified, upgrade only outdated formulae`, + }, { + Name: []string{"--env"}, + Description: `Disabled other than for internal Homebrew use`, + }, { + Name: []string{"--ignore-dependencies"}, + Description: `An unsupported Homebrew development flag to skip installing any dependencies of any kind. If the dependencies are not already present, the formula will have issues. If you're not developing Homebrew, consider adjusting your PATH rather than using this flag`, + }, { + Name: []string{"--only-dependencies"}, + Description: `Install the dependencies with specified options but do not install the formula itself`, + }, { + Name: []string{"--cc"}, + Description: `Attempt to compile using the specified compiler, which should be the name of the compiler's executable`, + Args: []model.Arg{{ + Name: "compiler", + Suggestions: []model.Suggestion{{Name: []string{`gcc-7`}}, {Name: []string{`llvm_clang`}}, {Name: []string{`clang`}}}, + }}, + }, { + Name: []string{"--force-bottle"}, + Description: `Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation`, + }, { + Name: []string{"--include-test"}, + Description: `Install testing dependencies required to run brew test formula`, + }, { + Name: []string{"--HEAD"}, + Description: `If formula defines it, install the HEAD version, aka. main, trunk, unstable, master`, + }, { + Name: []string{"--fetch-HEAD"}, + Description: `Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released`, + }, { + Name: []string{"--ignore-pinned"}, + Description: `Set a successful exit status even if pinned formulae are not upgraded`, + }, { + Name: []string{"--keep-tmp"}, + Description: `Retain the temporary files created during installation`, + }, { + Name: []string{"--build-bottle"}, + Description: `Prepare the formula for eventual bottling during installation, skipping any post-install steps`, + }, { + Name: []string{"--bottle-arch"}, + Description: `Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on`, + }, { + Name: []string{"--display-times"}, + Description: `Print install times for each formula at the end of the run`, + }, { + Name: []string{"--cask", "--casks"}, + Description: `Treat all named arguments as casks. If no named arguments are specified, upgrade only outdated casks`, + }, { + Name: []string{"--binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + ExclusiveOn: []string{"--no-binaries"}, + }, { + Name: []string{"--no-binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + ExclusiveOn: []string{"--binaries"}, + }, { + Name: []string{"--require-sha"}, + Description: `Require all casks to have a checksum`, + }, { + Name: []string{"--quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + ExclusiveOn: []string{"--no-quarantine"}, + }, { + Name: []string{"--no-quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + ExclusiveOn: []string{"--quarantine"}, + }, { + Name: []string{"--skip-cask-deps"}, + Description: `Skip installing cask dependencies`, + }, { + Name: []string{"--greedy"}, + Description: `Also include casks with auto_updates true or version :latest`, + ExclusiveOn: []string{"--greedy-latest", "--greedy-auto-updates"}, + }, { + Name: []string{"--greedy-latest"}, + Description: `Also include casks with version :latest`, + }, { + Name: []string{"--greedy-auto-updates"}, + Description: `Also include casks with auto_updates true`, + }, { + Name: []string{"--appdir"}, + Description: `Target location for Applications (default: /Applications)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--colorpickerdir"}, + Description: `Target location for Color Pickers (default: ~/Library/ColorPickers)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--prefpanedir"}, + Description: `Target location for Preference Panes (default: ~/Library/PreferencePanes)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--qlplugindir"}, + Description: `Target location for QuickLook Plugins (default: ~/Library/QuickLook)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--mdimporterdir"}, + Description: `Target location for Spotlight Plugins (default: ~/Library/Spotlight)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--dictionarydir"}, + Description: `Target location for Dictionaries (default: ~/Library/Dictionaries)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--fontdir"}, + Description: `Target location for Fonts (default: ~/Library/Fonts)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--servicedir"}, + Description: `Target location for Services (default: ~/Library/Services)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--input-methoddir"}, + Description: `Target location for Input Methods (default: ~/Library/Input Methods)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--internet-plugindir"}, + Description: `Target location for Internet Plugins (default: ~/Library/Internet Plug-Ins)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--audio-unit-plugindir"}, + Description: `Target location for Audio Unit Plugins (default: ~/Library/Audio/Plug-Ins/Components)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--vst-plugindir"}, + Description: `Target location for VST Plugins (default: ~/Library/Audio/Plug-Ins/VST)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--vst3-plugindir"}, + Description: `Target location for VST3 Plugins (default: ~/Library/Audio/Plug-Ins/VST3)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--screen-saverdir"}, + Description: `Target location for Screen Savers (default: ~/Library/Screen Savers)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--language"}, + Description: `Comma-separated list of language codes to prefer for cask installation. The first matching language is used, otherwise it reverts to the cask's default language. The default value is the language of your system`, + }}, + }, { + Name: []string{"search"}, + Description: `Perform a substring search of cask tokens and formula names`, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--formula"}, + Description: `Search online and locally for formulae`, + }, { + Name: []string{"--cask"}, + Description: `Search online and locally for casks`, + }, { + Name: []string{"--desc"}, + Description: `Search for formulae with a description matching text and casks with a name matching text`, + }, { + Name: []string{"--pull-request"}, + Description: `Search for GitHub pull requests containing text`, + }, { + Name: []string{"--open"}, + Description: `Search for only open GitHub pull requests`, + }, { + Name: []string{"--closed"}, + Description: `Search for only closed GitHub pull requests`, + }, { + Name: []string{"--repology", "--macports"}, + Description: `Search for text in the given database`, + }, { + Name: []string{"--fink", "--opensuse"}, + Description: `Search for text in the given database`, + }, { + Name: []string{"--fedora", "--debian"}, + Description: `Search for text in the given database`, + }, { + Name: []string{"--ubuntu"}, + Description: `Search for text in the given database`, + }}, + }, { + Name: []string{"config"}, + Description: `Show Homebrew and system configuration info`, + }, { + Name: []string{"postinstall"}, + Description: `Rerun the post install step for formula`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show this message`, + }}, + }, { + Name: []string{"install"}, + Description: `Install `, + Args: []model.Arg{{ + Name: "formula", + Description: `Formula or cask to install`, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-f", "--force"}, + Description: `Install formulae without checking for previously installed keg-only or non-migrated versions. When installing casks`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Print the verification and postinstall steps`, + }, { + Name: []string{"-s", "--build-from-source"}, + Description: `Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available`, + }, { + Name: []string{"-i", "--interactive"}, + Description: `Download and patch formula`, + }, { + Name: []string{"-g", "--git"}, + Description: `Create a Git repository`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show this message`, + }, { + Name: []string{"--formula"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--env"}, + Description: `Disabled other than for internal Homebrew use`, + }, { + Name: []string{"--ignore-dependencies"}, + Description: `An unsupported Homebrew development flag to skip installing any dependencies of any kind. If the dependencies are not already present, the formula will have issues. If you're not developing Homebrew, consider adjusting your PATH rather than using this flag`, + }, { + Name: []string{"--only-dependencies"}, + Description: `Install the dependencies with specified options but do not install the formula itself`, + }, { + Name: []string{"--cc"}, + Description: `Attempt to compile using the specified compiler, which should be the name of the compiler's executable`, + Args: []model.Arg{{ + Name: "compiler", + Suggestions: []model.Suggestion{{Name: []string{`gcc-7`}}, {Name: []string{`llvm_clang`}}, {Name: []string{`clang`}}}, + }}, + }, { + Name: []string{"--force-bottle"}, + Description: `Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation`, + }, { + Name: []string{"--include-test"}, + Description: `Install testing dependencies required to run brew test formula`, + }, { + Name: []string{"--HEAD"}, + Description: `If formula defines it, install the HEAD version, aka. main, trunk, unstable, master`, + }, { + Name: []string{"--fetch-HEAD"}, + Description: `Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released`, + }, { + Name: []string{"--keep-tmp"}, + Description: `Retain the temporary files created during installation`, + }, { + Name: []string{"--build-bottle"}, + Description: `Prepare the formula for eventual bottling during installation, skipping any post-install steps`, + }, { + Name: []string{"--bottle-arch"}, + Description: `Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on`, + }, { + Name: []string{"--display-times"}, + Description: `Print install times for each formula at the end of the run`, + }, { + Name: []string{"--cask"}, + Description: `--casks Treat all named arguments as casks`, + }, { + Name: []string{"--binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + }, { + Name: []string{"--no-binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + }, { + Name: []string{"--require-sha"}, + Description: `Require all casks to have a checksum`, + }, { + Name: []string{"--quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + }, { + Name: []string{"--no-quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + }, { + Name: []string{"--skip-cask-deps"}, + Description: `Skip installing cask dependencies`, + }, { + Name: []string{"--appdir"}, + Description: `Target location for Applications (default: /Applications)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--colorpickerdir"}, + Description: `Target location for Color Pickers (default: ~/Library/ColorPickers)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--prefpanedir"}, + Description: `Target location for Preference Panes (default: ~/Library/PreferencePanes)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--qlplugindir"}, + Description: `Target location for QuickLook Plugins (default: ~/Library/QuickLook)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--mdimporterdir"}, + Description: `Target location for Spotlight Plugins (default: ~/Library/Spotlight)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--dictionarydir"}, + Description: `Target location for Dictionaries (default: ~/Library/Dictionaries)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--fontdir"}, + Description: `Target location for Fonts (default: ~/Library/Fonts)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--servicedir"}, + Description: `Target location for Services (default: ~/Library/Services)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--input-methoddir"}, + Description: `Target location for Input Methods (default: ~/Library/Input Methods)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--internet-plugindir"}, + Description: `Target location for Internet Plugins (default: ~/Library/Internet Plug-Ins)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--audio-unit-plugindir"}, + Description: `Target location for Audio Unit Plugins (default: ~/Library/Audio/Plug-Ins/Components)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--vst-plugindir"}, + Description: `Target location for VST Plugins (default: ~/Library/Audio/Plug-Ins/VST)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--vst3-plugindir"}, + Description: `Target location for VST3 Plugins (default: ~/Library/Audio/Plug-Ins/VST3)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--screen-saverdir"}, + Description: `Target location for Screen Savers (default: ~/Library/Screen Savers)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + }}, + }, { + Name: []string{"--language"}, + Description: `Comma-separated list of language codes to prefer for cask installation. The first matching language is used, otherwise it reverts to the cask's default language. The default value is the language of your system`, + }}, + }, { + Name: []string{"reinstall"}, + Description: `Uninstall and then reinstall a formula or cask using the same options it was originally installed with, plus any appended options specific to a formula`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory`, + }, { + Name: []string{"-f", "--force"}, + Description: `Install formulae without checking for previously installed keg-only or non-migrated versions. When installing casks`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Print the verification and postinstall steps`, + }, { + Name: []string{"-s", "--build-from-source"}, + Description: `Compile formula from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available`, + }, { + Name: []string{"-i", "--interactive"}, + Description: `Download and patch formula`, + }, { + Name: []string{"-g", "--git"}, + Description: `Create a Git repository`, + }, { + Name: []string{"--formula"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--force-bottle"}, + Description: `Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation`, + }, { + Name: []string{"--keep-tmp"}, + Description: `Retain the temporary files created during installation`, + }, { + Name: []string{"--display-times"}, + Description: `Print install times for each formula at the end of the run`, + }, { + Name: []string{"--cask"}, + Description: `--casks Treat all named arguments as casks`, + }, { + Name: []string{"--binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + ExclusiveOn: []string{"--no-binaries"}, + }, { + Name: []string{"--no-binaries"}, + Description: `Disable/enable linking of helper executables (default: enabled)`, + ExclusiveOn: []string{"--binaries"}, + }, { + Name: []string{"--require-sha"}, + Description: `Require all casks to have a checksum`, + }, { + Name: []string{"--quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + ExclusiveOn: []string{"--no-quarantine"}, + }, { + Name: []string{"--no-quarantine"}, + Description: `Disable/enable quarantining of downloads (default: enabled)`, + ExclusiveOn: []string{"--quarantine"}, + }, { + Name: []string{"--skip-cask-deps"}, + Description: `Skip installing cask dependencies`, + }}, + }, { + Name: []string{"uninstall", "remove", "rm"}, + Description: `Uninstall a formula or cask`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + }, { + Name: []string{"--prefix"}, + Description: `Prefix of `, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--unbrewed"}, + Description: `List files in Homebrew's prefix not installed by Homebrew`, + }, { + Name: []string{"--installed"}, + Description: `Outputs nothing and returns a failing status code if formula is not installed`, + }}, + }, { + Name: []string{"cask"}, + Description: `Homebrew Cask provides a friendly CLI workflow for the administration of macOS applications distributed as binaries`, + Subcommands: []model.Subcommand{{ + Name: []string{"install"}, + Description: `Installs the given cask`, + Args: []model.Arg{{ + Name: "cask", + Description: `Cask to install`, + }}, + }, { + Name: []string{"uninstall"}, + Description: `Uninstalls the given cask`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--zap"}, + Description: `Remove all files associated with a cask. May remove files which are shared between applications`, + }, { + Name: []string{"--ignore-dependencies"}, + Description: `Don't fail uninstall, even if formula is a dependency of any installed formulae`, + }, { + Name: []string{"--formula"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--cask"}, + Description: `Treat all named arguments as casks`, + }}, + }}, + }, { + Name: []string{"cleanup"}, + Description: `Remove stale lock files and outdated downloads for all formulae and casks and remove old versions of installed formulae`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--prune", "--prune=all"}, + Description: `Remove all cache files older than specified days`, + }, { + Name: []string{"-n", "--dry-run"}, + Description: `Show what would be removed, but do not actually remove anything`, + }, { + Name: []string{"-s"}, + Description: `Scrub the cache, including downloads for even the latest versions`, + }, { + Name: []string{"--prune-prefix"}, + Description: `Only prune the symlinks and directories from the prefix and remove no other files`, + }}, + }, { + Name: []string{"services"}, + Description: `Manage background services with macOS' launchctl(1) daemon manager`, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--file"}, + Description: `Use the plist file from this location to start or run the service`, + }, { + Name: []string{"--all"}, + Description: `Run subcommand on all services`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Get help with services command`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"cleanup"}, + Description: `Remove all unused services`, + }, { + Name: []string{"list"}, + Description: `List all services`, + }, { + Name: []string{"run"}, + Description: `Run the service formula without registering to launch at login (or boot)`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Start all services`, + }}, + }, { + Name: []string{"start"}, + Description: `Start the service formula immediately and register it to launch at login`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Start all services`, + }}, + }, { + Name: []string{"stop"}, + Description: `Stop the service formula immediately and unregister it from launching at`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Start all services`, + }}, + }, { + Name: []string{"restart"}, + Description: `Stop (if necessary) and start the service formula immediately and register it to launch at login (or boot)`, + Args: []model.Arg{{ + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Start all services`, + }}, + }}, + }, { + Name: []string{"analytics"}, + Description: `Manages analytics preferences`, + Subcommands: []model.Subcommand{{ + Name: []string{"on"}, + Description: `Turns on analytics`, + }, { + Name: []string{"off"}, + Description: `Turns off analytics`, + }, { + Name: []string{"regenerate-uuid"}, + Description: `Regenerate the UUID used for analytics`, + }}, + }, { + Name: []string{"autoremove"}, + Description: `Uninstall formulae that were only installed as a dependency of another formula and are now no longer needed`, + Options: []model.Option{{ + Name: []string{"-n", "--dry-run"}, + Description: `List what would be uninstalled, but do not actually uninstall anything`, + }}, + }, { + Name: []string{"tap"}, + Description: `Tap a formula repository`, + Args: []model.Arg{{ + Name: "user/repo or URL", + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--full"}, + Description: `Convert a shallow clone to a full clone without untapping`, + }, { + Name: []string{"--shallow"}, + Description: `Fetch tap as a shallow clone rather than a full clone`, + }, { + Name: []string{"--force-auto-update"}, + Description: `Auto-update tap even if it is not hosted on GitHub`, + }, { + Name: []string{"--repair"}, + Description: `Migrate tapped formulae from symlink-based to directory-based structure`, + }, { + Name: []string{"--list-pinned"}, + Description: `List all pinned taps`, + }}, + }, { + Name: []string{"untap"}, + Description: `Remove a tapped formula repository`, + Args: []model.Arg{{ + Name: "repository", + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"-f", "--force"}, + Description: `Untap even if formulae or casks from this tap are currently installed`, + }, { + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }}, + }, { + Name: []string{"link"}, + Description: `Symlink all of formula's installed files into Homebrew's prefix`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--overwrite"}, + Description: `Delete files that already exist in the prefix while linking`, + }, { + Name: []string{"-n", "--dry-run"}, + Description: `List files which would be linked or deleted by brew link --overwrite without actually linking or deleting any files`, + }, { + Name: []string{"-f", "--force"}, + Description: `Allow keg-only formulae to be linked`, + }, { + Name: []string{"--HEAD"}, + Description: `Link the HEAD version of the formula if it is installed`, + }}, + }, { + Name: []string{"unlink"}, + Description: `Remove symlinks for formula from Homebrew's prefix`, + Args: []model.Arg{{ + Name: "formula", + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-n", "--dry-run"}, + Description: `List files which would be unlinked without actually unlinking or deleting any files`, + }}, + }, { + Name: []string{"formulae"}, + Description: `List all available formulae`, + }, { + Name: []string{"casks"}, + Description: `List all available casks`, + }, { + Name: []string{"edit"}, + Description: ``, + Args: []model.Arg{{ + Name: "formula", + Description: `Formula or cask to install`, + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--formula", "--formulae"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--cask", "--casks"}, + Description: `Treat all named arguments as casks`, + }}, + }, { + Name: []string{"home", "homepage"}, + Description: `Open a formula, cask's homepage in a browser, or open Homebrew's own homepage if no argument is provided`, + Args: []model.Arg{{ + Name: "formula", + Description: `Formula or cask to open homepage for`, + Generator: nil, // TODO: port over generator + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }, { + Name: []string{"--formula", "--formulae"}, + Description: `Treat all named arguments as formulae`, + }, { + Name: []string{"--cask", "--casks"}, + Description: `Treat all named arguments as casks`, + }}, + }, { + Name: []string{"alias"}, + Description: `Manage custom user created brew aliases`, + Args: []model.Arg{{ + Name: "alias", + Description: `Display the alias command`, + Generator: nil, // TODO: port over generator + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--edit"}, + Description: `Edit aliases in a text editor`, + }, { + Name: []string{"-d", "--debug"}, + Description: `Display any debugging information`, + }, { + Name: []string{"-q", "--quiet"}, + Description: `Make some output more quiet`, + }, { + Name: []string{"-v", "--verbose"}, + Description: `Make some output more verbose`, + }, { + Name: []string{"-h", "--help"}, + Description: `Show help message`, + }}, + }, { + Name: []string{"developer"}, + Description: `Display the current state of Homebrew's developer mode`, + Args: []model.Arg{{ + Name: "state", + Description: `Turn Homebrew's developer mode on or off respectively`, + Suggestions: []model.Suggestion{{Name: []string{`on`}}, {Name: []string{`off`}}}, + IsOptional: true, + }}, + }}, + } +} diff --git a/autocomplete/specs/broot.go b/autocomplete/specs/broot.go new file mode 100644 index 0000000..dedd562 --- /dev/null +++ b/autocomplete/specs/broot.go @@ -0,0 +1,184 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["broot"] = model.Subcommand{ + Name: []string{"broot"}, + Description: `Broot lets you explore file hierarchies with a tree-like view, manipulate files, launch actions, and define your own shortcuts. broot is best launched as br: this shell function gives you access to more commands, especially cd. The br shell function is interactively installed on first broot launch. Flags and options can be classically passed on launch but also written in the configuration file. Each flag has a counter-flag so that you can cancel at command line a flag which has been set in the configuration file`, + Args: []model.Arg{{ + Name: "ROOT", + Description: `Sets the root directory`, + }}, + Options: []model.Option{{ + Name: []string{"--dates", "-d"}, + Description: `Show the last modified date of files and directories`, + ExclusiveOn: []string{"--no-dates", "-D"}, + }, { + Name: []string{"--no-dates", "-D"}, + Description: `Don't show the last modified date`, + ExclusiveOn: []string{"--dates", "-d"}, + }, { + Name: []string{"--only-folders", "-f"}, + Description: `Only show folders`, + ExclusiveOn: []string{"--no-only-folders", "-F"}, + }, { + Name: []string{"--no-only-folders", "-F"}, + Description: `Show folders and files alike`, + ExclusiveOn: []string{"--only-folders", "-f"}, + }, { + Name: []string{"--show-root-fs"}, + Description: `Show filesystem info on top`, + }, { + Name: []string{"--show-git-info", "-g"}, + Description: `Show git statuses on files and stats of repository`, + ExclusiveOn: []string{"--no-show-git-info", "-G"}, + }, { + Name: []string{"--no-show-git-info", "-G"}, + Description: `Don't show git statuses on files nor stats`, + ExclusiveOn: []string{"--show-git-info", "-g"}, + }, { + Name: []string{"--git-status"}, + Description: `Only show files having an interesting git status, including hidden ones`, + }, { + Name: []string{"--hidden", "-h"}, + Description: `Show hidden files`, + ExclusiveOn: []string{"--no-hidden", "-H"}, + }, { + Name: []string{"--no-hidden", "-H"}, + Description: `Don't show hidden files`, + ExclusiveOn: []string{"--hidden", "-h"}, + }, { + Name: []string{"--show-gitignored", "-i"}, + Description: `Show files which should be ignored according to git`, + ExclusiveOn: []string{"--no-show-gitignored", "-I"}, + }, { + Name: []string{"--no-show-gitignored", "-I"}, + Description: `Don't show gitignored files`, + ExclusiveOn: []string{"--show-gitignored", "-i"}, + }, { + Name: []string{"--permissions", "-p"}, + Description: `Show permissions with owner and group`, + ExclusiveOn: []string{"--no-permissions", "-P"}, + }, { + Name: []string{"--no-permissions", "-P"}, + Description: `Don't show permissions`, + ExclusiveOn: []string{"--permissions", "-p"}, + }, { + Name: []string{"--sizes", "-s"}, + Description: `Show the sizes of files and directories. When this mode is on, children aren't shown so that the biggest entries at the selected level can be sorted first`, + ExclusiveOn: []string{"--no-sizes", "-S"}, + }, { + Name: []string{"--no-sizes", "-S"}, + Description: `Don't show sizes`, + ExclusiveOn: []string{"--sizes", "-s"}, + }, { + Name: []string{"--sort-by-count"}, + Description: `Sort by count (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--sort-by-date"}, + Description: `Sort by date (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--sort-by-size"}, + Description: `Sort by size (only show one level of the tree)`, + ExclusiveOn: []string{"--no-sort"}, + }, { + Name: []string{"--whale-spotting", "-w"}, + Description: `Sort by size, show ignored and hidden files`, + }, { + Name: []string{"--no-sort"}, + Description: `Don't sort`, + ExclusiveOn: []string{"--sort-by-count", "--sort-by-date", "--sort-by-size"}, + }, { + Name: []string{"--trim-root", "-t"}, + Description: `Trim the root: remove elements which would exceed the screen size. This removes the scrollbar`, + ExclusiveOn: []string{"--no-trim-root", "-T"}, + }, { + Name: []string{"--no-trim-root", "-T"}, + Description: `Don't trim the root (still trim the deeper levels). A scrollbar may be used when there are too many elements to show on screen`, + ExclusiveOn: []string{"--trim-root", "-t"}, + }, { + Name: []string{"--install"}, + Description: `Install or reinstall the br shell function`, + }, { + Name: []string{"--get-root"}, + Description: `Ask for the current root of the remote broot`, + }, { + Name: []string{"--color"}, + Description: `Controls styling of the output (default: auto). If set to auto, all styling is removed when output is piped`, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{Name: []string{`yes`}}, {Name: []string{`no`}}, {Name: []string{`auto`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"--help"}, + Description: `Prints a help page, with more or less the same content as this man page`, + }, { + Name: []string{"--version", "-v"}, + Description: `Prints the version of broot`, + }, { + Name: []string{"--outcmd"}, + Description: `Where to write a command if broot produces one`, + Args: []model.Arg{{ + Name: "cmd-export-path", + }}, + }, { + Name: []string{"--cmd", "-c"}, + Description: `Semicolon separated commands to execute on start of broot`, + Args: []model.Arg{{ + Name: "commands", + }}, + }, { + Name: []string{"--conf"}, + Description: `Semicolon separated paths to specific config files`, + Args: []model.Arg{{ + Name: "conf", + }}, + }, { + Name: []string{"--height"}, + Description: `Height to use if you don't want to fill the screen or for file export (by default the terminal height is used)`, + Args: []model.Arg{{ + Name: "height", + }}, + }, { + Name: []string{"--out", "-o"}, + Description: `Where to write the produced path, if any`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file-export-path", + }}, + }, { + Name: []string{"--set-install-state"}, + Description: `Set the installation state. This is mostly useful in installation scripts to override the normal installation process`, + Args: []model.Arg{{ + Name: "state", + Suggestions: []model.Suggestion{{Name: []string{`undefined`}}, {Name: []string{`refused`}}, {Name: []string{`installed`}}}, + }}, + }, { + Name: []string{"--print-shell-function"}, + Description: `Print to stdout the br function for the given shell. This can be used in your own installation process overriden the standard one`, + Args: []model.Arg{{ + Name: "shell", + Suggestions: []model.Suggestion{{Name: []string{`bash`}}, {Name: []string{`fish`}}, {Name: []string{`zsh`}}}, + }}, + }, { + Name: []string{"--listen"}, + Description: `Listen for commands`, + Args: []model.Arg{{ + Name: "listen", + }}, + }, { + Name: []string{"--send"}, + Description: `Send commands to a remote broot then quits`, + Args: []model.Arg{{ + Name: "send", + }}, + }}, + } +} diff --git a/autocomplete/specs/browser-sync.go b/autocomplete/specs/browser-sync.go new file mode 100644 index 0000000..685c6a8 --- /dev/null +++ b/autocomplete/specs/browser-sync.go @@ -0,0 +1,278 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["browser-sync"] = model.Subcommand{ + Name: []string{"browser-sync"}, + Description: `Keep multiple browsers & devices in sync when building websites`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "site or directory", + IsOptional: true, + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"--version"}, + Description: `Show version number`, + }, { + Name: []string{"--help"}, + Description: `Show help`, + IsPersistent: true, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"start"}, + Description: `Start Browsersync`, + Options: []model.Option{{ + Name: []string{"-s", "--server"}, + Description: `Run a Local server (uses your cwd as the web root)`, + }, { + Name: []string{"--cwd"}, + Description: `Working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"--json"}, + Description: `If true, certain logs will output as json only`, + }, { + Name: []string{"--serveStatic", "--ss"}, + Description: `Directories to serve static files from`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directories", + }}, + }, { + Name: []string{"--port"}, + Description: `Specify a port to use`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-p", "--proxy"}, + Description: `Proxy an existing server`, + }, { + Name: []string{"--ws"}, + Description: `Proxy mode only - enable websocket proxying`, + }, { + Name: []string{"-b", "--browser"}, + Description: `Choose which browser should be auto-opened`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"-w", "--watch"}, + Description: `Watch files`, + }, { + Name: []string{"--ignore"}, + Description: `Ignore patterns for file watchers`, + Args: []model.Arg{{ + Name: "patterns", + }}, + }, { + Name: []string{"-f", "--files"}, + Description: `File paths to watch`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "paths", + }}, + }, { + Name: []string{"--index"}, + Description: `Specify which file should be used as the index page`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + }}, + }, { + Name: []string{"--plugins"}, + Description: `Load Browsersync plugins`, + Args: []model.Arg{{ + Name: "plugins", + }}, + }, { + Name: []string{"--extensions"}, + Description: `Specify file extension fallbacks`, + Args: []model.Arg{{ + Name: "extensions", + }}, + }, { + Name: []string{"--startPath"}, + Description: `Specify the start path for the opened browser`, + Args: []model.Arg{{ + Name: "start-path", + }}, + }, { + Name: []string{"--single"}, + Description: `If true, the connect-history-api-fallback middleware will be added`, + }, { + Name: []string{"--https"}, + Description: `Enable SSL for local development`, + }, { + Name: []string{"--directory"}, + Description: `Show a directory listing for the server`, + }, { + Name: []string{"--xip"}, + Description: `Use xip.io domain routing`, + }, { + Name: []string{"--tunnel"}, + Description: `Use a public URL`, + }, { + Name: []string{"--open"}, + Description: `Choose which URL is auto-opened (local, external or tunnel), or provide a url`, + Args: []model.Arg{{ + Name: "string", + Suggestions: []model.Suggestion{{Name: []string{`local`}}, {Name: []string{`external`}}, {Name: []string{`tunnel`}}}, + }}, + }, { + Name: []string{"--cors"}, + Description: `Add Access Control headers to every request`, + }, { + Name: []string{"-c", "--config"}, + Description: `Specify a path to a configuration file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"--host"}, + Description: `Specify a hostname to use`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--listen"}, + Description: `Specify a hostname bind to (this will prevent binding to all interfaces)`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--logLevel"}, + Description: `Set the logger output level (silent, info or debug)`, + Args: []model.Arg{{ + Name: "level", + Suggestions: []model.Suggestion{{Name: []string{`silent`}}, {Name: []string{`info`}}, {Name: []string{`debug`}}}, + }}, + }, { + Name: []string{"--reload-delay"}, + Description: `Time in milliseconds to delay the reload event following file changes`, + Args: []model.Arg{{ + Name: "milliseconds", + }}, + }, { + Name: []string{"--reload-debounce"}, + Description: `Restrict the frequency in which browser:reload events can be emitted to connected clients`, + Args: []model.Arg{{ + Name: "milliseconds", + }}, + }, { + Name: []string{"--ui-port"}, + Description: `Specify a port for the UI to use`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"--watchEvents"}, + Description: `Specify which file events to respond to`, + Args: []model.Arg{{ + Name: "events", + }}, + }, { + Name: []string{"--no-notify"}, + Description: `Disable the notify element in browsers`, + }, { + Name: []string{"--no-open"}, + Description: `Don't open a new browser window`, + }, { + Name: []string{"--no-snippet"}, + Description: `Disable the snippet injection`, + }, { + Name: []string{"--no-online"}, + Description: `Force offline usage`, + }, { + Name: []string{"--no-ui"}, + Description: `Don't start the user interface`, + }, { + Name: []string{"--no-ghost-mode"}, + Description: `Disable Ghost Mode`, + }, { + Name: []string{"--no-inject-changes"}, + Description: `Reload on every file change`, + }, { + Name: []string{"--no-reload-on-restart"}, + Description: `Don't auto-reload all browsers following a restart`, + }}, + }, { + Name: []string{"init"}, + Description: `Create a configuration file`, + Options: []model.Option{{ + Name: []string{"--cwd"}, + Description: `Working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "string", + }}, + }}, + }, { + Name: []string{"reload"}, + Description: `Send a reload event over HTTP protocol`, + Options: []model.Option{{ + Name: []string{"-f", "--files"}, + Description: `File paths to reload`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "paths", + }}, + }, { + Name: []string{"-p", "--port"}, + Description: `Target a running instance by port number`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-u", "--url"}, + Description: `Provide the full URL to the running browsersync isntance`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--cwd"}, + Description: `Working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }}, + }, { + Name: []string{"recipe"}, + Description: `Generate the files for a recipe`, + Args: []model.Arg{{ + Name: "recipe-name", + Generator: nil, // TODO: port over generator + }}, + Options: []model.Option{{ + Name: []string{"--cwd"}, + Description: `Working directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-o", "--output"}, + Description: `Specify an output directory`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"ls"}, + Description: `List recipes`, + }}, + }}, + } +} diff --git a/autocomplete/specs/btop.go b/autocomplete/specs/btop.go new file mode 100644 index 0000000..c4665fe --- /dev/null +++ b/autocomplete/specs/btop.go @@ -0,0 +1,45 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["btop"] = model.Subcommand{ + Name: []string{"btop"}, + Description: `Beautifuler htop (interactive process viewer)`, + Options: []model.Option{{ + Name: []string{"--help", "-h"}, + Description: `Shows help for btop`, + }, { + Name: []string{"--low-color", "-lc"}, + Description: `Disables truecolor, converts 24-bit colors to 256-color`, + }, { + Name: []string{"--tty_on", "-t"}, + Description: `Forces ON tty mode, max 16 colors and tty friendly graph symbol`, + ExclusiveOn: []string{"--tty_off"}, + }, { + Name: []string{"--tty_off", "+t"}, + Description: `Forces OFF tty mode`, + ExclusiveOn: []string{"--tty_on"}, + }, { + Name: []string{"--preset", "-p"}, + Description: `Start with preset`, + Args: []model.Arg{{ + Name: "id", + Suggestions: []model.Suggestion{{Name: []string{`0`}}, {Name: []string{`1`}}, {Name: []string{`2`}}, {Name: []string{`3`}}, {Name: []string{`4`}}, {Name: []string{`5`}}, {Name: []string{`6`}}, {Name: []string{`7`}}, {Name: []string{`8`}}, {Name: []string{`9`}}}, + }}, + }, { + Name: []string{"--utf-force"}, + Description: `Force start even if no UTF-8 locale was detected`, + }, { + Name: []string{"--debug"}, + Description: `Starts in DEBUG mode: shows microsecond timer for information collect and screen draw functions and sets loglevel to DEBUG`, + }, { + Name: []string{"--version", "-v"}, + Description: `Shows the version of btop`, + }}, + } +} diff --git a/autocomplete/specs/build-storybook.go b/autocomplete/specs/build-storybook.go new file mode 100644 index 0000000..ecedd64 --- /dev/null +++ b/autocomplete/specs/build-storybook.go @@ -0,0 +1,101 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["build-storybook"] = model.Subcommand{ + Name: []string{"build-storybook"}, + Description: `Storybook build CLI tools`, + Options: []model.Option{{ + Name: []string{"-o", "--output-dir"}, + Description: `Directory where to store built files`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-w", "--watch"}, + Description: `Enables watch mode`, + }, { + Name: []string{"--loglevel"}, + Description: `Controls level of logging during build`, + Args: []model.Arg{{ + Name: "level", + Suggestions: []model.Suggestion{{Name: []string{`silly`}}, {Name: []string{`verbose`}}, {Name: []string{`info`}}, {Name: []string{`warn`}}, {Name: []string{`error`}}, {Name: []string{`silent`}}}, + }}, + }, { + Name: []string{"--help"}, + Description: `Display usage information`, + }, { + Name: []string{"-V", "--version"}, + Description: `Display the version number`, + }, { + Name: []string{"-s", "--static-dir"}, + Description: `Directory where to load static files from, comma-separated list`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-c", "--config-dir"}, + Description: `Directory where to load Storybook configurations from`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"--https"}, + Description: `Serve Storybook over HTTPS. Note: You must provide your own certificate information`, + }, { + Name: []string{"--ssl-ca"}, + Description: `Provide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)`, + Args: []model.Arg{{ + Name: "certificate authority", + }}, + }, { + Name: []string{"--ssl-cert"}, + Description: `Provide an SSL certificate. (Required with --https)`, + Args: []model.Arg{{ + Name: "certificate", + }}, + }, { + Name: []string{"--ssl-key"}, + Description: `Provide an SSL key. (Required with --https)`, + Args: []model.Arg{{ + Name: "key", + }}, + }, { + Name: []string{"--smoke-test"}, + Description: `Exit after successful start`, + }, { + Name: []string{"--ci"}, + Description: `CI mode (skip interactive prompts, don't open browser)`, + }, { + Name: []string{"--quiet"}, + Description: `Suppress verbose build output`, + }, { + Name: []string{"--no-dll"}, + Description: `Do not use dll reference (no-op)`, + }, { + Name: []string{"--debug-webpack"}, + Description: `Display final webpack configurations for debugging purposes`, + }, { + Name: []string{"--webpack-stats-json"}, + Description: `Write Webpack Stats JSON to disk`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"--docs"}, + Description: `Starts Storybook in documentation mode`, + }, { + Name: []string{"--no-manager-cache"}, + Description: `Disables Storybook's manager caching mechanism. NOTE: this flag disables the internal caching of Storybook and can severely impact your Storybook loading time, so only use it when you need to refresh Storybook's UI, such as when editing themes`, + }}, + } +} diff --git a/autocomplete/specs/bun.go b/autocomplete/specs/bun.go new file mode 100644 index 0000000..a4ddf77 --- /dev/null +++ b/autocomplete/specs/bun.go @@ -0,0 +1,498 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bun"] = model.Subcommand{ + Name: []string{"bun"}, + Description: `A fast bundler, transpiler, JavaScript Runtime and package manager for web software`, + Args: []model.Arg{{ + Name: "file", + Generator: nil, // TODO: port over generator + }, { + Name: "args", + }}, + Options: []model.Option{{ + Name: []string{"--use"}, + Description: `Choose a framework, e.g. "--use next". It checks first for a package named "bun-framework-packagename" and then "packagename"`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "framework", + Suggestions: []model.Suggestion{{Name: []string{`next`}}}, + }}, + }, { + Name: []string{"--bunfile"}, + Description: `Use a .bun file (default: node_modules.bun)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"--server-bunfile"}, + Description: `Use a .server.bun file (default: node_modules.server.bun)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"--cwd"}, + Description: `Absolute path to resolve files & entry points from. This just changes the process' cwd`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"-c", "--config"}, + Description: `Config file to load bun from (e.g. -c bunfig.toml`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + IsOptional: true, + }}, + }, { + Name: []string{"--disable-react-fast-refresh"}, + Description: `Disable React Fast Refresh`, + }, { + Name: []string{"--disable-hmr"}, + Description: `Disable Hot Module Reloading (disables fast refresh too)`, + }, { + Name: []string{"--extension-order"}, + Description: `Defaults to: .tsx,.ts,.jsx,.js,.json`, + Args: []model.Arg{{ + Name: "order", + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + }, { + Name: []string{"--jsx-factory"}, + Description: `Changes the function called when compiling JSX elements using the classic JSX runtime`, + Args: []model.Arg{{ + Name: "name", + Suggestions: []model.Suggestion{{Name: []string{`React.createElement`}}, {Name: []string{`h`}}, {Name: []string{`preact.h`}}}, + }}, + }, { + Name: []string{"--jsx-fragment"}, + Description: `Changes the function called when compiling JSX fragments`, + Args: []model.Arg{{ + Name: "name", + Suggestions: []model.Suggestion{{Name: []string{`React.Fragment`}}, {Name: []string{`Fragment`}}}, + }}, + }, { + Name: []string{"--jsx-import-source"}, + Description: `Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: "react"`, + Args: []model.Arg{{ + Name: "module", + Suggestions: []model.Suggestion{{Name: []string{`react`}}}, + }}, + }, { + Name: []string{"--jsx-production"}, + Description: `Use jsx instead of jsxDEV (default) for the automatic runtime`, + }, { + Name: []string{"--jsx-runtime"}, + Description: `"automatic" (default) or "classic"`, + Args: []model.Arg{{ + Name: "name", + Suggestions: []model.Suggestion{{Name: []string{`automatic`}}, {Name: []string{`classic`}}}, + }}, + }, { + Name: []string{"--main-fields"}, + Description: `Main fields to lookup in package.json. Defaults to --platform dependent`, + Args: []model.Arg{{ + Name: "fields", + IsVariadic: true, + }}, + }, { + Name: []string{"--no-summary"}, + Description: `Don't print a summary (when generating .bun)`, + }, { + Name: []string{"-v", "--version"}, + Description: `Print version and exit`, + }, { + Name: []string{"--platform"}, + Description: `"browser" or "node". Defaults to "browser"`, + Args: []model.Arg{{ + Name: "name", + Suggestions: []model.Suggestion{{Name: []string{`browser`}}, {Name: []string{`node`}}}, + }}, + }, { + Name: []string{"--public-dir"}, + Description: `Top-level directory for .html files, fonts or anything external. Defaults to "/public", to match create-react-app and Next.js`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--tsconfig-override"}, + Description: `Load tsconfig from path instead of cwd/tsconfig.json`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"-d", "--define"}, + Description: `Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:"development". Values are parsed as JSON`, + Args: []model.Arg{{ + Name: "k:v", + IsVariadic: true, + }}, + }, { + Name: []string{"-e", "--external"}, + Description: `Exclude module from transpilation (can use * wildcards). ex: -e react`, + Args: []model.Arg{{ + Name: "module", + IsVariadic: true, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display this help and exit`, + }, { + Name: []string{"-i", "--inject"}, + Description: `Inject module at the top of every file`, + Args: []model.Arg{{ + Name: "module", + IsVariadic: true, + }}, + }, { + Name: []string{"-l", "--loader"}, + Description: `Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: jsx, js, json, tsx, ts, css`, + Args: []model.Arg{{ + Name: "loader", + IsVariadic: true, + }}, + }, { + Name: []string{"-u", "--origin"}, + Description: `Rewrite import URLs to start with --origin. Default: ""`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"-p", "--port"}, + Description: `Port to serve bun's dev server on. Default: "3000"`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"--silent"}, + Description: `Don't repeat the command for bun run`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"dev"}, + Description: `Start a bun Dev server`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "files", + IsVariadic: true, + }}, + }, { + Name: []string{"bun"}, + Description: `Bundle dependencies of input files into a '.bun' file`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "files", + IsVariadic: true, + }}, + }, { + Name: []string{"c", "create"}, + Description: `Start a new project from a template`, + Args: []model.Arg{{ + Name: "template", + Description: `Package from @bun-examples, GitHub repo, or local file`, + Suggestions: []model.Suggestion{{Name: []string{`react`}}, {Name: []string{`next`}}, {Name: []string{`hono`}}, {Name: []string{`discord-interactions`}}, {Name: []string{`blank`}}, {Name: []string{`bun-bakery`}}}, + Generator: nil, // TODO: port over generator + }, { + Templates: []model.Template{model.TemplateFolders}, + Name: "name", + }}, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `Overwrite existing files`, + }, { + Name: []string{"--no-install"}, + Description: `Don't install node_modules`, + }, { + Name: []string{"--no-git"}, + Description: `Don't create a git repository`, + }, { + Name: []string{"--verbose"}, + Description: `Too many logs`, + }, { + Name: []string{"--no-package-json"}, + Description: `Disable package.json transforms`, + }, { + Name: []string{"--open"}, + Description: `On finish, start bun and open in browser`, + }}, + }, { + Name: []string{"run"}, + Description: `Run a package.json script or executable`, + Args: []model.Arg{{ + Name: "script", + FilterStrategy: model.FilterStrategyFuzzy, + Generator: nil, // TODO: port over generator + }, { + Name: "args", + IsOptional: true, + IsVariadic: true, + }}, + }, { + Name: []string{"i", "install"}, + Description: `Install dependencies for a package.json`, + Options: []model.Option{{ + Name: []string{"-c", "--config"}, + Description: `Load config (bunfig.toml)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + IsOptional: true, + }}, + }, { + Name: []string{"-y", "--yarn"}, + Description: `Write a yarn.lock file (yarn v1)`, + }, { + Name: []string{"-p", "--production"}, + Description: `Don't install devDependencies`, + }, { + Name: []string{"--no-save"}, + Description: `Don't save a lockfile`, + }, { + Name: []string{"--dry-run"}, + Description: `Don't install anything`, + }, { + Name: []string{"--lockfile"}, + Description: `Store & load a lockfile at a specific filepath`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"-f", "--force"}, + Description: `Always request the latest versions from the registry & reinstall all dependenices`, + }, { + Name: []string{"--cache-dir"}, + Description: `Store & load cached data from a specific directory path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--no-cache"}, + Description: `Ignore manifest cache entirely`, + }, { + Name: []string{"--silent"}, + Description: `Don't log anything`, + }, { + Name: []string{"--verbose"}, + Description: `Excessively verbose logging`, + }, { + Name: []string{"-g", "--global"}, + Description: `Install globally`, + }, { + Name: []string{"--cwd"}, + Description: `Set a specific cwd`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--backend"}, + Description: `Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'`, + Args: []model.Arg{{ + Name: "syscall", + Suggestions: []model.Suggestion{{Name: []string{`clonefile`}}, {Name: []string{`copyfile`}}}, + }}, + }, { + Name: []string{"--link-native-bins"}, + Description: `Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo`, + Args: []model.Arg{{ + Name: "str", + IsVariadic: true, + }}, + }, { + Name: []string{"--help"}, + Description: `Print the help menu`, + }}, + }, { + Name: []string{"a", "add"}, + Description: `Add a dependency to package.json`, + Args: []model.Arg{{ + Name: "package", + FilterStrategy: model.FilterStrategyFuzzy, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-c", "--config"}, + Description: `Load config (bunfig.toml)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + IsOptional: true, + }}, + }, { + Name: []string{"-y", "--yarn"}, + Description: `Write a yarn.lock file (yarn v1)`, + }, { + Name: []string{"-p", "--production"}, + Description: `Don't install devDependencies`, + }, { + Name: []string{"--no-save"}, + Description: `Don't save a lockfile`, + }, { + Name: []string{"--dry-run"}, + Description: `Don't install anything`, + }, { + Name: []string{"--lockfile"}, + Description: `Store & load a lockfile at a specific filepath`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"-f", "--force"}, + Description: `Always request the latest versions from the registry & reinstall all dependenices`, + }, { + Name: []string{"--cache-dir"}, + Description: `Store & load cached data from a specific directory path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--no-cache"}, + Description: `Ignore manifest cache entirely`, + }, { + Name: []string{"--silent"}, + Description: `Don't log anything`, + }, { + Name: []string{"--verbose"}, + Description: `Excessively verbose logging`, + }, { + Name: []string{"-g", "--global"}, + Description: `Install globally`, + }, { + Name: []string{"--cwd"}, + Description: `Set a specific cwd`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--backend"}, + Description: `Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'`, + Args: []model.Arg{{ + Name: "syscall", + Suggestions: []model.Suggestion{{Name: []string{`clonefile`}}, {Name: []string{`copyfile`}}}, + }}, + }, { + Name: []string{"--link-native-bins"}, + Description: `Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo`, + Args: []model.Arg{{ + Name: "str", + IsVariadic: true, + }}, + }, { + Name: []string{"--help"}, + Description: `Print the help menu`, + }}, + }, { + Name: []string{"rm", "remove"}, + Description: `Remove a dependency from package.json`, + Args: []model.Arg{{ + Name: "package", + FilterStrategy: model.FilterStrategyFuzzy, + Generator: nil, // TODO: port over generator + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-c", "--config"}, + Description: `Load config (bunfig.toml)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + IsOptional: true, + }}, + }, { + Name: []string{"-y", "--yarn"}, + Description: `Write a yarn.lock file (yarn v1)`, + }, { + Name: []string{"-p", "--production"}, + Description: `Don't install devDependencies`, + }, { + Name: []string{"--no-save"}, + Description: `Don't save a lockfile`, + }, { + Name: []string{"--dry-run"}, + Description: `Don't install anything`, + }, { + Name: []string{"--lockfile"}, + Description: `Store & load a lockfile at a specific filepath`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + }}, + }, { + Name: []string{"-f", "--force"}, + Description: `Always request the latest versions from the registry & reinstall all dependenices`, + }, { + Name: []string{"--cache-dir"}, + Description: `Store & load cached data from a specific directory path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--no-cache"}, + Description: `Ignore manifest cache entirely`, + }, { + Name: []string{"--silent"}, + Description: `Don't log anything`, + }, { + Name: []string{"--verbose"}, + Description: `Excessively verbose logging`, + }, { + Name: []string{"-g", "--global"}, + Description: `Install globally`, + }, { + Name: []string{"--cwd"}, + Description: `Set a specific cwd`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "path", + }}, + }, { + Name: []string{"--backend"}, + Description: `Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'`, + Args: []model.Arg{{ + Name: "syscall", + Suggestions: []model.Suggestion{{Name: []string{`clonefile`}}, {Name: []string{`copyfile`}}}, + }}, + }, { + Name: []string{"--link-native-bins"}, + Description: `Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo`, + Args: []model.Arg{{ + Name: "str", + IsVariadic: true, + }}, + }, { + Name: []string{"--help"}, + Description: `Print the help menu`, + }}, + }, { + Name: []string{"upgrade"}, + Description: `Get the latest version of bun`, + }, { + Name: []string{"completions"}, + Description: `Install shell completions`, + }, { + Name: []string{"discord"}, + Description: `Open bun's Discord server`, + }, { + Name: []string{"help"}, + Description: `Print the help menu`, + }}, + } +} diff --git a/autocomplete/specs/bundle.go b/autocomplete/specs/bundle.go new file mode 100644 index 0000000..1c6f64b --- /dev/null +++ b/autocomplete/specs/bundle.go @@ -0,0 +1,431 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bundle"] = model.Subcommand{ + Name: []string{"bundle"}, + Description: `Ruby Dependency Management`, + Options: []model.Option{{ + Name: []string{"--no-color"}, + Description: `Print all output without color`, + }, { + Name: []string{"--retry", "-r"}, + Description: `Specify the number of times you wish to attempt network commands`, + }, { + Name: []string{"--verbose", "-V"}, + Description: `Print out additional logging information`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"install"}, + Description: `Install the gems specified by the Gemfile or Gemfile.lock`, + Options: []model.Option{{ + Name: []string{"--binstubs"}, + Description: `Create binstubs in dir`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + }}, + }, { + Name: []string{"--clean"}, + Description: `Remove unused gems after install`, + }, { + Name: []string{"--deployment"}, + Description: `For Production and CI use`, + }, { + Name: []string{"--force", "--redownload"}, + Description: `Redownload all gems`, + }, { + Name: []string{"--frozen"}, + Description: `Do not allow lock file to update`, + }, { + Name: []string{"--full-index"}, + Description: `Cache the full index locally`, + }, { + Name: []string{"--gemfile"}, + Description: `The gemfile to use`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + }}, + }, { + Name: []string{"--jobs"}, + Description: `Maximum number of parallel installs`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--local"}, + Description: `Use only gems already downloaded or cached`, + }, { + Name: []string{"--no-cache"}, + Description: `Do not use vendor/cache`, + }, { + Name: []string{"--no-prune"}, + Description: `Do not remove stale gems`, + }, { + Name: []string{"--path"}, + Description: `Path the install gems too`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + }}, + }, { + Name: []string{"--quiet"}, + Description: `Do not print to stdout`, + }, { + Name: []string{"--retry"}, + Description: `Retry failed network requests N times`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--shebang"}, + Description: `Uses the specified ruby executable for binstubs`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--standalone"}, + Description: `Makes a bundle that can work without depending on Rubygems or Bundler at runtime`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--system"}, + Description: `Use system Rubygems location`, + }, { + Name: []string{"--trust-policy"}, + Description: `Apply the Rubygems security policy`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--with"}, + Description: `Groups to install`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--without"}, + Description: `Groups to NOT install`, + Args: []model.Arg{{}}, + }}, + }, { + Name: []string{"update"}, + Description: `Update dependencies to their latest versions`, + Options: []model.Option{{ + Name: []string{"--all"}, + Description: `Update all gems specified in Gemfile`, + }, { + Name: []string{"--group", "-g"}, + Description: `Only update the gems in the specified group`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--source"}, + Description: `The name of a :git or :path source used in the Gemfile`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--local"}, + Description: `Use only gems already downloaded or cached`, + }, { + Name: []string{"--ruby"}, + Description: `Update the locked version of Ruby to the current version of Ruby`, + }, { + Name: []string{"--bundler"}, + Description: `Update the locked version of bundler to the invoked bundler version`, + }, { + Name: []string{"--full-index"}, + Description: `Fall back to using the single-file index of all gems`, + }, { + Name: []string{"--jobs", "-j"}, + Description: `Specify the number of jobs to run in parallel. The default is 1`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--retry"}, + Description: `Retry failed network or git requests for number times`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--quiet"}, + Description: `Only output warnings and errors`, + }, { + Name: []string{"--force", "--redownload"}, + Description: `Force downloading every gem`, + }, { + Name: []string{"--patch"}, + Description: `Prefer updating only to next patch version`, + }, { + Name: []string{"--minor"}, + Description: `Prefer updating only to next minor version`, + }, { + Name: []string{"--major"}, + Description: `Prefer updating to next major version (default)`, + }, { + Name: []string{"--strict"}, + Description: `Do not allow any gem to be updated past latest --patch | --minor | --major`, + }, { + Name: []string{"--conservative"}, + Description: `Do not allow shared dependencies to be updated`, + }}, + }, { + Name: []string{"package"}, + Description: `Package the .gem files required by your application into the vendor/cache directory`, + }, { + Name: []string{"exec"}, + Description: `Execute a command in the context of the bundle`, + Args: []model.Arg{{ + IsCommand: true, + }}, + Options: []model.Option{{ + Name: []string{"--keep-file-descriptors"}, + Description: `Pass all file descriptors to the new process`, + }}, + }, { + Name: []string{"config"}, + Args: []model.Arg{{}}, + }, { + Name: []string{"help"}, + }, { + Name: []string{"add"}, + Description: `Add gem to the Gemfile and run bundle install`, + Args: []model.Arg{{}}, + Options: []model.Option{{ + Name: []string{"--version", "-v"}, + Description: `Specify version requirements`, + }, { + Name: []string{"--group", "-g"}, + Description: `Specify the group(s) for the added gem`, + }, { + Name: []string{"--source", "-s"}, + Description: `Specify the source`, + }, { + Name: []string{"--skip-install"}, + Description: `Adds the gem to the Gemfile but does not install it`, + }, { + Name: []string{"--optimistic"}, + Description: `Adds optimistic declaration of version`, + }, { + Name: []string{"--strict"}, + Description: `Adds strict declaration of version`, + }}, + }, { + Name: []string{"binstubs"}, + Description: `Install the binstubs of the listed gems`, + Args: []model.Arg{{}}, + Options: []model.Option{{ + Name: []string{"--force"}, + Description: `Overwrite existing binstubs`, + }, { + Name: []string{"--path"}, + Description: `The location to install the specified binstubs to`, + }, { + Name: []string{"--standalone"}, + Description: `Makes binstubs that can work without depending on Rubygems or Bundler at runtime`, + }, { + Name: []string{"--shebang"}, + Description: `Specify a different shebang executable name than the default`, + }}, + }, { + Name: []string{"check"}, + Description: `Determine whether the requirements for your application are installed and available to Bundler`, + Options: []model.Option{{ + Name: []string{"--dry-run"}, + Description: `Locks the Gemfile before running the command`, + }, { + Name: []string{"--gemfile"}, + Description: `Use the specified gemfile instead of the Gemfile`, + }, { + Name: []string{"--path"}, + Description: `Specify a different path than the system default`, + }}, + }, { + Name: []string{"show"}, + Description: `Show the source location of a particular gem in the bundle`, + Options: []model.Option{{ + Name: []string{"--paths"}, + Description: `List the paths of all gems that are required by your Gemfile`, + }}, + }, { + Name: []string{"outdated"}, + Description: `Show all of the outdated gems in the current bundle`, + Options: []model.Option{{ + Name: []string{"--local"}, + Description: `Do not attempt to fetch gems remotely and use the gem cache instead`, + }, { + Name: []string{"--pre"}, + Description: `Check for newer pre-release gems`, + }, { + Name: []string{"--source"}, + Description: `Check against a specific source`, + }, { + Name: []string{"--strict"}, + Description: `Only list newer versions allowed by your Gemfile requirements`, + }, { + Name: []string{"--parseable", "--porcelain"}, + Description: `Use minimal formatting for more parseable output`, + }, { + Name: []string{"--group"}, + Description: `List gems from a specific group`, + }, { + Name: []string{"--groups"}, + Description: `List gems organized by groups`, + }, { + Name: []string{"--update-strict"}, + Description: `Strict conservative resolution, do not allow any gem to be updated past latest --patch | --minor| --major`, + }, { + Name: []string{"--minor"}, + Description: `Prefer updating only to next minor version`, + }, { + Name: []string{"--major"}, + Description: `Prefer updating to next major version (default)`, + }, { + Name: []string{"--patch"}, + Description: `Prefer updating only to next patch version`, + }, { + Name: []string{"--filter-major"}, + Description: `Only list major newer versions`, + }, { + Name: []string{"--filter-minor"}, + Description: `Only list minor newer versions`, + }, { + Name: []string{"--filter-patch"}, + Description: `Only list patch newer versions`, + }, { + Name: []string{"--only-explicit"}, + Description: `Only list gems specified in your Gemfile, not their dependencies`, + }}, + }, { + Name: []string{"console"}, + Description: `Start an IRB session in the current bundle`, + }, { + Name: []string{"open"}, + Description: `Open an installed gem in the editor`, + Args: []model.Arg{{}}, + }, { + Name: []string{"lock"}, + Description: `Generate a lockfile for your dependencies`, + Options: []model.Option{{ + Name: []string{"--update"}, + Description: `Ignores the existing lockfile`, + Args: []model.Arg{{}}, + }, { + Name: []string{"--local"}, + Description: `Do not attempt to connect to rubygems.org`, + }, { + Name: []string{"--print"}, + Description: `Prints the lockfile to STDOUT instead of writing to the file + system`, + }, { + Name: []string{"--lockfile"}, + Description: `The path where the lockfile should be written to`, + Args: []model.Arg{{ + Name: "path", + }}, + }, { + Name: []string{"--full-index"}, + Description: `Fall back to using the single-file index of all gems`, + }, { + Name: []string{"--add-platform"}, + Description: `Add a new platform to the lockfile, re-resolving for the addi- + tion of that platform`, + }, { + Name: []string{"--remove-platform"}, + Description: `Remove a platform from the lockfile`, + }, { + Name: []string{"--patch"}, + Description: `If updating, prefer updating only to next patch version`, + }, { + Name: []string{"--minor"}, + Description: `If updating, prefer updating only to next minor version`, + }, { + Name: []string{"--major"}, + Description: `If updating, prefer updating to next major version (default)`, + }, { + Name: []string{"--strict"}, + Description: `If updating, do not allow any gem to be updated past latest --patch | --minor | --major`, + }, { + Name: []string{"--conservative"}, + Description: `If updating, use bundle install conservative update behavior and do not allow shared dependencies to be updated`, + }}, + }, { + Name: []string{"viz"}, + Description: `Generate a visual representation of your dependencies`, + Options: []model.Option{{ + Name: []string{"--file", "-f"}, + Description: `The name to use for the generated file. See --format option`, + }, { + Name: []string{"--format", "-F"}, + Description: `This is output format option`, + }, { + Name: []string{"--requirements", "-R"}, + Description: `Set to show the version of each required dependency`, + }, { + Name: []string{"--version", "-v"}, + Description: `Set to show each gem version`, + }, { + Name: []string{"--without", "-W"}, + Description: `Exclude gems that are part of the specified named group`, + }}, + }, { + Name: []string{"init"}, + Description: `Generate a simple Gemfile, placed in the current directory`, + Options: []model.Option{{ + Name: []string{"--gemspec"}, + Description: `Use the specified .gemspec to create the Gemfile`, + }}, + }, { + Name: []string{"gem"}, + Description: `Create a simple gem, suitable for development with Bundler`, + Options: []model.Option{{ + Name: []string{"--exe", "-b", "--bin"}, + Description: `Specify that Bundler should create a binary executable`, + }, { + Name: []string{"--no-exe"}, + Description: `Do not create a binary`, + }, { + Name: []string{"--coc"}, + Description: `Add a CODE_OF_CONDUCT.md file to the root of the generated project`, + }, { + Name: []string{"--no-coc"}, + Description: `Do not create a CODE_OF_CONDUCT.md`, + }, { + Name: []string{"--ext"}, + Description: `Add boilerplate for C extension code to the generated project`, + }, { + Name: []string{"--no-ext"}, + Description: `Do not add C extension code`, + }, { + Name: []string{"--mit"}, + Description: `Add an MIT license`, + }, { + Name: []string{"--no-mit"}, + Description: `Do not create a LICENSE.txt`, + }, { + Name: []string{"-t", "--test"}, + Description: `Specify the test framework that Bundler should use`, + Args: []model.Arg{{}}, + }, { + Name: []string{"-e", "--edit"}, + Description: `Open the resulting gemspec in EDITOR`, + Args: []model.Arg{{}}, + }}, + }, { + Name: []string{"platform"}, + Description: `Display platform compatibility information`, + Options: []model.Option{{ + Name: []string{"--ruby"}, + Description: `It will display the ruby directive information so you don't have to parse it from the Gemfile`, + }}, + }, { + Name: []string{"clean"}, + Description: `Clean up unused gems in your Bundler directory`, + Options: []model.Option{{ + Name: []string{"--dry-run"}, + Description: `Print the changes, but do not clean the unused gems`, + }, { + Name: []string{"--force"}, + Description: `Force a clean even if --path is not set`, + }}, + }, { + Name: []string{"doctor"}, + Description: `Display warnings about common problems`, + Options: []model.Option{{ + Name: []string{"--quiet"}, + Description: `Only output warnings and errors`, + }, { + Name: []string{"--gemfile"}, + Description: `The location of the Gemfile which Bundler should use`, + Args: []model.Arg{{}}, + }}, + }}, + } +} diff --git a/autocomplete/specs/bw.go b/autocomplete/specs/bw.go new file mode 100644 index 0000000..febe2db --- /dev/null +++ b/autocomplete/specs/bw.go @@ -0,0 +1,970 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["bw"] = model.Subcommand{ + Name: []string{"bw"}, + Options: []model.Option{{ + Name: []string{"--pretty"}, + Description: `Format output. JSON is tabbed with two spaces`, + IsPersistent: true, + }, { + Name: []string{"--raw"}, + Description: `Return raw output instead of a descriptive message`, + IsPersistent: true, + }, { + Name: []string{"--response"}, + Description: `Return a JSON formatted version of response output`, + IsPersistent: true, + }, { + Name: []string{"--cleanexit"}, + Description: `Exit with a success exit code (0) unless an error is thrown`, + IsPersistent: true, + }, { + Name: []string{"--quiet"}, + Description: `Don't return anything to stdout`, + IsPersistent: true, + }, { + Name: []string{"--nointeraction"}, + Description: `Do not prompt for interactive user input`, + IsPersistent: true, + }, { + Name: []string{"--session"}, + Description: `Pass session key instead of reading from env`, + Args: []model.Arg{{ + Name: "session", + Description: `Session Key`, + }}, + IsPersistent: true, + }, { + Name: []string{"-v", "--version"}, + Description: `Output BW CLI tool version number`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for command`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"login"}, + Description: `Log into a user account`, + Args: []model.Arg{{ + Name: "email", + Description: `Email Address of Bitwarden Account`, + IsOptional: true, + }, { + Name: "password", + Description: `Master Password of Bitwarden Vault`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--method"}, + Description: `Two-step login method`, + Args: []model.Arg{{ + Name: "method", + Description: `Authenticator = 0, Email = 1, YubiKey = 3`, + Suggestions: []model.Suggestion{{ + Name: []string{`0`}, + Description: `Authenticator`, + }, { + Name: []string{`1`}, + Description: `Email`, + }, { + Name: []string{`3`}, + Description: `YubiKey`, + }}, + }}, + ExclusiveOn: []string{"--sso", "--apikey", "--check"}, + }, { + Name: []string{"--code"}, + Description: `Two-step login code`, + Args: []model.Arg{{ + Name: "code", + Description: `Valid TOTP Code`, + }}, + ExclusiveOn: []string{"--method", "--apikey", "--check"}, + }, { + Name: []string{"--sso"}, + Description: `Log in with Single-Sign On`, + ExclusiveOn: []string{"--method", "--code", "--apikey", "--passwordenv", "--passwordfile", "--check"}, + }, { + Name: []string{"--apikey"}, + Description: `Log in with an Api Key`, + ExclusiveOn: []string{"--method", "--code", "--sso", "--passwordenv", "--passwordfile", "--check"}, + }, { + Name: []string{"--passwordenv"}, + Description: `Environment variable storing your password`, + Args: []model.Arg{{ + Name: "passwordenv", + Description: `Environmental Variable Name`, + }}, + ExclusiveOn: []string{"--method", "--code", "--sso", "--apikey", "--passwordfile", "--check"}, + }, { + Name: []string{"--passwordfile"}, + Description: `Path to a file containing your password as its first line`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "passwordfile", + Description: `Path to a file containing your password`, + }}, + ExclusiveOn: []string{"--passwordenv", "--sso", "--apikey", "--check"}, + }, { + Name: []string{"--check"}, + Description: `Check login status`, + ExclusiveOn: []string{"--method", "--code", "--sso", "--apikey", "--passwordenv", "--passwordfile"}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for login command`, + }}, + }, { + Name: []string{"logout"}, + Description: `Log out of the current user account`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for logout command`, + }}, + }, { + Name: []string{"lock"}, + Description: `Lock the vault and destroy active session keys`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for lock command`, + }}, + }, { + Name: []string{"unlock"}, + Description: `Unlock the vault and return a new session key`, + Args: []model.Arg{{ + Name: "password", + Description: `Master Password for the Vault to be unlocked`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--check"}, + Description: `Check lock status`, + ExclusiveOn: []string{"--passwordenv", "--passwordfile"}, + }, { + Name: []string{"--passwordenv"}, + Description: `Supply an environment variable storing your password`, + Args: []model.Arg{{ + Name: "passwordenv", + Description: `Environmental variable containing your password`, + }}, + ExclusiveOn: []string{"--passwordfile"}, + }, { + Name: []string{"--passwordfile"}, + Description: `Path to a file containing your password as its first line`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "passwordfile", + Description: `File containing your password`, + }}, + ExclusiveOn: []string{"--passwordenv"}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for unlock command`, + ExclusiveOn: []string{"--check", "--passwordenv", "--passwordfile"}, + }}, + }, { + Name: []string{"sync"}, + Description: `Pull the latest vault data from server`, + Options: []model.Option{{ + Name: []string{"-f", "--force"}, + Description: `Force a full sync`, + ExclusiveOn: []string{"--last"}, + }, { + Name: []string{"--last"}, + Description: `Show details of the last sync`, + ExclusiveOn: []string{"--force", "-f"}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for sync command`, + }}, + }, { + Name: []string{"generate"}, + Description: `Generate a password/passphrase`, + Options: []model.Option{{ + Name: []string{"-u", "--uppercase"}, + Description: `Include uppercase characters`, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-h", "--help"}, + }, { + Name: []string{"-l", "--lowercase"}, + Description: `Include lowercase characters`, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-h", "--help"}, + }, { + Name: []string{"-n", "--number"}, + Description: `Include numeric characters`, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-h", "--help"}, + }, { + Name: []string{"-s", "--special"}, + Description: `Include special characters`, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-h", "--help"}, + }, { + Name: []string{"--length"}, + Description: `Define password length`, + Args: []model.Arg{{ + Name: "length", + Description: `Output length`, + }}, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-h", "--help"}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for generate command`, + ExclusiveOn: []string{"-p", "--passphrase", "--words", "-c", "--capitalize", "--separator", "--includeNumber", "-u", "--uppercase", "-l", "--lowercase", "-n", "--number", "-s", "--special", "--length"}, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"-p", "--passphrase"}, + Description: `Generate a passphrase`, + Options: []model.Option{{ + Name: []string{"--words"}, + Description: `Number of words to include in passphrase`, + Args: []model.Arg{{ + Name: "Number of words", + Description: `Number of words to include in passphrase`, + }}, + ExclusiveOn: []string{"-u", "--uppercase", "-l", "--lowercase", "-n", "--number", "-s", "--special", "--length", "-h", "--help"}, + }, { + Name: []string{"-c", "--capitalize"}, + Description: `Title case passphrase`, + ExclusiveOn: []string{"-u", "--uppercase", "-l", "--lowercase", "-n", "--number", "-s", "--special", "--length", "-h", "--help"}, + }, { + Name: []string{"--separator"}, + Description: `Define word separator`, + Args: []model.Arg{{ + Name: "separator", + Description: `Character to delineate words in generated passphrase`, + }}, + ExclusiveOn: []string{"-u", "--uppercase", "-l", "--lowercase", "-n", "--number", "-s", "--special", "--length", "-h", "--help"}, + }, { + Name: []string{"--includeNumber"}, + Description: `Include a number in output`, + ExclusiveOn: []string{"-u", "--uppercase", "-l", "--lowercase", "-n", "--number", "-s", "--special", "--length", "-h", "--help"}, + }}, + }}, + }, { + Name: []string{"encode"}, + Description: `Base 64 encode stdin`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for encode command`, + }}, + }, { + Name: []string{"config"}, + Description: `Configure CLI settings`, + Args: []model.Arg{{ + Name: "setting", + Description: `Setting to configure`, + Suggestions: []model.Suggestion{{Name: []string{`server`}}}, + }, { + Name: "value", + Description: `Value to set`, + }}, + Options: []model.Option{{ + Name: []string{"--web-vault"}, + Description: `Provides a custom web vault URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `URL for a self-hosted Bitwarden Server`, + }}, + }, { + Name: []string{"--api"}, + Description: `Provides a custom API URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `API URL for a self-hosted Bitwarden Server`, + }}, + }, { + Name: []string{"--identity"}, + Description: `Provides a custom identity URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `Custom Identity URL that differs from the base URL`, + }}, + }, { + Name: []string{"--icons"}, + Description: `Provides a custom icon service URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `Custom icon service URL that differs from the base URL`, + }}, + }, { + Name: []string{"--notifications"}, + Description: `Provides a custom notifications URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `Custom notifications URL that differs from the base URL`, + }}, + }, { + Name: []string{"--events"}, + Description: `Provides a custom events URL that differs from the base URL`, + Args: []model.Arg{{ + Name: "url", + Description: `Custom events URL that differs from the base URL`, + }}, + }, { + Name: []string{"--key-connector"}, + Description: `Provides the URL for your Key Connector server`, + Args: []model.Arg{{ + Name: "url", + Description: `Custom Key Connector URL that differs from the base URL`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the config command`, + }}, + }, { + Name: []string{"update"}, + Description: `Check for updates`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for update command`, + }}, + }, { + Name: []string{"completion"}, + Description: `Generate shell completions`, + Options: []model.Option{{ + Name: []string{"--shell"}, + Description: `Shell to generate completions for`, + Args: []model.Arg{{ + Name: "shell", + Description: `Shell to generate completions for`, + Suggestions: []model.Suggestion{{Name: []string{`zsh`}}}, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for completion command`, + }}, + }, { + Name: []string{"status"}, + Description: `Show server details, last sync time & date, user information, and vault status`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for status command`, + }}, + }, { + Name: []string{"serve"}, + Description: `Start a RESTful API webserver`, + Options: []model.Option{{ + Name: []string{"--hostname"}, + Description: `The hostname to bind your API webserver to`, + Args: []model.Arg{{ + Name: "hostname", + }}, + }, { + Name: []string{"--port"}, + Description: `The port to run your API webserver on`, + Args: []model.Arg{{ + Name: "port", + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for serve command`, + }}, + }, { + Name: []string{"list"}, + Description: `Retrieves an array of objects (items, folders, collections, org-collections, org-members, organizations) from your Vault`, + Args: []model.Arg{{ + Name: "object", + Suggestions: []model.Suggestion{{Name: []string{`items`}}, {Name: []string{`folders`}}, {Name: []string{`collections`}}, {Name: []string{`org-collections`}}, {Name: []string{`org-members`}}, {Name: []string{`organizations`}}}, + }}, + Options: []model.Option{{ + Name: []string{"--search"}, + Description: `Perform a search on the listed objects`, + Args: []model.Arg{{ + Name: "search", + }}, + }, { + Name: []string{"--url"}, + Description: `Filter items of type login with a url-match search`, + Args: []model.Arg{{ + Name: "url", + }}, + }, { + Name: []string{"--folderid"}, + Description: `Filter items by folder id`, + Args: []model.Arg{{ + Name: "folderid", + }}, + }, { + Name: []string{"--collectionid"}, + Description: `Filter items by collection id`, + Args: []model.Arg{{ + Name: "collectionid", + }}, + }, { + Name: []string{"--organizationid"}, + Description: `Filter items or collections by organization id`, + Args: []model.Arg{{ + Name: "organizationid", + }}, + }, { + Name: []string{"--trash"}, + Description: `Filter items that are in the trash`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the list command`, + }}, + }, { + Name: []string{"get"}, + Description: `Get an object from the vault`, + Args: []model.Arg{{ + Name: "object", + Description: `Type of object to get from the Vault`, + Suggestions: []model.Suggestion{{Name: []string{`item`}}, {Name: []string{`username`}}, {Name: []string{`password`}}, {Name: []string{`uri`}}, {Name: []string{`totp`}}, {Name: []string{`exposed`}}, {Name: []string{`folder`}}, {Name: []string{`collection`}}}, + }, { + Name: "id", + Description: `Search term or object's globally unique id`, + }}, + Options: []model.Option{{ + Name: []string{"--id"}, + Description: `Exact id of the object`, + Args: []model.Arg{{ + Name: "id", + Description: `Object id`, + }}, + }, { + Name: []string{"--organizationid"}, + Description: `Organization id for an organization object`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization id`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the get command`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"template"}, + Description: `Type of template to get`, + Args: []model.Arg{{ + Name: "object", + Suggestions: []model.Suggestion{{Name: []string{`item`}}, {Name: []string{`item.field`}}, {Name: []string{`item.login`}}, {Name: []string{`item.login.uri`}}, {Name: []string{`item.card`}}, {Name: []string{`item.identity`}}, {Name: []string{`item.securenote`}}, {Name: []string{`folder`}}, {Name: []string{`collection`}}, {Name: []string{`item-collections`}}, {Name: []string{`org-collection`}}, {Name: []string{`send.text`}}, {Name: []string{`send.file`}}}, + }}, + }, { + Name: []string{"attachment"}, + Options: []model.Option{{ + Name: []string{"--itemid"}, + Description: `Vault Item ID containing attachment`, + Args: []model.Arg{{ + Name: "itemid", + Description: `ID of Vault Item containing attachment`, + }}, + }, { + Name: []string{"--output"}, + Description: `Output directory and/or filename`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "output", + Description: `Output directory and/or filename`, + }}, + }}, + }}, + }, { + Name: []string{"create"}, + Description: `Create an object in the vault`, + Args: []model.Arg{{ + Name: "object", + Description: `Object to be created`, + Suggestions: []model.Suggestion{{Name: []string{`item`}}, {Name: []string{`attachment`}}, {Name: []string{`folder`}}, {Name: []string{`org-collection`}}}, + }, { + Name: "encodedJson", + Description: `Encoded Json instead of uploading to Vault`, + }}, + Options: []model.Option{{ + Name: []string{"--file"}, + Description: `Path to file for attachment`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + Description: `File to attach`, + }}, + }, { + Name: []string{"--itemid"}, + Description: `Attachment's item id`, + Args: []model.Arg{{ + Name: "itemid", + Description: `Item ID`, + }}, + }, { + Name: []string{"--organizationid"}, + Description: `Organization id for an organization object`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization ID`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the create command`, + }}, + }, { + Name: []string{"edit"}, + Description: `Edit an object from the vault`, + Args: []model.Arg{{ + Name: "object", + Description: `Type of Vault Object to edit`, + Suggestions: []model.Suggestion{{Name: []string{`item`}}, {Name: []string{`item-collections`}}, {Name: []string{`folder`}}, {Name: []string{`org-collection`}}}, + }, { + Name: "id", + Description: `Object's globally unique id`, + }, { + Name: "encodedJson", + Description: `Encoded json of the object to create`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"--organizationid"}, + Description: `Organization id for an organization object`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization ID`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the edit command`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete an object from the vault`, + Args: []model.Arg{{ + Name: "object", + Description: `Object to delete`, + Suggestions: []model.Suggestion{{Name: []string{`item`}}, {Name: []string{`attachment`}}, {Name: []string{`folder`}}, {Name: []string{`org-collection`}}}, + }, { + Name: "id", + Description: `Unique Vault ID`, + }}, + Options: []model.Option{{ + Name: []string{"--itemid"}, + Description: `Attachment's item id`, + Args: []model.Arg{{ + Name: "itemid", + Description: `Item Id`, + }}, + }, { + Name: []string{"--organizationid"}, + Description: `Organization id for an organization object`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization Id`, + }}, + }, { + Name: []string{"-p", "--permanent"}, + Description: `Permanently deletes the item instead of soft-deleting it (item only)`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the delete command`, + ExclusiveOn: []string{"--itemid", "--organizationid", "-p", "--permanent"}, + }}, + }, { + Name: []string{"restore"}, + Description: `Restores an object from the trash`, + Args: []model.Arg{{ + Name: "object", + }, { + Name: "id", + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the restore command`, + }}, + }, { + Name: []string{"move"}, + Description: `Transfers a Vault item to an Organization`, + Args: []model.Arg{{ + Name: "id", + }, { + Name: "organizationId", + }, { + Name: "encodedJson", + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the move command`, + }}, + }, { + Name: []string{"confirm"}, + Description: `Confirm an object to the organization`, + Args: []model.Arg{{ + Name: "object", + Description: `Valid objects are: org-member`, + }, { + Name: "id", + Description: `Organization id for an organization object`, + }}, + Options: []model.Option{{ + Name: []string{"--organizationid"}, + Description: `Organization id for an organization object`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization ID`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the confirm command`, + }}, + }, { + Name: []string{"import"}, + Description: `Import vault data from a file`, + Args: []model.Arg{{ + Name: "format", + Description: `Format of import file`, + Suggestions: []model.Suggestion{{Name: []string{`1password1pif`}}, {Name: []string{`1password1pux`}}, {Name: []string{`1passwordmaccsv`}}, {Name: []string{`1passwordwincsv`}}, {Name: []string{`ascendocsv`}}, {Name: []string{`avastcsv`}}, {Name: []string{`avastjson`}}, {Name: []string{`aviracsv`}}, {Name: []string{`bitwardencsv`}}, {Name: []string{`bitwardenjson`}}, {Name: []string{`blackberrycsv`}}, {Name: []string{`blurcsv`}}, {Name: []string{`buttercupcsv`}}, {Name: []string{`chromecsv`}}, {Name: []string{`clipperzhtml`}}, {Name: []string{`codebookcsv`}}, {Name: []string{`dashlanecsv`}}, {Name: []string{`dashlanejson`}}, {Name: []string{`encryptrcsv`}}, {Name: []string{`enpasscsv`}}, {Name: []string{`enpassjson`}}, {Name: []string{`firefoxcsv`}}, {Name: []string{`fsecurefsk`}}, {Name: []string{`gnomejson`}}, {Name: []string{`kasperskytxt`}}, {Name: []string{`keepass2xml`}}, {Name: []string{`keepassxcsv`}}, {Name: []string{`keepercsv`}}, {Name: []string{`lastpasscsv`}}, {Name: []string{`logmeoncecsv`}}, {Name: []string{`meldiumcsv`}}, {Name: []string{`msecurecsv`}}, {Name: []string{`mykicsv`}}, {Name: []string{`nordpasscsv`}}, {Name: []string{`operacsv`}}, {Name: []string{`padlockcsv`}}, {Name: []string{`passboltcsv`}}, {Name: []string{`passkeepcsv`}}, {Name: []string{`passmanjson`}}, {Name: []string{`passpackcsv`}}, {Name: []string{`passwordagentcsv`}}, {Name: []string{`passwordbossjson`}}, {Name: []string{`passworddragonxml`}}, {Name: []string{`passwordwallettxt`}}, {Name: []string{`pwsafexml`}}, {Name: []string{`remembearcsv`}}, {Name: []string{`roboformcsv`}}, {Name: []string{`safaricsv`}}, {Name: []string{`safeincloudxml`}}, {Name: []string{`saferpasscsv`}}, {Name: []string{`securesafecsv`}}, {Name: []string{`splashidcsv`}}, {Name: []string{`stickypasswordxml`}}, {Name: []string{`truekeycsv`}}, {Name: []string{`upmcsv`}}, {Name: []string{`vivaldicsv`}}, {Name: []string{`yoticsv`}}, {Name: []string{`zohovaultcsv`}}}, + }, { + Templates: []model.Template{model.TemplateFilepaths}, + Name: "input", + Description: `File to be imported`, + }}, + Options: []model.Option{{ + Name: []string{"--formats"}, + Description: `List supported file formats`, + }, { + Name: []string{"--organizationid"}, + Description: `ID of the organization to import to`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization ID to be imported to`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the import command`, + }}, + }, { + Name: []string{"export"}, + Description: `Export vault data to a CSV or JSON file`, + Options: []model.Option{{ + Name: []string{"--output"}, + Description: `Set output directory or filename`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "output", + Description: `Path to export to`, + }}, + }, { + Name: []string{"--format"}, + Description: `Export file format`, + Args: []model.Arg{{ + Name: "format", + Description: `Export format`, + Suggestions: []model.Suggestion{{Name: []string{`csv`}}, {Name: []string{`json`}}, {Name: []string{`encrypted_json`}}}, + }}, + }, { + Name: []string{"--password"}, + Description: `Use a password to encrypt instead of your Bitwarden account encryption key. Only applies to the encrypted_json format`, + Args: []model.Arg{{ + Name: "password", + Description: `Password that will encrypt this export`, + IsOptional: true, + }}, + }, { + Name: []string{"--organizationid"}, + Description: `Enter organization id for an organization`, + Args: []model.Arg{{ + Name: "organizationid", + Description: `Organization id`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the export command`, + }}, + }, { + Name: []string{"share"}, + Description: `--DEPRECATED-- Move an item to an organization`, + Args: []model.Arg{{ + Name: "id", + Description: `Object's globally unique ID`, + }, { + Name: "organizationId", + Description: `Organization's globally unique ID`, + }, { + Name: "encodedJson", + Description: `Encoded json of an array of collection ids. Can also be piped into stdin`, + IsOptional: true, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the share command`, + }}, + }, { + Name: []string{"send"}, + Description: `Work with Bitwarden Sends. A Send can be quickly created using this command or subcommands can be used to fine-tune the Send`, + Args: []model.Arg{{ + Name: "data", + Description: `Encoded Json data`, + }}, + Options: []model.Option{{ + Name: []string{"-f", "--file"}, + Description: `Specifies that is a filepath`, + }, { + Name: []string{"-d", "--deleteInDays"}, + Description: `The number of days in the future to set deletion date (defaults to 7 if not specified)`, + Args: []model.Arg{{ + Name: "days", + IsOptional: true, + }}, + }, { + Name: []string{"-a", "--maxAccessCount"}, + Description: `The max number of accesses allowed for this Send`, + Args: []model.Arg{{ + Name: "amount", + Description: `Max number of accesses allowed`, + }}, + }, { + Name: []string{"--hidden"}, + Description: `Hide in web by default. Valid only if --file is not set`, + }, { + Name: []string{"-n", "--name"}, + Description: `The name of the Send. Defaults to a guid for text Sends and the filename for files`, + Args: []model.Arg{{ + Name: "name", + Description: `Send name`, + }}, + }, { + Name: []string{"--notes"}, + Description: `Notes to add to the Send`, + Args: []model.Arg{{ + Name: "notes", + Description: `Notes to add to the Send`, + }}, + }, { + Name: []string{"--fullObject"}, + Description: `Specifies that the full Send object should be returned rather than just the access url`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the Send command`, + }}, + Subcommands: []model.Subcommand{{ + Name: []string{"list"}, + Description: `List all the Sends owned by you`, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the Send command`, + }}, + }, { + Name: []string{"template"}, + Description: `Get json templates for Send objects`, + Args: []model.Arg{{ + Name: "object", + Description: `Json template to fetch`, + Suggestions: []model.Suggestion{{Name: []string{`send.text`}}, {Name: []string{`send.file`}}}, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the template sub-command`, + }}, + }, { + Name: []string{"get"}, + Description: `Get Sends owned by you`, + Args: []model.Arg{{ + Name: "Send ID", + Description: `Send ID`, + }}, + Options: []model.Option{{ + Name: []string{"--output"}, + Description: `Output directory or filename for attachment`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "output", + Description: ``, + }}, + }, { + Name: []string{"--text"}, + Description: `Specifies to return the text content of a Send`, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the Send get sub-command`, + }}, + }, { + Name: []string{"receive"}, + Description: `Access a Bitwarden Send from a url`, + Args: []model.Arg{{ + Name: "Send URL", + Description: `URL of Send to download`, + }}, + Options: []model.Option{{ + Name: []string{"--password"}, + Description: `Password needed to access the Send`, + Args: []model.Arg{{ + Name: "password", + Description: `Password for Send`, + }}, + ExclusiveOn: []string{"--passwordenv", "--passwordfile"}, + }, { + Name: []string{"--passwordenv"}, + Description: `Environment variable storing the Send's password`, + Args: []model.Arg{{ + Name: "passwordenv", + Description: `Environment variable containing Send's password`, + }}, + ExclusiveOn: []string{"--password", "--passwordfile"}, + }, { + Name: []string{"--passwordfile"}, + Description: `Path to a file containing the Send's password as its first line`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "passwordfile", + Description: `File containing Send's password`, + }}, + ExclusiveOn: []string{"--passwordenv", "--password"}, + }, { + Name: []string{"--obj"}, + Description: `Return the Send's json object rather than the Send's content`, + }, { + Name: []string{"--output"}, + Description: `Specify a file path to save a File-type Send to`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + Description: `Path to save File-type Send`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the receive sub-command`, + }}, + }, { + Name: []string{"create"}, + Description: `Create a Send`, + Args: []model.Arg{{ + Name: "encodedJson", + Description: `Encoded Json to be uploaded`, + }}, + Options: []model.Option{{ + Name: []string{"--file"}, + Description: `File to Send. Can also be specified in parent's JSON`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "path", + Description: `Path to file to attach as content`, + }}, + ExclusiveOn: []string{"--text", "--hidden"}, + }, { + Name: []string{"--text"}, + Description: `Text to Send. Can also be specified in parent's JSON`, + Args: []model.Arg{{ + Name: "text", + Description: `Text to include as content`, + }}, + ExclusiveOn: []string{"--file"}, + }, { + Name: []string{"--hidden"}, + Description: `Text hidden flag. Valid only with the --text option`, + }, { + Name: []string{"--password"}, + Description: `Optional password to access this Send. Can also be specified in JSON`, + Args: []model.Arg{{ + Name: "password", + Description: `Password to secure the Send`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the create sub-command`, + }}, + }, { + Name: []string{"edit"}, + Description: `Edit a Send`, + Args: []model.Arg{{ + Name: "encodedJson", + Description: `Encoded Json`, + }}, + Options: []model.Option{{ + Name: []string{"--itemid"}, + Description: `Overrides the itemId provided in [encodedJson]`, + Args: []model.Arg{{ + Name: "itemid", + Description: `ItemID`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the edit sub-command`, + }}, + }, { + Name: []string{"remove-password"}, + Description: `Removes the saved password from a Send`, + Args: []model.Arg{{ + Name: "Send ID", + Description: `ID of the Send to remove password from`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the remove-password sub-command`, + }}, + }, { + Name: []string{"delete"}, + Description: `Delete a Send`, + Args: []model.Arg{{ + Name: "Send ID", + Description: `ID of the Send to delete`, + }}, + Options: []model.Option{{ + Name: []string{"-h", "--help"}, + Description: `Display help for the delete sub-command`, + }}, + }, { + Name: []string{"help"}, + Description: `Display help for the Send command`, + Args: []model.Arg{{ + Name: "command", + IsOptional: true, + }}, + }}, + }, { + Name: []string{"receive"}, + Description: `Access a Bitwarden Send from a url`, + Args: []model.Arg{{ + Name: "Send URL", + Description: `URL of Send to download`, + }}, + Options: []model.Option{{ + Name: []string{"--password"}, + Description: `Password needed to access the Send`, + Args: []model.Arg{{ + Name: "password", + Description: `Password for Send`, + }}, + ExclusiveOn: []string{"--passwordenv", "--passwordfile"}, + }, { + Name: []string{"--passwordenv"}, + Description: `Environment variable storing the Send's password`, + Args: []model.Arg{{ + Name: "passwordenv", + Description: `Environment variable containing Send's password`, + }}, + ExclusiveOn: []string{"--password", "--passwordfile"}, + }, { + Name: []string{"--passwordfile"}, + Description: `Path to a file containing the Send's password as its first line`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "passwordfile", + Description: `File containing Send's password`, + }}, + ExclusiveOn: []string{"--passwordenv", "--password"}, + }, { + Name: []string{"--obj"}, + Description: `Return the Send's json object rather than the Send's content`, + }, { + Name: []string{"--output"}, + Description: `Specify a file path to save a File-type Send to`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "location", + Description: `Path to save File-type Send`, + }}, + }, { + Name: []string{"-h", "--help"}, + Description: `Display help for the receive sub-command`, + }}, + }, { + Name: []string{"help"}, + Description: `Display help for the Bitwarden CLI tool`, + Args: []model.Arg{{ + Name: "command", + Description: `Subcommand to display help for`, + Suggestions: []model.Suggestion{{Name: []string{`login`}}, {Name: []string{`logout`}}, {Name: []string{`lock`}}, {Name: []string{`unlock`}}, {Name: []string{`sync`}}, {Name: []string{`generate`}}, {Name: []string{`encode`}}, {Name: []string{`config`}}, {Name: []string{`update`}}, {Name: []string{`completion`}}, {Name: []string{`status`}}, {Name: []string{`serve`}}, {Name: []string{`list`}}, {Name: []string{`get`}}, {Name: []string{`create`}}, {Name: []string{`edit`}}, {Name: []string{`delete`}}, {Name: []string{`restore`}}, {Name: []string{`move`}}, {Name: []string{`confirm`}}, {Name: []string{`import`}}, {Name: []string{`export`}}, {Name: []string{`share`}}, {Name: []string{`send`}}, {Name: []string{`receive`}}}, + IsOptional: true, + }}, + }}, + } +} diff --git a/autocomplete/specs/c++.go b/autocomplete/specs/c++.go new file mode 100644 index 0000000..21062d0 --- /dev/null +++ b/autocomplete/specs/c++.go @@ -0,0 +1,3404 @@ +// Code generated by autocomplete/extract/extract.ts. DO NOT EDIT. + +package specs + +import ( + "github.com/cpendery/clac/autocomplete/model" +) + +func init() { + Specs["c++"] = model.Subcommand{ + Name: []string{"c++"}, + Description: `C++ compiler`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + IsVariadic: true, + }}, + Options: []model.Option{{ + Name: []string{"-###"}, + Description: `Print (but do not run) the commands to run for this compilation`, + }, { + Name: []string{"--analyzer-output"}, + Description: `Static analyzer report output format`, + Args: []model.Arg{{ + Name: "value", + Suggestions: []model.Suggestion{{Name: []string{`html`}}, {Name: []string{`plist`}}, {Name: []string{`plist-multi-file`}}, {Name: []string{`plist-html`}}, {Name: []string{`sarif`}}, {Name: []string{`text`}}}, + }}, + }, { + Name: []string{"--analyze"}, + Description: `Run the static analyzer`, + }, { + Name: []string{"-arcmt-migrate-emit-errors"}, + Description: `Emit ARC errors even if the migrator can fix them`, + }, { + Name: []string{"-arcmt-migrate-report-output"}, + Description: `Output path for the plist report`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-B"}, + Description: `Add to search path for binaries and object files used implicitly`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-CC"}, + Description: `Include comments from within macros in preprocessed output`, + }, { + Name: []string{"-cl-denorms-are-zero"}, + Description: `OpenCL only. Allow denormals to be flushed to zero`, + }, { + Name: []string{"-cl-fast-relaxed-math"}, + Description: `OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__`, + }, { + Name: []string{"-cl-finite-math-only"}, + Description: `OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf`, + }, { + Name: []string{"-cl-fp32-correctly-rounded-divide-sqrt"}, + Description: `OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded`, + }, { + Name: []string{"-cl-kernel-arg-info"}, + Description: `OpenCL only. Generate kernel argument metadata`, + }, { + Name: []string{"-cl-mad-enable"}, + Description: `OpenCL only. Allow use of less precise MAD computations in the generated binary`, + }, { + Name: []string{"-cl-no-signed-zeros"}, + Description: `OpenCL only. Allow use of less precise no signed zeros computations in the generated binary`, + }, { + Name: []string{"-cl-opt-disable"}, + Description: `OpenCL only. This option disables all optimizations. By default optimizations are enabled`, + }, { + Name: []string{"-cl-single-precision-constant"}, + Description: `OpenCL only. Treat double precision floating-point constant as single precision constant`, + }, { + Name: []string{"-cl-std"}, + Description: `OpenCL language standard to compile for`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-cl-strict-aliasing"}, + Description: `OpenCL only. This option is added for compatibility with OpenCL 1.0`, + }, { + Name: []string{"-cl-uniform-work-group-size"}, + Description: `OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel`, + }, { + Name: []string{"-cl-unsafe-math-optimizations"}, + Description: `OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable`, + }, { + Name: []string{"--config"}, + Description: `Specifies configuration file`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--cuda-compile-host-device"}, + Description: `Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations`, + }, { + Name: []string{"--cuda-device-only"}, + Description: `Compile CUDA code for device only`, + }, { + Name: []string{"--cuda-host-only"}, + Description: `Compile CUDA code for host only. Has no effect on non-CUDA compilations`, + }, { + Name: []string{"--cuda-include-ptx"}, + Description: `Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--cuda-noopt-device-debug"}, + Description: `Enable device-side debug info generation. Disables ptxas optimizations`, + }, { + Name: []string{"--cuda-path-ignore-env"}, + Description: `Ignore environment variables to detect CUDA installation`, + }, { + Name: []string{"--cuda-path"}, + Description: `CUDA installation path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-cxx-isystem"}, + Description: `Add directory to the C++ SYSTEM include search path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-C"}, + Description: `Include comments in preprocessed output`, + }, { + Name: []string{"-c"}, + Description: `Only run preprocess, compile, and assemble steps`, + }, { + Name: []string{"-dD"}, + Description: `Print macro definitions in -E mode in addition to normal output`, + }, { + Name: []string{"-dependency-dot"}, + Description: `Filename to write DOT-formatted header dependencies to`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-dependency-file"}, + Description: `Filename (or -) to write dependency output to`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-dI"}, + Description: `Print include directives in -E mode in addition to normal output`, + }, { + Name: []string{"-dM"}, + Description: `Print macro definitions in -E mode instead of normal output`, + }, { + Name: []string{"-dsym-dir"}, + Description: `Directory to output dSYM's (if any) to`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-D"}, + Description: `= Define to (or 1 if omitted)`, + Args: []model.Arg{{ + Name: "macro", + }}, + }, { + Name: []string{"-emit-ast"}, + Description: `Emit Clang AST files for source inputs`, + }, { + Name: []string{"-emit-interface-stubs"}, + Description: `Generate Interface Stub Files`, + }, { + Name: []string{"-emit-llvm"}, + Description: `Use the LLVM representation for assembler and object files`, + }, { + Name: []string{"-emit-merged-ifs"}, + Description: `Generate Interface Stub Files, emit merged text not binary`, + }, { + Name: []string{"--emit-static-lib"}, + Description: `Enable linker job to emit a static library`, + }, { + Name: []string{"-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"}, + Description: `Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark`, + }, { + Name: []string{"-E"}, + Description: `Only run the preprocessor`, + }, { + Name: []string{"-faapcs-bitfield-load"}, + Description: `Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only)`, + }, { + Name: []string{"-faapcs-bitfield-width"}, + Description: `Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only)`, + }, { + Name: []string{"-faccess-control"}, + }, { + Name: []string{"-faddrsig"}, + Description: `Emit an address-significance table`, + }, { + Name: []string{"-faligned-allocation"}, + Description: `Enable C++17 aligned allocation functions`, + }, { + Name: []string{"-fallow-editor-placeholders"}, + Description: `Treat editor placeholders as valid source code`, + }, { + Name: []string{"-fansi-escape-codes"}, + Description: `Use ANSI escape codes for diagnostics`, + }, { + Name: []string{"-fapinotes-cache-path"}, + Description: `Does nothing; API notes are no longer cached separately from modules`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-fapinotes-modules"}, + Description: `Enable module-based external API notes support`, + }, { + Name: []string{"-fapinotes-swift-version"}, + Description: `Specify the Swift version to use when filtering API notes`, + Args: []model.Arg{{ + Name: "version", + }}, + }, { + Name: []string{"-fapinotes"}, + Description: `Enable external API notes support`, + }, { + Name: []string{"-fapple-kext"}, + Description: `Use Apple's kernel extensions ABI`, + }, { + Name: []string{"-fapple-link-rtlib"}, + Description: `Force linking the clang builtins runtime library`, + }, { + Name: []string{"-fapple-pragma-pack"}, + Description: `Enable Apple gcc-compatible #pragma pack handling`, + }, { + Name: []string{"-fapplication-extension"}, + Description: `Restrict code to those available for App Extensions`, + }, { + Name: []string{"-fasm-blocks"}, + }, { + Name: []string{"-fautolink"}, + }, { + Name: []string{"-fbasic-block-sections"}, + Description: `Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fblocks"}, + Description: `Enable the 'blocks' language feature`, + }, { + Name: []string{"-fborland-extensions"}, + Description: `Accept non-standard constructs supported by the Borland compiler`, + }, { + Name: []string{"-fbranch-target-identification"}, + Description: `Emit branch target identification instructions for indirect branch destinations`, + }, { + Name: []string{"-fbuild-session-file"}, + Description: `Use the last modification time of as the build session timestamp`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-fbuild-session-timestamp"}, + Description: `Time when the current build session started`, + Args: []model.Arg{{ + Name: "timesinceEpochinseconds", + }}, + }, { + Name: []string{"-fbuiltin-module-map"}, + Description: `Load the clang builtins module map file`, + }, { + Name: []string{"-fc++-static-destructors"}, + }, { + Name: []string{"-fcall-saved-x10"}, + Description: `Make the x10 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x11"}, + Description: `Make the x11 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x12"}, + Description: `Make the x12 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x13"}, + Description: `Make the x13 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x14"}, + Description: `Make the x14 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x15"}, + Description: `Make the x15 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x18"}, + Description: `Make the x18 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x8"}, + Description: `Make the x8 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcall-saved-x9"}, + Description: `Make the x9 register call-saved (AArch64 only)`, + }, { + Name: []string{"-fcaret-diagnostics"}, + }, { + Name: []string{"-fcf-protection"}, + Description: `Instrument control-flow architecture protection`, + Args: []model.Arg{{ + Name: "value", + Suggestions: []model.Suggestion{{Name: []string{`return`}}, {Name: []string{`branch`}}, {Name: []string{`full`}}, {Name: []string{`none`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"-fchar8_t"}, + Description: `Enable C++ builtin type char8_t`, + }, { + Name: []string{"-fclang-abi-compat"}, + Description: `Attempt to match the ABI of Clang `, + Args: []model.Arg{{ + Name: "version", + }}, + }, { + Name: []string{"-fcolor-diagnostics"}, + Description: `Enable colors in diagnostics`, + }, { + Name: []string{"-fcomment-block-commands"}, + Description: `Treat each comma separated argument in as a documentation comment block command`, + Args: []model.Arg{{ + Name: "arg", + }}, + }, { + Name: []string{"-fcommon"}, + Description: `Place uninitialized global variables in a common block`, + }, { + Name: []string{"-fcomplete-member-pointers"}, + Description: `Require member pointer base types to be complete if they would be significant under the Microsoft ABI`, + }, { + Name: []string{"-fconstant-cfstrings"}, + }, { + Name: []string{"-fconvergent-functions"}, + Description: `Assume functions may be convergent`, + }, { + Name: []string{"-fcoroutines-ts"}, + Description: `Enable support for the C++ Coroutines TS`, + }, { + Name: []string{"-fcoverage-mapping"}, + Description: `Generate coverage mapping to enable code coverage analysis`, + }, { + Name: []string{"-fcs-profile-generate"}, + Description: `Generate instrumented code to collect context sensitive execution counts into /default.profraw (overridden by LLVM_PROFILE_FILE env var)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + IsOptional: true, + }}, + }, { + Name: []string{"-fcuda-approx-transcendentals"}, + Description: `Use approximate transcendental functions`, + }, { + Name: []string{"-fcuda-flush-denormals-to-zero"}, + Description: `Flush denormal floating point values to zero in CUDA device mode`, + }, { + Name: []string{"-fcuda-short-ptr"}, + Description: `Use 32-bit pointers for accessing const/local/shared address spaces`, + }, { + Name: []string{"-fcxx-exceptions"}, + Description: `Enable C++ exceptions`, + }, { + Name: []string{"-fdata-sections"}, + Description: `Place each data in its own section`, + }, { + Name: []string{"-fdebug-compilation-dir"}, + Description: `The compilation directory to embed in the debug info`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fdebug-default-version"}, + Description: `Default DWARF version to use, if a -g option caused DWARF debug info to be produced`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fdebug-info-for-profiling"}, + Description: `Emit extra debug info to make sample profile more accurate`, + }, { + Name: []string{"-fdebug-macro"}, + Description: `Emit macro debug information`, + }, { + Name: []string{"-fdebug-prefix-map"}, + Description: `Remap file source paths in debug info`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fdebug-ranges-base-address"}, + Description: `Use DWARF base address selection entries in .debug_ranges`, + }, { + Name: []string{"-fdebug-types-section"}, + Description: `Place debug types in their own section (ELF Only)`, + }, { + Name: []string{"-fdeclspec"}, + Description: `Allow __declspec as a keyword`, + }, { + Name: []string{"-fdelayed-template-parsing"}, + Description: `Parse templated function definitions at the end of the translation unit`, + }, { + Name: []string{"-fdelete-null-pointer-checks"}, + Description: `Treat usage of null pointers as undefined behavior (default)`, + }, { + Name: []string{"-fdiagnostics-absolute-paths"}, + Description: `Print absolute paths in diagnostics`, + }, { + Name: []string{"-fdiagnostics-hotness-threshold"}, + Description: `Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fdiagnostics-parseable-fixits"}, + Description: `Print fix-its in machine parseable form`, + }, { + Name: []string{"-fdiagnostics-print-source-range-info"}, + Description: `Print source range spans in numeric form`, + }, { + Name: []string{"-fdiagnostics-show-hotness"}, + Description: `Enable profile hotness information in diagnostic line`, + }, { + Name: []string{"-fdiagnostics-show-note-include-stack"}, + Description: `Display include stacks for diagnostic notes`, + }, { + Name: []string{"-fdiagnostics-show-option"}, + Description: `Print option name with mappable diagnostics`, + }, { + Name: []string{"-fdiagnostics-show-template-tree"}, + Description: `Print a template comparison tree for differing templates`, + }, { + Name: []string{"-fdigraphs"}, + Description: `Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)`, + }, { + Name: []string{"-fdiscard-value-names"}, + Description: `Discard value names in LLVM IR`, + }, { + Name: []string{"-fdollars-in-identifiers"}, + Description: `Allow '$' in identifiers`, + }, { + Name: []string{"-fdouble-square-bracket-attributes"}, + Description: `Enable '[[]]' attributes in all C and C++ language modes`, + }, { + Name: []string{"-fdwarf-directory-asm"}, + }, { + Name: []string{"-fdwarf-exceptions"}, + Description: `Use DWARF style exceptions`, + }, { + Name: []string{"-felide-constructors"}, + }, { + Name: []string{"-feliminate-unused-debug-types"}, + Description: `Do not emit debug info for defined but unused types`, + }, { + Name: []string{"-fembed-bitcode-marker"}, + Description: `Embed placeholder LLVM IR data as a marker`, + }, { + Name: []string{"-fembed-bitcode"}, + Description: `Embed LLVM bitcode`, + Args: []model.Arg{{ + Name: "option", + Suggestions: []model.Suggestion{{Name: []string{`off`}}, {Name: []string{`all`}}, {Name: []string{`bitcode`}}, {Name: []string{`marker`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"-femit-all-decls"}, + Description: `Emit all declarations, even if unused`, + }, { + Name: []string{"-femulated-tls"}, + Description: `Use emutls functions to access thread_local variables`, + }, { + Name: []string{"-fenable-matrix"}, + Description: `Enable matrix data type and related builtin functions`, + }, { + Name: []string{"-fescaping-block-tail-calls"}, + }, { + Name: []string{"-fexceptions"}, + Description: `Enable support for exception handling`, + }, { + Name: []string{"-fexperimental-new-constant-interpreter"}, + Description: `Enable the experimental new constant interpreter`, + }, { + Name: []string{"-fexperimental-relative-c++-abi-vtables"}, + Description: `Use the experimental C++ class ABI for classes with virtual tables`, + }, { + Name: []string{"-fexperimental-strict-floating-point"}, + Description: `Enables experimental strict floating point in LLVM`, + }, { + Name: []string{"-ffast-math"}, + Description: `Allow aggressive, lossy floating-point optimizations`, + }, { + Name: []string{"-ffile-prefix-map"}, + Description: `Remap file source paths in debug info and predefined preprocessor macros`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ffine-grained-bitfield-accesses"}, + Description: `Use separate accesses for consecutive bitfield runs with legal widths and alignments`, + }, { + Name: []string{"-ffinite-loops"}, + Description: `Assume all loops are finite`, + }, { + Name: []string{"-ffinite-math-only"}, + }, { + Name: []string{"-ffixed-point"}, + Description: `Enable fixed point types`, + }, { + Name: []string{"-ffixed-r19"}, + Description: `Reserve register r19 (Hexagon only)`, + }, { + Name: []string{"-ffixed-r9"}, + Description: `Reserve the r9 register (ARM only)`, + }, { + Name: []string{"-ffixed-x10"}, + Description: `Reserve the x10 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x11"}, + Description: `Reserve the x11 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x12"}, + Description: `Reserve the x12 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x13"}, + Description: `Reserve the x13 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x14"}, + Description: `Reserve the x14 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x15"}, + Description: `Reserve the x15 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x16"}, + Description: `Reserve the x16 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x17"}, + Description: `Reserve the x17 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x18"}, + Description: `Reserve the x18 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x19"}, + Description: `Reserve the x19 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x1"}, + Description: `Reserve the x1 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x20"}, + Description: `Reserve the x20 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x21"}, + Description: `Reserve the x21 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x22"}, + Description: `Reserve the x22 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x23"}, + Description: `Reserve the x23 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x24"}, + Description: `Reserve the x24 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x25"}, + Description: `Reserve the x25 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x26"}, + Description: `Reserve the x26 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x27"}, + Description: `Reserve the x27 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x28"}, + Description: `Reserve the x28 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x29"}, + Description: `Reserve the x29 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x2"}, + Description: `Reserve the x2 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x30"}, + Description: `Reserve the x30 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x31"}, + Description: `Reserve the x31 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x3"}, + Description: `Reserve the x3 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x4"}, + Description: `Reserve the x4 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x5"}, + Description: `Reserve the x5 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x6"}, + Description: `Reserve the x6 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x7"}, + Description: `Reserve the x7 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x8"}, + Description: `Reserve the x8 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-ffixed-x9"}, + Description: `Reserve the x9 register (AArch64/RISC-V only)`, + }, { + Name: []string{"-fforce-dwarf-frame"}, + Description: `Always emit a debug frame section`, + }, { + Name: []string{"-fforce-emit-vtables"}, + Description: `Emits more virtual tables to improve devirtualization`, + }, { + Name: []string{"-fforce-enable-int128"}, + Description: `Enable support for int128_t type`, + }, { + Name: []string{"-ffp-contract"}, + Description: `Form fused FP ops (e.g. FMAs): fast (fuses across statements disregarding pragmas) | on (only fuses in the same statement unless dictated by pragmas) | off (never fuses) | fast-honor-pragmas (fuses across statements unless diectated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ffp-exception-behavior"}, + Description: `Specifies the exception behavior of floating-point operations`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ffp-model"}, + Description: `Controls the semantics of floating-point calculations`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ffreestanding"}, + Description: `Assert that the compilation takes place in a freestanding environment`, + }, { + Name: []string{"-ffunction-sections"}, + Description: `Place each function in its own section`, + }, { + Name: []string{"-fglobal-isel"}, + Description: `Enables the global instruction selector`, + }, { + Name: []string{"-fgnu-inline-asm"}, + }, { + Name: []string{"-fgnu-keywords"}, + Description: `Allow GNU-extension keywords regardless of language standard`, + }, { + Name: []string{"-fgnu-runtime"}, + Description: `Generate output compatible with the standard GNU Objective-C runtime`, + }, { + Name: []string{"-fgnu89-inline"}, + Description: `Use the gnu89 inline semantics`, + }, { + Name: []string{"-fgnuc-version"}, + Description: `Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fgpu-allow-device-init"}, + Description: `Allow device side init function in HIP`, + }, { + Name: []string{"-fgpu-defer-diag"}, + Description: `Defer host/device related diagnostic messages for CUDA/HIP`, + }, { + Name: []string{"-fgpu-rdc"}, + Description: `Generate relocatable device code, also known as separate compilation mode`, + }, { + Name: []string{"-fhip-new-launch-api"}, + Description: `Use new kernel launching API for HIP`, + }, { + Name: []string{"-fignore-exceptions"}, + Description: `Enable support for ignoring exception handling constructs`, + }, { + Name: []string{"-fimplicit-module-maps"}, + Description: `Implicitly search the file system for module map files`, + }, { + Name: []string{"-fimplicit-modules"}, + }, { + Name: []string{"-finline-functions"}, + Description: `Inline suitable functions`, + }, { + Name: []string{"-finline-hint-functions"}, + Description: `Inline functions which are (explicitly or implicitly) marked inline`, + }, { + Name: []string{"-finstrument-function-entry-bare"}, + Description: `Instrument function entry only, after inlining, without arguments to the instrumentation call`, + }, { + Name: []string{"-finstrument-functions-after-inlining"}, + Description: `Like -finstrument-functions, but insert the calls after inlining`, + }, { + Name: []string{"-finstrument-functions"}, + Description: `Generate calls to instrument function entry and exit`, + }, { + Name: []string{"-fintegrated-as"}, + Description: `Enable the integrated assembler`, + }, { + Name: []string{"-fintegrated-cc1"}, + Description: `Run cc1 in-process`, + }, { + Name: []string{"-fjump-tables"}, + Description: `Use jump tables for lowering switches`, + }, { + Name: []string{"-fkeep-static-consts"}, + Description: `Keep static const variables if unused`, + }, { + Name: []string{"-flax-vector-conversions"}, + Description: `Enable implicit vector bit-casts`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-flegacy-pass-manager"}, + Description: `Use the legacy pass manager in LLVM`, + }, { + Name: []string{"-flto-jobs"}, + Description: `Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-flto"}, + Description: `Set LTO mode to either 'full' or 'thin'`, + Args: []model.Arg{{ + Name: "value", + Suggestions: []model.Suggestion{{Name: []string{`full`}}, {Name: []string{`thin`}}}, + IsOptional: true, + }}, + }, { + Name: []string{"-fmacro-prefix-map"}, + Description: `Remap file source paths in predefined preprocessor macros`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fmath-errno"}, + Description: `Require math functions to indicate errors by setting errno`, + }, { + Name: []string{"-fmax-tokens"}, + Description: `Max total number of preprocessed tokens for -Wmax-tokens`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fmax-type-align"}, + Description: `Specify the maximum alignment to enforce on pointers lacking an explicit alignment`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fmemory-profile"}, + Description: `Enable heap memory profiling and dump results into `, + Args: []model.Arg{{ + Name: "directory", + IsOptional: true, + }}, + }, { + Name: []string{"-fmerge-all-constants"}, + Description: `Allow merging of constants`, + }, { + Name: []string{"-fmessage-length"}, + Description: `Format message diagnostics so that they fit within N columns`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fmodule-file"}, + Description: `[=] Specify the mapping of module name to precompiled module file, or load a module file if name is omitted`, + }, { + Name: []string{"-fmodule-map-file"}, + Description: `Load this module map file`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-fmodule-name"}, + Description: `Specify the name of the module to build`, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"-fmodules-cache-path"}, + Description: `Specify the module cache path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-fmodules-decluse"}, + Description: `Require declaration of modules used within a module`, + }, { + Name: []string{"-fmodules-disable-diagnostic-validation"}, + Description: `Disable validation of the diagnostic options when loading the module`, + }, { + Name: []string{"-fmodules-ignore-macro"}, + Description: `Ignore the definition of the given macro when building and loading modules`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fmodules-prune-after"}, + Description: `Specify the interval (in seconds) after which a module file will be considered unused`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"-fmodules-prune-interval"}, + Description: `Specify the interval (in seconds) between attempts to prune the module cache`, + Args: []model.Arg{{ + Name: "seconds", + }}, + }, { + Name: []string{"-fmodules-search-all"}, + Description: `Search even non-imported modules to resolve references`, + }, { + Name: []string{"-fmodules-strict-decluse"}, + Description: `Like -fmodules-decluse but requires all headers to be in modules`, + }, { + Name: []string{"-fmodules-ts"}, + Description: `Enable support for the C++ Modules TS`, + }, { + Name: []string{"-fmodules-user-build-path"}, + Description: `Specify the module user build path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-fmodules-validate-input-files-content"}, + Description: `Validate PCM input files based on content if mtime differs`, + }, { + Name: []string{"-fmodules-validate-once-per-build-session"}, + Description: `Don't verify input files for the modules if the module has been successfully validated or loaded during this build session`, + }, { + Name: []string{"-fmodules-validate-system-headers"}, + Description: `Validate the system headers that a module depends on when loading the module`, + }, { + Name: []string{"-fmodules"}, + Description: `Enable the 'modules' language feature`, + }, { + Name: []string{"-fms-compatibility-version"}, + Description: `Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fms-compatibility"}, + Description: `Enable full Microsoft Visual C++ compatibility`, + }, { + Name: []string{"-fms-extensions"}, + Description: `Accept some non-standard constructs supported by the Microsoft compiler`, + }, { + Name: []string{"-fmsc-version"}, + Description: `Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fnew-alignment"}, + Description: `Specifies the largest alignment guaranteed by '::operator new(size_t)'`, + Args: []model.Arg{{ + Name: "align", + }}, + }, { + Name: []string{"-fno-aapcs-bitfield-width"}, + Description: `Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only)`, + }, { + Name: []string{"-fno-access-control"}, + Description: `Disable C++ access control`, + }, { + Name: []string{"-fno-addrsig"}, + Description: `Don't emit an address-significance table`, + }, { + Name: []string{"-fno-allow-editor-placeholders"}, + }, { + Name: []string{"-fno-apinotes-modules"}, + Description: `Disable module-based external API notes support`, + }, { + Name: []string{"-fno-apinotes"}, + Description: `Disable external API notes support`, + }, { + Name: []string{"-fno-apple-pragma-pack"}, + }, { + Name: []string{"-fno-application-extension"}, + }, { + Name: []string{"-fno-asm-blocks"}, + }, { + Name: []string{"-fno-assume-sane-operator-new"}, + Description: `Don't assume that C++'s global operator new can't alias any pointer`, + }, { + Name: []string{"-fno-autolink"}, + Description: `Disable generation of linker directives for automatic library linking`, + }, { + Name: []string{"-fno-blocks"}, + }, { + Name: []string{"-fno-borland-extensions"}, + }, { + Name: []string{"-fno-builtin-value"}, + Description: `Disable implicit builtin knowledge of a specific function`, + Args: []model.Arg{{ + Name: "", + }}, + }, { + Name: []string{"-fno-builtin"}, + Description: `Disable implicit builtin knowledge of functions`, + }, { + Name: []string{"-fno-c++-static-destructors"}, + Description: `Disable C++ static destructor registration`, + }, { + Name: []string{"-fno-caret-diagnostics"}, + }, { + Name: []string{"-fno-char8_t"}, + Description: `Disable C++ builtin type char8_t`, + }, { + Name: []string{"-fno-color-diagnostics"}, + Description: `Disable colors in diagnostics`, + }, { + Name: []string{"-fno-common"}, + Description: `Compile common globals like normal definitions`, + }, { + Name: []string{"-fno-complete-member-pointers"}, + Description: `Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI`, + }, { + Name: []string{"-fno-constant-cfstrings"}, + Description: `Disable creation of CodeFoundation-type constant strings`, + }, { + Name: []string{"-fno-constant-nsarray-literals"}, + Description: `Disable creation of CodeFoundation-type constant initializer "NSArray"s from array literals`, + }, { + Name: []string{"-fno-constant-nsdictionary-literals"}, + Description: `Disable creation of CodeFoundation-type constant initializer "NSDictionary"s from dictionary literals`, + }, { + Name: []string{"-fno-constant-nsnumber-literals"}, + Description: `Disable creation of CodeFoundation-type constant initializer "NSNumber"s from number literals`, + }, { + Name: []string{"-fno-coroutines-ts"}, + }, { + Name: []string{"-fno-coverage-mapping"}, + Description: `Disable code coverage analysis`, + }, { + Name: []string{"-fno-crash-diagnostics"}, + Description: `Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash`, + }, { + Name: []string{"-fno-cuda-approx-transcendentals"}, + Description: `Don't use approximate transcendental functions`, + }, { + Name: []string{"-fno-cuda-short-ptr"}, + }, { + Name: []string{"-fno-cxx-exceptions"}, + }, { + Name: []string{"-fno-cxx-modules"}, + Description: `Disable modules for C++`, + }, { + Name: []string{"-fno-data-sections"}, + }, { + Name: []string{"-fno-debug-info-for-profiling"}, + }, { + Name: []string{"-fno-debug-macro"}, + Description: `Do not emit macro debug information`, + }, { + Name: []string{"-fno-debug-ranges-base-address"}, + }, { + Name: []string{"-fno-declspec"}, + Description: `Disallow __declspec as a keyword`, + }, { + Name: []string{"-fno-delayed-template-parsing"}, + Description: `Disable delayed template parsing`, + }, { + Name: []string{"-fno-delete-null-pointer-checks"}, + Description: `Do not treat usage of null pointers as undefined behavior`, + }, { + Name: []string{"-fno-diagnostics-fixit-info"}, + Description: `Do not include fixit information in diagnostics`, + }, { + Name: []string{"-fno-diagnostics-show-hotness"}, + }, { + Name: []string{"-fno-digraphs"}, + Description: `Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'`, + }, { + Name: []string{"-fno-discard-value-names"}, + Description: `Do not discard value names in LLVM IR`, + }, { + Name: []string{"-fno-dollars-in-identifiers"}, + Description: `Disallow '$' in identifiers`, + }, { + Name: []string{"-fno-double-square-bracket-attributes"}, + Description: `Disable '[[]]' attributes in all C and C++ language modes`, + }, { + Name: []string{"-fno-dwarf-directory-asm"}, + }, { + Name: []string{"-fno-elide-constructors"}, + Description: `Disable C++ copy constructor elision`, + }, { + Name: []string{"-fno-elide-type"}, + Description: `Do not elide types when printing diagnostics`, + }, { + Name: []string{"-fno-eliminate-unused-debug-types"}, + Description: `Emit debug info for defined but unused types`, + }, { + Name: []string{"-fno-escaping-block-tail-calls"}, + }, { + Name: []string{"-fno-exceptions"}, + Description: `Disable support for exception handling`, + }, { + Name: []string{"-fno-experimental-relative-c++-abi-vtables"}, + Description: `Do not use the experimental C++ class ABI for classes with virtual tables`, + }, { + Name: []string{"-fno-fast-math"}, + }, { + Name: []string{"-fno-fine-grained-bitfield-accesses"}, + Description: `Use large-integer access for consecutive bitfield runs`, + }, { + Name: []string{"-fno-finite-loops"}, + Description: `Do not assume that any loop is finite`, + }, { + Name: []string{"-fno-finite-math-only"}, + }, { + Name: []string{"-fno-fixed-point"}, + Description: `Disable fixed point types`, + }, { + Name: []string{"-fno-force-dwarf-frame"}, + }, { + Name: []string{"-fno-force-emit-vtables"}, + }, { + Name: []string{"-fno-force-enable-int128"}, + Description: `Disable support for int128_t type`, + }, { + Name: []string{"-fno-function-sections"}, + }, { + Name: []string{"-fno-global-isel"}, + Description: `Disables the global instruction selector`, + }, { + Name: []string{"-fno-gnu-inline-asm"}, + Description: `Disable GNU style inline asm`, + }, { + Name: []string{"-fno-gnu89-inline"}, + }, { + Name: []string{"-fno-gpu-allow-device-init"}, + Description: `Don't allow device side init function in HIP`, + }, { + Name: []string{"-fno-gpu-defer-diag"}, + Description: `Don't defer host/device related diagnostic messages for CUDA/HIP`, + }, { + Name: []string{"-fno-gpu-rdc"}, + }, { + Name: []string{"-fno-hip-new-launch-api"}, + Description: `Don't use new kernel launching API for HIP`, + }, { + Name: []string{"-fno-implicit-modules"}, + }, { + Name: []string{"-fno-integrated-as"}, + Description: `Disable the integrated assembler`, + }, { + Name: []string{"-fno-integrated-cc1"}, + Description: `Spawn a separate process for each cc1`, + }, { + Name: []string{"-fno-jump-tables"}, + Description: `Do not use jump tables for lowering switches`, + }, { + Name: []string{"-fno-keep-static-consts"}, + Description: `Don't keep static const variables if unused`, + }, { + Name: []string{"-fno-legacy-pass-manager"}, + Description: `Use the new pass manager in LLVM`, + }, { + Name: []string{"-fno-lto"}, + Description: `Disable LTO mode (default)`, + }, { + Name: []string{"-fno-math-errno"}, + }, { + Name: []string{"-fno-memory-profile"}, + Description: `Disable heap memory profiling`, + }, { + Name: []string{"-fno-merge-all-constants"}, + Description: `Disallow merging of constants`, + }, { + Name: []string{"-fno-modules-validate-system-headers"}, + }, { + Name: []string{"-fno-objc-arc-exceptions"}, + }, { + Name: []string{"-fno-objc-convert-messages-to-runtime-calls"}, + }, { + Name: []string{"-fno-objc-encode-cxx-class-template-spec"}, + }, { + Name: []string{"-fno-objc-exceptions"}, + }, { + Name: []string{"-fno-objc-infer-related-result-type"}, + Description: `Do not infer Objective-C related result type based on method family`, + }, { + Name: []string{"-fno-operator-names"}, + Description: `Do not treat C++ operator name keywords as synonyms for operators`, + }, { + Name: []string{"-fno-pascal-strings"}, + }, { + Name: []string{"-fno-pch-codegen"}, + Description: `Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH`, + }, { + Name: []string{"-fno-pch-debuginfo"}, + Description: `Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere`, + }, { + Name: []string{"-fno-pch-instantiate-templates"}, + }, { + Name: []string{"-fno-plt"}, + Description: `Use GOT indirection instead of PLT to make external function calls (x86 only)`, + }, { + Name: []string{"-fno-prebuilt-implicit-modules"}, + }, { + Name: []string{"-fno-preserve-as-comments"}, + Description: `Do not preserve comments in inline assembly`, + }, { + Name: []string{"-fno-profile-arcs"}, + }, { + Name: []string{"-fno-profile-generate"}, + Description: `Disable generation of profile instrumentation`, + }, { + Name: []string{"-fno-profile-instr-generate"}, + Description: `Disable generation of profile instrumentation`, + }, { + Name: []string{"-fno-profile-instr-use"}, + Description: `Disable using instrumentation data for profile-guided optimization`, + }, { + Name: []string{"-fno-pseudo-probe-for-profiling"}, + Description: `Do not emit pseudo probes for sample profiler`, + }, { + Name: []string{"-fno-ptrauth-abi-version"}, + Description: `Disable Pointer Authentication ABI versioning`, + }, { + Name: []string{"-fno-ptrauth-kernel-abi-version"}, + Description: `Disable Pointer Authentication kernel ABI versioning`, + }, { + Name: []string{"-fno-reciprocal-math"}, + }, { + Name: []string{"-fno-register-global-dtors-with-atexit"}, + Description: `Don't use atexit or __cxa_atexit to register global destructors`, + }, { + Name: []string{"-fno-relaxed-template-template-args"}, + }, { + Name: []string{"-fno-reroll-loops"}, + }, { + Name: []string{"-fno-rewrite-imports"}, + }, { + Name: []string{"-fno-rewrite-includes"}, + }, { + Name: []string{"-fno-ropi"}, + }, { + Name: []string{"-fno-rtlib-add-rpath"}, + Description: `Do not add -rpath with architecture-specific resource directory to the linker flags`, + }, { + Name: []string{"-fno-rtti-data"}, + Description: `Disable generation of RTTI data`, + }, { + Name: []string{"-fno-rtti"}, + Description: `Disable generation of rtti information`, + }, { + Name: []string{"-fno-rwpi"}, + }, { + Name: []string{"-fno-sanitize-address-poison-custom-array-cookie"}, + Description: `Disable poisoning array cookies when using custom operator new[] in AddressSanitizer`, + }, { + Name: []string{"-fno-sanitize-address-use-after-scope"}, + Description: `Disable use-after-scope detection in AddressSanitizer`, + }, { + Name: []string{"-fno-sanitize-address-use-odr-indicator"}, + Description: `Disable ODR indicator globals`, + }, { + Name: []string{"-fno-sanitize-blacklist"}, + Description: `Don't use blacklist file for sanitizers`, + }, { + Name: []string{"-fno-sanitize-cfi-canonical-jump-tables"}, + Description: `Do not make the jump table addresses canonical in the symbol table`, + }, { + Name: []string{"-fno-sanitize-cfi-cross-dso"}, + Description: `Disable control flow integrity (CFI) checks for cross-DSO calls`, + }, { + Name: []string{"-fno-sanitize-coverage"}, + Description: `Disable specified features of coverage instrumentation for Sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fno-sanitize-memory-track-origins"}, + Description: `Disable origins tracking in MemorySanitizer`, + }, { + Name: []string{"-fno-sanitize-memory-use-after-dtor"}, + Description: `Disable use-after-destroy detection in MemorySanitizer`, + }, { + Name: []string{"-fno-sanitize-minimal-runtime"}, + }, { + Name: []string{"-fno-sanitize-recover"}, + Description: `Disable recovery for specified sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fno-sanitize-stats"}, + Description: `Disable sanitizer statistics gathering`, + }, { + Name: []string{"-fno-sanitize-thread-atomics"}, + Description: `Disable atomic operations instrumentation in ThreadSanitizer`, + }, { + Name: []string{"-fno-sanitize-thread-func-entry-exit"}, + Description: `Disable function entry/exit instrumentation in ThreadSanitizer`, + }, { + Name: []string{"-fno-sanitize-thread-memory-access"}, + Description: `Disable memory access instrumentation in ThreadSanitizer`, + }, { + Name: []string{"-fno-sanitize-trap"}, + Description: `Disable trapping for sanitizers`, + Args: []model.Arg{{ + Name: "value", + IsOptional: true, + }}, + }, { + Name: []string{"-fno-semantic-interposition"}, + }, { + Name: []string{"-fno-short-enums"}, + }, { + Name: []string{"-fno-short-wchar"}, + Description: `Force wchar_t to be an unsigned int`, + }, { + Name: []string{"-fno-show-column"}, + Description: `Do not include column number on diagnostics`, + }, { + Name: []string{"-fno-show-source-location"}, + Description: `Do not include source location information with diagnostics`, + }, { + Name: []string{"-fno-signed-char"}, + Description: `Char is unsigned`, + }, { + Name: []string{"-fno-signed-zeros"}, + Description: `Allow optimizations that ignore the sign of floating point zeros`, + }, { + Name: []string{"-fno-sized-deallocation"}, + }, { + Name: []string{"-fno-spell-checking"}, + Description: `Disable spell-checking`, + }, { + Name: []string{"-fno-split-dwarf-inlining"}, + }, { + Name: []string{"-fno-split-lto-unit"}, + }, { + Name: []string{"-fno-split-machine-functions"}, + Description: `Disable late function splitting using profile information (x86 ELF)`, + }, { + Name: []string{"-fno-stack-check"}, + Description: `Disable stack checking`, + }, { + Name: []string{"-fno-stack-clash-protection"}, + Description: `Disable stack clash protection`, + }, { + Name: []string{"-fno-stack-protector"}, + Description: `Disable the use of stack protectors`, + }, { + Name: []string{"-fno-stack-size-section"}, + }, { + Name: []string{"-fno-standalone-debug"}, + Description: `Limit debug information produced to reduce size of debug binary`, + }, { + Name: []string{"-fno-strict-float-cast-overflow"}, + Description: `Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions`, + }, { + Name: []string{"-fno-strict-return"}, + Description: `Don't treat control flow paths that fall off the end of a non-void function as unreachable`, + }, { + Name: []string{"-fno-strict-vtable-pointers"}, + }, { + Name: []string{"-fno-sycl"}, + Description: `Disable SYCL kernels compilation for device`, + }, { + Name: []string{"-fno-temp-file"}, + Description: `Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes`, + }, { + Name: []string{"-fno-test-coverage"}, + }, { + Name: []string{"-fno-threadsafe-statics"}, + Description: `Do not emit code to make initialization of local statics thread safe`, + }, { + Name: []string{"-fno-trigraphs"}, + Description: `Do not process trigraph sequences`, + }, { + Name: []string{"-fno-unique-basic-block-section-names"}, + }, { + Name: []string{"-fno-unique-internal-linkage-names"}, + }, { + Name: []string{"-fno-unique-section-names"}, + Description: `Don't use unique names for text and data sections`, + }, { + Name: []string{"-fno-unroll-loops"}, + Description: `Turn off loop unroller`, + }, { + Name: []string{"-fno-use-cxa-atexit"}, + Description: `Don't use __cxa_atexit for calling destructors`, + }, { + Name: []string{"-fno-use-init-array"}, + Description: `Use .ctors/.dtors instead of .init_array/.fini_array`, + }, { + Name: []string{"-fno-use-line-directives"}, + }, { + Name: []string{"-fno-virtual-function-elimination"}, + }, { + Name: []string{"-fno-visibility-from-dllstorageclass"}, + }, { + Name: []string{"-fno-visibility-inlines-hidden-static-local-var"}, + Description: `Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)`, + }, { + Name: []string{"-fno-whole-program-vtables"}, + }, { + Name: []string{"-fno-xray-always-emit-customevents"}, + }, { + Name: []string{"-fno-xray-always-emit-typedevents"}, + }, { + Name: []string{"-fno-xray-function-index"}, + Description: `Omit function index section at the expense of single-function patching performance`, + }, { + Name: []string{"-fno-xray-ignore-loops"}, + }, { + Name: []string{"-fno-xray-instrument"}, + }, { + Name: []string{"-fno-zero-initialized-in-bss"}, + Description: `Don't place zero initialized data in BSS`, + }, { + Name: []string{"-fno-zvector"}, + }, { + Name: []string{"-fobjc-arc-exceptions"}, + Description: `Use EH-safe code when synthesizing retains and releases in -fobjc-arc`, + }, { + Name: []string{"-fobjc-arc"}, + Description: `Synthesize retain and release calls for Objective-C pointers`, + }, { + Name: []string{"-fobjc-convert-messages-to-runtime-calls"}, + }, { + Name: []string{"-fobjc-disable-direct-methods-for-testing"}, + Description: `Ignore attribute objc_direct so that direct methods can be tested`, + }, { + Name: []string{"-fobjc-encode-cxx-class-template-spec"}, + Description: `Fully encode c++ class template specialization`, + }, { + Name: []string{"-fobjc-exceptions"}, + Description: `Enable Objective-C exceptions`, + }, { + Name: []string{"-fobjc-infer-related-result-type"}, + }, { + Name: []string{"-fobjc-relative-method-lists"}, + Description: `Enable relative method lists`, + }, { + Name: []string{"-fobjc-runtime"}, + Description: `Specify the target Objective-C runtime kind and version`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fobjc-weak"}, + Description: `Enable ARC-style weak references in Objective-C`, + }, { + Name: []string{"-fopenmp-simd"}, + Description: `Emit OpenMP code only for SIMD-based constructs`, + }, { + Name: []string{"-fopenmp-targets"}, + Description: `Specify comma-separated list of triples OpenMP offloading targets to be supported`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fopenmp"}, + Description: `Parse OpenMP pragmas and generate parallel code`, + }, { + Name: []string{"-foptimization-record-file"}, + Description: `Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch options`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-foptimization-record-passes"}, + Description: `Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)`, + Args: []model.Arg{{ + Name: "regex", + }}, + }, { + Name: []string{"-forder-file-instrumentation"}, + Description: `Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)`, + }, { + Name: []string{"-fpack-struct"}, + Description: `Specify the default maximum struct packing alignment`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fpascal-strings"}, + Description: `Recognize and construct Pascal-style string literals`, + }, { + Name: []string{"-fpass-plugin"}, + Description: `Load pass plugin from a dynamic shared object file (only with new pass manager)`, + Args: []model.Arg{{ + Name: "dsopath", + }}, + }, { + Name: []string{"-fpatchable-function-entry"}, + Description: `Generate M NOPs before function entry and N-M NOPs after function entry`, + Args: []model.Arg{{ + Name: "N,M", + }}, + }, { + Name: []string{"-fpcc-struct-return"}, + Description: `Override the default ABI to return all structs on the stack`, + }, { + Name: []string{"-fpch-codegen"}, + Description: `Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH`, + }, { + Name: []string{"-fpch-debuginfo"}, + Description: `Generate debug info for types in an object file built from this PCH and do not generate them elsewhere`, + }, { + Name: []string{"-fpch-instantiate-templates"}, + Description: `Instantiate templates already while building a PCH`, + }, { + Name: []string{"-fpch-validate-input-files-content"}, + Description: `Validate PCH input files based on content if mtime differs`, + }, { + Name: []string{"-fplt"}, + }, { + Name: []string{"-fplugin"}, + Description: `Load the named plugin (dynamic shared object)`, + Args: []model.Arg{{ + Name: "dsopath", + }}, + }, { + Name: []string{"-fprebuilt-implicit-modules"}, + Description: `Look up implicit modules in the prebuilt module path`, + }, { + Name: []string{"-fprebuilt-module-path"}, + Description: `Specify the prebuilt module path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-fpreserve-as-comments"}, + }, { + Name: []string{"-fproc-stat-report"}, + Description: `Save subprocess statistics to the given file`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fproc-stat-reportvalue"}, + Description: `Print subprocess statistics`, + Args: []model.Arg{{ + Name: "", + }}, + }, { + Name: []string{"-fprofile-arcs"}, + }, { + Name: []string{"-fprofile-exclude-files"}, + Description: `Instrument only functions from files where names don't match all the regexes separated by a semi-colon`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fprofile-filter-files"}, + Description: `Instrument only functions from files where names match any regex separated by a semi-colon`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fprofile-generate"}, + Description: `Generate instrumented code to collect execution counts into /default.profraw (overridden by LLVM_PROFILE_FILE env var)`, + Args: []model.Arg{{ + Name: "directory", + IsOptional: true, + }}, + }, { + Name: []string{"-fprofile-instr-generate"}, + Description: `Generate instrumented code to collect execution counts into (overridden by LLVM_PROFILE_FILE env var)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFilepaths}, + Name: "file", + IsOptional: true, + }}, + }, { + Name: []string{"-fprofile-instr-use"}, + Description: `Use instrumentation data for profile-guided optimization`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fprofile-remapping-file"}, + Description: `Use the remappings described in to match the profile data against names in the program`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-fprofile-sample-accurate"}, + Description: `Specifies that the sample profile is accurate`, + }, { + Name: []string{"-fprofile-sample-use"}, + Description: `Enable sample-based profile guided optimizations`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fprofile-update"}, + Description: `Set update method of profile counters (atomic,prefer-atomic,single)`, + Args: []model.Arg{{ + Name: "method", + }}, + }, { + Name: []string{"-fprofile-use"}, + Description: `Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from /default.profdata. Otherwise, it reads from file `, + Args: []model.Arg{{ + Name: "pathname", + }}, + }, { + Name: []string{"-fpseudo-probe-for-profiling"}, + Description: `Emit pseudo probes for sample profiler`, + }, { + Name: []string{"-fptrauth-abi-version"}, + Description: `Pointer Authentication ABI version`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fptrauth-auth-traps"}, + Description: `Enable traps on authentication failures`, + }, { + Name: []string{"-fptrauth-block-descriptor-pointers"}, + Description: `Enable signing block descriptors`, + }, { + Name: []string{"-fptrauth-calls"}, + Description: `Enable signing and authentication of all indirect calls`, + }, { + Name: []string{"-fptrauth-function-pointer-type-discrimination"}, + Description: `Enabling type discrimination on C function pointers`, + }, { + Name: []string{"-fptrauth-indirect-gotos"}, + Description: `Enable signing and authentication of indirect goto targets`, + }, { + Name: []string{"-fptrauth-intrinsics"}, + Description: `Enable pointer-authentication intrinsics`, + }, { + Name: []string{"-fptrauth-kernel-abi-version"}, + Description: `Enable Pointer Authentication kernel ABI version`, + }, { + Name: []string{"-fptrauth-objc-isa-masking"}, + Description: `Pre- and post-authentication masking mode of objective-c isa pointers`, + }, { + Name: []string{"-fptrauth-objc-isa-mode"}, + Description: `Authentication mode for ObjC isa field. Full auth if unspecified`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fptrauth-objc-isa"}, + Description: `Enable signing and authentication of Objective-C object's 'isa' field`, + }, { + Name: []string{"-fptrauth-returns"}, + Description: `Enable signing and authentication of return addresses`, + }, { + Name: []string{"-fptrauth-soft"}, + Description: `Enable software lowering of pointer authentication`, + }, { + Name: []string{"-fptrauth-vtable-pointer-address-discrimination"}, + Description: `Enable address discrimination of vtable pointers`, + }, { + Name: []string{"-fptrauth-vtable-pointer-type-discrimination"}, + Description: `Enable type discrimination of vtable pointers`, + }, { + Name: []string{"-freciprocal-math"}, + Description: `Allow division operations to be reassociated`, + }, { + Name: []string{"-freg-struct-return"}, + Description: `Override the default ABI to return small structs in registers`, + }, { + Name: []string{"-fregister-global-dtors-with-atexit"}, + Description: `Use atexit or __cxa_atexit to register global destructors`, + }, { + Name: []string{"-frelaxed-template-template-args"}, + Description: `Enable C++17 relaxed template template argument matching`, + }, { + Name: []string{"-freroll-loops"}, + Description: `Turn on loop reroller`, + }, { + Name: []string{"-frewrite-imports"}, + }, { + Name: []string{"-frewrite-includes"}, + }, { + Name: []string{"-fropi"}, + Description: `Generate read-only position independent code (ARM only)`, + }, { + Name: []string{"-frtlib-add-rpath"}, + Description: `Add -rpath with architecture-specific resource directory to the linker flags`, + }, { + Name: []string{"-frtti-data"}, + }, { + Name: []string{"-frtti"}, + }, { + Name: []string{"-frwpi"}, + Description: `Generate read-write position independent code (ARM only)`, + }, { + Name: []string{"-fsanitize-address-field-padding"}, + Description: `Level of field padding for AddressSanitizer`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-address-globals-dead-stripping"}, + Description: `Enable linker dead stripping of globals in AddressSanitizer`, + }, { + Name: []string{"-fsanitize-address-poison-custom-array-cookie"}, + Description: `Enable poisoning array cookies when using custom operator new[] in AddressSanitizer`, + }, { + Name: []string{"-fsanitize-address-use-after-scope"}, + Description: `Enable use-after-scope detection in AddressSanitizer`, + }, { + Name: []string{"-fsanitize-address-use-odr-indicator"}, + Description: `Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size`, + }, { + Name: []string{"-fsanitize-blacklist"}, + Description: `Path to blacklist file for sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-cfi-canonical-jump-tables"}, + Description: `Make the jump table addresses canonical in the symbol table`, + }, { + Name: []string{"-fsanitize-cfi-cross-dso"}, + Description: `Enable control flow integrity (CFI) checks for cross-DSO calls`, + }, { + Name: []string{"-fsanitize-cfi-icall-generalize-pointers"}, + Description: `Generalize pointers in CFI indirect call type signature checks`, + }, { + Name: []string{"-fsanitize-coverage-allowlist"}, + Description: `Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-coverage-blacklist"}, + Description: `Deprecated, use -fsanitize-coverage-blocklist= instead`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-coverage-blocklist"}, + Description: `Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-coverage-whitelist"}, + Description: `Deprecated, use -fsanitize-coverage-allowlist= instead`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-coverage"}, + Description: `Specify the type of coverage instrumentation for Sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-hwaddress-abi"}, + Description: `Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-memory-track-origins"}, + Description: `Enable origins tracking in MemorySanitizer`, + Args: []model.Arg{{ + Name: "value", + IsOptional: true, + }}, + }, { + Name: []string{"-fsanitize-memory-use-after-dtor"}, + Description: `Enable use-after-destroy detection in MemorySanitizer`, + }, { + Name: []string{"-fsanitize-minimal-runtime"}, + }, { + Name: []string{"-fsanitize-recover"}, + Description: `Enable recovery for specified sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-stats"}, + Description: `Enable sanitizer statistics gathering`, + }, { + Name: []string{"-fsanitize-system-blacklist"}, + Description: `Path to system blacklist file for sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-thread-atomics"}, + Description: `Enable atomic operations instrumentation in ThreadSanitizer (default)`, + }, { + Name: []string{"-fsanitize-thread-func-entry-exit"}, + Description: `Enable function entry/exit instrumentation in ThreadSanitizer (default)`, + }, { + Name: []string{"-fsanitize-thread-memory-access"}, + Description: `Enable memory access instrumentation in ThreadSanitizer (default)`, + }, { + Name: []string{"-fsanitize-trap"}, + Description: `Enable trapping for sanitizers`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsanitize-undefined-strip-path-components"}, + Description: `Strip (or keep only, if negative) a given number of path components when emitting check metadata`, + Args: []model.Arg{{ + Name: "number", + }}, + }, { + Name: []string{"-fsanitize"}, + Description: `Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks`, + Args: []model.Arg{{ + Name: "check", + }}, + }, { + Name: []string{"-fsave-optimization-record"}, + Description: `Generate an optimization record file in a specific format`, + Args: []model.Arg{{ + Name: "format", + IsOptional: true, + }}, + }, { + Name: []string{"-fseh-exceptions"}, + Description: `Use SEH style exceptions`, + }, { + Name: []string{"-fsemantic-interposition"}, + }, { + Name: []string{"-fshort-enums"}, + Description: `Allocate to an enum type only as many bytes as it needs for the declared range of possible values`, + }, { + Name: []string{"-fshort-wchar"}, + Description: `Force wchar_t to be a short unsigned int`, + }, { + Name: []string{"-fshow-column"}, + }, { + Name: []string{"-fshow-overloads"}, + Description: `Which overload candidates to show when overload resolution fails: best|all; defaults to all`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fsigned-char"}, + Description: `Char is signed`, + }, { + Name: []string{"-fsigned-zeros"}, + }, { + Name: []string{"-fsized-deallocation"}, + Description: `Enable C++14 sized global deallocation functions`, + }, { + Name: []string{"-fsjlj-exceptions"}, + Description: `Use SjLj style exceptions`, + }, { + Name: []string{"-fslp-vectorize"}, + Description: `Enable the superword-level parallelism vectorization passes`, + }, { + Name: []string{"-fsmall-block-descriptors"}, + Description: `Enable small block descriptors`, + }, { + Name: []string{"-fspell-checking"}, + }, { + Name: []string{"-fsplit-dwarf-inlining"}, + Description: `Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF`, + }, { + Name: []string{"-fsplit-lto-unit"}, + Description: `Enables splitting of the LTO unit`, + }, { + Name: []string{"-fsplit-machine-functions"}, + Description: `Enable late function splitting using profile information (x86 ELF)`, + }, { + Name: []string{"-fstack-check"}, + Description: `Enable stack checking`, + }, { + Name: []string{"-fstack-clash-protection"}, + Description: `Enable stack clash protection`, + }, { + Name: []string{"-fstack-protector-all"}, + Description: `Enable stack protectors for all functions`, + }, { + Name: []string{"-fstack-protector-strong"}, + Description: `Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable`, + }, { + Name: []string{"-fstack-protector"}, + Description: `Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable`, + }, { + Name: []string{"-fstack-size-section"}, + Description: `Emit section containing metadata on function stack sizes`, + }, { + Name: []string{"-fstandalone-debug"}, + Description: `Emit full debug info for all types used by the program`, + }, { + Name: []string{"-fstrict-enums"}, + Description: `Enable optimizations based on the strict definition of an enum's value range`, + }, { + Name: []string{"-fstrict-float-cast-overflow"}, + Description: `Assume that overflowing float-to-int casts are undefined (default)`, + }, { + Name: []string{"-fstrict-return"}, + }, { + Name: []string{"-fstrict-vtable-pointers"}, + Description: `Enable optimizations based on the strict rules for overwriting polymorphic C++ objects`, + }, { + Name: []string{"-fsycl"}, + Description: `Enable SYCL kernels compilation for device`, + }, { + Name: []string{"-fsystem-module"}, + Description: `Build this module as a system module. Only used with -emit-module`, + }, { + Name: []string{"-ftarget-variant-availability-checks"}, + Description: `Enable availability checks for the target variant platform`, + }, { + Name: []string{"-ftest-coverage"}, + }, { + Name: []string{"-fthin-link-bitcode"}, + Description: `Write minimized bitcode to for the ThinLTO thin link only`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fthinlto-index"}, + Description: `Perform ThinLTO importing using provided function summary index`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fthreadsafe-statics"}, + }, { + Name: []string{"-ftime-report"}, + Description: `(For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ftime-trace-granularity"}, + Description: `Minimum time granularity (in microseconds) traced by time profiler`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ftime-trace"}, + Description: `Turn on time profiler. Generates JSON file based on output filename`, + }, { + Name: []string{"-ftrap-function"}, + Description: `Issue call to specified function rather than a trap instruction`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ftrapv-handler"}, + Description: `Specify the function to be called on overflow`, + Args: []model.Arg{{ + Name: "functionname", + }}, + }, { + Name: []string{"-ftrapv"}, + Description: `Trap on integer overflow`, + }, { + Name: []string{"-ftrigraphs"}, + Description: `Process trigraph sequences`, + }, { + Name: []string{"-ftrivial-auto-var-init-stop-after"}, + Description: `Stop initializing trivial automatic stack variables after the specified number of instances`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ftrivial-auto-var-init"}, + Description: `Initialize trivial automatic stack variables: uninitialized (default) | pattern`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-funique-basic-block-section-names"}, + Description: `Use unique names for basic block sections (ELF Only)`, + }, { + Name: []string{"-funique-internal-linkage-names"}, + Description: `Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path`, + }, { + Name: []string{"-funique-section-names"}, + }, { + Name: []string{"-funroll-loops"}, + Description: `Turn on loop unroller`, + }, { + Name: []string{"-fuse-cxa-atexit"}, + }, { + Name: []string{"-fuse-init-array"}, + }, { + Name: []string{"-fuse-line-directives"}, + Description: `Use #line in preprocessed output`, + }, { + Name: []string{"-fvalidate-ast-input-files-content"}, + Description: `Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical`, + }, { + Name: []string{"-fveclib"}, + Description: `Use the given vector functions library`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fvectorize"}, + Description: `Enable the loop vectorization passes`, + }, { + Name: []string{"-fverbose-asm"}, + Description: `Generate verbose assembly output`, + }, { + Name: []string{"-fvirtual-function-elimination"}, + Description: `Enables dead virtual function elimination optimization. Requires -flto=full`, + }, { + Name: []string{"-fvisibility-dllexport"}, + Description: `The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fvisibility-externs-dllimport"}, + Description: `The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fvisibility-externs-nodllstorageclass"}, + Description: `The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fvisibility-from-dllstorageclass"}, + Description: `Set the visibility of symbols in the generated code from their DLL storage class`, + }, { + Name: []string{"-fvisibility-global-new-delete-hidden"}, + Description: `Give global C++ operator new and delete declarations hidden visibility`, + }, { + Name: []string{"-fvisibility-inlines-hidden-static-local-var"}, + Description: `When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default`, + }, { + Name: []string{"-fvisibility-inlines-hidden"}, + Description: `Give inline C++ member functions hidden visibility by default`, + }, { + Name: []string{"-fvisibility-ms-compat"}, + Description: `Give global types 'default' visibility and global functions and variables 'hidden' visibility by default`, + }, { + Name: []string{"-fvisibility-nodllstorageclass"}, + Description: `The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass]`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fvisibility"}, + Description: `Set the default symbol visibility for all global declarations`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fwasm-exceptions"}, + Description: `Use WebAssembly style exceptions`, + }, { + Name: []string{"-fwhole-program-vtables"}, + Description: `Enables whole-program vtable optimization. Requires -flto`, + }, { + Name: []string{"-fwrapv"}, + Description: `Treat signed integer overflow as two's complement`, + }, { + Name: []string{"-fwritable-strings"}, + Description: `Store string literals as writable data`, + }, { + Name: []string{"-fxray-always-emit-customevents"}, + Description: `Always emit __xray_customevent(...) calls even if the containing function is not always instrumented`, + }, { + Name: []string{"-fxray-always-emit-typedevents"}, + Description: `Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented`, + }, { + Name: []string{"-fxray-always-instrument"}, + Description: `DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-attr-list"}, + Description: `Filename defining the list of functions/types for imbuing XRay attributes`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-function-groups"}, + Description: `Only instrument 1 of N groups`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-function-index"}, + }, { + Name: []string{"-fxray-ignore-loops"}, + Description: `Don't instrument functions with loops unless they also meet the minimum function size`, + }, { + Name: []string{"-fxray-instruction-threshold"}, + Description: `Sets the minimum function size to instrument with XRay`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-instrumentation-bundle"}, + Description: `Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-instrument"}, + Description: `Generate XRay instrumentation sleds on function entry and exit`, + }, { + Name: []string{"-fxray-link-deps"}, + Description: `Tells clang to add the link dependencies for XRay`, + }, { + Name: []string{"-fxray-modes"}, + Description: `List of modes to link in by default into XRay instrumented binaries`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-never-instrument"}, + Description: `DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fxray-selected-function-group"}, + Description: `When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-fzero-initialized-in-bss"}, + }, { + Name: []string{"-fzvector"}, + Description: `Enable System z vector language extension`, + }, { + Name: []string{"-F"}, + Description: `Add directory to framework include search path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--gcc-toolchain"}, + Description: `Use the gcc toolchain at the given directory`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-gcodeview-ghash"}, + Description: `Emit type record hashes in a .debug$H section`, + }, { + Name: []string{"-gcodeview"}, + Description: `Generate CodeView debug information`, + }, { + Name: []string{"-gcolumn-info"}, + }, { + Name: []string{"-gdwarf-2"}, + Description: `Generate source-level debug information with dwarf version 2`, + }, { + Name: []string{"-gdwarf-3"}, + Description: `Generate source-level debug information with dwarf version 3`, + }, { + Name: []string{"-gdwarf-4"}, + Description: `Generate source-level debug information with dwarf version 4`, + }, { + Name: []string{"-gdwarf-5"}, + Description: `Generate source-level debug information with dwarf version 5`, + }, { + Name: []string{"-gdwarf"}, + Description: `Generate source-level debug information with the default dwarf version`, + }, { + Name: []string{"-gembed-source"}, + Description: `Embed source text in DWARF debug sections`, + }, { + Name: []string{"-ginline-line-tables"}, + }, { + Name: []string{"-gline-directives-only"}, + Description: `Emit debug line info directives only`, + }, { + Name: []string{"-gline-tables-only"}, + Description: `Emit debug line number tables only`, + }, { + Name: []string{"-gmodules"}, + Description: `Generate debug info with external references to clang modules or precompiled headers`, + }, { + Name: []string{"-gno-codeview-ghash"}, + }, { + Name: []string{"-gno-column-info"}, + }, { + Name: []string{"-gno-embed-source"}, + Description: `Restore the default behavior of not embedding source text in DWARF debug sections`, + }, { + Name: []string{"-gno-inline-line-tables"}, + Description: `Don't emit inline line tables`, + }, { + Name: []string{"--gpu-instrument-lib"}, + Description: `Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--gpu-max-threads-per-block"}, + Description: `Default max threads per block for kernel launch bounds for HIP`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-gsplit-dwarf"}, + Description: `Set DWARF fission mode to either 'split' or 'single'`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-gz"}, + Description: `DWARF debug sections compression type`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-G"}, + Description: `Put objects of at most bytes into small data section (MIPS / Hexagon)`, + Args: []model.Arg{{ + Name: "size", + }}, + }, { + Name: []string{"-g"}, + Description: `Generate source-level debug information`, + }, { + Name: []string{"--help-hidden"}, + Description: `Display help for hidden options`, + }, { + Name: []string{"-help"}, + Description: `Display available options`, + }, { + Name: []string{"--hip-device-lib"}, + Description: `HIP device library`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--hip-link"}, + Description: `Link clang-offload-bundler bundles for HIP`, + }, { + Name: []string{"--hip-version"}, + Description: `HIP version in the format of major.minor.patch`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-H"}, + Description: `Show header includes and nesting depth`, + }, { + Name: []string{"-I-"}, + Description: `Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path`, + }, { + Name: []string{"-iapinotes-modules"}, + Description: `Add directory to the API notes search path referenced by module name`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-ibuiltininc"}, + Description: `Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it`, + }, { + Name: []string{"-idirafter"}, + Description: `Add directory to AFTER include search path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-iframeworkwithsysroot"}, + Description: `Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-iframework"}, + Description: `Add directory to SYSTEM framework search path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-imacros"}, + Description: `Include macros from file before parsing`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-include-pch"}, + Description: `Include precompiled header file`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-include"}, + Description: `Include file before parsing`, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-index-header-map"}, + Description: `Make the next included directory (-I or -F) an indexer header map`, + }, { + Name: []string{"-index-ignore-macros"}, + Description: `Ignore macros during indexing`, + }, { + Name: []string{"-index-ignore-system-symbols"}, + Description: `Ignore symbols from system headers`, + }, { + Name: []string{"-index-record-codegen-name"}, + Description: `Record the codegen name for symbols`, + }, { + Name: []string{"-index-store-path"}, + Description: `Enable indexing with the specified data store path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-index-unit-output-path"}, + Description: `Use as the output path for this compilation unit in the index unit file`, + Args: []model.Arg{{ + Name: "path", + }}, + }, { + Name: []string{"-iprefix"}, + Description: `Set the -iwithprefix/-iwithprefixbefore prefix`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-iquote"}, + Description: `Add directory to QUOTE include search path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-isysroot"}, + Description: `Set the system root directory (usually /)`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-isystem-after"}, + Description: `Add directory to end of the SYSTEM include search path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-isystem"}, + Description: `Add directory to SYSTEM include search path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-ivfsoverlay"}, + Description: `Overlay the virtual filesystem described by file over the real file system`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-iwithprefixbefore"}, + Description: `Set directory to include search path with prefix`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-iwithprefix"}, + Description: `Set directory to SYSTEM include search path with prefix`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-iwithsysroot"}, + Description: `Add directory to SYSTEM include search path, absolute paths are relative to -isysroot`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-I"}, + Description: `Add directory to include search path. If there are multiple -I options, these directories are searched in the order they are given before the standard system directories are searched. If the same directory is in the SYSTEM include search paths, for example if also specified with -isystem, the -I option will be ignored`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"--libomptarget-nvptx-path"}, + Description: `Path to libomptarget-nvptx libraries`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-L"}, + Description: `Add directory to library search path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "dir", + }}, + }, { + Name: []string{"-mabi"}, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{ + Name: []string{`vec-default`}, + Description: `Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers`, + }, { + Name: []string{`vec-extabi`}, + Description: `Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers`, + }}, + }}, + }, { + Name: []string{"-mabicalls"}, + Description: `Enable SVR4-style position-independent code (Mips only)`, + }, { + Name: []string{"-maix-struct-return"}, + Description: `Return all structs in memory (PPC32 only)`, + }, { + Name: []string{"-malign-branch-boundary"}, + Description: `Specify the boundary's size to align branches`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-malign-branch"}, + Description: `Specify types of branches to align`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-malign-double"}, + Description: `Align doubles to two words in structs (x86 only)`, + }, { + Name: []string{"-mbackchain"}, + Description: `Link stack frames through backchain on System Z`, + }, { + Name: []string{"-mbranch-protection"}, + Description: `Enforce targets of indirect branches and function returns`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mbranches-within-32B-boundaries"}, + Description: `Align selected branches (fused, jcc, jmp) within 32-byte boundary`, + }, { + Name: []string{"-mcmodel"}, + Args: []model.Arg{{ + Suggestions: []model.Suggestion{{Name: []string{`small`}}, {Name: []string{`medium`}}, {Name: []string{`medany`}}, {Name: []string{`medlow`}}}, + }}, + }, { + Name: []string{"-mcmse"}, + Description: `Allow use of CMSE (Armv8-M Security Extensions)`, + }, { + Name: []string{"-mcode-object-v3"}, + Description: `Legacy option to specify code object ABI V2 (-mnocode-object-v3) or V3 (-mcode-object-v3) (AMDGPU only)`, + }, { + Name: []string{"-mcode-object-version"}, + Description: `Specify code object ABI version. Defaults to 3. (AMDGPU only)`, + Args: []model.Arg{{ + Name: "version", + }}, + }, { + Name: []string{"-mcrc"}, + Description: `Allow use of CRC instructions (ARM/Mips only)`, + }, { + Name: []string{"-mcumode"}, + Description: `Specify CU (-mcumode) or WGP (-mno-cumode) wavefront execution mode (AMDGPU only)`, + }, { + Name: []string{"-mdouble"}, + Description: `Force double to be 32 bits or 64 bits`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-MD"}, + Description: `Write a depfile containing user and system headers`, + }, { + Name: []string{"-meabi"}, + Description: `Set EABI type, e.g. 4, 5 or gnu (default depends on triple)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-membedded-data"}, + Description: `Place constants in the .rodata section instead of the .sdata section even if they meet the -G threshold (MIPS)`, + }, { + Name: []string{"-menable-experimental-extensions"}, + Description: `Enable use of experimental RISC-V extensions`, + }, { + Name: []string{"-menable-unsafe-fp-math"}, + Description: `Allow unsafe floating-point math optimizations which may decrease precision`, + }, { + Name: []string{"-mexec-model"}, + Description: `Execution model (WebAssembly only)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mexecute-only"}, + Description: `Disallow generation of data access to code sections (ARM only)`, + }, { + Name: []string{"-mextern-sdata"}, + Description: `Assume that externally defined data is in the small data if it meets the -G threshold (MIPS)`, + }, { + Name: []string{"-mfentry"}, + Description: `Insert calls to fentry at function entry (x86/SystemZ only)`, + }, { + Name: []string{"-mfix-cortex-a53-835769"}, + Description: `Workaround Cortex-A53 erratum 835769 (AArch64 only)`, + }, { + Name: []string{"-mfp32"}, + Description: `Use 32-bit floating point registers (MIPS only)`, + }, { + Name: []string{"-mfp64"}, + Description: `Use 64-bit floating point registers (MIPS only)`, + }, { + Name: []string{"-MF"}, + Description: `Write depfile output from -MMD, -MD, -MM, or -M to `, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-mgeneral-regs-only"}, + Description: `Generate code which only uses the general purpose registers (AArch64 only)`, + }, { + Name: []string{"-mglobal-merge"}, + Description: `Enable merging of globals`, + }, { + Name: []string{"-mgpopt"}, + Description: `Use GP relative accesses for symbols known to be in a small data section (MIPS)`, + }, { + Name: []string{"-MG"}, + Description: `Add missing headers to depfile`, + }, { + Name: []string{"-mharden-sls"}, + Description: `Select straight-line speculation hardening scope`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mhvx-length"}, + Description: `Set Hexagon Vector Length`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mhvx"}, + Description: `Enable Hexagon Vector eXtensions`, + Args: []model.Arg{{ + Name: "value", + IsOptional: true, + }}, + }, { + Name: []string{"-miamcu"}, + Description: `Use Intel MCU ABI`, + }, { + Name: []string{"-mignore-xcoff-visibility"}, + Description: `Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file`, + }, { + Name: []string{"--migrate"}, + Description: `Run the migrator`, + }, { + Name: []string{"-mincremental-linker-compatible"}, + Description: `(integrated-as) Emit an object file which can be used with an incremental linker`, + }, { + Name: []string{"-mindirect-jump"}, + Description: `Change indirect jump instructions to inhibit speculation`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mios-version-min"}, + Description: `Set iOS deployment target`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-MJ"}, + Description: `Write a compilation database entry per input`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mllvm"}, + Description: `Additional arguments to forward to LLVM's option processing`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mlocal-sdata"}, + Description: `Extend the -G behaviour to object local data (MIPS)`, + }, { + Name: []string{"-mlong-calls"}, + Description: `Generate branches with extended addressability, usually via indirect jumps`, + }, { + Name: []string{"-mlong-double-128"}, + Description: `Force long double to be 128 bits`, + }, { + Name: []string{"-mlong-double-64"}, + Description: `Force long double to be 64 bits`, + }, { + Name: []string{"-mlong-double-80"}, + Description: `Force long double to be 80 bits, padded to 128 bits for storage`, + }, { + Name: []string{"-mlvi-cfi"}, + Description: `Enable only control-flow mitigations for Load Value Injection (LVI)`, + }, { + Name: []string{"-mlvi-hardening"}, + Description: `Enable all mitigations for Load Value Injection (LVI)`, + }, { + Name: []string{"-mmacosx-version-min"}, + Description: `Set Mac OS X deployment target`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mmadd4"}, + Description: `Enable the generation of 4-operand madd.s, madd.d and related instructions`, + }, { + Name: []string{"-mmark-bti-property"}, + Description: `Add .note.gnu.property with BTI to assembly files (AArch64 only)`, + }, { + Name: []string{"-MMD"}, + Description: `Write a depfile containing user headers`, + }, { + Name: []string{"-mmemops"}, + Description: `Enable generation of memop instructions`, + }, { + Name: []string{"-mms-bitfields"}, + Description: `Set the default structure layout to be compatible with the Microsoft compiler standard`, + }, { + Name: []string{"-mmsa"}, + Description: `Enable MSA ASE (MIPS only)`, + }, { + Name: []string{"-mmt"}, + Description: `Enable MT ASE (MIPS only)`, + }, { + Name: []string{"-MM"}, + Description: `Like -MMD, but also implies -E and writes to stdout by default`, + }, { + Name: []string{"-mno-abicalls"}, + Description: `Disable SVR4-style position-independent code (Mips only)`, + }, { + Name: []string{"-mno-backchain"}, + }, { + Name: []string{"-mno-crc"}, + Description: `Disallow use of CRC instructions (Mips only)`, + }, { + Name: []string{"-mno-embedded-data"}, + Description: `Do not place constants in the .rodata section instead of the .sdata if they meet the -G threshold (MIPS)`, + }, { + Name: []string{"-mno-execute-only"}, + Description: `Allow generation of data access to code sections (ARM only)`, + }, { + Name: []string{"-mno-extern-sdata"}, + Description: `Do not assume that externally defined data is in the small data if it meets the -G threshold (MIPS)`, + }, { + Name: []string{"-mno-fix-cortex-a53-835769"}, + Description: `Don't workaround Cortex-A53 erratum 835769 (AArch64 only)`, + }, { + Name: []string{"-mno-global-merge"}, + Description: `Disable merging of globals`, + }, { + Name: []string{"-mno-gpopt"}, + Description: `Do not use GP relative accesses for symbols known to be in a small data section (MIPS)`, + }, { + Name: []string{"-mno-hvx"}, + Description: `Disable Hexagon Vector eXtensions`, + }, { + Name: []string{"-mno-implicit-float"}, + Description: `Don't generate implicit floating point instructions`, + }, { + Name: []string{"-mno-incremental-linker-compatible"}, + Description: `(integrated-as) Emit an object file which cannot be used with an incremental linker`, + }, { + Name: []string{"-mno-local-sdata"}, + Description: `Do not extend the -G behaviour to object local data (MIPS)`, + }, { + Name: []string{"-mno-long-calls"}, + Description: `Restore the default behaviour of not generating long calls`, + }, { + Name: []string{"-mno-lvi-cfi"}, + Description: `Disable control-flow mitigations for Load Value Injection (LVI)`, + }, { + Name: []string{"-mno-lvi-hardening"}, + Description: `Disable mitigations for Load Value Injection (LVI)`, + }, { + Name: []string{"-mno-madd4"}, + Description: `Disable the generation of 4-operand madd.s, madd.d and related instructions`, + }, { + Name: []string{"-mno-memops"}, + Description: `Disable generation of memop instructions`, + }, { + Name: []string{"-mno-movt"}, + Description: `Disallow use of movt/movw pairs (ARM only)`, + }, { + Name: []string{"-mno-ms-bitfields"}, + Description: `Do not set the default structure layout to be compatible with the Microsoft compiler standard`, + }, { + Name: []string{"-mno-msa"}, + Description: `Disable MSA ASE (MIPS only)`, + }, { + Name: []string{"-mno-mt"}, + Description: `Disable MT ASE (MIPS only)`, + }, { + Name: []string{"-mno-neg-immediates"}, + Description: `Disallow converting instructions with negative immediates to their negation or inversion`, + }, { + Name: []string{"-mno-nvj"}, + Description: `Disable generation of new-value jumps`, + }, { + Name: []string{"-mno-nvs"}, + Description: `Disable generation of new-value stores`, + }, { + Name: []string{"-mno-outline-atomics"}, + Description: `Don't generate local calls to out-of-line atomic operations`, + }, { + Name: []string{"-mno-outline"}, + Description: `Disable function outlining (AArch64 only)`, + }, { + Name: []string{"-mno-packets"}, + Description: `Disable generation of instruction packets`, + }, { + Name: []string{"-mno-pie-copy-relocations"}, + }, { + Name: []string{"-mno-relax"}, + Description: `Disable linker relaxation`, + }, { + Name: []string{"-mno-restrict-it"}, + Description: `Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode`, + }, { + Name: []string{"-mno-save-restore"}, + Description: `Disable using library calls for save and restore`, + }, { + Name: []string{"-mno-seses"}, + Description: `Disable speculative execution side effect suppression (SESES)`, + }, { + Name: []string{"-mno-speculative-load-hardening"}, + }, { + Name: []string{"-mno-stack-arg-probe"}, + Description: `Disable stack probes which are enabled by default`, + }, { + Name: []string{"-mno-tls-direct-seg-refs"}, + Description: `Disable direct TLS access through segment registers`, + }, { + Name: []string{"-mno-unaligned-access"}, + Description: `Force all memory accesses to be aligned (AArch32/AArch64 only)`, + }, { + Name: []string{"-mno-wavefrontsize64"}, + Description: `Specify wavefront size 32 mode (AMDGPU only)`, + }, { + Name: []string{"-mnocrc"}, + Description: `Disallow use of CRC instructions (ARM only)`, + }, { + Name: []string{"-mnop-mcount"}, + Description: `Generate mcount/__fentry__ calls as nops. To activate they need to be patched in`, + }, { + Name: []string{"-mnvj"}, + Description: `Enable generation of new-value jumps`, + }, { + Name: []string{"-mnvs"}, + Description: `Enable generation of new-value stores`, + }, { + Name: []string{"-module-dependency-dir"}, + Description: `Directory to dump module dependencies to`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-module-file-info"}, + Description: `Provide information about a particular module file`, + }, { + Name: []string{"-momit-leaf-frame-pointer"}, + Description: `Omit frame pointer setup for leaf functions`, + }, { + Name: []string{"-moutline-atomics"}, + Description: `Generate local calls to out-of-line atomic operations`, + }, { + Name: []string{"-moutline"}, + Description: `Enable function outlining (AArch64 only)`, + }, { + Name: []string{"-mpacked-stack"}, + Description: `Use packed stack layout (SystemZ only)`, + }, { + Name: []string{"-mpackets"}, + Description: `Enable generation of instruction packets`, + }, { + Name: []string{"-mpad-max-prefix-size"}, + Description: `Specify maximum number of prefixes to use for padding`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mpie-copy-relocations"}, + Description: `Use copy relocations support for PIE builds`, + }, { + Name: []string{"-mprefer-vector-width"}, + Description: `Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-MP"}, + Description: `Create phony target for each dependency (other than main file)`, + }, { + Name: []string{"-mqdsp6-compat"}, + Description: `Enable hexagon-qdsp6 backward compatibility`, + }, { + Name: []string{"-MQ"}, + Description: `Specify name of main file output to quote in depfile`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mrecord-mcount"}, + Description: `Generate a __mcount_loc section entry for each __fentry__ call`, + }, { + Name: []string{"-mrelax-all"}, + Description: `(integrated-as) Relax all machine instructions`, + }, { + Name: []string{"-mrelax"}, + Description: `Enable linker relaxation`, + }, { + Name: []string{"-mrestrict-it"}, + Description: `Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode`, + }, { + Name: []string{"-mrtd"}, + Description: `Make StdCall calling convention the default`, + }, { + Name: []string{"-msave-restore"}, + Description: `Enable using library calls for save and restore`, + }, { + Name: []string{"-mseses"}, + Description: `Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations`, + }, { + Name: []string{"-msign-return-address"}, + Description: `Select return address signing scope`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-msmall-data-limit"}, + Description: `Put global and static data smaller than the limit into a special section`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-msoft-float"}, + Description: `Use software floating point`, + }, { + Name: []string{"-mspeculative-load-hardening"}, + }, { + Name: []string{"-mstack-alignment"}, + Description: `Set the stack alignment`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mstack-arg-probe"}, + Description: `Enable stack probes`, + }, { + Name: []string{"-mstack-probe-size"}, + Description: `Set the stack probe size`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mstack-protector-guard-offset"}, + Description: `Use the given offset for addressing the stack-protector guard`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mstack-protector-guard-reg"}, + Description: `Use the given reg for addressing the stack-protector guard`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mstack-protector-guard"}, + Description: `Use the given guard (global, tls) for addressing the stack-protector guard`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mstackrealign"}, + Description: `Force realign the stack at entry to every function`, + }, { + Name: []string{"-msve-vector-bits"}, + Description: `Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-msvr4-struct-return"}, + Description: `Return small structs in registers (PPC32 only)`, + }, { + Name: []string{"-mthread-model"}, + Description: `The thread model to use, e.g. posix, single (posix by default)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mtls-direct-seg-refs"}, + Description: `Enable direct TLS access through segment registers (default)`, + }, { + Name: []string{"-mtls-size"}, + Description: `Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mtp"}, + Description: `Thread pointer access method (AArch32/AArch64 only)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-mtune"}, + Description: `Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-MT"}, + Description: `Specify name of main file output in depfile`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-munaligned-access"}, + Description: `Allow memory accesses to be unaligned (AArch32/AArch64 only)`, + }, { + Name: []string{"-munsafe-fp-atomics"}, + Description: `Enable unsafe floating point atomic instructions (AMDGPU only)`, + }, { + Name: []string{"-MV"}, + Description: `Use NMake/Jom format for the depfile`, + }, { + Name: []string{"-mwavefrontsize64"}, + Description: `Specify wavefront size 64 mode (AMDGPU only)`, + }, { + Name: []string{"-M"}, + Description: `Like -MD, but also implies -E and writes to stdout by default`, + }, { + Name: []string{"--no-cuda-include-ptx"}, + Description: `Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--no-cuda-version-check"}, + Description: `Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture`, + }, { + Name: []string{"--no-offload-arch"}, + Description: `Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-no-pthread"}, + }, { + Name: []string{"--no-system-header-prefix"}, + Description: `Treat all #include paths starting with as not including a system header`, + Args: []model.Arg{{ + Name: "prefix", + }}, + }, { + Name: []string{"-nobuiltininc"}, + Description: `Disable builtin #include directories`, + }, { + Name: []string{"-nogpuinc"}, + Description: `Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers`, + }, { + Name: []string{"-nogpulib"}, + Description: `Do not link device library for CUDA/HIP device compilation`, + }, { + Name: []string{"-nostdinc++"}, + Description: `Disable standard #include directories for the C++ standard library`, + }, { + Name: []string{"-ObjC++"}, + Description: `Treat source input files as Objective-C++ inputs`, + }, { + Name: []string{"-objcmt-atomic-property"}, + Description: `Make migration to 'atomic' properties`, + }, { + Name: []string{"-objcmt-migrate-all"}, + Description: `Enable migration to modern ObjC`, + }, { + Name: []string{"-objcmt-migrate-annotation"}, + Description: `Enable migration to property and method annotations`, + }, { + Name: []string{"-objcmt-migrate-designated-init"}, + Description: `Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods`, + }, { + Name: []string{"-objcmt-migrate-instancetype"}, + Description: `Enable migration to infer instancetype for method result type`, + }, { + Name: []string{"-objcmt-migrate-literals"}, + Description: `Enable migration to modern ObjC literals`, + }, { + Name: []string{"-objcmt-migrate-ns-macros"}, + Description: `Enable migration to NS_ENUM/NS_OPTIONS macros`, + }, { + Name: []string{"-objcmt-migrate-property-dot-syntax"}, + Description: `Enable migration of setter/getter messages to property-dot syntax`, + }, { + Name: []string{"-objcmt-migrate-property"}, + Description: `Enable migration to modern ObjC property`, + }, { + Name: []string{"-objcmt-migrate-protocol-conformance"}, + Description: `Enable migration to add protocol conformance on classes`, + }, { + Name: []string{"-objcmt-migrate-readonly-property"}, + Description: `Enable migration to modern ObjC readonly property`, + }, { + Name: []string{"-objcmt-migrate-readwrite-property"}, + Description: `Enable migration to modern ObjC readwrite property`, + }, { + Name: []string{"-objcmt-migrate-subscripting"}, + Description: `Enable migration to modern ObjC subscripting`, + }, { + Name: []string{"-objcmt-ns-nonatomic-iosonly"}, + Description: `Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute`, + }, { + Name: []string{"-objcmt-returns-innerpointer-property"}, + Description: `Enable migration to annotate property with NS_RETURNS_INNER_POINTER`, + }, { + Name: []string{"-objcmt-whitelist-dir-path"}, + Description: `Only modify files with a filename contained in the provided directory path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-ObjC"}, + Description: `Treat source input files as Objective-C inputs`, + }, { + Name: []string{"--offload-arch"}, + Description: `CUDA offloading device architecture (e.g. sm_35), or HIP offloading target ID in the form of a device architecture followed by target ID features delimited by a colon. Each target ID feature is a pre-defined string followed by a plus or minus sign (e.g. gfx908:xnack+:sramecc-). May be specified more than once`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-o"}, + Description: `Write output to `, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-pg"}, + Description: `Enable mcount instrumentation`, + }, { + Name: []string{"-pipe"}, + Description: `Use pipes between commands, when possible`, + }, { + Name: []string{"--precompile"}, + Description: `Only precompile the input`, + }, { + Name: []string{"-print-effective-triple"}, + Description: `Print the effective target triple`, + }, { + Name: []string{"-print-file-name"}, + Description: `Print the full library path of `, + Args: []model.Arg{{ + Name: "file", + }}, + }, { + Name: []string{"-print-ivar-layout"}, + Description: `Enable Objective-C Ivar layout bitmap print trace`, + }, { + Name: []string{"-print-libgcc-file-name"}, + Description: `Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")`, + }, { + Name: []string{"-print-prog-name"}, + Description: `Print the full program path of `, + Args: []model.Arg{{ + Name: "name", + }}, + }, { + Name: []string{"-print-resource-dir"}, + Description: `Print the resource directory pathname`, + }, { + Name: []string{"-print-search-dirs"}, + Description: `Print the paths used for finding libraries and programs`, + }, { + Name: []string{"-print-supported-cpus"}, + Description: `Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)`, + }, { + Name: []string{"-print-target-triple"}, + Description: `Print the normalized target triple`, + }, { + Name: []string{"-print-targets"}, + Description: `Print the registered targets`, + }, { + Name: []string{"-pthread"}, + Description: `Support POSIX threads in generated code`, + }, { + Name: []string{"--ptxas-path"}, + Description: `Path to ptxas (used for compiling CUDA code)`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-P"}, + Description: `Disable linemarker output in -E mode`, + }, { + Name: []string{"-Qn"}, + Description: `Do not emit metadata containing compiler name and version`, + }, { + Name: []string{"-Qunused-arguments"}, + Description: `Don't emit warning for unused driver arguments`, + }, { + Name: []string{"-Qy"}, + Description: `Emit metadata containing compiler name and version`, + }, { + Name: []string{"-relocatable-pch"}, + Description: `Whether to build a relocatable precompiled header`, + }, { + Name: []string{"-rewrite-legacy-objc"}, + Description: `Rewrite Legacy Objective-C source to C++`, + }, { + Name: []string{"-rewrite-objc"}, + Description: `Rewrite Objective-C source to C++`, + }, { + Name: []string{"--rocm-device-lib-path"}, + Description: `ROCm device library path. Alternative to rocm-path`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--rocm-path"}, + Description: `ROCm installation path, used for finding and automatically linking required bitcode libraries`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-Rpass-analysis"}, + Description: `Report transformation analysis from optimization passes whose name matches the given POSIX regular expression`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-Rpass-missed"}, + Description: `Report missed transformations by optimization passes whose name matches the given POSIX regular expression`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-Rpass"}, + Description: `Report transformations performed by optimization passes whose name matches the given POSIX regular expression`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-rtlib"}, + Description: `Compiler runtime library to use`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-Rremark"}, + Description: `Enable the specified remark`, + Args: []model.Arg{{ + Name: "", + }}, + }, { + Name: []string{"-save-stats"}, + Description: `Save llvm statistics`, + Args: []model.Arg{{ + Name: "value", + IsOptional: true, + }}, + }, { + Name: []string{"-save-temps"}, + Description: `Save intermediate compilation results`, + Args: []model.Arg{{ + Name: "value", + IsOptional: true, + }}, + }, { + Name: []string{"-serialize-diagnostics"}, + Description: `Serialize compiler diagnostics to a file`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-shared-libsan"}, + Description: `Dynamically link the sanitizer runtime`, + }, { + Name: []string{"-static-libsan"}, + Description: `Statically link the sanitizer runtime`, + }, { + Name: []string{"-static-openmp"}, + Description: `Use the static host OpenMP runtime while linking`, + }, { + Name: []string{"-stdlib++-isystem"}, + Description: `Use directory as the C++ standard library include path`, + Args: []model.Arg{{ + Templates: []model.Template{model.TemplateFolders}, + Name: "directory", + }}, + }, { + Name: []string{"-stdlib"}, + Description: `C++ standard library to use`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-sycl-std"}, + Description: `SYCL language standard to compile for`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--system-header-prefix"}, + Description: `Treat all #include paths starting with as including a system header`, + Args: []model.Arg{{ + Name: "prefix", + }}, + }, { + Name: []string{"-S"}, + Description: `Only run preprocess and compilation steps`, + }, { + Name: []string{"-target-variant"}, + Description: `Generate code that may run on a particular variant of the deployment target`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"--target"}, + Description: `Generate code for the given target`, + Args: []model.Arg{{ + Name: "value", + }}, + }, { + Name: []string{"-Tbss"}, + Description: `Set starting address of BSS to `, + Args: []model.Arg{{ + Name: "addr", + }}, + }, { + Name: []string{"-Tdata"}, + Description: `Set starting address of DATA to `, + Args: []model.Arg{{ + Name: "addr", + }}, + }, { + Name: []string{"-time"}, + Description: `Time individual commands`, + }, { + Name: []string{"-traditional-cpp"}, + Description: `Enable some traditional CPP emulation`, + }, { + Name: []string{"-trigraphs"}, + Description: `Process trigraph sequences`, + }, { + Name: []string{"-Ttext"}, + Description: `Set starting address of TEXT to `, + Args: []model.Arg{{ + Name: "addr", + }}, + }, { + Name: []string{"-T"}, + Description: `Specify