diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d8cf487129a9e9a912eccaf5fecc18362cd0b315..8295c5f242811d8e434a5434c84b6f4b0ecaf608 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,3 +29,7 @@ bootstrap: - mkdir -p --mode 700 ~/.ssh - date - python3 -u ./ci-bootstrap.py --create_droplet | ts + artifacts: + paths: + - ansible/rke.log + expire_in: 1 month diff --git a/.talismanignore b/.talismanignore index fd2be6c5a32d74751ea116ced8d4bced739084a4..2bca1bca7aed4248dd6519d10924f5b9fe66ab61 100644 --- a/.talismanignore +++ b/.talismanignore @@ -2,3 +2,5 @@ # that potential secrets or sensitive information do not leave the developer's workstation. # https://thoughtworks.github.io/talisman/ control/bashrc # ignore:filename +ansible/roles/get_control/files/bash_aliases_oas # ignore:filename +ansible/roles/get_control/files/bashrc_oas # ignore:filename diff --git a/ansible/bootstrap.yml b/ansible/bootstrap.yml index 2ddfcf87499f4ea2c25e1b59c3aea01a9b7d78b4..1f3715dc0958b69f705f2efdb3683998f0fb072f 100644 --- a/ansible/bootstrap.yml +++ b/ansible/bootstrap.yml @@ -4,13 +4,19 @@ hosts: cluster roles: - role: configure + tags: ['configure'] - role: prepare_node + tags: ['prepare_node'] - name: Install control shell hosts: master roles: - role: configure + tags: ['configure'] - role: get_control + tags: ['get_control'] - role: configure_helmfile + tags: ['configure_helmfile'] # This also runs the rke_configuration role. - role: setup + tags: ['setup'] diff --git a/ansible/roles/get_control/files/bash_aliases_oas b/ansible/roles/get_control/files/bash_aliases_oas new file mode 100644 index 0000000000000000000000000000000000000000..d3c10c81d05f8bc6c8bf8cad9810d80d133f77fc --- /dev/null +++ b/ansible/roles/get_control/files/bash_aliases_oas @@ -0,0 +1,7 @@ +# Openappstack aliases + +# Base alias +alias oas_control='docker run -it --rm -v /oas:/oas -v /oas/control/local:/control/local docker.greenhost.net/openappstack/bootstrap/oas-control' + +# Start an interactive bash shell on the OAS control image +alias oas_controlshell='oas_control bash' diff --git a/ansible/roles/get_control/files/bashrc_oas b/ansible/roles/get_control/files/bashrc_oas new file mode 100644 index 0000000000000000000000000000000000000000..7aa15bfbd7d6103c626ecc74ba408378ce63a74e --- /dev/null +++ b/ansible/roles/get_control/files/bashrc_oas @@ -0,0 +1,5 @@ +# Bashrc additions for Openappstack +# This file is sourced from .bashrc + +# Source OAS aliases +. /root/.bash_aliases_oas diff --git a/ansible/roles/get_control/files/control-shell.sh b/ansible/roles/get_control/files/control-shell.sh deleted file mode 100755 index e35eda2495a7c750ee05b0d13b1c4b1e0ac7a637..0000000000000000000000000000000000000000 --- a/ansible/roles/get_control/files/control-shell.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -echo "Starting control shell..." -docker run --rm -it \ - --hostname=control \ - -v /oas:/oas \ - -v /oas/control/local:/control/local \ - docker.greenhost.net/openappstack/bootstrap/oas-control \ - /bin/bash diff --git a/ansible/roles/get_control/tasks/main.yml b/ansible/roles/get_control/tasks/main.yml index 2f77cae363000d5577eda54a180c8554e4399d14..9d5bd819c336078bc4e9354497493c95b385ae39 100644 --- a/ansible/roles/get_control/tasks/main.yml +++ b/ansible/roles/get_control/tasks/main.yml @@ -8,6 +8,8 @@ with_items: - "/oas/control/local" - "/oas/bin" + - "/oas/logs" + - "/usr/local/share/bash-completion/completions" - name: Create directory for values file: @@ -50,9 +52,23 @@ force: true become: true -- name: Copy shell command to run control shell +- name: Configure bash_aliases copy: - src: "control-shell.sh" - dest: "/oas/bin/control-shell.sh" - mode: "0755" + src: "bash_aliases_oas" + dest: "/root/.bash_aliases_oas" + mode: "0640" become: true + +- name: Deploy custom .bashrc_oas + copy: + src: "bashrc_oas" + dest: "/root/.bashrc_oas" + become: true + +- name: Source .bashrc_oas from .bashrc + blockinfile: + path: "/root/.bashrc" + insertafter: EOF + block: | + # Source Openappstack addtions from .bashrc_oas + . /root/.bashrc_oas diff --git a/ansible/roles/setup/tasks/main.yml b/ansible/roles/setup/tasks/main.yml index fabf734eb1e938b6d03ec27911c55d035dc477db..e08f706b5e6216b5d9ddb3760737c32d247845c2 100644 --- a/ansible/roles/setup/tasks/main.yml +++ b/ansible/roles/setup/tasks/main.yml @@ -23,3 +23,9 @@ docker.greenhost.net/openappstack/bootstrap/oas-control \ /usr/local/bin/control setup become: true + +- name: Fetch /oas/logs/rke.log from cluster + fetch: + src: /oas/logs/rke.log + dest: ./rke.log + flat: yes diff --git a/control/Dockerfile b/control/Dockerfile index 07baed5a160ea03af81ea70f6fd2711e4a3eb7b7..2dabaabfc5ad26d1d140896ab5a3dff77533aa3b 100644 --- a/control/Dockerfile +++ b/control/Dockerfile @@ -1,12 +1,13 @@ FROM chatwork/helmfile:0.43.2-2.12.3-1.11.7 LABEL name="Openappstack control image" -LABEL version="0.2" +LABEL version="0.3" LABEL maintainer="arie@greenhost.nl,varac@varac.net" -RUN apk --no-cache add openssh-client -COPY bin/rke /usr/local/bin/ -COPY control /usr/local/bin/ -COPY k8s-config/ /control/k8s-config -COPY bashrc /root/.bashrc +RUN apk --no-cache add openssh-client bash-completion +COPY files/bin/rke /usr/local/bin/ +COPY files/bin/control /usr/local/bin/ +COPY files/k8s-config/ /control/k8s-config +COPY files/bashrc /root/.bashrc +COPY files/kubectl.completion /etc/bash_completion.d/ ENV KUBECONFIG="/control/local/kube/config" ENTRYPOINT [] diff --git a/control/brew/kubernetes-cli.rb b/control/brew/kubernetes-cli.rb deleted file mode 100644 index 41972efb54314dccb7b8fa945d51d15618d0cddb..0000000000000000000000000000000000000000 --- a/control/brew/kubernetes-cli.rb +++ /dev/null @@ -1,59 +0,0 @@ -class KubernetesCli < Formula - desc "Kubernetes command-line interface" - homepage "https://kubernetes.io/" - url "https://github.com/kubernetes/kubernetes.git", - :tag => "v1.12.2", - :revision => "17c77c7898218073f14c8d573582e8d2313dc740" - head "https://github.com/kubernetes/kubernetes.git" - - bottle do - cellar :any_skip_relocation - sha256 "3aa43db83e2181069bc3faca3ff83d9e724272d689047a8b4c648168e67b2bc4" => :mojave - sha256 "23a10b46914920291f84bff6cd7ca725f9f13b4e72d055a6200989602c973c1c" => :high_sierra - sha256 "908d289d262b55d3331e1d6f3b335297622299869d1d1705c9fa56ed58702d4d" => :sierra - end - - depends_on "go" => :build - depends_on "rsync" => :build unless OS.mac? - - def install - ENV["GOPATH"] = buildpath - os = OS.linux? ? "linux" : "darwin" - arch = MacOS.prefer_64_bit? ? "amd64" : "x86" - dir = buildpath/"src/k8s.io/kubernetes" - dir.install buildpath.children - [buildpath/".brew_home"] - - cd dir do - # Race condition still exists in OS X Yosemite - # Filed issue: https://github.com/kubernetes/kubernetes/issues/34635 - ENV.deparallelize { system "make", "generated_files" } - - # Make binary - system "make", "kubectl" - bin.install "_output/local/bin/#{os}/#{arch}/kubectl" - - # Install bash completion - output = Utils.popen_read("#{bin}/kubectl completion bash") - (bash_completion/"kubectl").write output - - # Install zsh completion - output = Utils.popen_read("#{bin}/kubectl completion zsh") - (zsh_completion/"_kubectl").write output - - prefix.install_metafiles - end - end - - test do - run_output = shell_output("#{bin}/kubectl 2>&1") - assert_match "kubectl controls the Kubernetes cluster manager.", run_output - - version_output = shell_output("#{bin}/kubectl version --client 2>&1") - assert_match "GitTreeState:\"clean\"", version_output - if build.stable? - assert_match stable.instance_variable_get(:@resource) - .instance_variable_get(:@specs)[:revision], - version_output - end - end -end diff --git a/control/bashrc b/control/files/bashrc similarity index 84% rename from control/bashrc rename to control/files/bashrc index f6fd6249b2f71bf1f175fd86b97db099b1e103f0..91649fd16916e77e80230a01bbb5886eeac1592c 100644 --- a/control/bashrc +++ b/control/files/bashrc @@ -2,6 +2,9 @@ export PS1="\[\e[1;31m\]control shell \$\[\e[0m\] " +# Enable bash_completion +. /usr/share/bash-completion/bash_completion + echo 'This is the "control" docker image for managing your oas cluster.' echo 'The following programs are available to view and administer the cluster:' echo ' kubectl' diff --git a/control/control b/control/files/bin/control similarity index 96% rename from control/control rename to control/files/bin/control index 0db5a01c3ecc92a959b332c5f4a554d785cd1381..005d5420a70287eafc6d0dff9bb415b385930210 100755 --- a/control/control +++ b/control/files/bin/control @@ -12,7 +12,7 @@ buildCluster() echo "# Inserted for OpenAppStack control" ssh-keyscan -H "$ip" 2> /dev/null } >> "/etc/ssh/ssh_known_hosts" - rke up --config="$clusterConfigFile" || exit + rke up --config="$clusterConfigFile" &>> /oas/logs/rke.log || exit mkdir -p "/control/local/kube" # Copy kubectl config file generated by rke. cp "/control/local/rke/kube_config_cluster.yml" "/control/local/kube/config" diff --git a/control/bin/rke b/control/files/bin/rke similarity index 100% rename from control/bin/rke rename to control/files/bin/rke diff --git a/control/k8s-config/realm.json b/control/files/k8s-config/realm.json similarity index 100% rename from control/k8s-config/realm.json rename to control/files/k8s-config/realm.json diff --git a/control/k8s-config/storage/keycloak-postgres-storage.yml b/control/files/k8s-config/storage/keycloak-postgres-storage.yml similarity index 100% rename from control/k8s-config/storage/keycloak-postgres-storage.yml rename to control/files/k8s-config/storage/keycloak-postgres-storage.yml diff --git a/control/k8s-config/storage/traefik-storage.yml b/control/files/k8s-config/storage/traefik-storage.yml similarity index 100% rename from control/k8s-config/storage/traefik-storage.yml rename to control/files/k8s-config/storage/traefik-storage.yml diff --git a/control/k8s-config/tiller-permissions.yml b/control/files/k8s-config/tiller-permissions.yml similarity index 100% rename from control/k8s-config/tiller-permissions.yml rename to control/files/k8s-config/tiller-permissions.yml diff --git a/control/files/kubectl.completion b/control/files/kubectl.completion new file mode 100644 index 0000000000000000000000000000000000000000..427151d23f552c28f6ddd03bd2c851835fee185a --- /dev/null +++ b/control/files/kubectl.completion @@ -0,0 +1,7606 @@ + +# Copyright 2016 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# bash completion for kubectl -*- shell-script -*- + +__kubectl_debug() +{ + if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then + echo "$*" >> "${BASH_COMP_DEBUG_FILE}" + fi +} + +# Homebrew on Macs have version 1.3 of bash-completion which doesn't include +# _init_completion. This is a very minimal version of that function. +__kubectl_init_completion() +{ + COMPREPLY=() + _get_comp_words_by_ref "$@" cur prev words cword +} + +__kubectl_index_of_word() +{ + local w word=$1 + shift + index=0 + for w in "$@"; do + [[ $w = "$word" ]] && return + index=$((index+1)) + done + index=-1 +} + +__kubectl_contains_word() +{ + local w word=$1; shift + for w in "$@"; do + [[ $w = "$word" ]] && return + done + return 1 +} + +__kubectl_handle_reply() +{ + __kubectl_debug "${FUNCNAME[0]}" + case $cur in + -*) + if [[ $(type -t compopt) = "builtin" ]]; then + compopt -o nospace + fi + local allflags + if [ ${#must_have_one_flag[@]} -ne 0 ]; then + allflags=("${must_have_one_flag[@]}") + else + allflags=("${flags[*]} ${two_word_flags[*]}") + fi + COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) + if [[ $(type -t compopt) = "builtin" ]]; then + [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace + fi + + # complete after --flag=abc + if [[ $cur == *=* ]]; then + if [[ $(type -t compopt) = "builtin" ]]; then + compopt +o nospace + fi + + local index flag + flag="${cur%=*}" + __kubectl_index_of_word "${flag}" "${flags_with_completion[@]}" + COMPREPLY=() + if [[ ${index} -ge 0 ]]; then + PREFIX="" + cur="${cur#*=}" + ${flags_completion[${index}]} + if [ -n "${ZSH_VERSION}" ]; then + # zsh completion needs --flag= prefix + eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )" + fi + fi + fi + return 0; + ;; + esac + + # check if we are handling a flag with special work handling + local index + __kubectl_index_of_word "${prev}" "${flags_with_completion[@]}" + if [[ ${index} -ge 0 ]]; then + ${flags_completion[${index}]} + return + fi + + # we are parsing a flag and don't have a special handler, no completion + if [[ ${cur} != "${words[cword]}" ]]; then + return + fi + + local completions + completions=("${commands[@]}") + if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then + completions=("${must_have_one_noun[@]}") + fi + if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then + completions+=("${must_have_one_flag[@]}") + fi + COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) + + if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then + COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") ) + fi + + if [[ ${#COMPREPLY[@]} -eq 0 ]]; then + declare -F __custom_func >/dev/null && __custom_func + fi + + # available in bash-completion >= 2, not always present on macOS + if declare -F __ltrim_colon_completions >/dev/null; then + __ltrim_colon_completions "$cur" + fi + + # If there is only 1 completion and it is a flag with an = it will be completed + # but we don't want a space after the = + if [[ "${#COMPREPLY[@]}" -eq "1" ]] && [[ $(type -t compopt) = "builtin" ]] && [[ "${COMPREPLY[0]}" == --*= ]]; then + compopt -o nospace + fi +} + +# The arguments should be in the form "ext1|ext2|extn" +__kubectl_handle_filename_extension_flag() +{ + local ext="$1" + _filedir "@(${ext})" +} + +__kubectl_handle_subdirs_in_dir_flag() +{ + local dir="$1" + pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 +} + +__kubectl_handle_flag() +{ + __kubectl_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + # if a command required a flag, and we found it, unset must_have_one_flag() + local flagname=${words[c]} + local flagvalue + # if the word contained an = + if [[ ${words[c]} == *"="* ]]; then + flagvalue=${flagname#*=} # take in as flagvalue after the = + flagname=${flagname%=*} # strip everything after the = + flagname="${flagname}=" # but put the = back + fi + __kubectl_debug "${FUNCNAME[0]}: looking for ${flagname}" + if __kubectl_contains_word "${flagname}" "${must_have_one_flag[@]}"; then + must_have_one_flag=() + fi + + # if you set a flag which only applies to this command, don't show subcommands + if __kubectl_contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then + commands=() + fi + + # keep flag value with flagname as flaghash + # flaghash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then + if [ -n "${flagvalue}" ] ; then + flaghash[${flagname}]=${flagvalue} + elif [ -n "${words[ $((c+1)) ]}" ] ; then + flaghash[${flagname}]=${words[ $((c+1)) ]} + else + flaghash[${flagname}]="true" # pad "true" for bool flag + fi + fi + + # skip the argument to a two word flag + if __kubectl_contains_word "${words[c]}" "${two_word_flags[@]}"; then + c=$((c+1)) + # if we are looking for a flags value, don't show commands + if [[ $c -eq $cword ]]; then + commands=() + fi + fi + + c=$((c+1)) + +} + +__kubectl_handle_noun() +{ + __kubectl_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + if __kubectl_contains_word "${words[c]}" "${must_have_one_noun[@]}"; then + must_have_one_noun=() + elif __kubectl_contains_word "${words[c]}" "${noun_aliases[@]}"; then + must_have_one_noun=() + fi + + nouns+=("${words[c]}") + c=$((c+1)) +} + +__kubectl_handle_command() +{ + __kubectl_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + local next_command + if [[ -n ${last_command} ]]; then + next_command="_${last_command}_${words[c]//:/__}" + else + if [[ $c -eq 0 ]]; then + next_command="_kubectl_root_command" + else + next_command="_${words[c]//:/__}" + fi + fi + c=$((c+1)) + __kubectl_debug "${FUNCNAME[0]}: looking for ${next_command}" + declare -F "$next_command" >/dev/null && $next_command +} + +__kubectl_handle_word() +{ + if [[ $c -ge $cword ]]; then + __kubectl_handle_reply + return + fi + __kubectl_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + if [[ "${words[c]}" == -* ]]; then + __kubectl_handle_flag + elif __kubectl_contains_word "${words[c]}" "${commands[@]}"; then + __kubectl_handle_command + elif [[ $c -eq 0 ]]; then + __kubectl_handle_command + else + __kubectl_handle_noun + fi + __kubectl_handle_word +} + +# call kubectl get $1, +__kubectl_override_flag_list=(--kubeconfig --cluster --user --context --namespace --server -n -s) +__kubectl_override_flags() +{ + local ${__kubectl_override_flag_list[*]##*-} two_word_of of var + for w in "${words[@]}"; do + if [ -n "${two_word_of}" ]; then + eval "${two_word_of##*-}=\"${two_word_of}=\${w}\"" + two_word_of= + continue + fi + for of in "${__kubectl_override_flag_list[@]}"; do + case "${w}" in + ${of}=*) + eval "${of##*-}=\"${w}\"" + ;; + ${of}) + two_word_of="${of}" + ;; + esac + done + done + for var in "${__kubectl_override_flag_list[@]##*-}"; do + if eval "test -n \"\$${var}\""; then + eval "echo \${${var}}" + fi + done +} + +__kubectl_config_get_contexts() +{ + __kubectl_parse_config "contexts" +} + +__kubectl_config_get_clusters() +{ + __kubectl_parse_config "clusters" +} + +__kubectl_config_get_users() +{ + __kubectl_parse_config "users" +} + +# $1 has to be "contexts", "clusters" or "users" +__kubectl_parse_config() +{ + local template kubectl_out + template="{{ range .$1 }}{{ .name }} {{ end }}" + if kubectl_out=$(kubectl config $(__kubectl_override_flags) -o template --template="${template}" view 2>/dev/null); then + COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) ) + fi +} + +# $1 is the name of resource (required) +# $2 is template string for kubectl get (optional) +__kubectl_parse_get() +{ + local template + template="${2:-"{{ range .items }}{{ .metadata.name }} {{ end }}"}" + local kubectl_out + if kubectl_out=$(kubectl get $(__kubectl_override_flags) -o template --template="${template}" "$1" 2>/dev/null); then + COMPREPLY+=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) ) + fi +} + +__kubectl_get_resource() +{ + if [[ ${#nouns[@]} -eq 0 ]]; then + local kubectl_out + if kubectl_out=$(kubectl api-resources $(__kubectl_override_flags) -o name --cached --request-timeout=5s --verbs=get 2>/dev/null); then + COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) ) + return 0 + fi + return 1 + fi + __kubectl_parse_get "${nouns[${#nouns[@]} -1]}" +} + +__kubectl_get_resource_namespace() +{ + __kubectl_parse_get "namespace" +} + +__kubectl_get_resource_pod() +{ + __kubectl_parse_get "pod" +} + +__kubectl_get_resource_rc() +{ + __kubectl_parse_get "rc" +} + +__kubectl_get_resource_node() +{ + __kubectl_parse_get "node" +} + +__kubectl_get_resource_clusterrole() +{ + __kubectl_parse_get "clusterrole" +} + +# $1 is the name of the pod we want to get the list of containers inside +__kubectl_get_containers() +{ + local template + template="{{ range .spec.initContainers }}{{ .name }} {{end}}{{ range .spec.containers }}{{ .name }} {{ end }}" + __kubectl_debug "${FUNCNAME} nouns are ${nouns[*]}" + + local len="${#nouns[@]}" + if [[ ${len} -ne 1 ]]; then + return + fi + local last=${nouns[${len} -1]} + local kubectl_out + if kubectl_out=$(kubectl get $(__kubectl_override_flags) -o template --template="${template}" pods "${last}" 2>/dev/null); then + COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) ) + fi +} + +# Require both a pod and a container to be specified +__kubectl_require_pod_and_container() +{ + if [[ ${#nouns[@]} -eq 0 ]]; then + __kubectl_parse_get pods + return 0 + fi; + __kubectl_get_containers + return 0 +} + +__kubectl_cp() +{ + if [[ $(type -t compopt) = "builtin" ]]; then + compopt -o nospace + fi + + case "$cur" in + /*|[.~]*) # looks like a path + return + ;; + *:*) # TODO: complete remote files in the pod + return + ;; + */*) # complete <namespace>/<pod> + local template namespace kubectl_out + template="{{ range .items }}{{ .metadata.namespace }}/{{ .metadata.name }}: {{ end }}" + namespace="${cur%%/*}" + if kubectl_out=( $(kubectl get $(__kubectl_override_flags) --namespace "${namespace}" -o template --template="${template}" pods 2>/dev/null) ); then + COMPREPLY=( $(compgen -W "${kubectl_out[*]}" -- "${cur}") ) + fi + return + ;; + *) # complete namespaces, pods, and filedirs + __kubectl_parse_get "namespace" "{{ range .items }}{{ .metadata.name }}/ {{ end }}" + __kubectl_parse_get "pod" "{{ range .items }}{{ .metadata.name }}: {{ end }}" + _filedir + ;; + esac +} + +__custom_func() { + case ${last_command} in + kubectl_get | kubectl_describe | kubectl_delete | kubectl_label | kubectl_edit | kubectl_patch |\ + kubectl_annotate | kubectl_expose | kubectl_scale | kubectl_autoscale | kubectl_taint | kubectl_rollout_* |\ + kubectl_apply_edit-last-applied | kubectl_apply_view-last-applied) + __kubectl_get_resource + return + ;; + kubectl_logs | kubectl_attach) + __kubectl_require_pod_and_container + return + ;; + kubectl_exec | kubectl_port-forward | kubectl_top_pod) + __kubectl_get_resource_pod + return + ;; + kubectl_rolling-update) + __kubectl_get_resource_rc + return + ;; + kubectl_cordon | kubectl_uncordon | kubectl_drain | kubectl_top_node) + __kubectl_get_resource_node + return + ;; + kubectl_config_use-context | kubectl_config_rename-context) + __kubectl_config_get_contexts + return + ;; + kubectl_config_delete-cluster) + __kubectl_config_get_clusters + return + ;; + kubectl_cp) + __kubectl_cp + return + ;; + *) + ;; + esac +} + +_kubectl_alpha_diff() +{ + last_command="kubectl_alpha_diff" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_alpha() +{ + last_command="kubectl_alpha" + commands=() + commands+=("diff") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_annotate() +{ + last_command="kubectl_annotate" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--field-selector=") + local_nonpersistent_flags+=("--field-selector=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overwrite") + local_nonpersistent_flags+=("--overwrite") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--resource-version=") + local_nonpersistent_flags+=("--resource-version=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_api-resources() +{ + last_command="kubectl_api-resources" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--api-group=") + local_nonpersistent_flags+=("--api-group=") + flags+=("--cached") + local_nonpersistent_flags+=("--cached") + flags+=("--namespaced") + local_nonpersistent_flags+=("--namespaced") + flags+=("--no-headers") + local_nonpersistent_flags+=("--no-headers") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--verbs=") + local_nonpersistent_flags+=("--verbs=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_api-versions() +{ + last_command="kubectl_api-versions" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_apply_edit-last-applied() +{ + last_command="kubectl_apply_edit-last-applied" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--windows-line-endings") + local_nonpersistent_flags+=("--windows-line-endings") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_apply_set-last-applied() +{ + last_command="kubectl_apply_set-last-applied" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--create-annotation") + local_nonpersistent_flags+=("--create-annotation") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_apply_view-last-applied() +{ + last_command="kubectl_apply_view-last-applied" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_apply() +{ + last_command="kubectl_apply" + commands=() + commands+=("edit-last-applied") + commands+=("set-last-applied") + commands+=("view-last-applied") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--cascade") + local_nonpersistent_flags+=("--cascade") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--grace-period=") + local_nonpersistent_flags+=("--grace-period=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--openapi-patch") + local_nonpersistent_flags+=("--openapi-patch") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overwrite") + local_nonpersistent_flags+=("--overwrite") + flags+=("--prune") + local_nonpersistent_flags+=("--prune") + flags+=("--prune-whitelist=") + local_nonpersistent_flags+=("--prune-whitelist=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--wait") + local_nonpersistent_flags+=("--wait") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_attach() +{ + last_command="kubectl_attach" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--container=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--container=") + flags+=("--pod-running-timeout=") + local_nonpersistent_flags+=("--pod-running-timeout=") + flags+=("--stdin") + flags+=("-i") + local_nonpersistent_flags+=("--stdin") + flags+=("--tty") + flags+=("-t") + local_nonpersistent_flags+=("--tty") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_auth_can-i() +{ + last_command="kubectl_auth_can-i" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--quiet") + flags+=("-q") + local_nonpersistent_flags+=("--quiet") + flags+=("--subresource=") + local_nonpersistent_flags+=("--subresource=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_auth_reconcile() +{ + last_command="kubectl_auth_reconcile" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_auth() +{ + last_command="kubectl_auth" + commands=() + commands+=("can-i") + commands+=("reconcile") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_autoscale() +{ + last_command="kubectl_autoscale" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--cpu-percent=") + local_nonpersistent_flags+=("--cpu-percent=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--max=") + local_nonpersistent_flags+=("--max=") + flags+=("--min=") + local_nonpersistent_flags+=("--min=") + flags+=("--name=") + local_nonpersistent_flags+=("--name=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--max=") + must_have_one_noun=() + must_have_one_noun+=("deployment") + must_have_one_noun+=("replicaset") + must_have_one_noun+=("replicationcontroller") + noun_aliases=() +} + +_kubectl_certificate_approve() +{ + last_command="kubectl_certificate_approve" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_certificate_deny() +{ + last_command="kubectl_certificate_deny" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_certificate() +{ + last_command="kubectl_certificate" + commands=() + commands+=("approve") + commands+=("deny") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_cluster-info_dump() +{ + last_command="kubectl_cluster-info_dump" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--namespaces=") + local_nonpersistent_flags+=("--namespaces=") + flags+=("--output-directory=") + local_nonpersistent_flags+=("--output-directory=") + flags+=("--pod-running-timeout=") + local_nonpersistent_flags+=("--pod-running-timeout=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_cluster-info() +{ + last_command="kubectl_cluster-info" + commands=() + commands+=("dump") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_completion() +{ + last_command="kubectl_completion" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--help") + flags+=("-h") + local_nonpersistent_flags+=("--help") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("bash") + must_have_one_noun+=("zsh") + noun_aliases=() +} + +_kubectl_config_current-context() +{ + last_command="kubectl_config_current-context" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_delete-cluster() +{ + last_command="kubectl_config_delete-cluster" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_delete-context() +{ + last_command="kubectl_config_delete-context" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_get-clusters() +{ + last_command="kubectl_config_get-clusters" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_get-contexts() +{ + last_command="kubectl_config_get-contexts" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--no-headers") + local_nonpersistent_flags+=("--no-headers") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_rename-context() +{ + last_command="kubectl_config_rename-context" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_set() +{ + last_command="kubectl_config_set" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--set-raw-bytes") + local_nonpersistent_flags+=("--set-raw-bytes") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_set-cluster() +{ + last_command="kubectl_config_set-cluster" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--embed-certs") + local_nonpersistent_flags+=("--embed-certs") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_set-context() +{ + last_command="kubectl_config_set-context" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_set-credentials() +{ + last_command="kubectl_config_set-credentials" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--auth-provider=") + local_nonpersistent_flags+=("--auth-provider=") + flags+=("--auth-provider-arg=") + local_nonpersistent_flags+=("--auth-provider-arg=") + flags+=("--embed-certs") + local_nonpersistent_flags+=("--embed-certs") + flags+=("--password=") + local_nonpersistent_flags+=("--password=") + flags+=("--username=") + local_nonpersistent_flags+=("--username=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_unset() +{ + last_command="kubectl_config_unset" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_use-context() +{ + last_command="kubectl_config_use-context" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config_view() +{ + last_command="kubectl_config_view" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--flatten") + local_nonpersistent_flags+=("--flatten") + flags+=("--merge") + local_nonpersistent_flags+=("--merge") + flags+=("--minify") + local_nonpersistent_flags+=("--minify") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--raw") + local_nonpersistent_flags+=("--raw") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_config() +{ + last_command="kubectl_config" + commands=() + commands+=("current-context") + commands+=("delete-cluster") + commands+=("delete-context") + commands+=("get-clusters") + commands+=("get-contexts") + commands+=("rename-context") + commands+=("set") + commands+=("set-cluster") + commands+=("set-context") + commands+=("set-credentials") + commands+=("unset") + commands+=("use-context") + commands+=("view") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_convert() +{ + last_command="kubectl_convert" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--output-version=") + local_nonpersistent_flags+=("--output-version=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_cordon() +{ + last_command="kubectl_cordon" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_cp() +{ + last_command="kubectl_cp" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--container=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--container=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_clusterrole() +{ + last_command="kubectl_create_clusterrole" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--aggregation-rule=") + local_nonpersistent_flags+=("--aggregation-rule=") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--non-resource-url=") + local_nonpersistent_flags+=("--non-resource-url=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--resource=") + local_nonpersistent_flags+=("--resource=") + flags+=("--resource-name=") + local_nonpersistent_flags+=("--resource-name=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--verb=") + local_nonpersistent_flags+=("--verb=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_clusterrolebinding() +{ + last_command="kubectl_create_clusterrolebinding" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--clusterrole=") + flags_with_completion+=("--clusterrole") + flags_completion+=("__kubectl_get_resource_clusterrole") + local_nonpersistent_flags+=("--clusterrole=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--group=") + local_nonpersistent_flags+=("--group=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--serviceaccount=") + local_nonpersistent_flags+=("--serviceaccount=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_configmap() +{ + last_command="kubectl_create_configmap" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--append-hash") + local_nonpersistent_flags+=("--append-hash") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--from-env-file=") + local_nonpersistent_flags+=("--from-env-file=") + flags+=("--from-file=") + local_nonpersistent_flags+=("--from-file=") + flags+=("--from-literal=") + local_nonpersistent_flags+=("--from-literal=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_deployment() +{ + last_command="kubectl_create_deployment" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--image=") + local_nonpersistent_flags+=("--image=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--image=") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_job() +{ + last_command="kubectl_create_job" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--from=") + local_nonpersistent_flags+=("--from=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_namespace() +{ + last_command="kubectl_create_namespace" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_poddisruptionbudget() +{ + last_command="kubectl_create_poddisruptionbudget" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--max-unavailable=") + local_nonpersistent_flags+=("--max-unavailable=") + flags+=("--min-available=") + local_nonpersistent_flags+=("--min-available=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--selector=") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_priorityclass() +{ + last_command="kubectl_create_priorityclass" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--description=") + local_nonpersistent_flags+=("--description=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--global-default") + local_nonpersistent_flags+=("--global-default") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--value=") + local_nonpersistent_flags+=("--value=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_quota() +{ + last_command="kubectl_create_quota" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--hard=") + local_nonpersistent_flags+=("--hard=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--scopes=") + local_nonpersistent_flags+=("--scopes=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_role() +{ + last_command="kubectl_create_role" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--resource=") + local_nonpersistent_flags+=("--resource=") + flags+=("--resource-name=") + local_nonpersistent_flags+=("--resource-name=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--verb=") + local_nonpersistent_flags+=("--verb=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_rolebinding() +{ + last_command="kubectl_create_rolebinding" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--clusterrole=") + local_nonpersistent_flags+=("--clusterrole=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--group=") + local_nonpersistent_flags+=("--group=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--role=") + local_nonpersistent_flags+=("--role=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--serviceaccount=") + local_nonpersistent_flags+=("--serviceaccount=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_secret_docker-registry() +{ + last_command="kubectl_create_secret_docker-registry" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--append-hash") + local_nonpersistent_flags+=("--append-hash") + flags+=("--docker-email=") + local_nonpersistent_flags+=("--docker-email=") + flags+=("--docker-password=") + local_nonpersistent_flags+=("--docker-password=") + flags+=("--docker-server=") + local_nonpersistent_flags+=("--docker-server=") + flags+=("--docker-username=") + local_nonpersistent_flags+=("--docker-username=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--from-file=") + local_nonpersistent_flags+=("--from-file=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--docker-password=") + must_have_one_flag+=("--docker-username=") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_secret_generic() +{ + last_command="kubectl_create_secret_generic" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--append-hash") + local_nonpersistent_flags+=("--append-hash") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--from-env-file=") + local_nonpersistent_flags+=("--from-env-file=") + flags+=("--from-file=") + local_nonpersistent_flags+=("--from-file=") + flags+=("--from-literal=") + local_nonpersistent_flags+=("--from-literal=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--type=") + local_nonpersistent_flags+=("--type=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_secret_tls() +{ + last_command="kubectl_create_secret_tls" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--append-hash") + local_nonpersistent_flags+=("--append-hash") + flags+=("--cert=") + local_nonpersistent_flags+=("--cert=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--key=") + local_nonpersistent_flags+=("--key=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_secret() +{ + last_command="kubectl_create_secret" + commands=() + commands+=("docker-registry") + commands+=("generic") + commands+=("tls") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_service_clusterip() +{ + last_command="kubectl_create_service_clusterip" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--clusterip=") + local_nonpersistent_flags+=("--clusterip=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--tcp=") + local_nonpersistent_flags+=("--tcp=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_service_externalname() +{ + last_command="kubectl_create_service_externalname" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--external-name=") + local_nonpersistent_flags+=("--external-name=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--tcp=") + local_nonpersistent_flags+=("--tcp=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--external-name=") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_service_loadbalancer() +{ + last_command="kubectl_create_service_loadbalancer" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--tcp=") + local_nonpersistent_flags+=("--tcp=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_service_nodeport() +{ + last_command="kubectl_create_service_nodeport" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--node-port=") + local_nonpersistent_flags+=("--node-port=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--tcp=") + local_nonpersistent_flags+=("--tcp=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_service() +{ + last_command="kubectl_create_service" + commands=() + commands+=("clusterip") + commands+=("externalname") + commands+=("loadbalancer") + commands+=("nodeport") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create_serviceaccount() +{ + last_command="kubectl_create_serviceaccount" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_create() +{ + last_command="kubectl_create" + commands=() + commands+=("clusterrole") + commands+=("clusterrolebinding") + commands+=("configmap") + commands+=("deployment") + commands+=("job") + commands+=("namespace") + commands+=("poddisruptionbudget") + commands+=("priorityclass") + commands+=("quota") + commands+=("role") + commands+=("rolebinding") + commands+=("secret") + commands+=("service") + commands+=("serviceaccount") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--edit") + local_nonpersistent_flags+=("--edit") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--raw=") + local_nonpersistent_flags+=("--raw=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--windows-line-endings") + local_nonpersistent_flags+=("--windows-line-endings") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_delete() +{ + last_command="kubectl_delete" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--cascade") + local_nonpersistent_flags+=("--cascade") + flags+=("--field-selector=") + local_nonpersistent_flags+=("--field-selector=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--grace-period=") + local_nonpersistent_flags+=("--grace-period=") + flags+=("--ignore-not-found") + local_nonpersistent_flags+=("--ignore-not-found") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--now") + local_nonpersistent_flags+=("--now") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--wait") + local_nonpersistent_flags+=("--wait") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_describe() +{ + last_command="kubectl_describe" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--show-events") + local_nonpersistent_flags+=("--show-events") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_drain() +{ + last_command="kubectl_drain" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--delete-local-data") + local_nonpersistent_flags+=("--delete-local-data") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--grace-period=") + local_nonpersistent_flags+=("--grace-period=") + flags+=("--ignore-daemonsets") + local_nonpersistent_flags+=("--ignore-daemonsets") + flags+=("--pod-selector=") + local_nonpersistent_flags+=("--pod-selector=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_edit() +{ + last_command="kubectl_edit" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--output-patch") + local_nonpersistent_flags+=("--output-patch") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--windows-line-endings") + local_nonpersistent_flags+=("--windows-line-endings") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_exec() +{ + last_command="kubectl_exec" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--container=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--container=") + flags+=("--pod=") + two_word_flags+=("-p") + local_nonpersistent_flags+=("--pod=") + flags+=("--stdin") + flags+=("-i") + local_nonpersistent_flags+=("--stdin") + flags+=("--tty") + flags+=("-t") + local_nonpersistent_flags+=("--tty") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_explain() +{ + last_command="kubectl_explain" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--api-version=") + local_nonpersistent_flags+=("--api-version=") + flags+=("--recursive") + local_nonpersistent_flags+=("--recursive") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_expose() +{ + last_command="kubectl_expose" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--cluster-ip=") + local_nonpersistent_flags+=("--cluster-ip=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--external-ip=") + local_nonpersistent_flags+=("--external-ip=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--labels=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--labels=") + flags+=("--load-balancer-ip=") + local_nonpersistent_flags+=("--load-balancer-ip=") + flags+=("--name=") + local_nonpersistent_flags+=("--name=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overrides=") + local_nonpersistent_flags+=("--overrides=") + flags+=("--port=") + local_nonpersistent_flags+=("--port=") + flags+=("--protocol=") + local_nonpersistent_flags+=("--protocol=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--selector=") + local_nonpersistent_flags+=("--selector=") + flags+=("--session-affinity=") + local_nonpersistent_flags+=("--session-affinity=") + flags+=("--target-port=") + local_nonpersistent_flags+=("--target-port=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--type=") + local_nonpersistent_flags+=("--type=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("deployment") + must_have_one_noun+=("pod") + must_have_one_noun+=("replicaset") + must_have_one_noun+=("replicationcontroller") + must_have_one_noun+=("service") + noun_aliases=() +} + +_kubectl_get() +{ + last_command="kubectl_get" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--chunk-size=") + local_nonpersistent_flags+=("--chunk-size=") + flags+=("--export") + local_nonpersistent_flags+=("--export") + flags+=("--field-selector=") + local_nonpersistent_flags+=("--field-selector=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--ignore-not-found") + local_nonpersistent_flags+=("--ignore-not-found") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--label-columns=") + two_word_flags+=("-L") + local_nonpersistent_flags+=("--label-columns=") + flags+=("--no-headers") + local_nonpersistent_flags+=("--no-headers") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--raw=") + local_nonpersistent_flags+=("--raw=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--server-print") + local_nonpersistent_flags+=("--server-print") + flags+=("--show-kind") + local_nonpersistent_flags+=("--show-kind") + flags+=("--show-labels") + local_nonpersistent_flags+=("--show-labels") + flags+=("--sort-by=") + local_nonpersistent_flags+=("--sort-by=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--use-openapi-print-columns") + local_nonpersistent_flags+=("--use-openapi-print-columns") + flags+=("--watch") + flags+=("-w") + local_nonpersistent_flags+=("--watch") + flags+=("--watch-only") + local_nonpersistent_flags+=("--watch-only") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_label() +{ + last_command="kubectl_label" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--field-selector=") + local_nonpersistent_flags+=("--field-selector=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--list") + local_nonpersistent_flags+=("--list") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overwrite") + local_nonpersistent_flags+=("--overwrite") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--resource-version=") + local_nonpersistent_flags+=("--resource-version=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_logs() +{ + last_command="kubectl_logs" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-containers") + local_nonpersistent_flags+=("--all-containers") + flags+=("--container=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--container=") + flags+=("--follow") + flags+=("-f") + local_nonpersistent_flags+=("--follow") + flags+=("--limit-bytes=") + local_nonpersistent_flags+=("--limit-bytes=") + flags+=("--pod-running-timeout=") + local_nonpersistent_flags+=("--pod-running-timeout=") + flags+=("--previous") + flags+=("-p") + local_nonpersistent_flags+=("--previous") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--since=") + local_nonpersistent_flags+=("--since=") + flags+=("--since-time=") + local_nonpersistent_flags+=("--since-time=") + flags+=("--tail=") + local_nonpersistent_flags+=("--tail=") + flags+=("--timestamps") + local_nonpersistent_flags+=("--timestamps") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_options() +{ + last_command="kubectl_options" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_patch() +{ + last_command="kubectl_patch" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--patch=") + two_word_flags+=("-p") + local_nonpersistent_flags+=("--patch=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--type=") + local_nonpersistent_flags+=("--type=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--patch=") + must_have_one_flag+=("-p") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_plugin() +{ + last_command="kubectl_plugin" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_port-forward() +{ + last_command="kubectl_port-forward" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--pod-running-timeout=") + local_nonpersistent_flags+=("--pod-running-timeout=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_proxy() +{ + last_command="kubectl_proxy" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--accept-hosts=") + local_nonpersistent_flags+=("--accept-hosts=") + flags+=("--accept-paths=") + local_nonpersistent_flags+=("--accept-paths=") + flags+=("--address=") + local_nonpersistent_flags+=("--address=") + flags+=("--api-prefix=") + local_nonpersistent_flags+=("--api-prefix=") + flags+=("--disable-filter") + local_nonpersistent_flags+=("--disable-filter") + flags+=("--port=") + two_word_flags+=("-p") + local_nonpersistent_flags+=("--port=") + flags+=("--reject-methods=") + local_nonpersistent_flags+=("--reject-methods=") + flags+=("--reject-paths=") + local_nonpersistent_flags+=("--reject-paths=") + flags+=("--unix-socket=") + two_word_flags+=("-u") + local_nonpersistent_flags+=("--unix-socket=") + flags+=("--www=") + two_word_flags+=("-w") + local_nonpersistent_flags+=("--www=") + flags+=("--www-prefix=") + two_word_flags+=("-P") + local_nonpersistent_flags+=("--www-prefix=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_replace() +{ + last_command="kubectl_replace" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--cascade") + local_nonpersistent_flags+=("--cascade") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--grace-period=") + local_nonpersistent_flags+=("--grace-period=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--wait") + local_nonpersistent_flags+=("--wait") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--filename=") + must_have_one_flag+=("-f") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_rollout_history() +{ + last_command="kubectl_rollout_history" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--revision=") + local_nonpersistent_flags+=("--revision=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("daemonset") + must_have_one_noun+=("deployment") + must_have_one_noun+=("statefulset") + noun_aliases=() +} + +_kubectl_rollout_pause() +{ + last_command="kubectl_rollout_pause" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("deployment") + noun_aliases=() +} + +_kubectl_rollout_resume() +{ + last_command="kubectl_rollout_resume" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("deployment") + noun_aliases=() +} + +_kubectl_rollout_status() +{ + last_command="kubectl_rollout_status" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--revision=") + local_nonpersistent_flags+=("--revision=") + flags+=("--watch") + flags+=("-w") + local_nonpersistent_flags+=("--watch") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("daemonset") + must_have_one_noun+=("deployment") + must_have_one_noun+=("statefulset") + noun_aliases=() +} + +_kubectl_rollout_undo() +{ + last_command="kubectl_rollout_undo" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--to-revision=") + local_nonpersistent_flags+=("--to-revision=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("daemonset") + must_have_one_noun+=("deployment") + must_have_one_noun+=("statefulset") + noun_aliases=() +} + +_kubectl_rollout() +{ + last_command="kubectl_rollout" + commands=() + commands+=("history") + commands+=("pause") + commands+=("resume") + commands+=("status") + commands+=("undo") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_run() +{ + last_command="kubectl_run" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--attach") + local_nonpersistent_flags+=("--attach") + flags+=("--cascade") + local_nonpersistent_flags+=("--cascade") + flags+=("--command") + local_nonpersistent_flags+=("--command") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--env=") + local_nonpersistent_flags+=("--env=") + flags+=("--expose") + local_nonpersistent_flags+=("--expose") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--force") + local_nonpersistent_flags+=("--force") + flags+=("--generator=") + local_nonpersistent_flags+=("--generator=") + flags+=("--grace-period=") + local_nonpersistent_flags+=("--grace-period=") + flags+=("--hostport=") + local_nonpersistent_flags+=("--hostport=") + flags+=("--image=") + local_nonpersistent_flags+=("--image=") + flags+=("--image-pull-policy=") + local_nonpersistent_flags+=("--image-pull-policy=") + flags+=("--labels=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--labels=") + flags+=("--leave-stdin-open") + local_nonpersistent_flags+=("--leave-stdin-open") + flags+=("--limits=") + local_nonpersistent_flags+=("--limits=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overrides=") + local_nonpersistent_flags+=("--overrides=") + flags+=("--pod-running-timeout=") + local_nonpersistent_flags+=("--pod-running-timeout=") + flags+=("--port=") + local_nonpersistent_flags+=("--port=") + flags+=("--quiet") + local_nonpersistent_flags+=("--quiet") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--replicas=") + two_word_flags+=("-r") + local_nonpersistent_flags+=("--replicas=") + flags+=("--requests=") + local_nonpersistent_flags+=("--requests=") + flags+=("--restart=") + local_nonpersistent_flags+=("--restart=") + flags+=("--rm") + local_nonpersistent_flags+=("--rm") + flags+=("--save-config") + local_nonpersistent_flags+=("--save-config") + flags+=("--schedule=") + local_nonpersistent_flags+=("--schedule=") + flags+=("--service-generator=") + local_nonpersistent_flags+=("--service-generator=") + flags+=("--service-overrides=") + local_nonpersistent_flags+=("--service-overrides=") + flags+=("--serviceaccount=") + local_nonpersistent_flags+=("--serviceaccount=") + flags+=("--stdin") + flags+=("-i") + local_nonpersistent_flags+=("--stdin") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--tty") + flags+=("-t") + local_nonpersistent_flags+=("--tty") + flags+=("--wait") + local_nonpersistent_flags+=("--wait") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--image=") + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_scale() +{ + last_command="kubectl_scale" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--current-replicas=") + local_nonpersistent_flags+=("--current-replicas=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--replicas=") + local_nonpersistent_flags+=("--replicas=") + flags+=("--resource-version=") + local_nonpersistent_flags+=("--resource-version=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_flag+=("--replicas=") + must_have_one_noun=() + must_have_one_noun+=("deployment") + must_have_one_noun+=("replicaset") + must_have_one_noun+=("replicationcontroller") + must_have_one_noun+=("statefulset") + noun_aliases=() +} + +_kubectl_set_env() +{ + last_command="kubectl_set_env" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--containers=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--containers=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--env=") + two_word_flags+=("-e") + local_nonpersistent_flags+=("--env=") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--from=") + local_nonpersistent_flags+=("--from=") + flags+=("--keys=") + local_nonpersistent_flags+=("--keys=") + flags+=("--list") + local_nonpersistent_flags+=("--list") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overwrite") + local_nonpersistent_flags+=("--overwrite") + flags+=("--prefix=") + local_nonpersistent_flags+=("--prefix=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--resolve") + local_nonpersistent_flags+=("--resolve") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set_image() +{ + last_command="kubectl_set_image" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set_resources() +{ + last_command="kubectl_set_resources" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--containers=") + two_word_flags+=("-c") + local_nonpersistent_flags+=("--containers=") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--limits=") + local_nonpersistent_flags+=("--limits=") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--requests=") + local_nonpersistent_flags+=("--requests=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set_selector() +{ + last_command="kubectl_set_selector" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--resource-version=") + local_nonpersistent_flags+=("--resource-version=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set_serviceaccount() +{ + last_command="kubectl_set_serviceaccount" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--record") + local_nonpersistent_flags+=("--record") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set_subject() +{ + last_command="kubectl_set_subject" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--group=") + local_nonpersistent_flags+=("--group=") + flags+=("--include-uninitialized") + local_nonpersistent_flags+=("--include-uninitialized") + flags+=("--local") + local_nonpersistent_flags+=("--local") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--serviceaccount=") + local_nonpersistent_flags+=("--serviceaccount=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_set() +{ + last_command="kubectl_set" + commands=() + commands+=("env") + commands+=("image") + commands+=("resources") + commands+=("selector") + commands+=("serviceaccount") + commands+=("subject") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_taint() +{ + last_command="kubectl_taint" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all") + local_nonpersistent_flags+=("--all") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--overwrite") + local_nonpersistent_flags+=("--overwrite") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--validate") + local_nonpersistent_flags+=("--validate") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + must_have_one_noun+=("node") + noun_aliases=() +} + +_kubectl_top_node() +{ + last_command="kubectl_top_node" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--heapster-namespace=") + local_nonpersistent_flags+=("--heapster-namespace=") + flags+=("--heapster-port=") + local_nonpersistent_flags+=("--heapster-port=") + flags+=("--heapster-scheme=") + local_nonpersistent_flags+=("--heapster-scheme=") + flags+=("--heapster-service=") + local_nonpersistent_flags+=("--heapster-service=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_top_pod() +{ + last_command="kubectl_top_pod" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--containers") + local_nonpersistent_flags+=("--containers") + flags+=("--heapster-namespace=") + local_nonpersistent_flags+=("--heapster-namespace=") + flags+=("--heapster-port=") + local_nonpersistent_flags+=("--heapster-port=") + flags+=("--heapster-scheme=") + local_nonpersistent_flags+=("--heapster-scheme=") + flags+=("--heapster-service=") + local_nonpersistent_flags+=("--heapster-service=") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_top() +{ + last_command="kubectl_top" + commands=() + commands+=("node") + commands+=("pod") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_uncordon() +{ + last_command="kubectl_uncordon" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--dry-run") + local_nonpersistent_flags+=("--dry-run") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_version() +{ + last_command="kubectl_version" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--client") + flags+=("-c") + local_nonpersistent_flags+=("--client") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--short") + local_nonpersistent_flags+=("--short") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_wait() +{ + last_command="kubectl_wait" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--all-namespaces") + local_nonpersistent_flags+=("--all-namespaces") + flags+=("--allow-missing-template-keys") + local_nonpersistent_flags+=("--allow-missing-template-keys") + flags+=("--filename=") + flags_with_completion+=("--filename") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + two_word_flags+=("-f") + flags_with_completion+=("-f") + flags_completion+=("__kubectl_handle_filename_extension_flag json|yaml|yml") + local_nonpersistent_flags+=("--filename=") + flags+=("--for=") + local_nonpersistent_flags+=("--for=") + flags+=("--output=") + two_word_flags+=("-o") + local_nonpersistent_flags+=("--output=") + flags+=("--recursive") + flags+=("-R") + local_nonpersistent_flags+=("--recursive") + flags+=("--selector=") + two_word_flags+=("-l") + local_nonpersistent_flags+=("--selector=") + flags+=("--template=") + flags_with_completion+=("--template") + flags_completion+=("_filedir") + local_nonpersistent_flags+=("--template=") + flags+=("--timeout=") + local_nonpersistent_flags+=("--timeout=") + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_kubectl_root_command() +{ + last_command="kubectl" + commands=() + commands+=("alpha") + commands+=("annotate") + commands+=("api-resources") + commands+=("api-versions") + commands+=("apply") + commands+=("attach") + commands+=("auth") + commands+=("autoscale") + commands+=("certificate") + commands+=("cluster-info") + commands+=("completion") + commands+=("config") + commands+=("convert") + commands+=("cordon") + commands+=("cp") + commands+=("create") + commands+=("delete") + commands+=("describe") + commands+=("drain") + commands+=("edit") + commands+=("exec") + commands+=("explain") + commands+=("expose") + commands+=("get") + commands+=("label") + commands+=("logs") + commands+=("options") + commands+=("patch") + commands+=("plugin") + commands+=("port-forward") + commands+=("proxy") + commands+=("replace") + commands+=("rollout") + commands+=("run") + commands+=("scale") + commands+=("set") + commands+=("taint") + commands+=("top") + commands+=("uncordon") + commands+=("version") + commands+=("wait") + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--alsologtostderr") + flags+=("--as=") + flags+=("--as-group=") + flags+=("--cache-dir=") + flags+=("--certificate-authority=") + flags+=("--client-certificate=") + flags+=("--client-key=") + flags+=("--cluster=") + flags_with_completion+=("--cluster") + flags_completion+=("__kubectl_config_get_clusters") + flags+=("--context=") + flags_with_completion+=("--context") + flags_completion+=("__kubectl_config_get_contexts") + flags+=("--insecure-skip-tls-verify") + flags+=("--kubeconfig=") + flags+=("--log-backtrace-at=") + flags+=("--log-dir=") + flags+=("--log-flush-frequency=") + flags+=("--logtostderr") + flags+=("--match-server-version") + flags+=("--namespace=") + flags_with_completion+=("--namespace") + flags_completion+=("__kubectl_get_resource_namespace") + two_word_flags+=("-n") + flags_with_completion+=("-n") + flags_completion+=("__kubectl_get_resource_namespace") + flags+=("--request-timeout=") + flags+=("--server=") + two_word_flags+=("-s") + flags+=("--stderrthreshold=") + flags+=("--token=") + flags+=("--user=") + flags_with_completion+=("--user") + flags_completion+=("__kubectl_config_get_users") + flags+=("--v=") + two_word_flags+=("-v") + flags+=("--vmodule=") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +__start_kubectl() +{ + local cur prev words cword + declare -A flaghash 2>/dev/null || : + if declare -F _init_completion >/dev/null 2>&1; then + _init_completion -s || return + else + __kubectl_init_completion -n "=" || return + fi + + local c=0 + local flags=() + local two_word_flags=() + local local_nonpersistent_flags=() + local flags_with_completion=() + local flags_completion=() + local commands=("kubectl") + local must_have_one_flag=() + local must_have_one_noun=() + local last_command + local nouns=() + + __kubectl_handle_word +} + +if [[ $(type -t compopt) = "builtin" ]]; then + complete -o default -F __start_kubectl kubectl +else + complete -o default -o nospace -F __start_kubectl kubectl +fi + +# ex: ts=4 sw=4 et filetype=sh diff --git a/manage b/manage index 6b8072d9dac14415cce0a7973393c4cc56042b89..f033c237421ba013ad9b04cbe6ec1c693d1bfc82 100755 --- a/manage +++ b/manage @@ -8,4 +8,4 @@ else host=$1 fi -ssh -t "root@${host}" "/oas/bin/control-shell.sh" +ssh -t "root@${host}" bash -ic "oas_controlshell" diff --git a/test/ci-bootstrap.py b/test/ci-bootstrap.py index d78783aaf082d1a016dbe877c99b26e2a1064e5d..c8fb349f35d2c3eaee5c0f455dd931d7eb0154a1 100755 --- a/test/ci-bootstrap.py +++ b/test/ci-bootstrap.py @@ -121,7 +121,4 @@ if __name__ == "__main__": sys.exit(ansible_run.rc) if args.terminate: - # Terminate droplet - cosmos.shutdown_droplet(id) - cosmos.wait_for_state(id, 'stopped') - cosmos.delete_droplet(id) + cosmos.terminate_droplet(id) diff --git a/test/cosmos.py b/test/cosmos.py index 902f289c44410f18e359b5911c972f119bfa46d4..b07d5f421d11ecdf9201e20ba61c0a99287a46c6 100755 --- a/test/cosmos.py +++ b/test/cosmos.py @@ -9,7 +9,12 @@ import socket from time import sleep +# Helper functions + def request_api(resource, request_type='GET', data='', verbose=False): + """ + Helper function to query the cosmos API. + """ api_token = os.environ['COSMOS_API_TOKEN'] headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer {0}'.format(api_token)} @@ -43,7 +48,15 @@ def request_api(resource, request_type='GET', data='', verbose=False): response.status_code, response.text) +# API calls + def create_droplet(ssh_key_id): + """ + Creates a droplet with specified ssh key configured. + + TODO: + - Make name, region, size, image configurable. + """ print('Creating droplet') name = "ci{0}".format(os.environ['CI_JOB_ID']) @@ -64,43 +77,75 @@ def create_droplet(ssh_key_id): return response +def delete_droplet(id): + """ + Deletes a droplet. Droplet needs to be stopped first. + """ + print('Deleting', id) + response = request_api('droplets/{0}'.format(id), 'DELETE') + return response + + def get_droplets(): + """ + Get all information about all droplets. + """ response = request_api('droplets') return response def get_droplet(id): + """ + Get information about specified droplet. + """ response = request_api('droplets/{0}'.format(id)) return response -def status_droplet(id): - response = get_droplet(id) - return response['droplet']['status'] +def list_droplets(verbose=False): + """ + Lists all droplets by their ID, Name, IP and state. + """ + droplets = get_droplets() + if verbose: + print(json.dumps(droplets['droplets'], sort_keys=True, indent=2)) + for droplet in droplets['droplets']: + print(droplet['id'], ' ', droplet['name'], ' ', + droplet['networks']['v4'][0]['ip_address'], + ' ', droplet['status']) def shutdown_droplet(id): + """ + Shuts down specified droplet (through a power_off call). + """ print('Shutting down', id) data = {"type": "power_off"} response = request_api('droplets/{0}/actions'.format(id), 'POST', data) return response -def delete_droplet(id): - response = request_api('droplets/{0}'.format(id), 'DELETE') - return response - +def status_droplet(id): + """ + Get status of specified droplet. + """ + response = get_droplet(id) + return response['droplet']['status'] -def wait_for_state(id, state, verbose=False): - print('Waiting for droplet', id, 'to reach', state, 'state...') - if verbose: - print(status_droplet(id)) - while status_droplet(id) != state: - sleep(1) +def terminate_droplet(id): + """ + Terminates a droplet by powering it down and deleting it. + """ + shutdown_droplet(id) + wait_for_state(id, 'stopped') + delete_droplet(id) def wait_for_ssh(ip): + """ + Waits for ssh to be reachable on port 22. + """ print('Waiting for ssh to become available on ip', ip, '...') sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) @@ -109,11 +154,13 @@ def wait_for_ssh(ip): sleep(1) -def list_droplets(verbose=False): - droplets = get_droplets() +def wait_for_state(id, state, verbose=False): + """ + Waits for a droplet to reach a certain state. + """ + print('Waiting for droplet', id, 'to reach', state, 'state...') if verbose: - print(json.dumps(droplets['droplets'], sort_keys=True, indent=2)) - for droplet in droplets['droplets']: - print(droplet['id'], ' ', droplet['name'], ' ', - droplet['networks']['v4'][0]['ip_address'], - ' ', droplet['status']) + print(status_droplet(id)) + + while status_droplet(id) != state: + sleep(1)