From 5c6f1e9a1c9a4017b2faa29cbcc2147ed7bc78f4 Mon Sep 17 00:00:00 2001 From: Kevin Mok Date: Sat, 17 Apr 2021 00:05:07 -0400 Subject: [PATCH] Ticker i3block, reminder fish script kubectl completion. --- aliases/key_aliases.tmpl | 103 +- aliases/key_dirs.tmpl | 17 +- aliases/key_files.tmpl | 6 +- dot_Xmodmap | 4 +- dot_config/fish/completions/kubectl.fish | 1654 +++++++++++++++++ dot_config/fish/config.fish.tmpl | 21 +- dot_config/fish/functions/cad-to-us.fish | 3 + .../fish/functions/libreoffice-silent.fish | 3 + dot_config/fish/functions/reminder.fish | 3 + dot_config/fish/functions/scan-history.fish | 3 +- dot_config/fish/functions/us-to-cad.fish | 1 + dot_config/i3/config.tmpl | 37 +- .../i3blocks/i3blocks-secondary.conf.tmpl | 60 +- dot_config/i3blocks/i3blocks.conf.tmpl | 80 +- dot_config/i3blocks/scripts/executable_ticker | 5 + dot_config/i3blocks/scripts/executable_volume | 3 +- dot_config/i3blocks/scripts/executable_wifi | 3 +- dot_taskrc | 6 +- dot_vimrc.tmpl | 11 +- scripts/executable_spotify-clean | 3 + scripts/executable_ticker | 97 + 21 files changed, 2017 insertions(+), 106 deletions(-) create mode 100644 dot_config/fish/completions/kubectl.fish create mode 100644 dot_config/fish/functions/cad-to-us.fish create mode 100644 dot_config/fish/functions/libreoffice-silent.fish create mode 100644 dot_config/fish/functions/reminder.fish create mode 100755 dot_config/i3blocks/scripts/executable_ticker create mode 100644 scripts/executable_spotify-clean create mode 100755 scripts/executable_ticker diff --git a/aliases/key_aliases.tmpl b/aliases/key_aliases.tmpl index 540f8aa..d4711a3 100644 --- a/aliases/key_aliases.tmpl +++ b/aliases/key_aliases.tmpl @@ -49,9 +49,10 @@ ngb "sudo nvim /etc/default/grub" mgb "sudo grub-mkconfig -o /boot/grub/grub.cfg" # a "bat" -ba "bat" +b "bat" # ba "bat *" awkp "awk -F',' '{print \$0}'" +cpr "cp -r" fde "fd -e" grep "grep --color=auto -n" grpr "grep -r" @@ -131,7 +132,9 @@ vd "vidir --verbose" {{ if not (eq .linux_os "termux") }} l "lsd -F --group-dirs first" la "lsd -AF --group-dirs first" +ld "lsd -F --group-dirs first -d */" ll "lsd -lF --group-dirs first --size short" +lld "lsd -lF --group-dirs first --size short -d */" llr "lsd -lF --group-dirs first --size short -tr" lla "lsd -AlF --group-dirs first --size short" {{ else }} @@ -305,8 +308,8 @@ a "task" aa "task add" aab "task add proj:pey +bot" aal "task add proj:lnx" -aam "task add proj:ms" -aamy "task add proj:mny" +# aam "task add proj:ms" +aam "task add proj:mny" aap "task add proj:" # aacm "task add proj:codm" aacr "task add proj:crim" @@ -330,6 +333,7 @@ aj "task +jira" apl "task completed" al "task limit:15" alg "task log" +algy "task log proj:pey" ans "task +next" ao "taskopen -A" asm "task summary" @@ -362,6 +366,7 @@ ccc "calcurse -D ~/.calcurse/alt-cals/class" cci "calcurse -i" ccs "calcurse-caldav" chr "google-chrome" +cht "chatterino" clc "cloc ." cv "cava" dg "dragon-drag-and-drop -x" @@ -387,14 +392,15 @@ kf "killall firefox" kag "killall gopls" kai "killall imwheel && imwheel" kt "killall thunderbird" -lo "libreoffice" -# mpv "mpv --volume=50" +# lo "libreoffice" m "mpv" +mpvv "mpv --volume=50" mpl "mpv --loop" msf "mpv --sub-file=" mra "man ranger" # mt "minetest" n "nvim" +nl "nload devices wlp4s0 -u M" nm "nomacs ." np "nvim --" ndu "ncdu" @@ -405,6 +411,7 @@ pcp "pycp" pmv "pymv" py "python" q "qalc '" +qe "qalc -e '1USD to CAD'" qg "qalculate-gtk" r "ranger" rbg "ranger --selectfile (grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2)" @@ -418,7 +425,7 @@ sqlb "sqlitebrowser" # ss "mosh" stp "termdown" # sw "swex" -t "tmux"#[[[ +# t "tmux"#[[[ # ta "tmux a -t" tabu "tmux a -t backup || tmux new -s backup" tacf "tmux a -t config || tmux new -s config" @@ -534,6 +541,7 @@ gba "git branch --no-merged && echo '' && git branch --merged" gbu "git branch --no-merged" gbm "git branch --merged" gbr "git branch -m" +gbu "git branch --set-upstream-to=" gsm "git submodule" gsma "git submodule add" @@ -567,8 +575,9 @@ gal "git lfs track" gacu "git add -A && git commit" glf "git lfs" -glfi "git lfs install" -glfp "git lfs pull" +# glfi "git lfs install" +# glfp "git lfs pull" +glfp "git lfs install && git lfs pull" glft "git lfs track *" gm "git mv" @@ -586,9 +595,8 @@ grmor "rm (fd -e orig --no-ignore -H)" gd "git diff -w" gdc "git diff --cached -w" gdh "git diff --cached -w HEAD~1" -# gds "git diff --stat" -# gdsc "git diff --stat --cached -w" -gds "git diff --stat --cached -w" +gds "git diff --stat" +gdsc "git diff --stat --cached -w" gdt "git difftool -w --tool=vimdiff" gdtc "git difftool -w --cached --tool=vimdiff" gl "git log -5" @@ -724,7 +732,7 @@ upip "pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xa ureq "pip freeze > requirements.txt" # show last history scan -hlg "psql -U postgres -d spotifyvis -a -f /home/kevin/coding/spotify-lib-vis/src/scripts/queries/history.sql | rg 2020 | tac" +hlg "psql -U postgres -d spotifyvis -a -f /home/kevin/coding/spotify-lib-vis/src/scripts/queries/history.sql | rg 2021 | tac" slg "tail -n 5 $spv_dir/src/api/management/commands/update-history.log" # scan history # hs "$spv_dir/src/update-history.sh && cat $spv_dir/src/api/management/commands/update-history.log | tail -n 1" @@ -798,7 +806,8 @@ mm "printf '\033c' && bear make clean move_mouse_with_head && ./move_mouse_with_ med "printf '\033c' && bear make clean eye_detector && ./eye_detector" mft "printf '\033c' && bear make clean face_detector && ./face_detector" rft "~/coding/face-tracker/face_detector > /tmp/move_mouse_with_head.out" -gpsb "git push bitbucket" +# gpsb "git push bitbucket" +gpsb "git push bot" # ]]] ada-mario # @@ -832,13 +841,16 @@ mtsv "minetestserver --gameid minimal --worldname Test --terminal" # ]]] minetest # -tet "pandoc -f markdown -t html twitch-emote-conversion.md | xclip -selection clipboard" +# tet "pandoc -f markdown -t html twitch-emote-conversion.md | xclip -selection clipboard" shrg "printf '¯\\\\\\\\\\_(ツ)_/¯' | xclip -selection clipboard" dcec "mono DiscordChatExporter.Cli.exe" dcec "mono DiscordChatExporter.Cli.exe export -t $DISCORD_TOKEN -c" ifm "sxiv ~/Documents/fortnite/maps/boat-campfire-slurp.png" + +# twitchy [[[ # + tw "twitchy" twa "twitchy -a" twd "twitchy -d" @@ -847,9 +859,13 @@ twf "watch -n300 'twitchy-game Fortnite'" # mp "mpv --video-zoom=1.5" # ufn "source trn-api-key.fish && curl --request GET --url https://api.fortnitetracker.com/v1/profile/pc/Vole%20on%20Mobile --header 'trn-api-key: 584d8eca-30d9-4119-92d8-5067dd301118' --cookie __cfduid=d4f0daac7eee3687b481bd55dcf00f3581581900091 > stats.json" +# ]]] twitchy # + lob "lsd -F --group-dirs first 2020*.mkv" wo "watch -n60 'lsd -lF --group-dirs first --size short 2020*.mkv'" +fnp "t timeline FNProgress | sed -n '2p'" + # ]]] games # # school [[[ # @@ -870,11 +886,12 @@ vpd "nmcli con down id '1 - Red Hat Global VPN'" # laptop # gcfr "git config user.email 'kmok@redhat.com' && git config user.signingkey 10B001347552F396" gchk "git checkout KOGITO-" -gch2 "git checkout KOGITO-2113" +gch3 "git checkout KOGITO-1031-diff-3" -loe "libreoffice ~/Documents/expenses/2020.ods &" +loe "libreoffice ~/Documents/expenses/2021.ods &" loi "libreoffice ~/Documents/expenses/investments.ods &" ssw "mosh $WORK_LAPTOP_IP tmux a" +ssw2 "mosh $WORK_LAPTOP_IP -- tmux a -t nzxt-2" ssi "mosh $WORK_LAPTOP_IP -- tmux a -t weechat" scw "scp $WORK_LAPTOP_IP:" sfw "sftp $WORK_LAPTOP_IP" @@ -884,15 +901,32 @@ ghr "github-release" # oc [[[ # -o "oc" -odc "oc describe pod" -odl "oc delete project" -og "oc get pods -w" -ol "oc logs" -on "oc new-project" -op "oc project" -opd "oc project default" -ot "oc status" +o "kubectl" +oa "kubectl apply -f" +od "kubectl describe" +odp "kubectl describe pod" +odi "kubectl describe kogitoinfra" +odr "kubectl describe kogitoruntime" +odl "kubectl delete" +odlb "kubectl delete kogitobuild" +odlc "kubectl delete configmap" +odlp "kubectl delete pod" +odlpj "kubectl delete project" +odlr "kubectl delete kogitoruntime" +og "kubectl get pods" +ogw "kubectl get pods -w" +ogb "kubectl get kogitobuild" +ogc "kubectl get configmap" +ogi "kubectl get imagestream" +ogn "kubectl get" +ogr "kubectl get kogitoruntime" +ol "kubectl logs -f" +oli "kubectl login -u kubeadmin -p" +on "kubectl new-project" +op "kubectl project" +opa "kubectl projects | rg kogito" +opd "kubectl project default" +ot "kubectl status" # ]]] oc # @@ -907,20 +941,28 @@ jkc "java -jar ~/java/jenkins-cli.jar -s http://localhost:8090 -auth kevin:$JENK # maven [[[ # mvc "mvn clean" +mvci "mvn clean install -Dfull" +mvi "mvn install -Dfull" # mvps "mvn package -DskipTests" -mvp "mvn package -DskipTests" +mvp "mvn clean package -DskipTests" mvpr "mvn clean package -DskipTests && ./server-control.sh start" -mvt "mvn test" -mvct "mvn clean test" +# mvt "mvn test" +# mvct "mvn clean test" # ]]] maven # +mk "make -j8" mc "make clean" mct "make clean test" ml "make lint" +mt "make test" +# mvet "make vet" +# mvett "make vet test" +mvt "make vet" +mvtt "make vet test" kg "kogito" -mk "minikube" +# mk "minikube" gor "go run" got "go test" @@ -932,3 +974,6 @@ dki "docker image" dkis "docker images" # ]]] red-hat # + +# tet "ticker (cat ~/Documents/expenses/etf.md) | xclip -selection clipboard" +tet "ticker (xclip -o) | xclip -selection clipboard" diff --git a/aliases/key_dirs.tmpl b/aliases/key_dirs.tmpl index 6e0854a..c70a32a 100644 --- a/aliases/key_dirs.tmpl +++ b/aliases/key_dirs.tmpl @@ -15,6 +15,7 @@ lc ~/linux-config lf /mnt/linux-files lfp /mnt/linux-files/Pictures lfv /mnt/linux-files/Videos +lfy /mnt/linux-files/Videos/yt me /run/media/kevin o / pd ~/.password-store @@ -57,6 +58,7 @@ b1 ~/coding/mf-site/themes/base16 2d ~/coding/godot-demos/2d-plat ada ~/coding/ada-mario ft ~/coding/face-tracker +hv ~/Documents/hevin j ~/Documents/journal lh ~/Documents/listening-history mmd ~/coding/move-mouse-with-head @@ -101,11 +103,15 @@ adP ~/Pictures/ada-mario lfo /mnt/linux-files/Videos/obs pxv /mnt/linux-files/Videos/pixel +# codm [[[ # + cm ~/Documents/codm cs ~/Documents/codm/site csi ~/Documents/codm/site/static/images Css ~/Pictures/screenshots/mobile/codm +# ]]] codm # + # fortnite [[[ # fn ~/Documents/fortnite @@ -120,6 +126,7 @@ tcd /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader # ]]] fortnite # pgv /mnt/linux-files/Videos/pokemon-go +tr ~/.local/share/Terraria # ]]] gaming # @@ -142,25 +149,31 @@ ep ~/Documents/expenses k ~/coding/kogito kap ~/coding/kogito/kogito-apps kdo ~/coding/kogito/kie-docs +kdoa ~/coding/kogito/kie-docs/doc-content/kogito-docs/src/main/asciidoc kex ~/coding/kogito/kogito-examples keh ~/coding/kogito/kogito-examples/process-scripts-quarkus/target kfl ~/coding/kogito/kogito-apps ki ~/coding/kogito/kogito-images kj ~/coding/kogito/jenkins-test kjb ~/coding/kogito/jenkins-test-bot +kjf ~/coding/kogito/jenkins-test/full kl ~/coding/kogito/shared-libraries # operator [[[ # ko ~/go/src/github.com/kiegroup/kogito-cloud-operator -koc ~/go/src/github.com/kiegroup/kogito-cloud-operator/cmd/kogito/command +kor ~/go/src/github.com/kiegroup/rhpam-kogito-operator +# koc ~/go/src/github.com/kiegroup/kogito-cloud-operator/cmd/kogito/command +koc ~/coding/kogito/kogito-cloud-operator kod ~/go/src/github.com/kiegroup/kogito-cloud-operator/cmd/kogito/command/deploy kof ~/go/src/github.com/kiegroup/kogito-cloud-operator/cmd/kogito/command/flag -kor ~/go/src/github.com/kiegroup/kogito-cloud-operator/pkg/controller/kogitoruntime +# kor ~/go/src/github.com/kiegroup/kogito-cloud-operator/pkg/controller/kogitoruntime kou ~/go/src/github.com/kiegroup/kogito-cloud-operator/cmd/kogito/command/util ko2 ~/coding/kogito/kogito-cloud-operator-2 # ]]] operator # +kot ~/coding/kogito/optaplanner kp ~/coding/kogito/kogito-pipelines +kp2 ~/coding/kogito/kogito-pipelines-2 kpr ~/coding/pull-requests/red-hat kr ~/coding/kogito/kogito-runtimes krj ~/coding/kogito/kogito-runtimes/jenkins-spock-tests diff --git a/aliases/key_files.tmpl b/aliases/key_files.tmpl index 9014e3f..7357b9e 100644 --- a/aliases/key_files.tmpl +++ b/aliases/key_files.tmpl @@ -3,6 +3,7 @@ # sys [[[ # 3 ~/linux-config/dot_config/i3/config.tmpl +3b ~/linux-config/dot_config/i3blocks/i3blocks.conf.tmpl a ~/linux-config/aliases/key_aliases.tmpl ak ~/linux-config/dot_ssh/authorized_keys-all d ~/linux-config/aliases/key_dirs.tmpl @@ -95,14 +96,17 @@ fv ~/Documents/fortnite/notes/vods.md mta ~/.minetest/clientmods/custom_aliases/init.lua pk ~/Downloads/pokecord/pokecord2.md tc /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader/clips.txt +tdb ~/Documents/journal/todo/b.md # ]]] gaming # # pey [[[ # -j Jenkinsfile +j Jenkinsfile. +jd Jenkinsfile.deploy klg ~/coding/kogito/shared-libraries/vars/githubscm.groovy klm ~/coding/kogito/shared-libraries/vars/maven.groovy +kpr ~/coding/kogito/kogito-pipelines/Jenkinsfile.pr-bdd-tests krt /home/kevin/coding/kogito/kogito-runtimes/jenkins-spock-tests/src/test/vars/JenkinsfilePromote.groovy rd ~/Documents/red-hat/dates.md rm ~/Documents/red-hat/meeting.md diff --git a/dot_Xmodmap b/dot_Xmodmap index fc2d78e..905f1df 100644 --- a/dot_Xmodmap +++ b/dot_Xmodmap @@ -4,4 +4,6 @@ keycode 9 = Caps_Lock keycode 22 = BackSpace keycode 66 = Escape -pointer = 1 10 3 6 7 4 5 2 11 12 8 9 +pointer = 1 2 3 6 7 4 5 10 11 12 8 9 +! side thumb button as middle click +! pointer = 1 10 3 6 7 4 5 2 11 12 8 9 diff --git a/dot_config/fish/completions/kubectl.fish b/dot_config/fish/completions/kubectl.fish new file mode 100644 index 0000000..5664689 --- /dev/null +++ b/dot_config/fish/completions/kubectl.fish @@ -0,0 +1,1654 @@ +# +set -q FISH_KUBECTL_COMPLETION_TIMEOUT; or set FISH_KUBECTL_COMPLETION_TIMEOUT 5s +set -q FISH_KUBECTL_COMPLETION_COMPLETE_CRDS; or set FISH_KUBECTL_COMPLETION_COMPLETE_CRDS 1 +set __fish_kubectl_timeout "--request-timeout=$FISH_KUBECTL_COMPLETION_TIMEOUT" +set __fish_kubectl_all_namespaces_flags "--all-namespaces" "--all-namespaces=true" +set __fish_kubectl_subresource_commands get describe delete edit label explain +set __fish_kubectl_commands alpha \ + annotate \ + api-resources \ + api-versions \ + apply \ + attach \ + auth \ + autoscale \ + certificate \ + cluster-info \ + completion \ + config \ + convert \ + cordon \ + cp \ + create \ + delete \ + describe \ + diff \ + drain \ + edit \ + exec \ + explain \ + expose \ + get \ + kustomize \ + label \ + logs \ + options \ + patch \ + plugin \ + port-forward \ + proxy \ + replace \ + rollout \ + run \ + scale \ + set \ + taint \ + top \ + uncordon \ + version \ + wait + +function __fish_kubectl + set -l context_args + + if set -l context_flags (__fish_kubectl_get_context_flags | string split " ") + for c in $context_flags + set context_args $context_args $c + end + end + + command kubectl $__fish_kubectl_timeout $context_args $argv +end + +function __fish_kubectl_get_commands + echo alpha\t'Commands for features in alpha' + echo annotate\t'Update the annotations on a resource' + echo api-resources\t'Print the supported API resources on the server' + echo api-versions\t'Print the supported API versions on the server, in the form of "group/version"' + echo apply\t'Apply a configuration to a resource by filename or stdin' + echo attach\t'Attach to a running container' + echo auth\t'Inspect authorization' + echo autoscale\t'Auto-scale a Deployment, ReplicaSet, or ReplicationController' + echo certificate\t'Modify certificate resources.' + echo cluster-info\t'Display cluster info' + echo completion\t'Output shell completion code for the specified shell (bash or zsh)' + echo config\t'Modify kubeconfig files' + echo convert\t'Convert config files between different API versions' + echo cordon\t'Mark node as unschedulable' + echo cp\t'Copy files and directories to and from containers.' + echo create\t'Create a resource from a file or from stdin.' + echo delete\t'Delete resources by filenames, stdin, resources and names, or by resources and label selector' + echo describe\t'Show details of a specific resource or group of resources' + echo diff\t'Diff live version against would-be applied version' + echo drain\t'Drain node in preparation for maintenance' + echo edit\t'Edit a resource on the server' + echo exec\t'Execute a command in a container' + echo explain\t'Documentation of resources' + echo expose\t'Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service' + echo get\t'Display one or many resources' + echo kustomize\t'Build a kustomization target from a directory or a remote url.' + echo label\t'Update the labels on a resource' + echo logs\t'Print the logs for a container in a pod' + echo options\t'Print the list of flags inherited by all commands' + echo patch\t'Update field(s) of a resource using strategic merge patch' + echo plugin\t'Provides utilities for interacting with plugins.' + echo port-forward\t'Forward one or more local ports to a pod' + echo proxy\t'Run a proxy to the Kubernetes API server' + echo replace\t'Replace a resource by filename or stdin' + echo rollout\t'Manage the rollout of a resource' + echo run\t'Run a particular image on the cluster' + echo scale\t'Set a new size for a Deployment, ReplicaSet or Replication Controller' + echo set\t'Set specific features on objects' + echo taint\t'Update the taints on one or more nodes' + echo top\t'Display Resource (CPU/Memory/Storage) usage.' + echo uncordon\t'Mark node as schedulable' + echo version\t'Print the client and server version information' + echo wait\t'Experimental: Wait for a specific condition on one or many resources.' +end + +set __fish_kubectl_resources \ + all \ + certificatesigningrequests csr \ + clusterrolebindings \ + clusterroles \ + clusters \ + componentstatuses cs \ + configmaps configmap cm \ + controllerrevisions \ + cronjobs cj \ + customresourcedefinition crd crds \ + daemonsets ds \ + deployments deployment deploy \ + endpoints ep \ + events ev \ + horizontalpodautoscalers hpa \ + ingresses ingress ing \ + jobs job \ + limitranges limits \ + namespaces namespace ns \ + networkpolicies netpol \ + nodes node no \ + persistentvolumeclaims pvc \ + persistentvolumes pv \ + poddisruptionbudgets pdb \ + podpreset \ + pods pod po \ + podsecuritypolicies psp \ + podtemplates \ + replicasets rs \ + replicationcontrollers rc \ + resourcequotas quota \ + rolebindings \ + roles \ + secrets secret \ + serviceaccounts sa \ + services service svc \ + statefulsets sts \ + storageclass storageclasses sc + +set __fish_kubectl_cached_crds "" +set __fish_kubectl_last_crd_fetch "" + +function __fish_kubectl_actually_get_crds + set __fish_kubectl_cached_crds (__fish_kubectl get crd -o jsonpath='{range .items[*]}{.spec.names.plural}{"\n"}{.spec.names.singular}{"\n"}{range .spec.names.shortNames[]}{@}{"\n"}{end}{end}' 2>/dev/null) + set __fish_kubectl_last_crd_fetch (__fish_kubectl_get_current_time) + for i in $__fish_kubectl_cached_crds + echo $i + end +end + +function __fish_kubectl_get_current_time + date +'%s' +end + +function __fish_kubectl_get_crds + if test -z "$__fish_kubectl_last_crd_fetch"; or test -z "$__fish_kubectl_cached_crds" + __fish_kubectl_actually_get_crds + return 0 + end + + set -l ct (__fish_kubectl_get_current_time) + set -l duration (math $ct-$__fish_kubectl_last_crd_fetch) + # Only fetch crds if we have not fetched them within the past 30 seconds. + if test "$duration" -gt 30 + __fish_kubectl_actually_get_crds + return 0 + end + + for i in $__fish_kubectl_cached_crds + echo $i + end +end + +function __fish_kubectl_seen_subcommand_from_regex + set -l cmd (commandline -poc) + set -e cmd[1] + for i in $cmd + for r in $argv + if string match -r -- $r $i + return 0 + end + end + end + return 1 +end + +function __fish_kubectl_needs_command -d 'Test if kubectl has yet to be given the subcommand' + for i in (commandline -opc) + if contains -- $i $__fish_kubectl_commands + echo "$i" + return 1 + end + end + return 0 +end + +function __fish_kubectl_needs_resource -d 'Test if kubectl has yet to be given the subcommand resource' + set -l resources (__fish_kubectl_print_resource_types) + for i in (commandline -opc) + if contains -- $i $resources + return 1 + end + end + return 0 +end + +function __fish_kubectl_using_command + set -l cmd (__fish_kubectl_needs_command) + test -z "$cmd" + and return 1 + + contains -- $cmd $argv + and echo "$cmd" + and return 0 + + return 1 +end + +function __fish_kubectl_using_resource + set -l cmd (__fish_kubectl_needs_resource) + test -z "$cmd" + and return 1 + + contains -- $cmd $argv + and echo "$cmd" + and return 0 + + return 1 +end + +function __fish_kubectl_has_partial_resource_match + set -l last (commandline -opt) + if not set -l matches (string match -- "(.*)/" $last) + return + end + + if string match -q -- "(.*)/" $last + return 0 + end + + return 1 +end + +function __fish_kubectl_print_matching_resources + set -l last (commandline -opt) + if not set -l matches (string match -r -- "(.*)/" $last) + return + end + set -l prefix $matches[2] + set -l resources (__fish_kubectl_print_resource "$prefix") + for i in $resources + echo "$prefix/$i" + end +end + +function __fish_kubectl_get_context_flags + set -l cmd (commandline -opc) + if [ (count $cmd) -eq 0 ] + return 1 + end + + set -l foundContext 0 + + for c in $cmd + test $foundContext -eq 1 + set -l out "--context" "$c" + and echo $out + and return 0 + + if string match -q -r -- "--context=" "$c" + set -l out (string split -- "=" "$c" | string join " ") + and echo $out + and return 0 + else if contains -- "$c" "--context" + set foundContext 1 + end + end + + return 1 +end + +function __fish_kubectl_get_ns_flags + set -l cmd (commandline -opc) + if [ (count $cmd) -eq 0 ] + return 1 + end + + set -l foundNamespace 0 + + for c in $cmd + test $foundNamespace -eq 1 + set -l out "--namespace" "$c" + and echo $out + and return 0 + + if contains -- $c $__kubectl_all_namespaces_flags + echo "--all-namespaces" + return 0 + end + + if contains -- $c "--namespace" "-n" + set foundNamespace 1 + end + end + + return 1 +end + +function __fish_kubectl_print_resource_types + for r in $__fish_kubectl_resources + echo $r + end + + if test $FISH_KUBECTL_COMPLETION_COMPLETE_CRDS -eq 1 + set -l crds (__fish_kubectl_get_crds) + + for r in $crds + echo $r + end + end +end + +function __fish_kubectl_print_current_resources -d 'Prints current resources' + set -l found 0 + # There is probably a better way to do this... + # found === 1 means that we have not yet found the crd type + # found === 2 means that we have not yet found the crd name, but have found the type + set -l current_resource + set -l crd_types (__fish_kubectl_get_crds) + for i in (commandline -opc) + if test $found -eq 0 + if contains -- $i $__fish_kubectl_subresource_commands + set found 1 + end + end + + if test $found -eq 1 + if contains -- $i $crd_types + set -l out (__fish_kubectl_print_resource $i) + for item in $out + echo "$item" + end + return 0 + end + end + end +end + +function __fish_kubectl_print_resource -d 'Print a list of resources' -a resource + set -l args + if set -l ns_flags (__fish_kubectl_get_ns_flags | string split " ") + for ns in $ns_flags + set args $args $ns + end + end + + set args $args get "$resource" + __fish_kubectl $args --no-headers 2>/dev/null | awk '{print $1}' | string replace -r '(.*)/' '' +end + +function __fish_kubectl_get_config -a type + set -l template "{{ range .$type }}"'{{ .name }}{{"\n"}}{{ end }}' + __fish_kubectl config view -o template --template="$template" +end + +function __fish_kubectl_get_rollout_resources + set -l args + if set -l ns_flags (__fish_kubectl_get_ns_flags | string split " ") + for ns in $ns_flags + set args $args $ns + end + end + + set -l template '{range .items[*]}{.metadata.name}{"\n"}{end}' + + set -l deploys (__fish_kubectl $args get deploy -o jsonpath="$template" 2>/dev/null) + set -l daemonsets (__fish_kubectl $args get ds -o jsonpath="$template" 2>/dev/null) + set -l sts (__fish_kubectl $args get sts -o jsonpath="$template" 2>/dev/null) + + for i in $deploys + echo "deploy/$i" + echo "deployment/$i" + echo "deployments/$i" + end + + for i in $daemonsets + echo "daemonset/$i" + echo "daemonsets/$i" + echo "ds/$i" + end + + for i in $sts + echo "statefulset/$i" + echo "statefulsets/$i" + echo "sts/$i" + end +end + +complete -c kubectl -f -n '__fish_kubectl_needs_command' -a '(__fish_kubectl_get_commands)' + +for subcmd in $__fish_kubectl_subresource_commands + complete -c kubectl -f -n "__fish_kubectl_using_command $subcmd; and not __fish_seen_subcommand_from (__fish_kubectl_print_resource_types)" -a '(__fish_kubectl_print_resource_types)' -d 'Resource' + complete -c kubectl -f -n "__fish_kubectl_using_command $subcmd; and __fish_kubectl_has_partial_resource_match" -a '(__fish_kubectl_print_matching_resources)' -d 'Resource' + for resource in $__fish_kubectl_resources + complete -c kubectl -f -n "__fish_kubectl_using_command $subcmd; and __fish_seen_subcommand_from $resource" -a "(__fish_kubectl_print_resource $resource)" -d "$resource" + end + + if test $FISH_KUBECTL_COMPLETION_COMPLETE_CRDS -eq 1 + complete -c kubectl -f -n "__fish_kubectl_using_command $subcmd; and __fish_seen_subcommand_from (__fish_kubectl_get_crds)" -a '(__fish_kubectl_print_current_resources)' -d 'CRD' + end +end + +complete -c kubectl -f -n "__fish_seen_subcommand_from log logs exec port-forward" -a '(__fish_kubectl_print_resource pods)' -d 'Pod' +complete -c kubectl -f -n "__fish_seen_subcommand_from top; and __fish_seen_subcommand_from po pod pods" -a '(__fish_kubectl_print_resource pods)' -d 'Pod' +complete -c kubectl -f -n "__fish_seen_subcommand_from top; and __fish_seen_subcommand_from no node nodes" -a '(__fish_kubectl_print_resource nodes)' -d 'Node' + +for subcmd in cordon uncordon drain taint + complete -c kubectl -f -n "__fish_seen_subcommand_from $subcmd" -a '(__fish_kubectl_print_resource nodes)' -d 'Node' +end + +set -l __fish_kubectl_config_complete_contexts \ + delete-context \ + get-contexts \ + rename-contexts \ + set-context \ + use-context + +set -l __fish_kubectl_config_complete_clusters \ + delete-cluster \ + get-clusters \ + set-cluster + +complete -c kubectl -f -n "__fish_seen_subcommand_from config; and __fish_seen_subcommand_from $__fish_kubectl_config_complete_contexts" -a '(__fish_kubectl_get_config contexts)' -d 'Context' +complete -c kubectl -f -n "__fish_seen_subcommand_from config; and __fish_seen_subcommand_from $__fish_kubectl_config_complete_clusters" -a '(__fish_kubectl_get_config clusters)' -d 'Cluster' +complete -c kubectl -f -n "__fish_seen_subcommand_from rollout; and __fish_seen_subcommand_from (__fish_kubectl_get_rollout_commands_without_descriptions)" -a '(__fish_kubectl_get_rollout_resources)' +complete -c kubectl -f -r -l as -d 'Username to impersonate for the operation' +complete -c kubectl -f -r -l as-group -d 'Group to impersonate for the operation, this flag can be repeated to specify multiple groups.' +complete -c kubectl -r -l cache-dir -d 'Default HTTP cache directory' +complete -c kubectl -r -l certificate-authority -d 'Path to a cert file for the certificate authority' +complete -c kubectl -r -l client-certificate -d 'Path to a client certificate file for TLS' +complete -c kubectl -r -l client-key -d 'Path to a client key file for TLS' +complete -c kubectl -f -r -l cluster -d 'The name of the kubeconfig cluster to use' -a '(__fish_kubectl_get_config clusters)' +complete -c kubectl -f -r -l context -d 'The name of the kubeconfig context to use' -a '(__fish_kubectl_get_config contexts)' +complete -c kubectl -f -l insecure-skip-tls-verify -d 'If true, the server\'s certificate will not be checked for validity. This will make your HTTPS connections insecure' +complete -c kubectl -r -l kubeconfig -d 'Path to the kubeconfig file to use for CLI requests.' +complete -c kubectl -f -l match-server-version -d 'Require server version to match client version' +complete -c kubectl -f -r -s n -l namespace -d 'If present, the namespace scope for this CLI request' -a '(__fish_kubectl_print_resource namespace)' +complete -c kubectl -f -r -l password -d 'Password for basic authentication to the API server' +complete -c kubectl -f -r -l profile -d 'Name of profile to capture. One of (none|cpu|heap|goroutine|threadcreate|block|mutex)' +complete -c kubectl -f -r -l profile-output -d 'Name of the file to write the profile to' +complete -c kubectl -f -r -l request-timeout -d '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, 3h). A value of zero means don\'t timeout requests.' +complete -c kubectl -f -r -s s -l server -d 'The address and port of the Kubernetes API server' +complete -c kubectl -f -r -l tls-server-name -d 'Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used' +complete -c kubectl -f -r -l token -d 'Bearer token for authentication to the API server' +complete -c kubectl -f -r -l user -d 'The name of the kubeconfig user to use' -a '(__fish_kubectl_get_config users)' +complete -c kubectl -f -r -l username -d 'Username for basic authentication to the API server' + +# Completions for the "kubectl alpha" command +function __fish_kubectl_get_alpha_commands + echo debug\t'Attach a debug container to a running pod' +end + +function __fish_kubectl_get_alpha_commands_without_descriptions + __fish_kubectl_get_alpha_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command alpha; and not __fish_seen_subcommand_from (__fish_kubectl_get_alpha_commands_without_descriptions)" -a '(__fish_kubectl_get_alpha_commands)' + +# Completions for the "kubectl alpha debug" command +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -l arguments-only -d 'If specified, everything after -- will be passed to the new container as Args instead of Command.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -l attach -d 'If true, wait for the Pod to start running, and then attach to the Pod as if \'kubectl attach ...\' were called. Default false, unless \'-i/--stdin\' is set, in which case the default is true.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -r -l container -d 'Container name to use for debug container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -r -l env -d 'Environment variables to set in the container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -r -l image -d 'Container image to use for debug container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -r -l image-pull-policy -d 'The image pull policy for the container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -l quiet -d 'If true, suppress prompt messages.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -s i -l stdin -d 'Keep stdin open on the container(s) in the pod, even if nothing is attached.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -r -l target -d 'Target processes in this container name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from alpha debug' -s t -l tty -d 'Allocated a TTY for each container in the pod.' + +# Completions for the "kubectl annotate" command +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -l field-selector -d '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.' +complete -c kubectl -n '__fish_seen_subcommand_from annotate' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to update the annotation' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -l local -d 'If true, annotation will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -l overwrite -d 'If true, allow annotations to be overwritten, otherwise reject annotation updates that overwrite existing annotations.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -l resource-version -d 'If non-empty, the annotation update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from annotate' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2).' +complete -c kubectl -n '__fish_seen_subcommand_from annotate' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl api-resources" command +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -r -l api-group -d 'Limit to resources in the specified API group.' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -l cached -d 'Use the cached list of resources if available.' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -l namespaced -d 'If false, non-namespaced resources will be returned, otherwise returning namespaced resources by default.' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -l no-headers -d 'When using the default or custom-column output format, don\'t print headers (default print headers).' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -r -s o -l output -d 'Output format. One of: wide|name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -r -l sort-by -d 'If non-empty, sort nodes list using specified field. The field can be either \'name\' or \'kind\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from api-resources' -r -l verbs -d 'Limit to resources that support the specified verbs.' + +# Completions for the "kubectl apply" command +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l all -d 'Select all resources in the namespace of the specified resource types.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l cascade -d 'If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -l field-manager -d 'Name of the manager used to track field ownership.' +complete -c kubectl -n '__fish_seen_subcommand_from apply' -r -s f -l filename -d 'that contains the configuration to apply' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l force -d 'If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l force-conflicts -d 'If true, server-side apply will force the changes against conflicts.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -l grace-period -d 'Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -s k -l kustomize -d 'Process a kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l openapi-patch -d 'If true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec. Otherwise, fall back to use baked-in types.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l overwrite -d 'Automatically resolve conflicts between the modified and live configuration by using values from the modified configuration' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l prune -d 'Automatically delete resource objects, including the uninitialized ones, that do not appear in the configs and are created by either apply or create --save-config. Should be used with either -l or --all.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -l prune-whitelist -d 'Overwrite the default whitelist with for --prune' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l server-side -d 'If true, apply runs in the server instead of the client.' +complete -c kubectl -n '__fish_seen_subcommand_from apply' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -r -l timeout -d 'The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply' -l wait -d 'If true, wait for resources to be gone before returning. This waits for finalizers.' +function __fish_kubectl_get_apply_commands + echo edit-last-applied\t'Edit latest last-applied-configuration annotations of a resource/object' + echo set-last-applied\t'Set the last-applied-configuration annotation on a live object to match the contents of a file.' + echo view-last-applied\t'View latest last-applied-configuration annotations of a resource/object' +end + +function __fish_kubectl_get_apply_commands_without_descriptions + __fish_kubectl_get_apply_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command apply; and not __fish_seen_subcommand_from (__fish_kubectl_get_apply_commands_without_descriptions)" -a '(__fish_kubectl_get_apply_commands)' + +# Completions for the "kubectl apply edit-last-applied" command +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from apply edit-last-applied' -r -s f -l filename -d 'Filename, directory, or URL to files to use to edit the resource' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from apply edit-last-applied' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply edit-last-applied' -l windows-line-endings -d 'Defaults to the line ending native to your platform.' + +# Completions for the "kubectl apply set-last-applied" command +complete -c kubectl -f -n '__fish_seen_subcommand_from apply set-last-applied' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply set-last-applied' -l create-annotation -d 'Will create \'last-applied-configuration\' annotations if current objects doesn\'t have one' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply set-last-applied' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from apply set-last-applied' -r -s f -l filename -d 'Filename, directory, or URL to files that contains the last-applied-configuration annotations' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply set-last-applied' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -n '__fish_seen_subcommand_from apply set-last-applied' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl apply view-last-applied" command +complete -c kubectl -f -n '__fish_seen_subcommand_from apply view-last-applied' -l all -d 'Select all resources in the namespace of the specified resource types' +complete -c kubectl -n '__fish_seen_subcommand_from apply view-last-applied' -r -s f -l filename -d 'Filename, directory, or URL to files that contains the last-applied-configuration annotations' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply view-last-applied' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply view-last-applied' -r -s o -l output -d 'Output format. Must be one of yaml|json' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply view-last-applied' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from apply view-last-applied' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' + +# Completions for the "kubectl attach" command +complete -c kubectl -f -n '__fish_seen_subcommand_from attach' -r -s c -l container -d 'Container name. If omitted, the first container in the pod will be chosen' +complete -c kubectl -f -n '__fish_seen_subcommand_from attach' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' +complete -c kubectl -f -n '__fish_seen_subcommand_from attach' -s i -l stdin -d 'Pass stdin to the container' +complete -c kubectl -f -n '__fish_seen_subcommand_from attach' -s t -l tty -d 'Stdin is a TTY' + +# Completions for the "kubectl auth" command +function __fish_kubectl_get_auth_commands + echo can-i\t'Check whether an action is allowed' + echo reconcile\t'Reconciles rules for RBAC Role, RoleBinding, ClusterRole, and ClusterRole binding objects' +end + +function __fish_kubectl_get_auth_commands_without_descriptions + __fish_kubectl_get_auth_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command auth; and not __fish_seen_subcommand_from (__fish_kubectl_get_auth_commands_without_descriptions)" -a '(__fish_kubectl_get_auth_commands)' + +# Completions for the "kubectl auth can-i" command +complete -c kubectl -f -n '__fish_seen_subcommand_from auth can-i' -s A -l all-namespaces -d 'If true, check the specified action in all namespaces.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth can-i' -l list -d 'If true, prints all allowed actions.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth can-i' -l no-headers -d 'If true, prints allowed actions without headers' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth can-i' -s q -l quiet -d 'If true, suppress output and just return the exit code.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth can-i' -r -l subresource -d 'SubResource such as pod/log or deployment/scale' + +# Completions for the "kubectl auth reconcile" command +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from auth reconcile' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to reconcile.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -l remove-extra-permissions -d 'If true, removes extra permissions added to roles' +complete -c kubectl -f -n '__fish_seen_subcommand_from auth reconcile' -l remove-extra-subjects -d 'If true, removes extra subjects added to rolebindings' +complete -c kubectl -n '__fish_seen_subcommand_from auth reconcile' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl autoscale" command +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l cpu-percent -d 'The target average CPU utilization (represented as a percent of requested CPU) over all the pods. If it\'s not specified or negative, a default autoscaling policy will be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from autoscale' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to autoscale.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l generator -d 'The name of the API generator to use. Currently there is only 1 generator.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l max -d 'The upper limit for the number of pods that can be set by the autoscaler. Required.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l min -d 'The lower limit for the number of pods that can be set by the autoscaler. If it\'s not specified or negative, the server will apply a default value.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -l name -d 'The name for the newly created object. If not specified, the name of the input resource will be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from autoscale' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from autoscale' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl certificate" command +function __fish_kubectl_get_certificate_commands + echo approve\t'Approve a certificate signing request' + echo deny\t'Deny a certificate signing request' +end + +function __fish_kubectl_get_certificate_commands_without_descriptions + __fish_kubectl_get_certificate_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command certificate; and not __fish_seen_subcommand_from (__fish_kubectl_get_certificate_commands_without_descriptions)" -a '(__fish_kubectl_get_certificate_commands)' + +# Completions for the "kubectl certificate approve" command +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate approve' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from certificate approve' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to update' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate approve' -l force -d 'Update the CSR even if it is already approved.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate approve' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate approve' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate approve' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from certificate approve' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl certificate deny" command +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate deny' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from certificate deny' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to update' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate deny' -l force -d 'Update the CSR even if it is already denied.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate deny' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate deny' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from certificate deny' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from certificate deny' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl cluster-info" command +function __fish_kubectl_get_cluster_info_commands + echo dump\t'Dump lots of relevant info for debugging and diagnosis' +end + +function __fish_kubectl_get_cluster_info_commands_without_descriptions + __fish_kubectl_get_cluster_info_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command cluster-info; and not __fish_seen_subcommand_from (__fish_kubectl_get_cluster_info_commands_without_descriptions)" -a '(__fish_kubectl_get_cluster_info_commands)' + +# Completions for the "kubectl cluster-info dump" command +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -s A -l all-namespaces -d 'If true, dump all namespaces. If true, --namespaces is ignored.' +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -r -l namespaces -d 'A comma separated list of namespaces to dump.' +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -r -l output-directory -d 'Where to output the files. If empty or \'-\' uses stdout, otherwise creates a directory hierarchy in that directory' +complete -c kubectl -f -n '__fish_seen_subcommand_from cluster-info dump' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' +complete -c kubectl -n '__fish_seen_subcommand_from cluster-info dump' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl config" command +function __fish_kubectl_get_config_commands + echo current-context\t'Displays the current-context' + echo delete-cluster\t'Delete the specified cluster from the kubeconfig' + echo delete-context\t'Delete the specified context from the kubeconfig' + echo get-clusters\t'Display clusters defined in the kubeconfig' + echo get-contexts\t'Describe one or many contexts' + echo rename-context\t'Renames a context from the kubeconfig file.' + echo set\t'Sets an individual value in a kubeconfig file' + echo set-cluster\t'Sets a cluster entry in kubeconfig' + echo set-context\t'Sets a context entry in kubeconfig' + echo set-credentials\t'Sets a user entry in kubeconfig' + echo unset\t'Unsets an individual value in a kubeconfig file' + echo use-context\t'Sets the current-context in a kubeconfig file' + echo use\t'Sets the current-context in a kubeconfig file' + echo view\t'Display merged kubeconfig settings or a specified kubeconfig file' +end + +function __fish_kubectl_get_config_commands_without_descriptions + __fish_kubectl_get_config_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command config; and not __fish_seen_subcommand_from (__fish_kubectl_get_config_commands_without_descriptions)" -a '(__fish_kubectl_get_config_commands)' + +# Completions for the "kubectl config get-contexts" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config get-contexts' -l no-headers -d 'When using the default or custom-column output format, don\'t print headers (default print headers).' +complete -c kubectl -f -n '__fish_seen_subcommand_from config get-contexts' -r -s o -l output -d 'Output format. One of: name' + +# Completions for the "kubectl config set" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config set' -r -l set-raw-bytes -d 'When writing a []byte PROPERTY_VALUE, write the given string directly without base64 decoding.' + +# Completions for the "kubectl config set-cluster" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-cluster' -r -l embed-certs -d 'embed-certs for the cluster entry in kubeconfig' + +# Completions for the "kubectl config set-context" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-context' -l current -d 'Modify the current context' + +# Completions for the "kubectl config set-credentials" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l auth-provider -d 'Auth provider for the user entry in kubeconfig' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l auth-provider-arg -d '\'key=value\' arguments for the auth provider' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l embed-certs -d 'Embed client cert/key for the user entry in kubeconfig' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l exec-api-version -d 'API version of the exec credential plugin for the user entry in kubeconfig' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l exec-arg -d 'New arguments for the exec credential plugin command for the user entry in kubeconfig' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l exec-command -d 'Command for the exec credential plugin for the user entry in kubeconfig' +complete -c kubectl -f -n '__fish_seen_subcommand_from config set-credentials' -r -l exec-env -d '\'key=value\' environment values for the exec credential plugin' + +# Completions for the "kubectl config view" command +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -l flatten -d 'Flatten the resulting kubeconfig file into self-contained output (useful for creating portable kubeconfig files)' +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -r -l merge -d 'Merge the full hierarchy of kubeconfig files' +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -l minify -d 'Remove all information not used by current-context from the output' +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from config view' -l raw -d 'Display raw byte data' +complete -c kubectl -n '__fish_seen_subcommand_from config view' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl convert" command +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from convert' -r -s f -l filename -d 'Filename, directory, or URL to files to need to get converted.' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -l local -d 'If true, convert will NOT try to contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -r -l output-version -d 'Output the formatted object with the given group version (for ex: \'extensions/v1beta1\').' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from convert' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from convert' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl cordon" command +complete -c kubectl -f -n '__fish_seen_subcommand_from cordon' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from cordon' -r -s l -l selector -d 'Selector (label query) to filter on' + +# Completions for the "kubectl cp" command +complete -c kubectl -f -n '__fish_seen_subcommand_from cp' -r -s c -l container -d 'Container name. If omitted, the first container in the pod will be chosen' +complete -c kubectl -f -n '__fish_seen_subcommand_from cp' -l no-preserve -d 'The copied file/directory\'s ownership and permissions will not be preserved in the container' + +# Completions for the "kubectl create" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l edit -d 'Edit the API resource before creating' +complete -c kubectl -n '__fish_seen_subcommand_from create' -r -s f -l filename -d 'Filename, directory, or URL to files to use to create the resource' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -r -l raw -d 'Raw URI to POST to the server. Uses the transport specified by the kubeconfig file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from create' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create' -l windows-line-endings -d 'Only relevant if --edit=true. Defaults to the line ending native to your platform.' +function __fish_kubectl_get_create_commands + echo clusterrole\t'Create a ClusterRole.' + echo clusterrolebinding\t'Create a ClusterRoleBinding for a particular ClusterRole' + echo configmap\t'Create a configmap from a local file, directory or literal value' + echo cm\t'Create a configmap from a local file, directory or literal value' + echo cronjob\t'Create a cronjob with the specified name.' + echo cj\t'Create a cronjob with the specified name.' + echo deployment\t'Create a deployment with the specified name.' + echo deploy\t'Create a deployment with the specified name.' + echo job\t'Create a job with the specified name.' + echo namespace\t'Create a namespace with the specified name' + echo ns\t'Create a namespace with the specified name' + echo poddisruptionbudget\t'Create a pod disruption budget with the specified name.' + echo pdb\t'Create a pod disruption budget with the specified name.' + echo priorityclass\t'Create a priorityclass with the specified name.' + echo pc\t'Create a priorityclass with the specified name.' + echo quota\t'Create a quota with the specified name.' + echo resourcequota\t'Create a quota with the specified name.' + echo role\t'Create a role with single rule.' + echo rolebinding\t'Create a RoleBinding for a particular Role or ClusterRole' + echo secret\t'Create a secret using specified subcommand' + echo service\t'Create a service using specified subcommand.' + echo svc\t'Create a service using specified subcommand.' + echo serviceaccount\t'Create a service account with the specified name' + echo sa\t'Create a service account with the specified name' +end + +function __fish_kubectl_get_create_commands_without_descriptions + __fish_kubectl_get_create_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command create; and not __fish_seen_subcommand_from (__fish_kubectl_get_create_commands_without_descriptions)" -a '(__fish_kubectl_get_create_commands)' + +# Completions for the "kubectl create clusterrole" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l aggregation-rule -d 'An aggregation label selector for combining ClusterRoles.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l non-resource-url -d 'A partial url that user should have access to.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l resource -d 'Resource that the rule applies to' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l resource-name -d 'Resource in the white list that the rule applies to, repeat this flag for multiple items' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create clusterrole' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrole' -r -l verb -d 'Verb that applies to the resources contained in the rule' + +# Completions for the "kubectl create clusterrolebinding" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -r -l clusterrole -d 'ClusterRole this ClusterRoleBinding should reference' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -r -l group -d 'Groups to bind to the clusterrole' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -r -l serviceaccount -d 'Service accounts to bind to the clusterrole, in the format :' +complete -c kubectl -n '__fish_seen_subcommand_from create clusterrolebinding' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create clusterrolebinding' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create configmap" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -l append-hash -d 'Append a hash of the configmap to its name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -l append-hash -d 'Append a hash of the configmap to its name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -r -l from-env-file -d 'Specify the path to a file to read lines of key=val pairs to create a configmap (i.e. a Docker .env file).' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -r -l from-env-file -d 'Specify the path to a file to read lines of key=val pairs to create a configmap (i.e. a Docker .env file).' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -r -l from-file -d 'Key file can be specified using its file path, in which case file basename will be used as configmap key, or optionally with a key and file path, in which case the given key will be used. Specifying a directory will iterate each named file in the directory whose basename is a valid configmap key.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -r -l from-file -d 'Key file can be specified using its file path, in which case file basename will be used as configmap key, or optionally with a key and file path, in which case the given key will be used. Specifying a directory will iterate each named file in the directory whose basename is a valid configmap key.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -r -l from-literal -d 'Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -r -l from-literal -d 'Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create configmap' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create cm' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create configmap' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cm' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create cronjob" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -r -l image -d 'Image name to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -r -l image -d 'Image name to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -r -l restart -d 'job\'s restart policy. supported values: OnFailure, Never' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -r -l restart -d 'job\'s restart policy. supported values: OnFailure, Never' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -r -l schedule -d 'A schedule in the Cron format the job should be run with.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -r -l schedule -d 'A schedule in the Cron format the job should be run with.' +complete -c kubectl -n '__fish_seen_subcommand_from create cronjob' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create cj' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cronjob' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create cj' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create deployment" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -r -l image -d 'Image name to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -r -l image -d 'Image name to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create deployment' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create deploy' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deployment' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create deploy' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create job" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -r -l from -d 'The name of the resource to create a Job from (only cronjob is supported).' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -r -l image -d 'Image name to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create job' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create job' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create namespace" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create namespace' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create ns' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create namespace' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create ns' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create namespace' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create ns' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create namespace' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create ns' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create namespace' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create ns' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create namespace' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create ns' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create poddisruptionbudget" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -l max-unavailable -d 'The maximum number or percentage of unavailable pods this budget requires.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -r -l max-unavailable -d 'The maximum number or percentage of unavailable pods this budget requires.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -l min-available -d 'The minimum number or percentage of available pods this budget requires.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -r -l min-available -d 'The minimum number or percentage of available pods this budget requires.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -l selector -d 'A label selector to use for this budget. Only equality-based selector requirements are supported.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -r -l selector -d 'A label selector to use for this budget. Only equality-based selector requirements are supported.' +complete -c kubectl -n '__fish_seen_subcommand_from create poddisruptionbudget' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create pdb' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create poddisruptionbudget' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pdb' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create priorityclass" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -r -l description -d 'description is an arbitrary string that usually provides guidelines on when this priority class should be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -r -l description -d 'description is an arbitrary string that usually provides guidelines on when this priority class should be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -l global-default -d 'global-default specifies whether this PriorityClass should be considered as the default priority.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -l global-default -d 'global-default specifies whether this PriorityClass should be considered as the default priority.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -r -l preemption-policy -d 'preemption-policy is the policy for preempting pods with lower priority.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -r -l preemption-policy -d 'preemption-policy is the policy for preempting pods with lower priority.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create priorityclass' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create pc' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create priorityclass' -r -l value -d 'the value of this priority class.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create pc' -r -l value -d 'the value of this priority class.' + +# Completions for the "kubectl create quota" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -r -l hard -d 'A comma-delimited set of resource=quantity pairs that define a hard limit.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -r -l hard -d 'A comma-delimited set of resource=quantity pairs that define a hard limit.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -r -l scopes -d 'A comma-delimited set of quota scopes that must all match each object tracked by the quota.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -r -l scopes -d 'A comma-delimited set of quota scopes that must all match each object tracked by the quota.' +complete -c kubectl -n '__fish_seen_subcommand_from create quota' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create resourcequota' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create quota' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create resourcequota' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create role" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -r -l resource -d 'Resource that the rule applies to' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -r -l resource-name -d 'Resource in the white list that the rule applies to, repeat this flag for multiple items' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create role' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create role' -r -l verb -d 'Verb that applies to the resources contained in the rule' + +# Completions for the "kubectl create rolebinding" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -l clusterrole -d 'ClusterRole this RoleBinding should reference' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -l group -d 'Groups to bind to the role' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -l role -d 'Role this RoleBinding should reference' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -r -l serviceaccount -d 'Service accounts to bind to the role, in the format :' +complete -c kubectl -n '__fish_seen_subcommand_from create rolebinding' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create rolebinding' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create secret" command +function __fish_kubectl_get_create_secret_commands + echo docker-registry\t'Create a secret for use with a Docker registry' + echo generic\t'Create a secret from a local file, directory or literal value' + echo tls\t'Create a TLS secret' +end + +function __fish_kubectl_get_create_secret_commands_without_descriptions + __fish_kubectl_get_create_secret_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command secret; and not __fish_seen_subcommand_from (__fish_kubectl_get_create_secret_commands_without_descriptions)" -a '(__fish_kubectl_get_create_secret_commands)' + +# Completions for the "kubectl create secret docker-registry" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -l append-hash -d 'Append a hash of the secret to its name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l docker-email -d 'Email for Docker registry' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l docker-password -d 'Password for Docker registry authentication' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l docker-server -d 'Server location for Docker registry' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l docker-username -d 'Username for Docker registry authentication' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -l from-file -d 'Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is a valid secret key.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create secret docker-registry' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret docker-registry' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create secret generic" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -l append-hash -d 'Append a hash of the secret to its name.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -l from-env-file -d 'Specify the path to a file to read lines of key=val pairs to create a secret (i.e. a Docker .env file).' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -l from-file -d 'Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is a valid secret key.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -l from-literal -d 'Specify a key and literal value to insert in secret (i.e. mykey=somevalue)' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create secret generic' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -r -l type -d 'The type of secret to create' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret generic' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create secret tls" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -l append-hash -d 'Append a hash of the secret to its name.' +complete -c kubectl -n '__fish_seen_subcommand_from create secret tls' -r -l cert -d 'Path to PEM encoded public key certificate.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from create secret tls' -r -l key -d 'Path to private key associated with given certificate.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create secret tls' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create secret tls' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create service" command +function __fish_kubectl_get_create_service_commands + echo clusterip\t'Create a ClusterIP service.' + echo externalname\t'Create an ExternalName service.' + echo loadbalancer\t'Create a LoadBalancer service.' + echo nodeport\t'Create a NodePort service.' +end + +function __fish_kubectl_get_create_service_commands_without_descriptions + __fish_kubectl_get_create_service_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command service; and not __fish_seen_subcommand_from (__fish_kubectl_get_create_service_commands_without_descriptions)" -a '(__fish_kubectl_get_create_service_commands)' +complete -c kubectl -f -n "__fish_kubectl_using_command svc; and not __fish_seen_subcommand_from (__fish_kubectl_get_create_service_commands_without_descriptions)" -a '(__fish_kubectl_get_create_service_commands)' + +# Completions for the "kubectl create service clusterip" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -r -l clusterip -d 'Assign your own ClusterIP or set to \'None\' for a \'headless\' service (no loadbalancing).' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -r -l tcp -d 'Port pairs can be specified as \':\'.' +complete -c kubectl -n '__fish_seen_subcommand_from create service clusterip' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service clusterip' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create service externalname" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -r -l external-name -d 'External name of service' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -r -l tcp -d 'Port pairs can be specified as \':\'.' +complete -c kubectl -n '__fish_seen_subcommand_from create service externalname' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service externalname' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create service loadbalancer" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -r -l tcp -d 'Port pairs can be specified as \':\'.' +complete -c kubectl -n '__fish_seen_subcommand_from create service loadbalancer' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service loadbalancer' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create service nodeport" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -r -l node-port -d 'Port used to expose the service on each node in a cluster.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -r -l tcp -d 'Port pairs can be specified as \':\'.' +complete -c kubectl -n '__fish_seen_subcommand_from create service nodeport' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create service nodeport' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl create serviceaccount" command +complete -c kubectl -f -n '__fish_seen_subcommand_from create serviceaccount' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create sa' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create serviceaccount' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create sa' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create serviceaccount' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create sa' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create serviceaccount' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from create sa' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from create serviceaccount' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from create sa' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from create serviceaccount' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from create sa' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl delete" command +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l all -d 'Delete all resources, including uninitialized ones, in the namespace of the specified resource types.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l cascade -d 'If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -l field-selector -d '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.' +complete -c kubectl -n '__fish_seen_subcommand_from delete' -r -s f -l filename -d 'containing the resource to delete.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l force -d 'If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -l grace-period -d 'Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l ignore-not-found -d 'Treat "resource not found" as a successful delete. Defaults to "true" when --all is specified.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -s k -l kustomize -d 'Process a kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l now -d 'If true, resources are signaled for immediate shutdown (same as --grace-period=1).' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -s o -l output -d 'Output mode. Use "-o name" for shorter output (resource/name).' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -l raw -d 'Raw URI to DELETE to the server. Uses the transport specified by the kubeconfig file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones.' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -r -l timeout -d 'The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object' +complete -c kubectl -f -n '__fish_seen_subcommand_from delete' -l wait -d 'If true, wait for resources to be gone before returning. This waits for finalizers.' + +# Completions for the "kubectl describe" command +complete -c kubectl -f -n '__fish_seen_subcommand_from describe' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -n '__fish_seen_subcommand_from describe' -r -s f -l filename -d 'Filename, directory, or URL to files containing the resource to describe' +complete -c kubectl -f -n '__fish_seen_subcommand_from describe' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from describe' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from describe' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from describe' -l show-events -d 'If true, display events related to the described object.' + +# Completions for the "kubectl diff" command +complete -c kubectl -f -n '__fish_seen_subcommand_from diff' -r -l field-manager -d 'Name of the manager used to track field ownership.' +complete -c kubectl -n '__fish_seen_subcommand_from diff' -r -s f -l filename -d 'Filename, directory, or URL to files contains the configuration to diff' +complete -c kubectl -f -n '__fish_seen_subcommand_from diff' -l force-conflicts -d 'If true, server-side apply will force the changes against conflicts.' +complete -c kubectl -f -n '__fish_seen_subcommand_from diff' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from diff' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from diff' -l server-side -d 'If true, apply runs in the server instead of the client.' + +# Completions for the "kubectl drain" command +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -l delete-local-data -d 'Continue even if there are pods using emptyDir (local data that will be deleted when the node is drained).' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -l disable-eviction -d 'Force drain to use delete, even if eviction is supported. This will bypass checking PodDisruptionBudgets, use with caution.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -l force -d 'Continue even if there are pods not managed by a ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -l grace-period -d 'Period of time in seconds given to each pod to terminate gracefully. If negative, the default value specified in the pod will be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -l ignore-daemonsets -d 'Ignore DaemonSet-managed pods.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -l pod-selector -d 'Label selector to filter pods on the node' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -s l -l selector -d 'Selector (label query) to filter on' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -l skip-wait-for-delete-timeout -d 'If pod DeletionTimestamp older than N seconds, skip waiting for the pod. Seconds must be greater than 0 to skip.' +complete -c kubectl -f -n '__fish_seen_subcommand_from drain' -r -l timeout -d 'The length of time to wait before giving up, zero means infinite' + +# Completions for the "kubectl edit" command +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from edit' -r -s f -l filename -d 'Filename, directory, or URL to files to use to edit the resource' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l output-patch -d 'Output the patch if the resource is edited.' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from edit' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from edit' -l windows-line-endings -d 'Defaults to the line ending native to your platform.' + +# Completions for the "kubectl exec" command +complete -c kubectl -f -n '__fish_seen_subcommand_from exec' -r -s c -l container -d 'Container name. If omitted, the first container in the pod will be chosen' +complete -c kubectl -n '__fish_seen_subcommand_from exec' -r -s f -l filename -d 'to use to exec into the resource' +complete -c kubectl -f -n '__fish_seen_subcommand_from exec' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' +complete -c kubectl -f -n '__fish_seen_subcommand_from exec' -s i -l stdin -d 'Pass stdin to the container' +complete -c kubectl -f -n '__fish_seen_subcommand_from exec' -s t -l tty -d 'Stdin is a TTY' + +# Completions for the "kubectl explain" command +complete -c kubectl -f -n '__fish_seen_subcommand_from explain' -r -l api-version -d 'Get different explanations for particular API version' +complete -c kubectl -f -n '__fish_seen_subcommand_from explain' -l recursive -d 'Print the fields of fields (Currently only 1 level deep)' + +# Completions for the "kubectl expose" command +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l cluster-ip -d 'ClusterIP to be assigned to the service. Leave empty to auto-allocate, or set to \'None\' to create a headless service.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l external-ip -d 'Additional external IP address (not managed by Kubernetes) to accept for the service. If this IP is routed to a node, the service can be accessed by this IP in addition to its generated service IP.' +complete -c kubectl -n '__fish_seen_subcommand_from expose' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to expose a service' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l generator -d 'The name of the API generator to use. There are 2 generators: \'service/v1\' and \'service/v2\'. The only difference between them is that service port in v1 is named \'default\', while it is left unnamed in v2. Default is \'service/v2\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -s l -l labels -d 'Labels to apply to the service created by this call.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l load-balancer-ip -d 'IP to assign to the LoadBalancer. If empty, an ephemeral IP will be created and used (cloud-provider specific).' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l name -d 'The name for the newly created object.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l overrides -d 'An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l port -d 'The port that the service should serve on. Copied from the resource being exposed, if unspecified' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l protocol -d 'The network protocol for the service to be created. Default is \'TCP\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l selector -d 'A label selector to use for this service. Only equality-based selector requirements are supported. If empty (the default) infer the selector from the replication controller or replica set.)' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l session-affinity -d 'If non-empty, set the session affinity for the service to this; legal values: \'None\', \'ClientIP\'' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l target-port -d 'Name or number for the port on the container that the service should direct traffic to. Optional.' +complete -c kubectl -n '__fish_seen_subcommand_from expose' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from expose' -r -l type -d 'Type for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is \'ClusterIP\'.' + +# Completions for the "kubectl get" command +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -l chunk-size -d 'Return large lists in chunks rather than all at once. Pass 0 to disable. This flag is beta and may change in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -l field-selector -d '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.' +complete -c kubectl -n '__fish_seen_subcommand_from get' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l ignore-not-found -d 'If the requested object does not exist the command will return exit code 0.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -s L -l label-columns -d 'Accepts a comma separated list of labels that are going to be presented as columns. Names are case-sensitive. You can also use multiple flag options like -L label1 -L label2...' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l no-headers -d 'When using the default or custom-column output format, don\'t print headers (default print headers).' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -s o -l output -d 'Output format. One of: json|yaml|wide|name|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See custom columns [http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns], golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://kubernetes.io/docs/user-guide/jsonpath].' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l output-watch-events -d 'Output watch event objects when --watch or --watch-only is used. Existing objects are output as initial ADDED events.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -l raw -d 'Raw URI to request from the server. Uses the transport specified by the kubeconfig file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l server-print -d 'If true, have the server return the appropriate table output. Supports extension APIs and CRDs.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l show-kind -d 'If present, list the resource type for the requested object(s).' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l show-labels -d 'When printing, show all labels as the last column (default hide labels column)' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -r -l sort-by -d 'If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. \'{.metadata.name}\'). The field in the API resource specified by this JSONPath expression must be an integer or a string.' +complete -c kubectl -n '__fish_seen_subcommand_from get' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -s w -l watch -d 'After listing/getting the requested object, watch for changes. Uninitialized objects are excluded if no object name is provided.' +complete -c kubectl -f -n '__fish_seen_subcommand_from get' -l watch-only -d 'Watch for changes to the requested object(s), without listing/getting first.' + +# Completions for the "kubectl label" command +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -l field-selector -d '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.' +complete -c kubectl -n '__fish_seen_subcommand_from label' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to update the labels' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l list -d 'If true, display the labels for a given resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l local -d 'If true, label will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l overwrite -d 'If true, allow labels to be overwritten, otherwise reject label updates that overwrite existing labels.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -l resource-version -d 'If non-empty, the labels update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from label' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2).' +complete -c kubectl -n '__fish_seen_subcommand_from label' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl logs" command +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -l all-containers -d 'Get all containers\' logs in the pod(s).' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -s c -l container -d 'Print the logs of this container' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -s f -l follow -d 'Specify if the logs should be streamed.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -l ignore-errors -d 'If watching / following pod logs, allow for any errors that occur to be non-fatal' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -l insecure-skip-tls-verify-backend -d 'Skip verifying the identity of the kubelet that logs are requested from. In theory, an attacker could provide invalid log content back. You might want to use this if your kubelet serving certificates have expired.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l limit-bytes -d 'Maximum bytes of logs to return. Defaults to no limit.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l max-log-requests -d 'Specify maximum number of concurrent logs to follow when using by a selector. Defaults to 5.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -l prefix -d 'Prefix each log line with the log source (pod name and container name)' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -s p -l previous -d 'If true, print the logs for the previous instance of the container in a pod if it exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -s l -l selector -d 'Selector (label query) to filter on.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l since -d '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.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l since-time -d 'Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may be used.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -r -l tail -d 'Lines of recent log file to display. Defaults to -1 with no selector, showing all log lines otherwise 10, if a selector is provided.' +complete -c kubectl -f -n '__fish_seen_subcommand_from logs' -l timestamps -d 'Include timestamps on each line in the log output' + +# Completions for the "kubectl patch" command +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from patch' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to update' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -l local -d 'If true, patch will operate on the content of the file, not the server-side resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -r -s p -l patch -d 'The patch to be applied to the resource JSON file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from patch' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from patch' -r -l type -d 'The type of patch being provided; one of [json merge strategic]' + +# Completions for the "kubectl plugin" command +function __fish_kubectl_get_plugin_commands + echo list\t'list all visible plugin executables on a user\'s PATH' +end + +function __fish_kubectl_get_plugin_commands_without_descriptions + __fish_kubectl_get_plugin_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command plugin; and not __fish_seen_subcommand_from (__fish_kubectl_get_plugin_commands_without_descriptions)" -a '(__fish_kubectl_get_plugin_commands)' + +# Completions for the "kubectl plugin list" command +complete -c kubectl -f -n '__fish_seen_subcommand_from plugin list' -l name-only -d 'If true, display only the binary name of each plugin, rather than its full path' + +# Completions for the "kubectl port-forward" command +complete -c kubectl -f -n '__fish_seen_subcommand_from port-forward' -r -l address -d 'Addresses to listen on (comma separated). Only accepts IP addresses or localhost as a value. When localhost is supplied, kubectl will try to bind on both 127.0.0.1 and ::1 and will fail if neither of these addresses are available to bind.' +complete -c kubectl -f -n '__fish_seen_subcommand_from port-forward' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' + +# Completions for the "kubectl proxy" command +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l accept-hosts -d 'Regular expression for hosts that the proxy should accept.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l accept-paths -d 'Regular expression for paths that the proxy should accept.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l address -d 'The IP address on which to serve on.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l api-prefix -d 'Prefix to serve the proxied API under.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -l disable-filter -d 'If true, disable request filtering in the proxy. This is dangerous, and can leave you vulnerable to XSRF attacks, when used with an accessible port.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l keepalive -d 'keepalive specifies the keep-alive period for an active network connection. Set to 0 to disable keepalive.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -s p -l port -d 'The port on which to run the proxy. Set to 0 to pick a random port.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l reject-methods -d 'Regular expression for HTTP methods that the proxy should reject (example --reject-methods=\'POST,PUT,PATCH\'). ' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -l reject-paths -d 'Regular expression for paths that the proxy should reject. Paths specified here will be rejected even accepted by --accept-paths.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -s u -l unix-socket -d 'Unix socket on which to run the proxy.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -s w -l www -d 'Also serve static files from the given directory under the specified prefix.' +complete -c kubectl -f -n '__fish_seen_subcommand_from proxy' -r -s P -l www-prefix -d 'Prefix to serve static files under, if static file directory is specified.' + +# Completions for the "kubectl replace" command +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l cascade -d 'If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from replace' -r -s f -l filename -d 'to use to replace the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l force -d 'If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -l grace-period -d 'Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -s k -l kustomize -d 'Process a kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -l raw -d 'Raw URI to PUT to the server. Uses the transport specified by the kubeconfig file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -n '__fish_seen_subcommand_from replace' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -r -l timeout -d 'The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l validate -d 'If true, use a schema to validate the input before sending it' +complete -c kubectl -f -n '__fish_seen_subcommand_from replace' -l wait -d 'If true, wait for resources to be gone before returning. This waits for finalizers.' + +# Completions for the "kubectl rollout" command +function __fish_kubectl_get_rollout_commands + echo history\t'View rollout history' + echo pause\t'Mark the provided resource as paused' + echo restart\t'Restart a resource' + echo resume\t'Resume a paused resource' + echo status\t'Show the status of the rollout' + echo undo\t'Undo a previous rollout' +end + +function __fish_kubectl_get_rollout_commands_without_descriptions + __fish_kubectl_get_rollout_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command rollout; and not __fish_seen_subcommand_from (__fish_kubectl_get_rollout_commands_without_descriptions)" -a '(__fish_kubectl_get_rollout_commands)' + +# Completions for the "kubectl rollout history" command +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout history' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout history' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout history' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout history' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout history' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout history' -r -l revision -d 'See the details, including podTemplate of the revision specified' +complete -c kubectl -n '__fish_seen_subcommand_from rollout history' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl rollout pause" command +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout pause' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout pause' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout pause' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout pause' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout pause' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout pause' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl rollout restart" command +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout restart' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout restart' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout restart' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout restart' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout restart' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout restart' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl rollout resume" command +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout resume' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout resume' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout resume' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout resume' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout resume' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout resume' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl rollout status" command +complete -c kubectl -n '__fish_seen_subcommand_from rollout status' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout status' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout status' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout status' -r -l revision -d 'Pin to a specific revision for showing its status. Defaults to 0 (last revision).' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout status' -r -l timeout -d 'The length of time to wait before ending watch, zero means never. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout status' -s w -l watch -d 'Watch the status of the rollout until it\'s done.' + +# Completions for the "kubectl rollout undo" command +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout undo' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from rollout undo' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from rollout undo' -r -l to-revision -d 'The revision to rollback to. Default to 0 (last revision).' + +# Completions for the "kubectl run" command +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l attach -d 'If true, wait for the Pod to start running, and then attach to the Pod as if \'kubectl attach ...\' were called. Default false, unless \'-i/--stdin\' is set, in which case the default is true. With \'--restart=Never\' the exit code of the container process is returned.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l cascade -d 'If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController). Default true.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l command -d 'If true and extra arguments are present, use them as the \'command\' field in the container, rather than the \'args\' field which is the default.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l env -d 'Environment variables to set in the container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l expose -d 'If true, service is created for the container(s) which are run' +complete -c kubectl -n '__fish_seen_subcommand_from run' -r -s f -l filename -d 'to use to replace the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l force -d 'If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l grace-period -d 'Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l hostport -d 'The host port mapping for the container port. To demonstrate a single-machine container.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l image -d 'The image for the container to run.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l image-pull-policy -d 'The image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -s k -l kustomize -d 'Process a kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -s l -l labels -d 'Comma separated labels to apply to the pod(s). Will override previous values.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l leave-stdin-open -d 'If the pod is started in interactive mode or with stdin, leave stdin open after the first attach completes. By default, stdin will be closed after the first attach completes.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l limits -d 'The resource requirement limits for this container. For example, \'cpu=200m,memory=512Mi\'. Note that server side components may assign limits depending on the server configuration, such as limit ranges.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l overrides -d 'An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l pod-running-timeout -d 'The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l port -d 'The port that this container exposes.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l quiet -d 'If true, suppress prompt messages.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l requests -d 'The resource requirement requests for this container. For example, \'cpu=100m,memory=256Mi\'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l restart -d 'The restart policy for this Pod. Legal values [Always, OnFailure, Never]. If set to \'Always\' a deployment is created, if set to \'OnFailure\' a job is created, if set to \'Never\', a regular pod is created. For the latter two --replicas must be 1. Default \'Always\', for CronJobs `Never`.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l rm -d 'If true, delete resources created in this command for attached containers.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l save-config -d 'If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l serviceaccount -d 'Service account to set in the pod spec.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -s i -l stdin -d 'Keep stdin open on the container(s) in the pod, even if nothing is attached.' +complete -c kubectl -n '__fish_seen_subcommand_from run' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -r -l timeout -d 'The length of time to wait before giving up on a delete, zero means determine a timeout from the size of the object' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -s t -l tty -d 'Allocated a TTY for each container in the pod.' +complete -c kubectl -f -n '__fish_seen_subcommand_from run' -l wait -d 'If true, wait for resources to be gone before returning. This waits for finalizers.' + +# Completions for the "kubectl scale" command +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -l all -d 'Select all resources in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -l current-replicas -d 'Precondition for current size. Requires that the current size of the resource match this value in order to scale.' +complete -c kubectl -n '__fish_seen_subcommand_from scale' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to set a new size' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -l replicas -d 'The new desired number of replicas. Required.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -l resource-version -d 'Precondition for resource version. Requires that the current resource version match this value in order to scale.' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from scale' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from scale' -r -l timeout -d 'The length of time to wait before giving up on a scale operation, zero means don\'t wait. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).' + +# Completions for the "kubectl set" command +function __fish_kubectl_get_set_commands + echo env\t'Update environment variables on a pod template' + echo image\t'Update image of a pod template' + echo resources\t'Update resource requests/limits on objects with pod templates' + echo selector\t'Set the selector on a resource' + echo serviceaccount\t'Update ServiceAccount of a resource' + echo sa\t'Update ServiceAccount of a resource' + echo subject\t'Update User, Group or ServiceAccount in a RoleBinding/ClusterRoleBinding' +end + +function __fish_kubectl_get_set_commands_without_descriptions + __fish_kubectl_get_set_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command set; and not __fish_seen_subcommand_from (__fish_kubectl_get_set_commands_without_descriptions)" -a '(__fish_kubectl_get_set_commands)' + +# Completions for the "kubectl set env" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l all -d 'If true, select all resources in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -s c -l containers -d 'The names of containers in the selected pod templates to change - may use wildcards' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -s e -l env -d 'Specify a key-value pair for an environment variable to set into each container.' +complete -c kubectl -n '__fish_seen_subcommand_from set env' -r -s f -l filename -d 'Filename, directory, or URL to files the resource to update the env' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -l from -d 'The name of a resource from which to inject environment variables' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -l keys -d 'Comma-separated list of keys to import from specified resource' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l list -d 'If true, display the environment and any changes in the standard format. this flag will removed when we have kubectl view env.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l local -d 'If true, set env will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l overwrite -d 'If true, allow environment to be overwritten, otherwise reject updates that overwrite existing environment.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -l prefix -d 'Prefix to append to variable names' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -l resolve -d 'If true, show secret or configmap references when listing variables' +complete -c kubectl -f -n '__fish_seen_subcommand_from set env' -r -s l -l selector -d 'Selector (label query) to filter on' +complete -c kubectl -n '__fish_seen_subcommand_from set env' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl set image" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set image' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -l local -d 'If true, set image will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set image' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from set image' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl set resources" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -s c -l containers -d 'The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set resources' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -l limits -d 'The resource requirement requests for this container. For example, \'cpu=100m,memory=256Mi\'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -l local -d 'If true, set resources will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -l requests -d 'The resource requirement requests for this container. For example, \'cpu=100m,memory=256Mi\'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set resources' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones,supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from set resources' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl set selector" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -l all -d 'Select all resources in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set selector' -r -s f -l filename -d 'identifying the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -l local -d 'If true, annotation will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set selector' -r -l resource-version -d 'If non-empty, the selectors update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set selector' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl set serviceaccount" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set serviceaccount' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -n '__fish_seen_subcommand_from set sa' -r -s f -l filename -d 'Filename, directory, or URL to files identifying the resource to get from a server.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -l local -d 'If true, set serviceaccount will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -l local -d 'If true, set serviceaccount will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -l record -d 'Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set serviceaccount' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set sa' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -n '__fish_seen_subcommand_from set serviceaccount' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -n '__fish_seen_subcommand_from set sa' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl set subject" command +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -l all -d 'Select all resources, including uninitialized ones, in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -n '__fish_seen_subcommand_from set subject' -r -s f -l filename -d 'Filename, directory, or URL to files the resource to update the subjects' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -l group -d 'Groups to bind to the role' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -s k -l kustomize -d 'Process the kustomization directory. This flag can\'t be used together with -f or -R.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -l local -d 'If true, set subject will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -s l -l selector -d 'Selector (label query) to filter on, not including uninitialized ones, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from set subject' -r -l serviceaccount -d 'Service accounts to bind to the role' +complete -c kubectl -n '__fish_seen_subcommand_from set subject' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' + +# Completions for the "kubectl taint" command +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -l all -d 'Select all nodes in the cluster' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -l overwrite -d 'If true, allow taints to be overwritten, otherwise reject taint updates that overwrite existing taints.' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from taint' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from taint' -l validate -d 'If true, use a schema to validate the input before sending it' + +# Completions for the "kubectl top" command +function __fish_kubectl_get_top_commands + echo node\t'Display Resource (CPU/Memory/Storage) usage of nodes' + echo nodes\t'Display Resource (CPU/Memory/Storage) usage of nodes' + echo no\t'Display Resource (CPU/Memory/Storage) usage of nodes' + echo pod\t'Display Resource (CPU/Memory/Storage) usage of pods' + echo pods\t'Display Resource (CPU/Memory/Storage) usage of pods' + echo po\t'Display Resource (CPU/Memory/Storage) usage of pods' +end + +function __fish_kubectl_get_top_commands_without_descriptions + __fish_kubectl_get_top_commands | string replace -r '\t.*$' '' +end + +complete -c kubectl -f -n "__fish_kubectl_using_command top; and not __fish_seen_subcommand_from (__fish_kubectl_get_top_commands_without_descriptions)" -a '(__fish_kubectl_get_top_commands)' + +# Completions for the "kubectl top node" command +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -l no-headers -d 'If present, print output without headers' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -l no-headers -d 'If present, print output without headers' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -l no-headers -d 'If present, print output without headers' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top node' -r -l sort-by -d 'If non-empty, sort nodes list using specified field. The field can be either \'cpu\' or \'memory\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top nodes' -r -l sort-by -d 'If non-empty, sort nodes list using specified field. The field can be either \'cpu\' or \'memory\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top no' -r -l sort-by -d 'If non-empty, sort nodes list using specified field. The field can be either \'cpu\' or \'memory\'.' + +# Completions for the "kubectl top pod" command +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -l containers -d 'If present, print usage of containers within a pod.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -l containers -d 'If present, print usage of containers within a pod.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -l containers -d 'If present, print usage of containers within a pod.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -l heapster-namespace -d 'Namespace Heapster service is located in' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -l heapster-port -d 'Port name in service to use' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -l heapster-scheme -d 'Scheme (http or https) to connect to Heapster as' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -l heapster-service -d 'Name of Heapster service' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -l no-headers -d 'If present, print output without headers.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -l no-headers -d 'If present, print output without headers.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -l no-headers -d 'If present, print output without headers.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pod' -r -l sort-by -d 'If non-empty, sort pods list using specified field. The field can be either \'cpu\' or \'memory\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top pods' -r -l sort-by -d 'If non-empty, sort pods list using specified field. The field can be either \'cpu\' or \'memory\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from top po' -r -l sort-by -d 'If non-empty, sort pods list using specified field. The field can be either \'cpu\' or \'memory\'.' + +# Completions for the "kubectl uncordon" command +complete -c kubectl -f -n '__fish_seen_subcommand_from uncordon' -r -l dry-run -d 'Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from uncordon' -r -s l -l selector -d 'Selector (label query) to filter on' + +# Completions for the "kubectl version" command +complete -c kubectl -f -n '__fish_seen_subcommand_from version' -l client -d 'If true, shows client version only (no server required).' +complete -c kubectl -f -n '__fish_seen_subcommand_from version' -r -s o -l output -d 'One of \'yaml\' or \'json\'.' +complete -c kubectl -f -n '__fish_seen_subcommand_from version' -l short -d 'If true, print just the version number.' + +# Completions for the "kubectl wait" command +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -l all -d 'Select all resources in the namespace of the specified resource types' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -s A -l all-namespaces -d 'If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -l allow-missing-template-keys -d 'If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -r -l field-selector -d '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.' +complete -c kubectl -n '__fish_seen_subcommand_from wait' -r -s f -l filename -d 'identifying the resource.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -r -l for -d 'The condition to wait on: [delete|condition=condition-name].' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -l local -d 'If true, annotation will NOT contact api-server but run locally.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -r -s o -l output -d 'Output format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -s R -l recursive -d 'Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -r -s l -l selector -d 'Selector (label query) to filter on, supports \'=\', \'==\', and \'!=\'.(e.g. -l key1=value1,key2=value2)' +complete -c kubectl -n '__fish_seen_subcommand_from wait' -r -l template -d 'Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].' +complete -c kubectl -f -n '__fish_seen_subcommand_from wait' -r -l timeout -d 'The length of time to wait before giving up. Zero means check once and don\'t wait, negative means wait for a week.' diff --git a/dot_config/fish/config.fish.tmpl b/dot_config/fish/config.fish.tmpl index f9a583a..abee13c 100755 --- a/dot_config/fish/config.fish.tmpl +++ b/dot_config/fish/config.fish.tmpl @@ -30,7 +30,7 @@ set -x HASTE_SERVER https://pste.gq set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64 set -x GOPATH ~/go # set -x PATH $GRAALVM_BIN $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin -set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin +set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin ~/.gem/ruby/2.7.0/bin set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig # Java [[[ # @@ -39,9 +39,8 @@ set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig # set -x GRAALVM_BIN $GRAALVM_HOME/bin # set -x JAVA_HOME $GRAALVM_HOME -# for shared libs set -x JAVA_HOME /usr/lib/jvm/java-11-openjdk -# set -x JAVA_HOME /usr/lib/jvm/java-8-openjdk +# set -x JAVA_HOME /usr/lib/jvm/java-8-openjdk # for shared libs set -x PATH $JAVA_HOME/bin $PATH @@ -74,10 +73,8 @@ set -xU BROWSER "firefox" set -xU FZF_DEFAULT_COMMAND "find ." -# set -xU PHONE_IP "192.168.0.10" -# set -xU WORK_LAPTOP_IP "kmok@192.168.0.12" -set -x PHONE_IP "192.168.0.12" -set -x WORK_LAPTOP_IP "kmok@192.168.0.13" +set -x PHONE_IP "192.168.0.11" +set -x WORK_LAPTOP_IP "kmok@192.168.0.12" {{ if eq .chezmoi.fullHostname "nzxt" }} set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1) @@ -152,11 +149,12 @@ abbr ax "task-context" # ]]] task # abbr ag "grep-aliases" -abbr b "buku-fzf" -abbr bf "buku-fzf fq" +abbr bk "buku-fzf" +abbr bkf "buku-fzf fq" abbr bq "benq-brightness" abbr bun "backup nzxt" abbr bupp "backup-phone-pics" +abbr ca "cad-to-us" abbr cccs "sync-alt-cal class" abbr cl "clip" abbr cpc "copy cat" @@ -188,6 +186,7 @@ abbr gsmb "git-submodule-branch" # ]]] git # abbr i "sxiv-silent" +abbr lo "libreoffice-silent" # abbr m "man-vim" abbr mn "man-vim" abbr ma "man-vim task" @@ -198,6 +197,7 @@ abbr pgr "grep-pdf" abbr pgrf "grep-pdf-file" abbr pst "pastebin" abbr qh "qalc-history" +abbr re "reminder ''" abbr rf "refresh-config" abbr rl "readlink-cp" abbr rs "redshift-set" @@ -211,7 +211,8 @@ abbr svp "server-pages" abbr ta "tmux-attach" abbr tao "tmux-attach obs" abbr thes "thesaurus" -abbr usc "us-to-cad" +# abbr usc "us-to-cad" +abbr us "us-to-cad" abbr ut "unix-timestamp" abbr uzr "unzip-rm" abbr vsnp "vim-snippet" diff --git a/dot_config/fish/functions/cad-to-us.fish b/dot_config/fish/functions/cad-to-us.fish new file mode 100644 index 0000000..6ca931d --- /dev/null +++ b/dot_config/fish/functions/cad-to-us.fish @@ -0,0 +1,3 @@ +function cad-to-us + qalc "$argv[1]CAD to \$" +end diff --git a/dot_config/fish/functions/libreoffice-silent.fish b/dot_config/fish/functions/libreoffice-silent.fish new file mode 100644 index 0000000..50614a5 --- /dev/null +++ b/dot_config/fish/functions/libreoffice-silent.fish @@ -0,0 +1,3 @@ +function libreoffice-silent + libreoffice $argv[1] & +end diff --git a/dot_config/fish/functions/reminder.fish b/dot_config/fish/functions/reminder.fish new file mode 100644 index 0000000..f3df0e9 --- /dev/null +++ b/dot_config/fish/functions/reminder.fish @@ -0,0 +1,3 @@ +function reminder + termdown $argv[2] && notify-send $argv[1] +end diff --git a/dot_config/fish/functions/scan-history.fish b/dot_config/fish/functions/scan-history.fish index b39960e..d73ecbc 100755 --- a/dot_config/fish/functions/scan-history.fish +++ b/dot_config/fish/functions/scan-history.fish @@ -2,6 +2,7 @@ function scan-history sudo systemctl start postgresql.service # and systemctl status postgresql.service and source $spv_dir/src/scripts/api-keys.sh - and $spv_dir/src/scripts/update-history-2.sh + # and $spv_dir/src/scripts/update-history-2.sh + and $spv_dir/src/scripts/update-history.sh and cat $spv_dir/src/api/management/commands/update-history.log | tail -n 1 end diff --git a/dot_config/fish/functions/us-to-cad.fish b/dot_config/fish/functions/us-to-cad.fish index 1c53951..1b1c7d8 100644 --- a/dot_config/fish/functions/us-to-cad.fish +++ b/dot_config/fish/functions/us-to-cad.fish @@ -1,3 +1,4 @@ function us-to-cad + # qalc -e "$argv[1]\$ to CAD" qalc "$argv[1]\$ to CAD" end diff --git a/dot_config/i3/config.tmpl b/dot_config/i3/config.tmpl index aa6d1fc..0d6969b 100755 --- a/dot_config/i3/config.tmpl +++ b/dot_config/i3/config.tmpl @@ -48,10 +48,13 @@ bindsym Mod4+Return exec /home/kevin/scripts/dmenu-history -nb "$fg" -nf "$bg" - # installed. # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop # bindsym Mod4+b layout tabbed; exec zathura -bindsym Mod4+c exec $browser +# bindsym Mod4+c exec $browser +# bindsym Mod4+$mod+c exec chatterino +bindsym Mod4+c exec chatterino +bindsym Mod4+$mod+c exec $browser # bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)" # bindsym Mod4+e exec emacs -bindsym Mod4+e exec ~/scripts/twem +# bindsym Mod4+e exec ~/scripts/twem # bindsym Mod4+f exec firefox # bindsym Mod4+f exec firefox --private-window bindsym Mod4+f exec firefox --private-window google.ca @@ -68,7 +71,7 @@ bindsym Mod4+m exec $type_delay_cmd && xdotool type 'me@kevin-mok.com' bindsym Mod4+n exec $term -e nvim # bindsym Mod4+$mod+o exec xset dpms force off # bindsym Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail && $type_delay_cmd && xdotool key 'Control_L+v' -bindsym Mod4+o exec obs +bindsym Mod4+o workspace $ws11; exec obs bindSym $mod+Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail && $type_delay_cmd && xdotool key 'Control_L+v' # bindsym Mod4+p workspace $ws4; exec pgadmin3 # bindsym Mod4+p exec pycharm @@ -79,7 +82,8 @@ bindsym Mod4+p exec passmenu # bindsym Mod4+q exec qdirstat bindsym Mod4+q exec printf 'emad1 ' | xclip -selection clipboard && $type_delay_cmd && xdotool key 'Control_L+v' bindsym Mod4+r exec $type_delay_cmd && xdotool type 'kmok@redhat.com' -bindsym Mod4+$mod+r exec $term -e ranger +bindsym Mod4+$mod+r exec pass show -c career/redhat && $type_delay_cmd && xdotool key 'Control_L+v' +# bindsym Mod4+$mod+r exec $term -e ranger # bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)" bindsym Mod4+$mod+s exec $type_delay_cmd && xdotool type 'https://smol.gq/' bindsym Mod4+t exec xclip -selection clipboard ~/.password-store/social/trapbot && $type_delay_cmd && xdotool key 'Control_L+v' @@ -91,6 +95,7 @@ bindsym Control+Mod4+w exec $term -e nvim /home/kevin/.config/watson/state.tmp # bindsym Mod4+x exec $swex bindsym Control+$mod+x exec $type_delay_cmd && xdotool type 'http://codm.ataraxy.tk/' bindsym Mod4+z exec cliqz +bindsym Pause exec ~/scripts/twem # screenshot [[[ # @@ -147,6 +152,7 @@ bindsym Control+$mod+q exec sudo systemctl stop netctl-auto@wlp3s0.service # ]]] backlight # +for_window [class="chatterino"] floating enable for_window [class="Peek"] floating enable for_window [title="Qalculate!"] floating enable @@ -322,16 +328,17 @@ set $main "HDMI-0" # workspace $ws1 output $main workspace $ws1 output $secondary bindsym $mod+F1 workspace $ws1; exec $term +bindsym Mod4+$mod+F1 workspace $ws1; exec chatterino bindsym Control+Shift+F1 workspace $ws1; exec $term -e fish -c 'tmux-attach red-hat' set $ws2 "2 " -set $wl_ip_nast_num "3" +set $work_laptop_ip "192.168.0.16" workspace $ws2 output $secondary bindsym $mod+F2 workspace $ws2; exec $term -# bindsym Control+Shift+F2 workspace $ws2; exec $term -e mosh kmok@192.168.0.1$wl_ip_nast_num -- tmux a -t nzxt +# bindsym Control+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt # bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach fortnite' bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach red-hat-2' -bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@192.168.0.1$wl_ip_nast_num -- tmux a -t nzxt-2 +bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt-2 # ws3 [[[ # @@ -356,6 +363,7 @@ set $ws4 "4 " workspace $ws4 output $secondary bindsym $mod+F4 workspace $ws4; exec $term bindsym Mod4+$mod+F4 workspace $ws4; exec urxvt -e ranger $screenshot_folder +bindsym Mod4+e workspace $ws4; exec libreoffice ~/Documents/expenses/investments.ods # ws5 [[[ # @@ -399,8 +407,8 @@ bindsym Mod4+$mod+d workspace $ws6; exec discord # bindsym Mod4+d workspace $ws6; exec firefox --new-window https://discordapp.com/channels/430798446723727367/443950744996020228 # bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app bindsym Mod4+k workspace $ws6; exec slack -# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@192.168.0.1$wl_ip_nast_num -- tmux a -t weechat' -bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@192.168.0.1$wl_ip_nast_num -- tmux a -t weechat' +# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat' +bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat' # bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'tmux-attach weechat' # ]]] ws6 # @@ -408,7 +416,7 @@ bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@192.168.0.1$wl_i set $ws7 "7 " workspace $ws7 output $secondary # bindsym $mod+F7 workspace $ws7; exec $term -bindsym $mod+F7 workspace $ws7; exec $term -e mosh kmok@192.168.0.1$wl_ip_nast_num -- tmux a -t nzxt +bindsym $mod+F7 workspace $ws7; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt bindsym Mod4+$mod+F7 workspace $ws7; exec $term -e mosh --ssh='ssh -p 399' kevin@165.22.239.234 tmux a bindsym Mod4+a workspace $ws7; exec android-file-transfer # bindsym Mod4+v workspace $ws7; exec VBoxManage startvm "369-a1" @@ -419,7 +427,8 @@ workspace $ws8 output $secondary # bindsym $mod+F8 workspace $ws8; exec $term # bindsym $mod+F8 workspace $ws8; exec $term -e tmux a -t journal bindsym $mod+F8 workspace $ws8; exec $term -e fish -c 'tmux-attach journal' -bindsym Mod4+$mod+F8 workspace $ws8; exec libreoffice ~/Documents/red-hat/workday.ods +bindsym Mod4+$mod+F8 workspace $ws8; exec libreoffice ~/Documents/sit-stand/sit-stand.ods +bindsym $mod+Shift+F8 workspace $ws8; exec libreoffice ~/Documents/red-hat/workday.ods set $ws9 "9 " workspace $ws9 output $secondary @@ -436,13 +445,15 @@ set $hp 2 bindsym Mod4+v workspace $ws10; exec $term -e alsamixer -c 1 # bindsym Mod4+$mod+c workspace $ws10; exec $term -e cava # bindsym Mod4+h workspace $ws10; exec $term -e alsamixer -c $hp -bindsym Mod4+s workspace $ws10; exec spotify +bindsym Mod4+s workspace $ws10; exec ~/scripts/spotify-clean set $ws11 "11 " # set $ws11 "11 📊" # assign [class="Summoners War Exporter"] $ws11 workspace $ws11 output $secondary -bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU +# bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU +bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_MEM +bindsym Mod4+$mod+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach obs' # bindsym $mod+F11 workspace $ws11; exec $term -e gotop -m # bindsym Mod4+a workspace $ws11; exec antimicro diff --git a/dot_config/i3blocks/i3blocks-secondary.conf.tmpl b/dot_config/i3blocks/i3blocks-secondary.conf.tmpl index 5791bcf..8a7d8f1 100755 --- a/dot_config/i3blocks/i3blocks-secondary.conf.tmpl +++ b/dot_config/i3blocks/i3blocks-secondary.conf.tmpl @@ -11,17 +11,48 @@ markup=pango color=#cbe4ff # ]]] Global properties # +# [ticker] +# label=$ +# TICKER=GME +# interval=30 +# # interval=10 + +# sys.monitoring [[[ # + +{{ if eq .chezmoi.fullHostname "nzxt" }} +[temperature] +label= +interval=5 + +[cpu_usage] +label= +interval=5 + +[memory] +label= +# color=#3da061 +interval=5 +{{ end }} + +# ]]] sys.monitoring # + # volume/spotify [[[ # +# [spotify] +# # command=python ~/linux-config/configs/i3blocks-scripts/spotify.py +# # label= +# label= +# # label=🎧 +# # green +# # color=#198c19 +# # aqua +# # color=#2d7272 +# interval=5 + [spotify] -# command=python ~/linux-config/configs/i3blocks-scripts/spotify.py -# label= label= -# label=🎧 -# green -# color=#198c19 -# aqua -# color=#2d7272 +LONG_NAME= +SHORT_NAME= interval=5 [volume] @@ -36,11 +67,12 @@ interval=60 [calendar] interval=30 label= -{{ if eq .chezmoi.fullHostname "nzxt" }} -DATEFMT=+%H:%M.%a-%m-%d -{{ else }} +# {{ if eq .chezmoi.fullHostname "nzxt" }} +# DATEFMT=+%H:%M.%a-%m-%d +# {{ else }} +# DATEFMT=+%H:%M +# {{ end }} DATEFMT=+%H:%M -{{ end }} # SHORTFMT=+%H:%M:%S SHORTFMT=+%H:%M.%a-%m-%d HEIGHT=180 @@ -49,9 +81,9 @@ WIDTH=220 # ]]] time # {{ if eq .chezmoi.fullHostname "x1-carbon" }} -[temperature] -label= -interval=5 +# [temperature] +# label= +# interval=5 [name] label= diff --git a/dot_config/i3blocks/i3blocks.conf.tmpl b/dot_config/i3blocks/i3blocks.conf.tmpl index c1eb04f..0d78d6f 100755 --- a/dot_config/i3blocks/i3blocks.conf.tmpl +++ b/dot_config/i3blocks/i3blocks.conf.tmpl @@ -13,6 +13,25 @@ color=#cbe4ff # ]]] global # +# ticker [[[ # + +# [ticker] +# label=PEJ  +# TICKER=PEJ +# interval=30 + +[ticker] +label=ADA  +TICKER=ADA-USD +interval=30 + +[ticker] +label=DAQ  +TICKER=^IXIC +interval=30 + +# ]]] ticker # + # volume/spotify [[[ # {{ if eq .chezmoi.fullHostname "nzxt" }} @@ -21,10 +40,21 @@ interval=once signal=1 interval=60 +# [spotify] +# label= +# LONG_NAME= +# SHORT_NAME= +# interval=5 + [spotify] +# command=python ~/linux-config/configs/i3blocks-scripts/spotify.py +# label= label= -LONG_NAME= -SHORT_NAME= +# label=🎧 +# green +# color=#198c19 +# aqua +# color=#2d7272 interval=5 {{ end }} @@ -47,6 +77,13 @@ label= interval=5 {{ end }} +# {{ if eq .chezmoi.fullHostname "nzxt" }} +# [wifi] +# label= +# instance=wlp4s0 +# interval=10 +# {{ end }} + # ]]] laptop # # time [[[ # @@ -54,11 +91,12 @@ interval=5 [calendar] interval=30 label= -{{ if eq .chezmoi.fullHostname "nzxt" }} -DATEFMT=+%H:%M -{{ else }} +# {{ if eq .chezmoi.fullHostname "nzxt" }} +# DATEFMT=+%H:%M +# {{ else }} +# DATEFMT=+%H:%M.%a-%m-%d +# {{ end }} DATEFMT=+%H:%M.%a-%m-%d -{{ end }} # SHORTFMT=+%H:%M:%S HEIGHT=180 WIDTH=220 @@ -68,31 +106,19 @@ WIDTH=220 # sys.monitoring [[[ # {{ if eq .chezmoi.fullHostname "nzxt" }} -# [wifi] -# label= -# instance=wlp4s0 -# interval=10 +# [temperature] +# label= +# interval=5 -[temperature] -label= -interval=5 -# unbold this? -# [load_average] -# label= +# [cpu_usage] +# label= # interval=5 -# color=#990000 -{{ end }} - -[cpu_usage] -label= -interval=5 -{{ if eq .chezmoi.fullHostname "nzxt" }} -[memory] -label= -# color=#3da061 -interval=5 +# [memory] +# label= +# # color=#3da061 +# interval=5 # ]]] sys.monitoring # diff --git a/dot_config/i3blocks/scripts/executable_ticker b/dot_config/i3blocks/scripts/executable_ticker new file mode 100755 index 0000000..b5fb3c4 --- /dev/null +++ b/dot_config/i3blocks/scripts/executable_ticker @@ -0,0 +1,5 @@ +#!/bin/bash + +. "/home/kevin/.cache/wal/colors.sh" +ticker=$(~/scripts/ticker $TICKER) +printf "%s\n\n%s\n" "$ticker" "$color7" diff --git a/dot_config/i3blocks/scripts/executable_volume b/dot_config/i3blocks/scripts/executable_volume index b42e5c4..a2c3ed0 100755 --- a/dot_config/i3blocks/scripts/executable_volume +++ b/dot_config/i3blocks/scripts/executable_volume @@ -32,7 +32,8 @@ SCONTROL=${SCONTROL:-""} # }}} default vars # -AUDIO_DELTA=${AUDIO_DELTA:-5} +AUDIO_DELTA=${AUDIO_DELTA:-3} +# AUDIO_DELTA=${AUDIO_DELTA:-2} # AUDIO_DELTA=${AUDIO_DELTA:-1} # LONG_FORMAT=${LONG_FORMAT:-'${SYMB} ${VOL}% [${INDEX}:${NAME}]'} diff --git a/dot_config/i3blocks/scripts/executable_wifi b/dot_config/i3blocks/scripts/executable_wifi index 85d3aee..5b02f5d 100755 --- a/dot_config/i3blocks/scripts/executable_wifi +++ b/dot_config/i3blocks/scripts/executable_wifi @@ -18,7 +18,6 @@ INTERFACE="${BLOCK_INSTANCE:-wlan0}" # echo $INTERFACE -# INTERFACE="${INSTANCE}" #------------------------------------------------------------------------ @@ -29,7 +28,7 @@ INTERFACE="${BLOCK_INSTANCE:-wlan0}" #------------------------------------------------------------------------ -QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }') +QUALITY=$(sudo grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }') # echo $QUALITY W_inter=$(ip link | grep "[1-9]: wlp" | cut -d " " -f2 | tr -d ':') W_name=$(nmcli d | grep "$W_inter" | awk '{print $4}') diff --git a/dot_taskrc b/dot_taskrc index 72a8823..308309e 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -53,7 +53,7 @@ urgency.due.coefficient=18 urgency.user.project.codm.coefficient=2 urgency.user.project.crim.coefficient=1 urgency.user.project.fn.coefficient=5 -urgency.user.project.mny.coefficient=7 +urgency.user.project.mny.coefficient=10 urgency.user.project.ms.coefficient=3 urgency.user.project.pey.coefficient=10 urgency.user.project.pogo.coefficient=7 @@ -80,8 +80,8 @@ context.sch=project:sch # context=home # context=out -context=pey -# context=not-pey +# context=pey +context=not-pey # context=sch # }}} context # diff --git a/dot_vimrc.tmpl b/dot_vimrc.tmpl index 570f40e..91b8c71 100644 --- a/dot_vimrc.tmpl +++ b/dot_vimrc.tmpl @@ -389,7 +389,8 @@ nnoremap dg ggdG " delete entire line nnoremap dl 0d$ " delete lines matching pattern -nnoremap dls :g//d +" nnoremap dls :g//d +nnoremap dls q:ig//d " show docstring for cur word nnoremap do :YcmCompleter GetDoc " delete line into system clipboard @@ -417,6 +418,7 @@ nnoremap gb :Git blame nnoremap gd :Gvdiff nnoremap gdh :Gvdiff HEAD^ nnoremap gdm :Gvdiff master +nnoremap gdo :Gvdiff orig/master " toggle search highlighting nnoremap h :set hlsearch! hlsearch? " help @@ -424,9 +426,13 @@ nnoremap he :vert help nnoremap ht :set tabstop=2 shiftwidth=2 expandtab nnoremap vhe :vert help " don't add space when joining lines " -nnoremap j gJ +" nnoremap j gJ +" jump forward +nnoremap j " join all paragraphs into single line " nnoremap jl :set tw=9999999gggqG +" jump back +nnoremap k " format current line nnoremap l Vgq " format this and next line @@ -605,6 +611,7 @@ autocmd Filetype markdown nnoremap x 0f[lrx autocmd Filetype go nnoremap f :GoTestFunc autocmd Filetype go nnoremap l :GoLint autocmd Filetype go nnoremap m :GoTests +autocmd Filetype go nnoremap r yawq:iGoRename p autocmd Filetype go nnoremap t :GoTest autocmd Filetype go-template inoremap e {{"{{ else }}"}} diff --git a/scripts/executable_spotify-clean b/scripts/executable_spotify-clean new file mode 100644 index 0000000..041a849 --- /dev/null +++ b/scripts/executable_spotify-clean @@ -0,0 +1,3 @@ +#!/bin/dash + +sqlite3 ~/.cache/spotify/mercury.db 'VACUUM;' && spotify diff --git a/scripts/executable_ticker b/scripts/executable_ticker new file mode 100755 index 0000000..2fbca42 --- /dev/null +++ b/scripts/executable_ticker @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +set -e + +LANG=C +LC_NUMERIC=C + +SYMBOLS=("$@") + +if ! $(type jq > /dev/null 2>&1); then + echo "'jq' is not in the PATH. (See: https://stedolan.github.io/jq/)" + exit 1 +fi + +if [ -z "$SYMBOLS" ]; then + echo "Usage: ./ticker.sh AAPL MSFT GOOG BTC-USD" + exit +fi + +FIELDS=(symbol marketState regularMarketPrice regularMarketChange regularMarketChangePercent \ + preMarketPrice preMarketChange preMarketChangePercent postMarketPrice postMarketChange postMarketChangePercent) +API_ENDPOINT="https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US®ion=US&corsDomain=finance.yahoo.com" + +if [ -z "$NO_COLOR" ]; then + : "${COLOR_BOLD:=\e[1;37m}" + : "${COLOR_GREEN:=\e[32m}" + : "${COLOR_RED:=\e[31m}" + : "${COLOR_RESET:=\e[00m}" +fi + +symbols=$(IFS=,; echo "${SYMBOLS[*]}") +fields=$(IFS=,; echo "${FIELDS[*]}") + +results=$(curl --silent "$API_ENDPOINT&fields=$fields&symbols=$symbols" \ + | jq '.quoteResponse .result') + +query () { + echo $results | jq -r ".[] | select(.symbol == \"$1\") | .$2" +} + +for symbol in $(IFS=' '; echo "${SYMBOLS[*]}" | tr '[:lower:]' '[:upper:]'); do + marketState="$(query $symbol 'marketState')" + + if [ -z $marketState ]; then + printf 'No results for symbol "%s"\n' $symbol + continue + fi + + preMarketChange="$(query $symbol 'preMarketChange')" + postMarketChange="$(query $symbol 'postMarketChange')" + + if [ $marketState == "PRE" ] \ + && [ $preMarketChange != "0" ] \ + && [ $preMarketChange != "null" ]; then + nonRegularMarketSign='*' + price=$(query $symbol 'preMarketPrice') + diff=$preMarketChange + percent=$(query $symbol 'preMarketChangePercent') + elif [ $marketState != "REGULAR" ] \ + && [ $postMarketChange != "0" ] \ + && [ $postMarketChange != "null" ]; then + nonRegularMarketSign='*' + price=$(query $symbol 'postMarketPrice') + diff=$postMarketChange + percent=$(query $symbol 'postMarketChangePercent') + else + nonRegularMarketSign='' + price=$(query $symbol 'regularMarketPrice') + diff=$(query $symbol 'regularMarketChange') + percent=$(query $symbol 'regularMarketChangePercent') + fi + + if [ "$diff" == "0" ]; then + color= + elif ( echo "$diff" | grep -q ^- ); then + color=$COLOR_RED + else + color=$COLOR_GREEN + fi + + if [ "$price" != "null" ]; then + # printf "%-10s$COLOR_BOLD%8.2f$COLOR_RESET" $symbol $price + # printf "$color%10.2f%12s$COLOR_RESET" $diff $(printf "(%.2f%%)" $percent) + # printf " %s\n" "$nonRegularMarketSign" + # echo \$$price + # echo $price + hour=$(date +"%H") + if [[ "$symbol" == "USDCAD=X" ]]; then + printf "%0.4f\n" $price + elif [[ "$symbol" == "ADA"* ]]; then + printf "%0.3f\n" $price + elif (( $(echo "$price > 10000" | bc -l) )); then + printf "%'0.0f\n" "$price" + else + printf "%0.2f\n" $price + fi + fi +done