You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3020 lines
78 KiB

  1. #!/bin/bash
  2. __debug()
  3. {
  4. if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then
  5. echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
  6. fi
  7. }
  8. # Homebrew on Macs have version 1.3 of bash-completion which doesn't include
  9. # _init_completion. This is a very minimal version of that function.
  10. __my_init_completion()
  11. {
  12. COMPREPLY=()
  13. _get_comp_words_by_ref cur prev words cword
  14. }
  15. __index_of_word()
  16. {
  17. local w word=$1
  18. shift
  19. index=0
  20. for w in "$@"; do
  21. [[ $w = "$word" ]] && return
  22. index=$((index+1))
  23. done
  24. index=-1
  25. }
  26. __contains_word()
  27. {
  28. local w word=$1; shift
  29. for w in "$@"; do
  30. [[ $w = "$word" ]] && return
  31. done
  32. return 1
  33. }
  34. __handle_reply()
  35. {
  36. __debug "${FUNCNAME}"
  37. case $cur in
  38. -*)
  39. if [[ $(type -t compopt) = "builtin" ]]; then
  40. compopt -o nospace
  41. fi
  42. local allflags
  43. if [ ${#must_have_one_flag[@]} -ne 0 ]; then
  44. allflags=("${must_have_one_flag[@]}")
  45. else
  46. allflags=("${flags[*]} ${two_word_flags[*]}")
  47. fi
  48. COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") )
  49. if [[ $(type -t compopt) = "builtin" ]]; then
  50. [[ $COMPREPLY == *= ]] || compopt +o nospace
  51. fi
  52. return 0;
  53. ;;
  54. esac
  55. # check if we are handling a flag with special work handling
  56. local index
  57. __index_of_word "${prev}" "${flags_with_completion[@]}"
  58. if [[ ${index} -ge 0 ]]; then
  59. ${flags_completion[${index}]}
  60. return
  61. fi
  62. # we are parsing a flag and don't have a special handler, no completion
  63. if [[ ${cur} != "${words[cword]}" ]]; then
  64. return
  65. fi
  66. local completions
  67. if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
  68. completions=("${must_have_one_flag[@]}")
  69. elif [[ ${#must_have_one_noun[@]} -ne 0 ]]; then
  70. completions=("${must_have_one_noun[@]}")
  71. else
  72. completions=("${commands[@]}")
  73. fi
  74. COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") )
  75. if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
  76. declare -F __custom_func >/dev/null && __custom_func
  77. fi
  78. }
  79. # The arguments should be in the form "ext1|ext2|extn"
  80. __handle_filename_extension_flag()
  81. {
  82. local ext="$1"
  83. _filedir "@(${ext})"
  84. }
  85. __handle_subdirs_in_dir_flag()
  86. {
  87. local dir="$1"
  88. pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1
  89. }
  90. __handle_flag()
  91. {
  92. __debug "${FUNCNAME}: c is $c words[c] is ${words[c]}"
  93. # if a command required a flag, and we found it, unset must_have_one_flag()
  94. local flagname=${words[c]}
  95. # if the word contained an =
  96. if [[ ${words[c]} == *"="* ]]; then
  97. flagname=${flagname%=*} # strip everything after the =
  98. flagname="${flagname}=" # but put the = back
  99. fi
  100. __debug "${FUNCNAME}: looking for ${flagname}"
  101. if __contains_word "${flagname}" "${must_have_one_flag[@]}"; then
  102. must_have_one_flag=()
  103. fi
  104. # skip the argument to a two word flag
  105. if __contains_word "${words[c]}" "${two_word_flags[@]}"; then
  106. c=$((c+1))
  107. # if we are looking for a flags value, don't show commands
  108. if [[ $c -eq $cword ]]; then
  109. commands=()
  110. fi
  111. fi
  112. # skip the flag itself
  113. c=$((c+1))
  114. }
  115. __handle_noun()
  116. {
  117. __debug "${FUNCNAME}: c is $c words[c] is ${words[c]}"
  118. if __contains_word "${words[c]}" "${must_have_one_noun[@]}"; then
  119. must_have_one_noun=()
  120. fi
  121. nouns+=("${words[c]}")
  122. c=$((c+1))
  123. }
  124. __handle_command()
  125. {
  126. __debug "${FUNCNAME}: c is $c words[c] is ${words[c]}"
  127. local next_command
  128. if [[ -n ${last_command} ]]; then
  129. next_command="_${last_command}_${words[c]}"
  130. else
  131. next_command="_${words[c]}"
  132. fi
  133. c=$((c+1))
  134. __debug "${FUNCNAME}: looking for ${next_command}"
  135. declare -F $next_command >/dev/null && $next_command
  136. }
  137. __handle_word()
  138. {
  139. if [[ $c -ge $cword ]]; then
  140. __handle_reply
  141. return
  142. fi
  143. __debug "${FUNCNAME}: c is $c words[c] is ${words[c]}"
  144. if [[ "${words[c]}" == -* ]]; then
  145. __handle_flag
  146. elif __contains_word "${words[c]}" "${commands[@]}"; then
  147. __handle_command
  148. else
  149. __handle_noun
  150. fi
  151. __handle_word
  152. }
  153. # call kubectl get $1,
  154. __kubectl_parse_get()
  155. {
  156. local template
  157. template="{{ range .items }}{{ .metadata.name }} {{ end }}"
  158. local kubectl_out
  159. if kubectl_out=$(kubectl get -o template --template="${template}" "$1" 2>/dev/null); then
  160. COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
  161. fi
  162. }
  163. __kubectl_get_resource()
  164. {
  165. if [[ ${#nouns[@]} -eq 0 ]]; then
  166. return 1
  167. fi
  168. __kubectl_parse_get "${nouns[${#nouns[@]} -1]}"
  169. }
  170. __kubectl_get_resource_pod()
  171. {
  172. __kubectl_parse_get "pod"
  173. }
  174. __kubectl_get_resource_rc()
  175. {
  176. __kubectl_parse_get "rc"
  177. }
  178. # $1 is the name of the pod we want to get the list of containers inside
  179. __kubectl_get_containers()
  180. {
  181. local template
  182. template="{{ range .spec.containers }}{{ .name }} {{ end }}"
  183. __debug "${FUNCNAME} nouns are ${nouns[*]}"
  184. local len="${#nouns[@]}"
  185. if [[ ${len} -ne 1 ]]; then
  186. return
  187. fi
  188. local last=${nouns[${len} -1]}
  189. local kubectl_out
  190. if kubectl_out=$(kubectl get -o template --template="${template}" pods "${last}" 2>/dev/null); then
  191. COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
  192. fi
  193. }
  194. # Require both a pod and a container to be specified
  195. __kubectl_require_pod_and_container()
  196. {
  197. if [[ ${#nouns[@]} -eq 0 ]]; then
  198. __kubectl_parse_get pods
  199. return 0
  200. fi;
  201. __kubectl_get_containers
  202. return 0
  203. }
  204. __custom_func() {
  205. case ${last_command} in
  206. kubectl_get | kubectl_describe | kubectl_delete | kubectl_label | kubectl_stop)
  207. __kubectl_get_resource
  208. return
  209. ;;
  210. kubectl_logs)
  211. __kubectl_require_pod_and_container
  212. return
  213. ;;
  214. kubectl_exec)
  215. __kubectl_get_resource_pod
  216. return
  217. ;;
  218. kubectl_rolling-update)
  219. __kubectl_get_resource_rc
  220. return
  221. ;;
  222. *)
  223. ;;
  224. esac
  225. }
  226. _kubectl_get()
  227. {
  228. last_command="kubectl_get"
  229. commands=()
  230. flags=()
  231. two_word_flags=()
  232. flags_with_completion=()
  233. flags_completion=()
  234. flags+=("--all-namespaces")
  235. flags+=("--export")
  236. flags+=("--filename=")
  237. flags_with_completion+=("--filename")
  238. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  239. two_word_flags+=("-f")
  240. flags_with_completion+=("-f")
  241. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  242. flags+=("--include-extended-apis")
  243. flags+=("--label-columns=")
  244. two_word_flags+=("-L")
  245. flags+=("--no-headers")
  246. flags+=("--output=")
  247. two_word_flags+=("-o")
  248. flags+=("--output-version=")
  249. flags+=("--recursive")
  250. flags+=("-R")
  251. flags+=("--selector=")
  252. two_word_flags+=("-l")
  253. flags+=("--show-all")
  254. flags+=("-a")
  255. flags+=("--show-labels")
  256. flags+=("--sort-by=")
  257. flags+=("--template=")
  258. flags_with_completion+=("--template")
  259. flags_completion+=("_filedir")
  260. two_word_flags+=("-t")
  261. flags_with_completion+=("-t")
  262. flags_completion+=("_filedir")
  263. flags+=("--watch")
  264. flags+=("-w")
  265. flags+=("--watch-only")
  266. flags+=("--alsologtostderr")
  267. flags+=("--api-version=")
  268. flags+=("--certificate-authority=")
  269. flags+=("--client-certificate=")
  270. flags+=("--client-key=")
  271. flags+=("--cluster=")
  272. flags+=("--context=")
  273. flags+=("--insecure-skip-tls-verify")
  274. flags+=("--kubeconfig=")
  275. flags+=("--log-backtrace-at=")
  276. flags+=("--log-dir=")
  277. flags+=("--log-flush-frequency=")
  278. flags+=("--logtostderr")
  279. flags+=("--match-server-version")
  280. flags+=("--namespace=")
  281. flags+=("--password=")
  282. flags+=("--server=")
  283. two_word_flags+=("-s")
  284. flags+=("--stderrthreshold=")
  285. flags+=("--token=")
  286. flags+=("--user=")
  287. flags+=("--username=")
  288. flags+=("--v=")
  289. flags+=("--vmodule=")
  290. must_have_one_flag=()
  291. must_have_one_noun=()
  292. must_have_one_noun+=("componentstatus")
  293. must_have_one_noun+=("configmap")
  294. must_have_one_noun+=("daemonset")
  295. must_have_one_noun+=("deployment")
  296. must_have_one_noun+=("endpoints")
  297. must_have_one_noun+=("event")
  298. must_have_one_noun+=("horizontalpodautoscaler")
  299. must_have_one_noun+=("ingress")
  300. must_have_one_noun+=("job")
  301. must_have_one_noun+=("limitrange")
  302. must_have_one_noun+=("namespace")
  303. must_have_one_noun+=("node")
  304. must_have_one_noun+=("persistentvolume")
  305. must_have_one_noun+=("persistentvolumeclaim")
  306. must_have_one_noun+=("pod")
  307. must_have_one_noun+=("podsecuritypolicy")
  308. must_have_one_noun+=("podtemplate")
  309. must_have_one_noun+=("replicaset")
  310. must_have_one_noun+=("replicationcontroller")
  311. must_have_one_noun+=("resourcequota")
  312. must_have_one_noun+=("secret")
  313. must_have_one_noun+=("service")
  314. must_have_one_noun+=("serviceaccount")
  315. must_have_one_noun+=("thirdpartyresource")
  316. must_have_one_noun+=("thirdpartyresourcedata")
  317. }
  318. _kubectl_describe()
  319. {
  320. last_command="kubectl_describe"
  321. commands=()
  322. flags=()
  323. two_word_flags=()
  324. flags_with_completion=()
  325. flags_completion=()
  326. flags+=("--filename=")
  327. flags_with_completion+=("--filename")
  328. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  329. two_word_flags+=("-f")
  330. flags_with_completion+=("-f")
  331. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  332. flags+=("--include-extended-apis")
  333. flags+=("--recursive")
  334. flags+=("-R")
  335. flags+=("--selector=")
  336. two_word_flags+=("-l")
  337. flags+=("--alsologtostderr")
  338. flags+=("--api-version=")
  339. flags+=("--certificate-authority=")
  340. flags+=("--client-certificate=")
  341. flags+=("--client-key=")
  342. flags+=("--cluster=")
  343. flags+=("--context=")
  344. flags+=("--insecure-skip-tls-verify")
  345. flags+=("--kubeconfig=")
  346. flags+=("--log-backtrace-at=")
  347. flags+=("--log-dir=")
  348. flags+=("--log-flush-frequency=")
  349. flags+=("--logtostderr")
  350. flags+=("--match-server-version")
  351. flags+=("--namespace=")
  352. flags+=("--password=")
  353. flags+=("--server=")
  354. two_word_flags+=("-s")
  355. flags+=("--stderrthreshold=")
  356. flags+=("--token=")
  357. flags+=("--user=")
  358. flags+=("--username=")
  359. flags+=("--v=")
  360. flags+=("--vmodule=")
  361. must_have_one_flag=()
  362. must_have_one_noun=()
  363. must_have_one_noun+=("configmap")
  364. must_have_one_noun+=("daemonset")
  365. must_have_one_noun+=("deployment")
  366. must_have_one_noun+=("endpoints")
  367. must_have_one_noun+=("horizontalpodautoscaler")
  368. must_have_one_noun+=("horizontalpodautoscaler")
  369. must_have_one_noun+=("ingress")
  370. must_have_one_noun+=("job")
  371. must_have_one_noun+=("job")
  372. must_have_one_noun+=("limitrange")
  373. must_have_one_noun+=("namespace")
  374. must_have_one_noun+=("node")
  375. must_have_one_noun+=("persistentvolume")
  376. must_have_one_noun+=("persistentvolumeclaim")
  377. must_have_one_noun+=("pod")
  378. must_have_one_noun+=("replicaset")
  379. must_have_one_noun+=("replicationcontroller")
  380. must_have_one_noun+=("resourcequota")
  381. must_have_one_noun+=("secret")
  382. must_have_one_noun+=("service")
  383. must_have_one_noun+=("serviceaccount")
  384. }
  385. _kubectl_create_namespace()
  386. {
  387. last_command="kubectl_create_namespace"
  388. commands=()
  389. flags=()
  390. two_word_flags=()
  391. flags_with_completion=()
  392. flags_completion=()
  393. flags+=("--dry-run")
  394. flags+=("--generator=")
  395. flags+=("--no-headers")
  396. flags+=("--output=")
  397. two_word_flags+=("-o")
  398. flags+=("--output-version=")
  399. flags+=("--save-config")
  400. flags+=("--schema-cache-dir=")
  401. flags_with_completion+=("--schema-cache-dir")
  402. flags_completion+=("_filedir")
  403. flags+=("--show-all")
  404. flags+=("-a")
  405. flags+=("--show-labels")
  406. flags+=("--sort-by=")
  407. flags+=("--template=")
  408. flags_with_completion+=("--template")
  409. flags_completion+=("_filedir")
  410. two_word_flags+=("-t")
  411. flags_with_completion+=("-t")
  412. flags_completion+=("_filedir")
  413. flags+=("--validate")
  414. flags+=("--alsologtostderr")
  415. flags+=("--api-version=")
  416. flags+=("--certificate-authority=")
  417. flags+=("--client-certificate=")
  418. flags+=("--client-key=")
  419. flags+=("--cluster=")
  420. flags+=("--context=")
  421. flags+=("--insecure-skip-tls-verify")
  422. flags+=("--kubeconfig=")
  423. flags+=("--log-backtrace-at=")
  424. flags+=("--log-dir=")
  425. flags+=("--log-flush-frequency=")
  426. flags+=("--logtostderr")
  427. flags+=("--match-server-version")
  428. flags+=("--namespace=")
  429. flags+=("--password=")
  430. flags+=("--server=")
  431. two_word_flags+=("-s")
  432. flags+=("--stderrthreshold=")
  433. flags+=("--token=")
  434. flags+=("--user=")
  435. flags+=("--username=")
  436. flags+=("--v=")
  437. flags+=("--vmodule=")
  438. must_have_one_flag=()
  439. must_have_one_noun=()
  440. }
  441. _kubectl_create_secret_docker-registry()
  442. {
  443. last_command="kubectl_create_secret_docker-registry"
  444. commands=()
  445. flags=()
  446. two_word_flags=()
  447. flags_with_completion=()
  448. flags_completion=()
  449. flags+=("--docker-email=")
  450. flags+=("--docker-password=")
  451. flags+=("--docker-server=")
  452. flags+=("--docker-username=")
  453. flags+=("--dry-run")
  454. flags+=("--generator=")
  455. flags+=("--include-extended-apis")
  456. flags+=("--no-headers")
  457. flags+=("--output=")
  458. two_word_flags+=("-o")
  459. flags+=("--output-version=")
  460. flags+=("--save-config")
  461. flags+=("--schema-cache-dir=")
  462. flags_with_completion+=("--schema-cache-dir")
  463. flags_completion+=("_filedir")
  464. flags+=("--show-all")
  465. flags+=("-a")
  466. flags+=("--show-labels")
  467. flags+=("--sort-by=")
  468. flags+=("--template=")
  469. flags_with_completion+=("--template")
  470. flags_completion+=("_filedir")
  471. two_word_flags+=("-t")
  472. flags_with_completion+=("-t")
  473. flags_completion+=("_filedir")
  474. flags+=("--validate")
  475. flags+=("--alsologtostderr")
  476. flags+=("--api-version=")
  477. flags+=("--certificate-authority=")
  478. flags+=("--client-certificate=")
  479. flags+=("--client-key=")
  480. flags+=("--cluster=")
  481. flags+=("--context=")
  482. flags+=("--insecure-skip-tls-verify")
  483. flags+=("--kubeconfig=")
  484. flags+=("--log-backtrace-at=")
  485. flags+=("--log-dir=")
  486. flags+=("--log-flush-frequency=")
  487. flags+=("--logtostderr")
  488. flags+=("--match-server-version")
  489. flags+=("--namespace=")
  490. flags+=("--password=")
  491. flags+=("--server=")
  492. two_word_flags+=("-s")
  493. flags+=("--stderrthreshold=")
  494. flags+=("--token=")
  495. flags+=("--user=")
  496. flags+=("--username=")
  497. flags+=("--v=")
  498. flags+=("--vmodule=")
  499. must_have_one_flag=()
  500. must_have_one_flag+=("--docker-email=")
  501. must_have_one_flag+=("--docker-password=")
  502. must_have_one_flag+=("--docker-username=")
  503. must_have_one_noun=()
  504. }
  505. _kubectl_create_secret_generic()
  506. {
  507. last_command="kubectl_create_secret_generic"
  508. commands=()
  509. flags=()
  510. two_word_flags=()
  511. flags_with_completion=()
  512. flags_completion=()
  513. flags+=("--dry-run")
  514. flags+=("--from-file=")
  515. flags+=("--from-literal=")
  516. flags+=("--generator=")
  517. flags+=("--no-headers")
  518. flags+=("--output=")
  519. two_word_flags+=("-o")
  520. flags+=("--output-version=")
  521. flags+=("--save-config")
  522. flags+=("--schema-cache-dir=")
  523. flags_with_completion+=("--schema-cache-dir")
  524. flags_completion+=("_filedir")
  525. flags+=("--show-all")
  526. flags+=("-a")
  527. flags+=("--show-labels")
  528. flags+=("--sort-by=")
  529. flags+=("--template=")
  530. flags_with_completion+=("--template")
  531. flags_completion+=("_filedir")
  532. two_word_flags+=("-t")
  533. flags_with_completion+=("-t")
  534. flags_completion+=("_filedir")
  535. flags+=("--type=")
  536. flags+=("--validate")
  537. flags+=("--alsologtostderr")
  538. flags+=("--api-version=")
  539. flags+=("--certificate-authority=")
  540. flags+=("--client-certificate=")
  541. flags+=("--client-key=")
  542. flags+=("--cluster=")
  543. flags+=("--context=")
  544. flags+=("--insecure-skip-tls-verify")
  545. flags+=("--kubeconfig=")
  546. flags+=("--log-backtrace-at=")
  547. flags+=("--log-dir=")
  548. flags+=("--log-flush-frequency=")
  549. flags+=("--logtostderr")
  550. flags+=("--match-server-version")
  551. flags+=("--namespace=")
  552. flags+=("--password=")
  553. flags+=("--server=")
  554. two_word_flags+=("-s")
  555. flags+=("--stderrthreshold=")
  556. flags+=("--token=")
  557. flags+=("--user=")
  558. flags+=("--username=")
  559. flags+=("--v=")
  560. flags+=("--vmodule=")
  561. must_have_one_flag=()
  562. must_have_one_noun=()
  563. }
  564. _kubectl_create_secret()
  565. {
  566. last_command="kubectl_create_secret"
  567. commands=()
  568. commands+=("docker-registry")
  569. commands+=("generic")
  570. flags=()
  571. two_word_flags=()
  572. flags_with_completion=()
  573. flags_completion=()
  574. flags+=("--alsologtostderr")
  575. flags+=("--api-version=")
  576. flags+=("--certificate-authority=")
  577. flags+=("--client-certificate=")
  578. flags+=("--client-key=")
  579. flags+=("--cluster=")
  580. flags+=("--context=")
  581. flags+=("--insecure-skip-tls-verify")
  582. flags+=("--kubeconfig=")
  583. flags+=("--log-backtrace-at=")
  584. flags+=("--log-dir=")
  585. flags+=("--log-flush-frequency=")
  586. flags+=("--logtostderr")
  587. flags+=("--match-server-version")
  588. flags+=("--namespace=")
  589. flags+=("--password=")
  590. flags+=("--server=")
  591. two_word_flags+=("-s")
  592. flags+=("--stderrthreshold=")
  593. flags+=("--token=")
  594. flags+=("--user=")
  595. flags+=("--username=")
  596. flags+=("--v=")
  597. flags+=("--vmodule=")
  598. must_have_one_flag=()
  599. must_have_one_noun=()
  600. }
  601. _kubectl_create_configmap()
  602. {
  603. last_command="kubectl_create_configmap"
  604. commands=()
  605. flags=()
  606. two_word_flags=()
  607. flags_with_completion=()
  608. flags_completion=()
  609. flags+=("--dry-run")
  610. flags+=("--from-file=")
  611. flags+=("--from-literal=")
  612. flags+=("--generator=")
  613. flags+=("--no-headers")
  614. flags+=("--output=")
  615. two_word_flags+=("-o")
  616. flags+=("--output-version=")
  617. flags+=("--save-config")
  618. flags+=("--schema-cache-dir=")
  619. flags_with_completion+=("--schema-cache-dir")
  620. flags_completion+=("_filedir")
  621. flags+=("--show-all")
  622. flags+=("-a")
  623. flags+=("--show-labels")
  624. flags+=("--sort-by=")
  625. flags+=("--template=")
  626. flags_with_completion+=("--template")
  627. flags_completion+=("_filedir")
  628. two_word_flags+=("-t")
  629. flags_with_completion+=("-t")
  630. flags_completion+=("_filedir")
  631. flags+=("--validate")
  632. flags+=("--alsologtostderr")
  633. flags+=("--api-version=")
  634. flags+=("--certificate-authority=")
  635. flags+=("--client-certificate=")
  636. flags+=("--client-key=")
  637. flags+=("--cluster=")
  638. flags+=("--context=")
  639. flags+=("--insecure-skip-tls-verify")
  640. flags+=("--kubeconfig=")
  641. flags+=("--log-backtrace-at=")
  642. flags+=("--log-dir=")
  643. flags+=("--log-flush-frequency=")
  644. flags+=("--logtostderr")
  645. flags+=("--match-server-version")
  646. flags+=("--namespace=")
  647. flags+=("--password=")
  648. flags+=("--server=")
  649. two_word_flags+=("-s")
  650. flags+=("--stderrthreshold=")
  651. flags+=("--token=")
  652. flags+=("--user=")
  653. flags+=("--username=")
  654. flags+=("--v=")
  655. flags+=("--vmodule=")
  656. must_have_one_flag=()
  657. must_have_one_noun=()
  658. }
  659. _kubectl_create_serviceaccount()
  660. {
  661. last_command="kubectl_create_serviceaccount"
  662. commands=()
  663. flags=()
  664. two_word_flags=()
  665. flags_with_completion=()
  666. flags_completion=()
  667. flags+=("--dry-run")
  668. flags+=("--generator=")
  669. flags+=("--include-extended-apis")
  670. flags+=("--no-headers")
  671. flags+=("--output=")
  672. two_word_flags+=("-o")
  673. flags+=("--output-version=")
  674. flags+=("--save-config")
  675. flags+=("--schema-cache-dir=")
  676. flags_with_completion+=("--schema-cache-dir")
  677. flags_completion+=("_filedir")
  678. flags+=("--show-all")
  679. flags+=("-a")
  680. flags+=("--show-labels")
  681. flags+=("--sort-by=")
  682. flags+=("--template=")
  683. flags_with_completion+=("--template")
  684. flags_completion+=("_filedir")
  685. two_word_flags+=("-t")
  686. flags_with_completion+=("-t")
  687. flags_completion+=("_filedir")
  688. flags+=("--validate")
  689. flags+=("--alsologtostderr")
  690. flags+=("--api-version=")
  691. flags+=("--certificate-authority=")
  692. flags+=("--client-certificate=")
  693. flags+=("--client-key=")
  694. flags+=("--cluster=")
  695. flags+=("--context=")
  696. flags+=("--insecure-skip-tls-verify")
  697. flags+=("--kubeconfig=")
  698. flags+=("--log-backtrace-at=")
  699. flags+=("--log-dir=")
  700. flags+=("--log-flush-frequency=")
  701. flags+=("--logtostderr")
  702. flags+=("--match-server-version")
  703. flags+=("--namespace=")
  704. flags+=("--password=")
  705. flags+=("--server=")
  706. two_word_flags+=("-s")
  707. flags+=("--stderrthreshold=")
  708. flags+=("--token=")
  709. flags+=("--user=")
  710. flags+=("--username=")
  711. flags+=("--v=")
  712. flags+=("--vmodule=")
  713. must_have_one_flag=()
  714. must_have_one_noun=()
  715. }
  716. _kubectl_create()
  717. {
  718. last_command="kubectl_create"
  719. commands=()
  720. commands+=("namespace")
  721. commands+=("secret")
  722. commands+=("configmap")
  723. commands+=("serviceaccount")
  724. flags=()
  725. two_word_flags=()
  726. flags_with_completion=()
  727. flags_completion=()
  728. flags+=("--filename=")
  729. flags_with_completion+=("--filename")
  730. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  731. two_word_flags+=("-f")
  732. flags_with_completion+=("-f")
  733. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  734. flags+=("--include-extended-apis")
  735. flags+=("--output=")
  736. two_word_flags+=("-o")
  737. flags+=("--record")
  738. flags+=("--recursive")
  739. flags+=("-R")
  740. flags+=("--save-config")
  741. flags+=("--schema-cache-dir=")
  742. flags_with_completion+=("--schema-cache-dir")
  743. flags_completion+=("_filedir")
  744. flags+=("--validate")
  745. flags+=("--alsologtostderr")
  746. flags+=("--api-version=")
  747. flags+=("--certificate-authority=")
  748. flags+=("--client-certificate=")
  749. flags+=("--client-key=")
  750. flags+=("--cluster=")
  751. flags+=("--context=")
  752. flags+=("--insecure-skip-tls-verify")
  753. flags+=("--kubeconfig=")
  754. flags+=("--log-backtrace-at=")
  755. flags+=("--log-dir=")
  756. flags+=("--log-flush-frequency=")
  757. flags+=("--logtostderr")
  758. flags+=("--match-server-version")
  759. flags+=("--namespace=")
  760. flags+=("--password=")
  761. flags+=("--server=")
  762. two_word_flags+=("-s")
  763. flags+=("--stderrthreshold=")
  764. flags+=("--token=")
  765. flags+=("--user=")
  766. flags+=("--username=")
  767. flags+=("--v=")
  768. flags+=("--vmodule=")
  769. must_have_one_flag=()
  770. must_have_one_flag+=("--filename=")
  771. must_have_one_flag+=("-f")
  772. must_have_one_noun=()
  773. }
  774. _kubectl_replace()
  775. {
  776. last_command="kubectl_replace"
  777. commands=()
  778. flags=()
  779. two_word_flags=()
  780. flags_with_completion=()
  781. flags_completion=()
  782. flags+=("--cascade")
  783. flags+=("--filename=")
  784. flags_with_completion+=("--filename")
  785. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  786. two_word_flags+=("-f")
  787. flags_with_completion+=("-f")
  788. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  789. flags+=("--force")
  790. flags+=("--grace-period=")
  791. flags+=("--include-extended-apis")
  792. flags+=("--output=")
  793. two_word_flags+=("-o")
  794. flags+=("--record")
  795. flags+=("--recursive")
  796. flags+=("-R")
  797. flags+=("--save-config")
  798. flags+=("--schema-cache-dir=")
  799. flags_with_completion+=("--schema-cache-dir")
  800. flags_completion+=("_filedir")
  801. flags+=("--timeout=")
  802. flags+=("--validate")
  803. flags+=("--alsologtostderr")
  804. flags+=("--api-version=")
  805. flags+=("--certificate-authority=")
  806. flags+=("--client-certificate=")
  807. flags+=("--client-key=")
  808. flags+=("--cluster=")
  809. flags+=("--context=")
  810. flags+=("--insecure-skip-tls-verify")
  811. flags+=("--kubeconfig=")
  812. flags+=("--log-backtrace-at=")
  813. flags+=("--log-dir=")
  814. flags+=("--log-flush-frequency=")
  815. flags+=("--logtostderr")
  816. flags+=("--match-server-version")
  817. flags+=("--namespace=")
  818. flags+=("--password=")
  819. flags+=("--server=")
  820. two_word_flags+=("-s")
  821. flags+=("--stderrthreshold=")
  822. flags+=("--token=")
  823. flags+=("--user=")
  824. flags+=("--username=")
  825. flags+=("--v=")
  826. flags+=("--vmodule=")
  827. must_have_one_flag=()
  828. must_have_one_flag+=("--filename=")
  829. must_have_one_flag+=("-f")
  830. must_have_one_noun=()
  831. }
  832. _kubectl_patch()
  833. {
  834. last_command="kubectl_patch"
  835. commands=()
  836. flags=()
  837. two_word_flags=()
  838. flags_with_completion=()
  839. flags_completion=()
  840. flags+=("--filename=")
  841. flags_with_completion+=("--filename")
  842. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  843. two_word_flags+=("-f")
  844. flags_with_completion+=("-f")
  845. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  846. flags+=("--include-extended-apis")
  847. flags+=("--output=")
  848. two_word_flags+=("-o")
  849. flags+=("--patch=")
  850. two_word_flags+=("-p")
  851. flags+=("--record")
  852. flags+=("--recursive")
  853. flags+=("-R")
  854. flags+=("--type=")
  855. flags+=("--alsologtostderr")
  856. flags+=("--api-version=")
  857. flags+=("--certificate-authority=")
  858. flags+=("--client-certificate=")
  859. flags+=("--client-key=")
  860. flags+=("--cluster=")
  861. flags+=("--context=")
  862. flags+=("--insecure-skip-tls-verify")
  863. flags+=("--kubeconfig=")
  864. flags+=("--log-backtrace-at=")
  865. flags+=("--log-dir=")
  866. flags+=("--log-flush-frequency=")
  867. flags+=("--logtostderr")
  868. flags+=("--match-server-version")
  869. flags+=("--namespace=")
  870. flags+=("--password=")
  871. flags+=("--server=")
  872. two_word_flags+=("-s")
  873. flags+=("--stderrthreshold=")
  874. flags+=("--token=")
  875. flags+=("--user=")
  876. flags+=("--username=")
  877. flags+=("--v=")
  878. flags+=("--vmodule=")
  879. must_have_one_flag=()
  880. must_have_one_flag+=("--patch=")
  881. must_have_one_flag+=("-p")
  882. must_have_one_noun=()
  883. }
  884. _kubectl_delete()
  885. {
  886. last_command="kubectl_delete"
  887. commands=()
  888. flags=()
  889. two_word_flags=()
  890. flags_with_completion=()
  891. flags_completion=()
  892. flags+=("--all")
  893. flags+=("--cascade")
  894. flags+=("--filename=")
  895. flags_with_completion+=("--filename")
  896. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  897. two_word_flags+=("-f")
  898. flags_with_completion+=("-f")
  899. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  900. flags+=("--grace-period=")
  901. flags+=("--ignore-not-found")
  902. flags+=("--include-extended-apis")
  903. flags+=("--output=")
  904. two_word_flags+=("-o")
  905. flags+=("--recursive")
  906. flags+=("-R")
  907. flags+=("--selector=")
  908. two_word_flags+=("-l")
  909. flags+=("--timeout=")
  910. flags+=("--alsologtostderr")
  911. flags+=("--api-version=")
  912. flags+=("--certificate-authority=")
  913. flags+=("--client-certificate=")
  914. flags+=("--client-key=")
  915. flags+=("--cluster=")
  916. flags+=("--context=")
  917. flags+=("--insecure-skip-tls-verify")
  918. flags+=("--kubeconfig=")
  919. flags+=("--log-backtrace-at=")
  920. flags+=("--log-dir=")
  921. flags+=("--log-flush-frequency=")
  922. flags+=("--logtostderr")
  923. flags+=("--match-server-version")
  924. flags+=("--namespace=")
  925. flags+=("--password=")
  926. flags+=("--server=")
  927. two_word_flags+=("-s")
  928. flags+=("--stderrthreshold=")
  929. flags+=("--token=")
  930. flags+=("--user=")
  931. flags+=("--username=")
  932. flags+=("--v=")
  933. flags+=("--vmodule=")
  934. must_have_one_flag=()
  935. must_have_one_noun=()
  936. must_have_one_noun+=("componentstatus")
  937. must_have_one_noun+=("configmap")
  938. must_have_one_noun+=("daemonset")
  939. must_have_one_noun+=("deployment")
  940. must_have_one_noun+=("endpoints")
  941. must_have_one_noun+=("event")
  942. must_have_one_noun+=("horizontalpodautoscaler")
  943. must_have_one_noun+=("ingress")
  944. must_have_one_noun+=("job")
  945. must_have_one_noun+=("limitrange")
  946. must_have_one_noun+=("namespace")
  947. must_have_one_noun+=("node")
  948. must_have_one_noun+=("persistentvolume")
  949. must_have_one_noun+=("persistentvolumeclaim")
  950. must_have_one_noun+=("pod")
  951. must_have_one_noun+=("podsecuritypolicy")
  952. must_have_one_noun+=("podtemplate")
  953. must_have_one_noun+=("replicaset")
  954. must_have_one_noun+=("replicationcontroller")
  955. must_have_one_noun+=("resourcequota")
  956. must_have_one_noun+=("secret")
  957. must_have_one_noun+=("service")
  958. must_have_one_noun+=("serviceaccount")
  959. must_have_one_noun+=("thirdpartyresource")
  960. must_have_one_noun+=("thirdpartyresourcedata")
  961. }
  962. _kubectl_edit()
  963. {
  964. last_command="kubectl_edit"
  965. commands=()
  966. flags=()
  967. two_word_flags=()
  968. flags_with_completion=()
  969. flags_completion=()
  970. flags+=("--filename=")
  971. flags_with_completion+=("--filename")
  972. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  973. two_word_flags+=("-f")
  974. flags_with_completion+=("-f")
  975. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  976. flags+=("--include-extended-apis")
  977. flags+=("--output=")
  978. two_word_flags+=("-o")
  979. flags+=("--output-version=")
  980. flags+=("--record")
  981. flags+=("--recursive")
  982. flags+=("-R")
  983. flags+=("--save-config")
  984. flags+=("--windows-line-endings")
  985. flags+=("--alsologtostderr")
  986. flags+=("--api-version=")
  987. flags+=("--certificate-authority=")
  988. flags+=("--client-certificate=")
  989. flags+=("--client-key=")
  990. flags+=("--cluster=")
  991. flags+=("--context=")
  992. flags+=("--insecure-skip-tls-verify")
  993. flags+=("--kubeconfig=")
  994. flags+=("--log-backtrace-at=")
  995. flags+=("--log-dir=")
  996. flags+=("--log-flush-frequency=")
  997. flags+=("--logtostderr")
  998. flags+=("--match-server-version")
  999. flags+=("--namespace=")
  1000. flags+=("--password=")
  1001. flags+=("--server=")
  1002. two_word_flags+=("-s")
  1003. flags+=("--stderrthreshold=")
  1004. flags+=("--token=")
  1005. flags+=("--user=")
  1006. flags+=("--username=")
  1007. flags+=("--v=")
  1008. flags+=("--vmodule=")
  1009. must_have_one_flag=()
  1010. must_have_one_noun=()
  1011. }
  1012. _kubectl_apply()
  1013. {
  1014. last_command="kubectl_apply"
  1015. commands=()
  1016. flags=()
  1017. two_word_flags=()
  1018. flags_with_completion=()
  1019. flags_completion=()
  1020. flags+=("--filename=")
  1021. flags_with_completion+=("--filename")
  1022. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1023. two_word_flags+=("-f")
  1024. flags_with_completion+=("-f")
  1025. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1026. flags+=("--include-extended-apis")
  1027. flags+=("--output=")
  1028. two_word_flags+=("-o")
  1029. flags+=("--record")
  1030. flags+=("--recursive")
  1031. flags+=("-R")
  1032. flags+=("--schema-cache-dir=")
  1033. flags_with_completion+=("--schema-cache-dir")
  1034. flags_completion+=("_filedir")
  1035. flags+=("--validate")
  1036. flags+=("--alsologtostderr")
  1037. flags+=("--api-version=")
  1038. flags+=("--certificate-authority=")
  1039. flags+=("--client-certificate=")
  1040. flags+=("--client-key=")
  1041. flags+=("--cluster=")
  1042. flags+=("--context=")
  1043. flags+=("--insecure-skip-tls-verify")
  1044. flags+=("--kubeconfig=")
  1045. flags+=("--log-backtrace-at=")
  1046. flags+=("--log-dir=")
  1047. flags+=("--log-flush-frequency=")
  1048. flags+=("--logtostderr")
  1049. flags+=("--match-server-version")
  1050. flags+=("--namespace=")
  1051. flags+=("--password=")
  1052. flags+=("--server=")
  1053. two_word_flags+=("-s")
  1054. flags+=("--stderrthreshold=")
  1055. flags+=("--token=")
  1056. flags+=("--user=")
  1057. flags+=("--username=")
  1058. flags+=("--v=")
  1059. flags+=("--vmodule=")
  1060. must_have_one_flag=()
  1061. must_have_one_flag+=("--filename=")
  1062. must_have_one_flag+=("-f")
  1063. must_have_one_noun=()
  1064. }
  1065. _kubectl_namespace()
  1066. {
  1067. last_command="kubectl_namespace"
  1068. commands=()
  1069. flags=()
  1070. two_word_flags=()
  1071. flags_with_completion=()
  1072. flags_completion=()
  1073. flags+=("--alsologtostderr")
  1074. flags+=("--api-version=")
  1075. flags+=("--certificate-authority=")
  1076. flags+=("--client-certificate=")
  1077. flags+=("--client-key=")
  1078. flags+=("--cluster=")
  1079. flags+=("--context=")
  1080. flags+=("--insecure-skip-tls-verify")
  1081. flags+=("--kubeconfig=")
  1082. flags+=("--log-backtrace-at=")
  1083. flags+=("--log-dir=")
  1084. flags+=("--log-flush-frequency=")
  1085. flags+=("--logtostderr")
  1086. flags+=("--match-server-version")
  1087. flags+=("--namespace=")
  1088. flags+=("--password=")
  1089. flags+=("--server=")
  1090. two_word_flags+=("-s")
  1091. flags+=("--stderrthreshold=")
  1092. flags+=("--token=")
  1093. flags+=("--user=")
  1094. flags+=("--username=")
  1095. flags+=("--v=")
  1096. flags+=("--vmodule=")
  1097. must_have_one_flag=()
  1098. must_have_one_noun=()
  1099. }
  1100. _kubectl_logs()
  1101. {
  1102. last_command="kubectl_logs"
  1103. commands=()
  1104. flags=()
  1105. two_word_flags=()
  1106. flags_with_completion=()
  1107. flags_completion=()
  1108. flags+=("--container=")
  1109. two_word_flags+=("-c")
  1110. flags+=("--follow")
  1111. flags+=("-f")
  1112. flags+=("--include-extended-apis")
  1113. flags+=("--interactive")
  1114. flags+=("--limit-bytes=")
  1115. flags+=("--previous")
  1116. flags+=("-p")
  1117. flags+=("--since=")
  1118. flags+=("--since-time=")
  1119. flags+=("--tail=")
  1120. flags+=("--timestamps")
  1121. flags+=("--alsologtostderr")
  1122. flags+=("--api-version=")
  1123. flags+=("--certificate-authority=")
  1124. flags+=("--client-certificate=")
  1125. flags+=("--client-key=")
  1126. flags+=("--cluster=")
  1127. flags+=("--context=")
  1128. flags+=("--insecure-skip-tls-verify")
  1129. flags+=("--kubeconfig=")
  1130. flags+=("--log-backtrace-at=")
  1131. flags+=("--log-dir=")
  1132. flags+=("--log-flush-frequency=")
  1133. flags+=("--logtostderr")
  1134. flags+=("--match-server-version")
  1135. flags+=("--namespace=")
  1136. flags+=("--password=")
  1137. flags+=("--server=")
  1138. two_word_flags+=("-s")
  1139. flags+=("--stderrthreshold=")
  1140. flags+=("--token=")
  1141. flags+=("--user=")
  1142. flags+=("--username=")
  1143. flags+=("--v=")
  1144. flags+=("--vmodule=")
  1145. must_have_one_flag=()
  1146. must_have_one_noun=()
  1147. }
  1148. _kubectl_rolling-update()
  1149. {
  1150. last_command="kubectl_rolling-update"
  1151. commands=()
  1152. flags=()
  1153. two_word_flags=()
  1154. flags_with_completion=()
  1155. flags_completion=()
  1156. flags+=("--container=")
  1157. flags+=("--deployment-label-key=")
  1158. flags+=("--dry-run")
  1159. flags+=("--filename=")
  1160. flags_with_completion+=("--filename")
  1161. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1162. two_word_flags+=("-f")
  1163. flags_with_completion+=("-f")
  1164. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1165. flags+=("--image=")
  1166. flags+=("--include-extended-apis")
  1167. flags+=("--no-headers")
  1168. flags+=("--output=")
  1169. two_word_flags+=("-o")
  1170. flags+=("--output-version=")
  1171. flags+=("--poll-interval=")
  1172. flags+=("--rollback")
  1173. flags+=("--schema-cache-dir=")
  1174. flags_with_completion+=("--schema-cache-dir")
  1175. flags_completion+=("_filedir")
  1176. flags+=("--show-all")
  1177. flags+=("-a")
  1178. flags+=("--show-labels")
  1179. flags+=("--sort-by=")
  1180. flags+=("--template=")
  1181. flags_with_completion+=("--template")
  1182. flags_completion+=("_filedir")
  1183. two_word_flags+=("-t")
  1184. flags_with_completion+=("-t")
  1185. flags_completion+=("_filedir")
  1186. flags+=("--timeout=")
  1187. flags+=("--update-period=")
  1188. flags+=("--validate")
  1189. flags+=("--alsologtostderr")
  1190. flags+=("--api-version=")
  1191. flags+=("--certificate-authority=")
  1192. flags+=("--client-certificate=")
  1193. flags+=("--client-key=")
  1194. flags+=("--cluster=")
  1195. flags+=("--context=")
  1196. flags+=("--insecure-skip-tls-verify")
  1197. flags+=("--kubeconfig=")
  1198. flags+=("--log-backtrace-at=")
  1199. flags+=("--log-dir=")
  1200. flags+=("--log-flush-frequency=")
  1201. flags+=("--logtostderr")
  1202. flags+=("--match-server-version")
  1203. flags+=("--namespace=")
  1204. flags+=("--password=")
  1205. flags+=("--server=")
  1206. two_word_flags+=("-s")
  1207. flags+=("--stderrthreshold=")
  1208. flags+=("--token=")
  1209. flags+=("--user=")
  1210. flags+=("--username=")
  1211. flags+=("--v=")
  1212. flags+=("--vmodule=")
  1213. must_have_one_flag=()
  1214. must_have_one_flag+=("--filename=")
  1215. must_have_one_flag+=("-f")
  1216. must_have_one_flag+=("--image=")
  1217. must_have_one_noun=()
  1218. }
  1219. _kubectl_scale()
  1220. {
  1221. last_command="kubectl_scale"
  1222. commands=()
  1223. flags=()
  1224. two_word_flags=()
  1225. flags_with_completion=()
  1226. flags_completion=()
  1227. flags+=("--current-replicas=")
  1228. flags+=("--filename=")
  1229. flags_with_completion+=("--filename")
  1230. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1231. two_word_flags+=("-f")
  1232. flags_with_completion+=("-f")
  1233. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1234. flags+=("--include-extended-apis")
  1235. flags+=("--output=")
  1236. two_word_flags+=("-o")
  1237. flags+=("--record")
  1238. flags+=("--recursive")
  1239. flags+=("-R")
  1240. flags+=("--replicas=")
  1241. flags+=("--resource-version=")
  1242. flags+=("--timeout=")
  1243. flags+=("--alsologtostderr")
  1244. flags+=("--api-version=")
  1245. flags+=("--certificate-authority=")
  1246. flags+=("--client-certificate=")
  1247. flags+=("--client-key=")
  1248. flags+=("--cluster=")
  1249. flags+=("--context=")
  1250. flags+=("--insecure-skip-tls-verify")
  1251. flags+=("--kubeconfig=")
  1252. flags+=("--log-backtrace-at=")
  1253. flags+=("--log-dir=")
  1254. flags+=("--log-flush-frequency=")
  1255. flags+=("--logtostderr")
  1256. flags+=("--match-server-version")
  1257. flags+=("--namespace=")
  1258. flags+=("--password=")
  1259. flags+=("--server=")
  1260. two_word_flags+=("-s")
  1261. flags+=("--stderrthreshold=")
  1262. flags+=("--token=")
  1263. flags+=("--user=")
  1264. flags+=("--username=")
  1265. flags+=("--v=")
  1266. flags+=("--vmodule=")
  1267. must_have_one_flag=()
  1268. must_have_one_flag+=("--replicas=")
  1269. must_have_one_noun=()
  1270. }
  1271. _kubectl_cordon()
  1272. {
  1273. last_command="kubectl_cordon"
  1274. commands=()
  1275. flags=()
  1276. two_word_flags=()
  1277. flags_with_completion=()
  1278. flags_completion=()
  1279. flags+=("--alsologtostderr")
  1280. flags+=("--api-version=")
  1281. flags+=("--certificate-authority=")
  1282. flags+=("--client-certificate=")
  1283. flags+=("--client-key=")
  1284. flags+=("--cluster=")
  1285. flags+=("--context=")
  1286. flags+=("--insecure-skip-tls-verify")
  1287. flags+=("--kubeconfig=")
  1288. flags+=("--log-backtrace-at=")
  1289. flags+=("--log-dir=")
  1290. flags+=("--log-flush-frequency=")
  1291. flags+=("--logtostderr")
  1292. flags+=("--match-server-version")
  1293. flags+=("--namespace=")
  1294. flags+=("--password=")
  1295. flags+=("--server=")
  1296. two_word_flags+=("-s")
  1297. flags+=("--stderrthreshold=")
  1298. flags+=("--token=")
  1299. flags+=("--user=")
  1300. flags+=("--username=")
  1301. flags+=("--v=")
  1302. flags+=("--vmodule=")
  1303. must_have_one_flag=()
  1304. must_have_one_noun=()
  1305. }
  1306. _kubectl_drain()
  1307. {
  1308. last_command="kubectl_drain"
  1309. commands=()
  1310. flags=()
  1311. two_word_flags=()
  1312. flags_with_completion=()
  1313. flags_completion=()
  1314. flags+=("--force")
  1315. flags+=("--grace-period=")
  1316. flags+=("--ignore-daemonsets")
  1317. flags+=("--alsologtostderr")
  1318. flags+=("--api-version=")
  1319. flags+=("--certificate-authority=")
  1320. flags+=("--client-certificate=")
  1321. flags+=("--client-key=")
  1322. flags+=("--cluster=")
  1323. flags+=("--context=")
  1324. flags+=("--insecure-skip-tls-verify")
  1325. flags+=("--kubeconfig=")
  1326. flags+=("--log-backtrace-at=")
  1327. flags+=("--log-dir=")
  1328. flags+=("--log-flush-frequency=")
  1329. flags+=("--logtostderr")
  1330. flags+=("--match-server-version")
  1331. flags+=("--namespace=")
  1332. flags+=("--password=")
  1333. flags+=("--server=")
  1334. two_word_flags+=("-s")
  1335. flags+=("--stderrthreshold=")
  1336. flags+=("--token=")
  1337. flags+=("--user=")
  1338. flags+=("--username=")
  1339. flags+=("--v=")
  1340. flags+=("--vmodule=")
  1341. must_have_one_flag=()
  1342. must_have_one_noun=()
  1343. }
  1344. _kubectl_uncordon()
  1345. {
  1346. last_command="kubectl_uncordon"
  1347. commands=()
  1348. flags=()
  1349. two_word_flags=()
  1350. flags_with_completion=()
  1351. flags_completion=()
  1352. flags+=("--alsologtostderr")
  1353. flags+=("--api-version=")
  1354. flags+=("--certificate-authority=")
  1355. flags+=("--client-certificate=")
  1356. flags+=("--client-key=")
  1357. flags+=("--cluster=")
  1358. flags+=("--context=")
  1359. flags+=("--insecure-skip-tls-verify")
  1360. flags+=("--kubeconfig=")
  1361. flags+=("--log-backtrace-at=")
  1362. flags+=("--log-dir=")
  1363. flags+=("--log-flush-frequency=")
  1364. flags+=("--logtostderr")
  1365. flags+=("--match-server-version")
  1366. flags+=("--namespace=")
  1367. flags+=("--password=")
  1368. flags+=("--server=")
  1369. two_word_flags+=("-s")
  1370. flags+=("--stderrthreshold=")
  1371. flags+=("--token=")
  1372. flags+=("--user=")
  1373. flags+=("--username=")
  1374. flags+=("--v=")
  1375. flags+=("--vmodule=")
  1376. must_have_one_flag=()
  1377. must_have_one_noun=()
  1378. }
  1379. _kubectl_attach()
  1380. {
  1381. last_command="kubectl_attach"
  1382. commands=()
  1383. flags=()
  1384. two_word_flags=()
  1385. flags_with_completion=()
  1386. flags_completion=()
  1387. flags+=("--container=")
  1388. two_word_flags+=("-c")
  1389. flags+=("--stdin")
  1390. flags+=("-i")
  1391. flags+=("--tty")
  1392. flags+=("-t")
  1393. flags+=("--alsologtostderr")
  1394. flags+=("--api-version=")
  1395. flags+=("--certificate-authority=")
  1396. flags+=("--client-certificate=")
  1397. flags+=("--client-key=")
  1398. flags+=("--cluster=")
  1399. flags+=("--context=")
  1400. flags+=("--insecure-skip-tls-verify")
  1401. flags+=("--kubeconfig=")
  1402. flags+=("--log-backtrace-at=")
  1403. flags+=("--log-dir=")
  1404. flags+=("--log-flush-frequency=")
  1405. flags+=("--logtostderr")
  1406. flags+=("--match-server-version")
  1407. flags+=("--namespace=")
  1408. flags+=("--password=")
  1409. flags+=("--server=")
  1410. two_word_flags+=("-s")
  1411. flags+=("--stderrthreshold=")
  1412. flags+=("--token=")
  1413. flags+=("--user=")
  1414. flags+=("--username=")
  1415. flags+=("--v=")
  1416. flags+=("--vmodule=")
  1417. must_have_one_flag=()
  1418. must_have_one_noun=()
  1419. }
  1420. _kubectl_exec()
  1421. {
  1422. last_command="kubectl_exec"
  1423. commands=()
  1424. flags=()
  1425. two_word_flags=()
  1426. flags_with_completion=()
  1427. flags_completion=()
  1428. flags+=("--container=")
  1429. two_word_flags+=("-c")
  1430. flags+=("--pod=")
  1431. two_word_flags+=("-p")
  1432. flags+=("--stdin")
  1433. flags+=("-i")
  1434. flags+=("--tty")
  1435. flags+=("-t")
  1436. flags+=("--alsologtostderr")
  1437. flags+=("--api-version=")
  1438. flags+=("--certificate-authority=")
  1439. flags+=("--client-certificate=")
  1440. flags+=("--client-key=")
  1441. flags+=("--cluster=")
  1442. flags+=("--context=")
  1443. flags+=("--insecure-skip-tls-verify")
  1444. flags+=("--kubeconfig=")
  1445. flags+=("--log-backtrace-at=")
  1446. flags+=("--log-dir=")
  1447. flags+=("--log-flush-frequency=")
  1448. flags+=("--logtostderr")
  1449. flags+=("--match-server-version")
  1450. flags+=("--namespace=")
  1451. flags+=("--password=")
  1452. flags+=("--server=")
  1453. two_word_flags+=("-s")
  1454. flags+=("--stderrthreshold=")
  1455. flags+=("--token=")
  1456. flags+=("--user=")
  1457. flags+=("--username=")
  1458. flags+=("--v=")
  1459. flags+=("--vmodule=")
  1460. must_have_one_flag=()
  1461. must_have_one_noun=()
  1462. }
  1463. _kubectl_port-forward()
  1464. {
  1465. last_command="kubectl_port-forward"
  1466. commands=()
  1467. flags=()
  1468. two_word_flags=()
  1469. flags_with_completion=()
  1470. flags_completion=()
  1471. flags+=("--pod=")
  1472. two_word_flags+=("-p")
  1473. flags+=("--alsologtostderr")
  1474. flags+=("--api-version=")
  1475. flags+=("--certificate-authority=")
  1476. flags+=("--client-certificate=")
  1477. flags+=("--client-key=")
  1478. flags+=("--cluster=")
  1479. flags+=("--context=")
  1480. flags+=("--insecure-skip-tls-verify")
  1481. flags+=("--kubeconfig=")
  1482. flags+=("--log-backtrace-at=")
  1483. flags+=("--log-dir=")
  1484. flags+=("--log-flush-frequency=")
  1485. flags+=("--logtostderr")
  1486. flags+=("--match-server-version")
  1487. flags+=("--namespace=")
  1488. flags+=("--password=")
  1489. flags+=("--server=")
  1490. two_word_flags+=("-s")
  1491. flags+=("--stderrthreshold=")
  1492. flags+=("--token=")
  1493. flags+=("--user=")
  1494. flags+=("--username=")
  1495. flags+=("--v=")
  1496. flags+=("--vmodule=")
  1497. must_have_one_flag=()
  1498. must_have_one_noun=()
  1499. }
  1500. _kubectl_proxy()
  1501. {
  1502. last_command="kubectl_proxy"
  1503. commands=()
  1504. flags=()
  1505. two_word_flags=()
  1506. flags_with_completion=()
  1507. flags_completion=()
  1508. flags+=("--accept-hosts=")
  1509. flags+=("--accept-paths=")
  1510. flags+=("--address=")
  1511. flags+=("--api-prefix=")
  1512. flags+=("--disable-filter")
  1513. flags+=("--port=")
  1514. two_word_flags+=("-p")
  1515. flags+=("--reject-methods=")
  1516. flags+=("--reject-paths=")
  1517. flags+=("--unix-socket=")
  1518. two_word_flags+=("-u")
  1519. flags+=("--www=")
  1520. two_word_flags+=("-w")
  1521. flags+=("--www-prefix=")
  1522. two_word_flags+=("-P")
  1523. flags+=("--alsologtostderr")
  1524. flags+=("--api-version=")
  1525. flags+=("--certificate-authority=")
  1526. flags+=("--client-certificate=")
  1527. flags+=("--client-key=")
  1528. flags+=("--cluster=")
  1529. flags+=("--context=")
  1530. flags+=("--insecure-skip-tls-verify")
  1531. flags+=("--kubeconfig=")
  1532. flags+=("--log-backtrace-at=")
  1533. flags+=("--log-dir=")
  1534. flags+=("--log-flush-frequency=")
  1535. flags+=("--logtostderr")
  1536. flags+=("--match-server-version")
  1537. flags+=("--namespace=")
  1538. flags+=("--password=")
  1539. flags+=("--server=")
  1540. two_word_flags+=("-s")
  1541. flags+=("--stderrthreshold=")
  1542. flags+=("--token=")
  1543. flags+=("--user=")
  1544. flags+=("--username=")
  1545. flags+=("--v=")
  1546. flags+=("--vmodule=")
  1547. must_have_one_flag=()
  1548. must_have_one_noun=()
  1549. }
  1550. _kubectl_run()
  1551. {
  1552. last_command="kubectl_run"
  1553. commands=()
  1554. flags=()
  1555. two_word_flags=()
  1556. flags_with_completion=()
  1557. flags_completion=()
  1558. flags+=("--attach")
  1559. flags+=("--command")
  1560. flags+=("--dry-run")
  1561. flags+=("--env=")
  1562. flags+=("--expose")
  1563. flags+=("--generator=")
  1564. flags+=("--hostport=")
  1565. flags+=("--image=")
  1566. flags+=("--include-extended-apis")
  1567. flags+=("--labels=")
  1568. two_word_flags+=("-l")
  1569. flags+=("--leave-stdin-open")
  1570. flags+=("--limits=")
  1571. flags+=("--no-headers")
  1572. flags+=("--output=")
  1573. two_word_flags+=("-o")
  1574. flags+=("--output-version=")
  1575. flags+=("--overrides=")
  1576. flags+=("--port=")
  1577. flags+=("--record")
  1578. flags+=("--replicas=")
  1579. two_word_flags+=("-r")
  1580. flags+=("--requests=")
  1581. flags+=("--restart=")
  1582. flags+=("--rm")
  1583. flags+=("--save-config")
  1584. flags+=("--service-generator=")
  1585. flags+=("--service-overrides=")
  1586. flags+=("--show-all")
  1587. flags+=("-a")
  1588. flags+=("--show-labels")
  1589. flags+=("--sort-by=")
  1590. flags+=("--stdin")
  1591. flags+=("-i")
  1592. flags+=("--template=")
  1593. flags_with_completion+=("--template")
  1594. flags_completion+=("_filedir")
  1595. two_word_flags+=("-t")
  1596. flags_with_completion+=("-t")
  1597. flags_completion+=("_filedir")
  1598. flags+=("--tty")
  1599. flags+=("--alsologtostderr")
  1600. flags+=("--api-version=")
  1601. flags+=("--certificate-authority=")
  1602. flags+=("--client-certificate=")
  1603. flags+=("--client-key=")
  1604. flags+=("--cluster=")
  1605. flags+=("--context=")
  1606. flags+=("--insecure-skip-tls-verify")
  1607. flags+=("--kubeconfig=")
  1608. flags+=("--log-backtrace-at=")
  1609. flags+=("--log-dir=")
  1610. flags+=("--log-flush-frequency=")
  1611. flags+=("--logtostderr")
  1612. flags+=("--match-server-version")
  1613. flags+=("--namespace=")
  1614. flags+=("--password=")
  1615. flags+=("--server=")
  1616. two_word_flags+=("-s")
  1617. flags+=("--stderrthreshold=")
  1618. flags+=("--token=")
  1619. flags+=("--user=")
  1620. flags+=("--username=")
  1621. flags+=("--v=")
  1622. flags+=("--vmodule=")
  1623. must_have_one_flag=()
  1624. must_have_one_flag+=("--image=")
  1625. must_have_one_noun=()
  1626. }
  1627. _kubectl_expose()
  1628. {
  1629. last_command="kubectl_expose"
  1630. commands=()
  1631. flags=()
  1632. two_word_flags=()
  1633. flags_with_completion=()
  1634. flags_completion=()
  1635. flags+=("--container-port=")
  1636. flags+=("--create-external-load-balancer")
  1637. flags+=("--dry-run")
  1638. flags+=("--external-ip=")
  1639. flags+=("--filename=")
  1640. flags_with_completion+=("--filename")
  1641. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1642. two_word_flags+=("-f")
  1643. flags_with_completion+=("-f")
  1644. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1645. flags+=("--generator=")
  1646. flags+=("--labels=")
  1647. two_word_flags+=("-l")
  1648. flags+=("--load-balancer-ip=")
  1649. flags+=("--name=")
  1650. flags+=("--no-headers")
  1651. flags+=("--output=")
  1652. two_word_flags+=("-o")
  1653. flags+=("--output-version=")
  1654. flags+=("--overrides=")
  1655. flags+=("--port=")
  1656. flags+=("--protocol=")
  1657. flags+=("--record")
  1658. flags+=("--recursive")
  1659. flags+=("-R")
  1660. flags+=("--save-config")
  1661. flags+=("--selector=")
  1662. flags+=("--session-affinity=")
  1663. flags+=("--show-all")
  1664. flags+=("-a")
  1665. flags+=("--show-labels")
  1666. flags+=("--sort-by=")
  1667. flags+=("--target-port=")
  1668. flags+=("--template=")
  1669. flags_with_completion+=("--template")
  1670. flags_completion+=("_filedir")
  1671. two_word_flags+=("-t")
  1672. flags_with_completion+=("-t")
  1673. flags_completion+=("_filedir")
  1674. flags+=("--type=")
  1675. flags+=("--alsologtostderr")
  1676. flags+=("--api-version=")
  1677. flags+=("--certificate-authority=")
  1678. flags+=("--client-certificate=")
  1679. flags+=("--client-key=")
  1680. flags+=("--cluster=")
  1681. flags+=("--context=")
  1682. flags+=("--insecure-skip-tls-verify")
  1683. flags+=("--kubeconfig=")
  1684. flags+=("--log-backtrace-at=")
  1685. flags+=("--log-dir=")
  1686. flags+=("--log-flush-frequency=")
  1687. flags+=("--logtostderr")
  1688. flags+=("--match-server-version")
  1689. flags+=("--namespace=")
  1690. flags+=("--password=")
  1691. flags+=("--server=")
  1692. two_word_flags+=("-s")
  1693. flags+=("--stderrthreshold=")
  1694. flags+=("--token=")
  1695. flags+=("--user=")
  1696. flags+=("--username=")
  1697. flags+=("--v=")
  1698. flags+=("--vmodule=")
  1699. must_have_one_flag=()
  1700. must_have_one_noun=()
  1701. }
  1702. _kubectl_autoscale()
  1703. {
  1704. last_command="kubectl_autoscale"
  1705. commands=()
  1706. flags=()
  1707. two_word_flags=()
  1708. flags_with_completion=()
  1709. flags_completion=()
  1710. flags+=("--cpu-percent=")
  1711. flags+=("--dry-run")
  1712. flags+=("--filename=")
  1713. flags_with_completion+=("--filename")
  1714. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1715. two_word_flags+=("-f")
  1716. flags_with_completion+=("-f")
  1717. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1718. flags+=("--generator=")
  1719. flags+=("--include-extended-apis")
  1720. flags+=("--max=")
  1721. flags+=("--min=")
  1722. flags+=("--name=")
  1723. flags+=("--no-headers")
  1724. flags+=("--output=")
  1725. two_word_flags+=("-o")
  1726. flags+=("--output-version=")
  1727. flags+=("--record")
  1728. flags+=("--recursive")
  1729. flags+=("-R")
  1730. flags+=("--save-config")
  1731. flags+=("--show-all")
  1732. flags+=("-a")
  1733. flags+=("--show-labels")
  1734. flags+=("--sort-by=")
  1735. flags+=("--template=")
  1736. flags_with_completion+=("--template")
  1737. flags_completion+=("_filedir")
  1738. two_word_flags+=("-t")
  1739. flags_with_completion+=("-t")
  1740. flags_completion+=("_filedir")
  1741. flags+=("--alsologtostderr")
  1742. flags+=("--api-version=")
  1743. flags+=("--certificate-authority=")
  1744. flags+=("--client-certificate=")
  1745. flags+=("--client-key=")
  1746. flags+=("--cluster=")
  1747. flags+=("--context=")
  1748. flags+=("--insecure-skip-tls-verify")
  1749. flags+=("--kubeconfig=")
  1750. flags+=("--log-backtrace-at=")
  1751. flags+=("--log-dir=")
  1752. flags+=("--log-flush-frequency=")
  1753. flags+=("--logtostderr")
  1754. flags+=("--match-server-version")
  1755. flags+=("--namespace=")
  1756. flags+=("--password=")
  1757. flags+=("--server=")
  1758. two_word_flags+=("-s")
  1759. flags+=("--stderrthreshold=")
  1760. flags+=("--token=")
  1761. flags+=("--user=")
  1762. flags+=("--username=")
  1763. flags+=("--v=")
  1764. flags+=("--vmodule=")
  1765. must_have_one_flag=()
  1766. must_have_one_flag+=("--max=")
  1767. must_have_one_noun=()
  1768. }
  1769. _kubectl_rollout_history()
  1770. {
  1771. last_command="kubectl_rollout_history"
  1772. commands=()
  1773. flags=()
  1774. two_word_flags=()
  1775. flags_with_completion=()
  1776. flags_completion=()
  1777. flags+=("--filename=")
  1778. flags_with_completion+=("--filename")
  1779. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1780. two_word_flags+=("-f")
  1781. flags_with_completion+=("-f")
  1782. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1783. flags+=("--recursive")
  1784. flags+=("-R")
  1785. flags+=("--revision=")
  1786. flags+=("--alsologtostderr")
  1787. flags+=("--api-version=")
  1788. flags+=("--certificate-authority=")
  1789. flags+=("--client-certificate=")
  1790. flags+=("--client-key=")
  1791. flags+=("--cluster=")
  1792. flags+=("--context=")
  1793. flags+=("--insecure-skip-tls-verify")
  1794. flags+=("--kubeconfig=")
  1795. flags+=("--log-backtrace-at=")
  1796. flags+=("--log-dir=")
  1797. flags+=("--log-flush-frequency=")
  1798. flags+=("--logtostderr")
  1799. flags+=("--match-server-version")
  1800. flags+=("--namespace=")
  1801. flags+=("--password=")
  1802. flags+=("--server=")
  1803. two_word_flags+=("-s")
  1804. flags+=("--stderrthreshold=")
  1805. flags+=("--token=")
  1806. flags+=("--user=")
  1807. flags+=("--username=")
  1808. flags+=("--v=")
  1809. flags+=("--vmodule=")
  1810. must_have_one_flag=()
  1811. must_have_one_noun=()
  1812. }
  1813. _kubectl_rollout_pause()
  1814. {
  1815. last_command="kubectl_rollout_pause"
  1816. commands=()
  1817. flags=()
  1818. two_word_flags=()
  1819. flags_with_completion=()
  1820. flags_completion=()
  1821. flags+=("--filename=")
  1822. flags_with_completion+=("--filename")
  1823. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1824. two_word_flags+=("-f")
  1825. flags_with_completion+=("-f")
  1826. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1827. flags+=("--recursive")
  1828. flags+=("-R")
  1829. flags+=("--alsologtostderr")
  1830. flags+=("--api-version=")
  1831. flags+=("--certificate-authority=")
  1832. flags+=("--client-certificate=")
  1833. flags+=("--client-key=")
  1834. flags+=("--cluster=")
  1835. flags+=("--context=")
  1836. flags+=("--insecure-skip-tls-verify")
  1837. flags+=("--kubeconfig=")
  1838. flags+=("--log-backtrace-at=")
  1839. flags+=("--log-dir=")
  1840. flags+=("--log-flush-frequency=")
  1841. flags+=("--logtostderr")
  1842. flags+=("--match-server-version")
  1843. flags+=("--namespace=")
  1844. flags+=("--password=")
  1845. flags+=("--server=")
  1846. two_word_flags+=("-s")
  1847. flags+=("--stderrthreshold=")
  1848. flags+=("--token=")
  1849. flags+=("--user=")
  1850. flags+=("--username=")
  1851. flags+=("--v=")
  1852. flags+=("--vmodule=")
  1853. must_have_one_flag=()
  1854. must_have_one_noun=()
  1855. }
  1856. _kubectl_rollout_resume()
  1857. {
  1858. last_command="kubectl_rollout_resume"
  1859. commands=()
  1860. flags=()
  1861. two_word_flags=()
  1862. flags_with_completion=()
  1863. flags_completion=()
  1864. flags+=("--filename=")
  1865. flags_with_completion+=("--filename")
  1866. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1867. two_word_flags+=("-f")
  1868. flags_with_completion+=("-f")
  1869. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1870. flags+=("--recursive")
  1871. flags+=("-R")
  1872. flags+=("--alsologtostderr")
  1873. flags+=("--api-version=")
  1874. flags+=("--certificate-authority=")
  1875. flags+=("--client-certificate=")
  1876. flags+=("--client-key=")
  1877. flags+=("--cluster=")
  1878. flags+=("--context=")
  1879. flags+=("--insecure-skip-tls-verify")
  1880. flags+=("--kubeconfig=")
  1881. flags+=("--log-backtrace-at=")
  1882. flags+=("--log-dir=")
  1883. flags+=("--log-flush-frequency=")
  1884. flags+=("--logtostderr")
  1885. flags+=("--match-server-version")
  1886. flags+=("--namespace=")
  1887. flags+=("--password=")
  1888. flags+=("--server=")
  1889. two_word_flags+=("-s")
  1890. flags+=("--stderrthreshold=")
  1891. flags+=("--token=")
  1892. flags+=("--user=")
  1893. flags+=("--username=")
  1894. flags+=("--v=")
  1895. flags+=("--vmodule=")
  1896. must_have_one_flag=()
  1897. must_have_one_noun=()
  1898. }
  1899. _kubectl_rollout_undo()
  1900. {
  1901. last_command="kubectl_rollout_undo"
  1902. commands=()
  1903. flags=()
  1904. two_word_flags=()
  1905. flags_with_completion=()
  1906. flags_completion=()
  1907. flags+=("--filename=")
  1908. flags_with_completion+=("--filename")
  1909. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1910. two_word_flags+=("-f")
  1911. flags_with_completion+=("-f")
  1912. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1913. flags+=("--recursive")
  1914. flags+=("-R")
  1915. flags+=("--to-revision=")
  1916. flags+=("--alsologtostderr")
  1917. flags+=("--api-version=")
  1918. flags+=("--certificate-authority=")
  1919. flags+=("--client-certificate=")
  1920. flags+=("--client-key=")
  1921. flags+=("--cluster=")
  1922. flags+=("--context=")
  1923. flags+=("--insecure-skip-tls-verify")
  1924. flags+=("--kubeconfig=")
  1925. flags+=("--log-backtrace-at=")
  1926. flags+=("--log-dir=")
  1927. flags+=("--log-flush-frequency=")
  1928. flags+=("--logtostderr")
  1929. flags+=("--match-server-version")
  1930. flags+=("--namespace=")
  1931. flags+=("--password=")
  1932. flags+=("--server=")
  1933. two_word_flags+=("-s")
  1934. flags+=("--stderrthreshold=")
  1935. flags+=("--token=")
  1936. flags+=("--user=")
  1937. flags+=("--username=")
  1938. flags+=("--v=")
  1939. flags+=("--vmodule=")
  1940. must_have_one_flag=()
  1941. must_have_one_noun=()
  1942. }
  1943. _kubectl_rollout()
  1944. {
  1945. last_command="kubectl_rollout"
  1946. commands=()
  1947. commands+=("history")
  1948. commands+=("pause")
  1949. commands+=("resume")
  1950. commands+=("undo")
  1951. flags=()
  1952. two_word_flags=()
  1953. flags_with_completion=()
  1954. flags_completion=()
  1955. flags+=("--alsologtostderr")
  1956. flags+=("--api-version=")
  1957. flags+=("--certificate-authority=")
  1958. flags+=("--client-certificate=")
  1959. flags+=("--client-key=")
  1960. flags+=("--cluster=")
  1961. flags+=("--context=")
  1962. flags+=("--insecure-skip-tls-verify")
  1963. flags+=("--kubeconfig=")
  1964. flags+=("--log-backtrace-at=")
  1965. flags+=("--log-dir=")
  1966. flags+=("--log-flush-frequency=")
  1967. flags+=("--logtostderr")
  1968. flags+=("--match-server-version")
  1969. flags+=("--namespace=")
  1970. flags+=("--password=")
  1971. flags+=("--server=")
  1972. two_word_flags+=("-s")
  1973. flags+=("--stderrthreshold=")
  1974. flags+=("--token=")
  1975. flags+=("--user=")
  1976. flags+=("--username=")
  1977. flags+=("--v=")
  1978. flags+=("--vmodule=")
  1979. must_have_one_flag=()
  1980. must_have_one_noun=()
  1981. }
  1982. _kubectl_label()
  1983. {
  1984. last_command="kubectl_label"
  1985. commands=()
  1986. flags=()
  1987. two_word_flags=()
  1988. flags_with_completion=()
  1989. flags_completion=()
  1990. flags+=("--all")
  1991. flags+=("--dry-run")
  1992. flags+=("--filename=")
  1993. flags_with_completion+=("--filename")
  1994. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1995. two_word_flags+=("-f")
  1996. flags_with_completion+=("-f")
  1997. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  1998. flags+=("--include-extended-apis")
  1999. flags+=("--no-headers")
  2000. flags+=("--output=")
  2001. two_word_flags+=("-o")
  2002. flags+=("--output-version=")
  2003. flags+=("--overwrite")
  2004. flags+=("--record")
  2005. flags+=("--recursive")
  2006. flags+=("-R")
  2007. flags+=("--resource-version=")
  2008. flags+=("--selector=")
  2009. two_word_flags+=("-l")
  2010. flags+=("--show-all")
  2011. flags+=("-a")
  2012. flags+=("--show-labels")
  2013. flags+=("--sort-by=")
  2014. flags+=("--template=")
  2015. flags_with_completion+=("--template")
  2016. flags_completion+=("_filedir")
  2017. two_word_flags+=("-t")
  2018. flags_with_completion+=("-t")
  2019. flags_completion+=("_filedir")
  2020. flags+=("--alsologtostderr")
  2021. flags+=("--api-version=")
  2022. flags+=("--certificate-authority=")
  2023. flags+=("--client-certificate=")
  2024. flags+=("--client-key=")
  2025. flags+=("--cluster=")
  2026. flags+=("--context=")
  2027. flags+=("--insecure-skip-tls-verify")
  2028. flags+=("--kubeconfig=")
  2029. flags+=("--log-backtrace-at=")
  2030. flags+=("--log-dir=")
  2031. flags+=("--log-flush-frequency=")
  2032. flags+=("--logtostderr")
  2033. flags+=("--match-server-version")
  2034. flags+=("--namespace=")
  2035. flags+=("--password=")
  2036. flags+=("--server=")
  2037. two_word_flags+=("-s")
  2038. flags+=("--stderrthreshold=")
  2039. flags+=("--token=")
  2040. flags+=("--user=")
  2041. flags+=("--username=")
  2042. flags+=("--v=")
  2043. flags+=("--vmodule=")
  2044. must_have_one_flag=()
  2045. must_have_one_noun=()
  2046. must_have_one_noun+=("componentstatus")
  2047. must_have_one_noun+=("configmap")
  2048. must_have_one_noun+=("daemonset")
  2049. must_have_one_noun+=("deployment")
  2050. must_have_one_noun+=("endpoints")
  2051. must_have_one_noun+=("event")
  2052. must_have_one_noun+=("horizontalpodautoscaler")
  2053. must_have_one_noun+=("ingress")
  2054. must_have_one_noun+=("job")
  2055. must_have_one_noun+=("limitrange")
  2056. must_have_one_noun+=("namespace")
  2057. must_have_one_noun+=("node")
  2058. must_have_one_noun+=("persistentvolume")
  2059. must_have_one_noun+=("persistentvolumeclaim")
  2060. must_have_one_noun+=("pod")
  2061. must_have_one_noun+=("podsecuritypolicy")
  2062. must_have_one_noun+=("podtemplate")
  2063. must_have_one_noun+=("replicaset")
  2064. must_have_one_noun+=("replicationcontroller")
  2065. must_have_one_noun+=("resourcequota")
  2066. must_have_one_noun+=("secret")
  2067. must_have_one_noun+=("service")
  2068. must_have_one_noun+=("serviceaccount")
  2069. must_have_one_noun+=("thirdpartyresource")
  2070. must_have_one_noun+=("thirdpartyresourcedata")
  2071. }
  2072. _kubectl_annotate()
  2073. {
  2074. last_command="kubectl_annotate"
  2075. commands=()
  2076. flags=()
  2077. two_word_flags=()
  2078. flags_with_completion=()
  2079. flags_completion=()
  2080. flags+=("--all")
  2081. flags+=("--filename=")
  2082. flags_with_completion+=("--filename")
  2083. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  2084. two_word_flags+=("-f")
  2085. flags_with_completion+=("-f")
  2086. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  2087. flags+=("--include-extended-apis")
  2088. flags+=("--no-headers")
  2089. flags+=("--output=")
  2090. two_word_flags+=("-o")
  2091. flags+=("--output-version=")
  2092. flags+=("--overwrite")
  2093. flags+=("--record")
  2094. flags+=("--recursive")
  2095. flags+=("-R")
  2096. flags+=("--resource-version=")
  2097. flags+=("--selector=")
  2098. two_word_flags+=("-l")
  2099. flags+=("--show-all")
  2100. flags+=("-a")
  2101. flags+=("--show-labels")
  2102. flags+=("--sort-by=")
  2103. flags+=("--template=")
  2104. flags_with_completion+=("--template")
  2105. flags_completion+=("_filedir")
  2106. two_word_flags+=("-t")
  2107. flags_with_completion+=("-t")
  2108. flags_completion+=("_filedir")
  2109. flags+=("--alsologtostderr")
  2110. flags+=("--api-version=")
  2111. flags+=("--certificate-authority=")
  2112. flags+=("--client-certificate=")
  2113. flags+=("--client-key=")
  2114. flags+=("--cluster=")
  2115. flags+=("--context=")
  2116. flags+=("--insecure-skip-tls-verify")
  2117. flags+=("--kubeconfig=")
  2118. flags+=("--log-backtrace-at=")
  2119. flags+=("--log-dir=")
  2120. flags+=("--log-flush-frequency=")
  2121. flags+=("--logtostderr")
  2122. flags+=("--match-server-version")
  2123. flags+=("--namespace=")
  2124. flags+=("--password=")
  2125. flags+=("--server=")
  2126. two_word_flags+=("-s")
  2127. flags+=("--stderrthreshold=")
  2128. flags+=("--token=")
  2129. flags+=("--user=")
  2130. flags+=("--username=")
  2131. flags+=("--v=")
  2132. flags+=("--vmodule=")
  2133. must_have_one_flag=()
  2134. must_have_one_noun=()
  2135. }
  2136. _kubectl_config_view()
  2137. {
  2138. last_command="kubectl_config_view"
  2139. commands=()
  2140. flags=()
  2141. two_word_flags=()
  2142. flags_with_completion=()
  2143. flags_completion=()
  2144. flags+=("--flatten")
  2145. flags+=("--merge=")
  2146. flags+=("--minify")
  2147. flags+=("--no-headers")
  2148. flags+=("--output=")
  2149. two_word_flags+=("-o")
  2150. flags+=("--output-version=")
  2151. flags+=("--raw")
  2152. flags+=("--show-all")
  2153. flags+=("-a")
  2154. flags+=("--show-labels")
  2155. flags+=("--sort-by=")
  2156. flags+=("--template=")
  2157. flags_with_completion+=("--template")
  2158. flags_completion+=("_filedir")
  2159. two_word_flags+=("-t")
  2160. flags_with_completion+=("-t")
  2161. flags_completion+=("_filedir")
  2162. flags+=("--alsologtostderr")
  2163. flags+=("--api-version=")
  2164. flags+=("--certificate-authority=")
  2165. flags+=("--client-certificate=")
  2166. flags+=("--client-key=")
  2167. flags+=("--cluster=")
  2168. flags+=("--context=")
  2169. flags+=("--insecure-skip-tls-verify")
  2170. flags+=("--kubeconfig=")
  2171. flags+=("--log-backtrace-at=")
  2172. flags+=("--log-dir=")
  2173. flags+=("--log-flush-frequency=")
  2174. flags+=("--logtostderr")
  2175. flags+=("--match-server-version")
  2176. flags+=("--namespace=")
  2177. flags+=("--password=")
  2178. flags+=("--server=")
  2179. two_word_flags+=("-s")
  2180. flags+=("--stderrthreshold=")
  2181. flags+=("--token=")
  2182. flags+=("--user=")
  2183. flags+=("--username=")
  2184. flags+=("--v=")
  2185. flags+=("--vmodule=")
  2186. must_have_one_flag=()
  2187. must_have_one_noun=()
  2188. }
  2189. _kubectl_config_set-cluster()
  2190. {
  2191. last_command="kubectl_config_set-cluster"
  2192. commands=()
  2193. flags=()
  2194. two_word_flags=()
  2195. flags_with_completion=()
  2196. flags_completion=()
  2197. flags+=("--api-version=")
  2198. flags+=("--certificate-authority=")
  2199. flags_with_completion+=("--certificate-authority")
  2200. flags_completion+=("_filedir")
  2201. flags+=("--embed-certs=")
  2202. flags+=("--insecure-skip-tls-verify=")
  2203. flags+=("--server=")
  2204. flags+=("--alsologtostderr")
  2205. flags+=("--client-certificate=")
  2206. flags+=("--client-key=")
  2207. flags+=("--cluster=")
  2208. flags+=("--context=")
  2209. flags+=("--kubeconfig=")
  2210. flags+=("--log-backtrace-at=")
  2211. flags+=("--log-dir=")
  2212. flags+=("--log-flush-frequency=")
  2213. flags+=("--logtostderr")
  2214. flags+=("--match-server-version")
  2215. flags+=("--namespace=")
  2216. flags+=("--password=")
  2217. flags+=("--stderrthreshold=")
  2218. flags+=("--token=")
  2219. flags+=("--user=")
  2220. flags+=("--username=")
  2221. flags+=("--v=")
  2222. flags+=("--vmodule=")
  2223. must_have_one_flag=()
  2224. must_have_one_noun=()
  2225. }
  2226. _kubectl_config_set-credentials()
  2227. {
  2228. last_command="kubectl_config_set-credentials"
  2229. commands=()
  2230. flags=()
  2231. two_word_flags=()
  2232. flags_with_completion=()
  2233. flags_completion=()
  2234. flags+=("--client-certificate=")
  2235. flags_with_completion+=("--client-certificate")
  2236. flags_completion+=("_filedir")
  2237. flags+=("--client-key=")
  2238. flags_with_completion+=("--client-key")
  2239. flags_completion+=("_filedir")
  2240. flags+=("--embed-certs=")
  2241. flags+=("--password=")
  2242. flags+=("--token=")
  2243. flags+=("--username=")
  2244. flags+=("--alsologtostderr")
  2245. flags+=("--api-version=")
  2246. flags+=("--certificate-authority=")
  2247. flags+=("--cluster=")
  2248. flags+=("--context=")
  2249. flags+=("--insecure-skip-tls-verify")
  2250. flags+=("--kubeconfig=")
  2251. flags+=("--log-backtrace-at=")
  2252. flags+=("--log-dir=")
  2253. flags+=("--log-flush-frequency=")
  2254. flags+=("--logtostderr")
  2255. flags+=("--match-server-version")
  2256. flags+=("--namespace=")
  2257. flags+=("--server=")
  2258. two_word_flags+=("-s")
  2259. flags+=("--stderrthreshold=")
  2260. flags+=("--user=")
  2261. flags+=("--v=")
  2262. flags+=("--vmodule=")
  2263. must_have_one_flag=()
  2264. must_have_one_noun=()
  2265. }
  2266. _kubectl_config_set-context()
  2267. {
  2268. last_command="kubectl_config_set-context"
  2269. commands=()
  2270. flags=()
  2271. two_word_flags=()
  2272. flags_with_completion=()
  2273. flags_completion=()
  2274. flags+=("--cluster=")
  2275. flags+=("--namespace=")
  2276. flags+=("--user=")
  2277. flags+=("--alsologtostderr")
  2278. flags+=("--api-version=")
  2279. flags+=("--certificate-authority=")
  2280. flags+=("--client-certificate=")
  2281. flags+=("--client-key=")
  2282. flags+=("--context=")
  2283. flags+=("--insecure-skip-tls-verify")
  2284. flags+=("--kubeconfig=")
  2285. flags+=("--log-backtrace-at=")
  2286. flags+=("--log-dir=")
  2287. flags+=("--log-flush-frequency=")
  2288. flags+=("--logtostderr")
  2289. flags+=("--match-server-version")
  2290. flags+=("--password=")
  2291. flags+=("--server=")
  2292. two_word_flags+=("-s")
  2293. flags+=("--stderrthreshold=")
  2294. flags+=("--token=")
  2295. flags+=("--username=")
  2296. flags+=("--v=")
  2297. flags+=("--vmodule=")
  2298. must_have_one_flag=()
  2299. must_have_one_noun=()
  2300. }
  2301. _kubectl_config_set()
  2302. {
  2303. last_command="kubectl_config_set"
  2304. commands=()
  2305. flags=()
  2306. two_word_flags=()
  2307. flags_with_completion=()
  2308. flags_completion=()
  2309. flags+=("--alsologtostderr")
  2310. flags+=("--api-version=")
  2311. flags+=("--certificate-authority=")
  2312. flags+=("--client-certificate=")
  2313. flags+=("--client-key=")
  2314. flags+=("--cluster=")
  2315. flags+=("--context=")
  2316. flags+=("--insecure-skip-tls-verify")
  2317. flags+=("--kubeconfig=")
  2318. flags+=("--log-backtrace-at=")
  2319. flags+=("--log-dir=")
  2320. flags+=("--log-flush-frequency=")
  2321. flags+=("--logtostderr")
  2322. flags+=("--match-server-version")
  2323. flags+=("--namespace=")
  2324. flags+=("--password=")
  2325. flags+=("--server=")
  2326. two_word_flags+=("-s")
  2327. flags+=("--stderrthreshold=")
  2328. flags+=("--token=")
  2329. flags+=("--user=")
  2330. flags+=("--username=")
  2331. flags+=("--v=")
  2332. flags+=("--vmodule=")
  2333. must_have_one_flag=()
  2334. must_have_one_noun=()
  2335. }
  2336. _kubectl_config_unset()
  2337. {
  2338. last_command="kubectl_config_unset"
  2339. commands=()
  2340. flags=()
  2341. two_word_flags=()
  2342. flags_with_completion=()
  2343. flags_completion=()
  2344. flags+=("--alsologtostderr")
  2345. flags+=("--api-version=")
  2346. flags+=("--certificate-authority=")
  2347. flags+=("--client-certificate=")
  2348. flags+=("--client-key=")
  2349. flags+=("--cluster=")
  2350. flags+=("--context=")
  2351. flags+=("--insecure-skip-tls-verify")
  2352. flags+=("--kubeconfig=")
  2353. flags+=("--log-backtrace-at=")
  2354. flags+=("--log-dir=")
  2355. flags+=("--log-flush-frequency=")
  2356. flags+=("--logtostderr")
  2357. flags+=("--match-server-version")
  2358. flags+=("--namespace=")
  2359. flags+=("--password=")
  2360. flags+=("--server=")
  2361. two_word_flags+=("-s")
  2362. flags+=("--stderrthreshold=")
  2363. flags+=("--token=")
  2364. flags+=("--user=")
  2365. flags+=("--username=")
  2366. flags+=("--v=")
  2367. flags+=("--vmodule=")
  2368. must_have_one_flag=()
  2369. must_have_one_noun=()
  2370. }
  2371. _kubectl_config_current-context()
  2372. {
  2373. last_command="kubectl_config_current-context"
  2374. commands=()
  2375. flags=()
  2376. two_word_flags=()
  2377. flags_with_completion=()
  2378. flags_completion=()
  2379. flags+=("--alsologtostderr")
  2380. flags+=("--api-version=")
  2381. flags+=("--certificate-authority=")
  2382. flags+=("--client-certificate=")
  2383. flags+=("--client-key=")
  2384. flags+=("--cluster=")
  2385. flags+=("--context=")
  2386. flags+=("--insecure-skip-tls-verify")
  2387. flags+=("--kubeconfig=")
  2388. flags+=("--log-backtrace-at=")
  2389. flags+=("--log-dir=")
  2390. flags+=("--log-flush-frequency=")
  2391. flags+=("--logtostderr")
  2392. flags+=("--match-server-version")
  2393. flags+=("--namespace=")
  2394. flags+=("--password=")
  2395. flags+=("--server=")
  2396. two_word_flags+=("-s")
  2397. flags+=("--stderrthreshold=")
  2398. flags+=("--token=")
  2399. flags+=("--user=")
  2400. flags+=("--username=")
  2401. flags+=("--v=")
  2402. flags+=("--vmodule=")
  2403. must_have_one_flag=()
  2404. must_have_one_noun=()
  2405. }
  2406. _kubectl_config_use-context()
  2407. {
  2408. last_command="kubectl_config_use-context"
  2409. commands=()
  2410. flags=()
  2411. two_word_flags=()
  2412. flags_with_completion=()
  2413. flags_completion=()
  2414. flags+=("--alsologtostderr")
  2415. flags+=("--api-version=")
  2416. flags+=("--certificate-authority=")
  2417. flags+=("--client-certificate=")
  2418. flags+=("--client-key=")
  2419. flags+=("--cluster=")
  2420. flags+=("--context=")
  2421. flags+=("--insecure-skip-tls-verify")
  2422. flags+=("--kubeconfig=")
  2423. flags+=("--log-backtrace-at=")
  2424. flags+=("--log-dir=")
  2425. flags+=("--log-flush-frequency=")
  2426. flags+=("--logtostderr")
  2427. flags+=("--match-server-version")
  2428. flags+=("--namespace=")
  2429. flags+=("--password=")
  2430. flags+=("--server=")
  2431. two_word_flags+=("-s")
  2432. flags+=("--stderrthreshold=")
  2433. flags+=("--token=")
  2434. flags+=("--user=")
  2435. flags+=("--username=")
  2436. flags+=("--v=")
  2437. flags+=("--vmodule=")
  2438. must_have_one_flag=()
  2439. must_have_one_noun=()
  2440. }
  2441. _kubectl_config()
  2442. {
  2443. last_command="kubectl_config"
  2444. commands=()
  2445. commands+=("view")
  2446. commands+=("set-cluster")
  2447. commands+=("set-credentials")
  2448. commands+=("set-context")
  2449. commands+=("set")
  2450. commands+=("unset")
  2451. commands+=("current-context")
  2452. commands+=("use-context")
  2453. flags=()
  2454. two_word_flags=()
  2455. flags_with_completion=()
  2456. flags_completion=()
  2457. flags+=("--kubeconfig=")
  2458. flags+=("--alsologtostderr")
  2459. flags+=("--api-version=")
  2460. flags+=("--certificate-authority=")
  2461. flags+=("--client-certificate=")
  2462. flags+=("--client-key=")
  2463. flags+=("--cluster=")
  2464. flags+=("--context=")
  2465. flags+=("--insecure-skip-tls-verify")
  2466. flags+=("--log-backtrace-at=")
  2467. flags+=("--log-dir=")
  2468. flags+=("--log-flush-frequency=")
  2469. flags+=("--logtostderr")
  2470. flags+=("--match-server-version")
  2471. flags+=("--namespace=")
  2472. flags+=("--password=")
  2473. flags+=("--server=")
  2474. two_word_flags+=("-s")
  2475. flags+=("--stderrthreshold=")
  2476. flags+=("--token=")
  2477. flags+=("--user=")
  2478. flags+=("--username=")
  2479. flags+=("--v=")
  2480. flags+=("--vmodule=")
  2481. must_have_one_flag=()
  2482. must_have_one_noun=()
  2483. }
  2484. _kubectl_cluster-info()
  2485. {
  2486. last_command="kubectl_cluster-info"
  2487. commands=()
  2488. flags=()
  2489. two_word_flags=()
  2490. flags_with_completion=()
  2491. flags_completion=()
  2492. flags+=("--include-extended-apis")
  2493. flags+=("--alsologtostderr")
  2494. flags+=("--api-version=")
  2495. flags+=("--certificate-authority=")
  2496. flags+=("--client-certificate=")
  2497. flags+=("--client-key=")
  2498. flags+=("--cluster=")
  2499. flags+=("--context=")
  2500. flags+=("--insecure-skip-tls-verify")
  2501. flags+=("--kubeconfig=")
  2502. flags+=("--log-backtrace-at=")
  2503. flags+=("--log-dir=")
  2504. flags+=("--log-flush-frequency=")
  2505. flags+=("--logtostderr")
  2506. flags+=("--match-server-version")
  2507. flags+=("--namespace=")
  2508. flags+=("--password=")
  2509. flags+=("--server=")
  2510. two_word_flags+=("-s")
  2511. flags+=("--stderrthreshold=")
  2512. flags+=("--token=")
  2513. flags+=("--user=")
  2514. flags+=("--username=")
  2515. flags+=("--v=")
  2516. flags+=("--vmodule=")
  2517. must_have_one_flag=()
  2518. must_have_one_noun=()
  2519. }
  2520. _kubectl_api-versions()
  2521. {
  2522. last_command="kubectl_api-versions"
  2523. commands=()
  2524. flags=()
  2525. two_word_flags=()
  2526. flags_with_completion=()
  2527. flags_completion=()
  2528. flags+=("--alsologtostderr")
  2529. flags+=("--api-version=")
  2530. flags+=("--certificate-authority=")
  2531. flags+=("--client-certificate=")
  2532. flags+=("--client-key=")
  2533. flags+=("--cluster=")
  2534. flags+=("--context=")
  2535. flags+=("--insecure-skip-tls-verify")
  2536. flags+=("--kubeconfig=")
  2537. flags+=("--log-backtrace-at=")
  2538. flags+=("--log-dir=")
  2539. flags+=("--log-flush-frequency=")
  2540. flags+=("--logtostderr")
  2541. flags+=("--match-server-version")
  2542. flags+=("--namespace=")
  2543. flags+=("--password=")
  2544. flags+=("--server=")
  2545. two_word_flags+=("-s")
  2546. flags+=("--stderrthreshold=")
  2547. flags+=("--token=")
  2548. flags+=("--user=")
  2549. flags+=("--username=")
  2550. flags+=("--v=")
  2551. flags+=("--vmodule=")
  2552. must_have_one_flag=()
  2553. must_have_one_noun=()
  2554. }
  2555. _kubectl_version()
  2556. {
  2557. last_command="kubectl_version"
  2558. commands=()
  2559. flags=()
  2560. two_word_flags=()
  2561. flags_with_completion=()
  2562. flags_completion=()
  2563. flags+=("--client")
  2564. flags+=("-c")
  2565. flags+=("--alsologtostderr")
  2566. flags+=("--api-version=")
  2567. flags+=("--certificate-authority=")
  2568. flags+=("--client-certificate=")
  2569. flags+=("--client-key=")
  2570. flags+=("--cluster=")
  2571. flags+=("--context=")
  2572. flags+=("--insecure-skip-tls-verify")
  2573. flags+=("--kubeconfig=")
  2574. flags+=("--log-backtrace-at=")
  2575. flags+=("--log-dir=")
  2576. flags+=("--log-flush-frequency=")
  2577. flags+=("--logtostderr")
  2578. flags+=("--match-server-version")
  2579. flags+=("--namespace=")
  2580. flags+=("--password=")
  2581. flags+=("--server=")
  2582. two_word_flags+=("-s")
  2583. flags+=("--stderrthreshold=")
  2584. flags+=("--token=")
  2585. flags+=("--user=")
  2586. flags+=("--username=")
  2587. flags+=("--v=")
  2588. flags+=("--vmodule=")
  2589. must_have_one_flag=()
  2590. must_have_one_noun=()
  2591. }
  2592. _kubectl_explain()
  2593. {
  2594. last_command="kubectl_explain"
  2595. commands=()
  2596. flags=()
  2597. two_word_flags=()
  2598. flags_with_completion=()
  2599. flags_completion=()
  2600. flags+=("--include-extended-apis")
  2601. flags+=("--recursive")
  2602. flags+=("--alsologtostderr")
  2603. flags+=("--api-version=")
  2604. flags+=("--certificate-authority=")
  2605. flags+=("--client-certificate=")
  2606. flags+=("--client-key=")
  2607. flags+=("--cluster=")
  2608. flags+=("--context=")
  2609. flags+=("--insecure-skip-tls-verify")
  2610. flags+=("--kubeconfig=")
  2611. flags+=("--log-backtrace-at=")
  2612. flags+=("--log-dir=")
  2613. flags+=("--log-flush-frequency=")
  2614. flags+=("--logtostderr")
  2615. flags+=("--match-server-version")
  2616. flags+=("--namespace=")
  2617. flags+=("--password=")
  2618. flags+=("--server=")
  2619. two_word_flags+=("-s")
  2620. flags+=("--stderrthreshold=")
  2621. flags+=("--token=")
  2622. flags+=("--user=")
  2623. flags+=("--username=")
  2624. flags+=("--v=")
  2625. flags+=("--vmodule=")
  2626. must_have_one_flag=()
  2627. must_have_one_noun=()
  2628. }
  2629. _kubectl_convert()
  2630. {
  2631. last_command="kubectl_convert"
  2632. commands=()
  2633. flags=()
  2634. two_word_flags=()
  2635. flags_with_completion=()
  2636. flags_completion=()
  2637. flags+=("--filename=")
  2638. flags_with_completion+=("--filename")
  2639. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  2640. two_word_flags+=("-f")
  2641. flags_with_completion+=("-f")
  2642. flags_completion+=("__handle_filename_extension_flag json|yaml|yml")
  2643. flags+=("--include-extended-apis")
  2644. flags+=("--local")
  2645. flags+=("--no-headers")
  2646. flags+=("--output=")
  2647. two_word_flags+=("-o")
  2648. flags+=("--output-version=")
  2649. flags+=("--recursive")
  2650. flags+=("-R")
  2651. flags+=("--schema-cache-dir=")
  2652. flags_with_completion+=("--schema-cache-dir")
  2653. flags_completion+=("_filedir")
  2654. flags+=("--show-all")
  2655. flags+=("-a")
  2656. flags+=("--show-labels")
  2657. flags+=("--sort-by=")
  2658. flags+=("--template=")
  2659. flags_with_completion+=("--template")
  2660. flags_completion+=("_filedir")
  2661. two_word_flags+=("-t")
  2662. flags_with_completion+=("-t")
  2663. flags_completion+=("_filedir")
  2664. flags+=("--validate")
  2665. flags+=("--alsologtostderr")
  2666. flags+=("--api-version=")
  2667. flags+=("--certificate-authority=")
  2668. flags+=("--client-certificate=")
  2669. flags+=("--client-key=")
  2670. flags+=("--cluster=")
  2671. flags+=("--context=")
  2672. flags+=("--insecure-skip-tls-verify")
  2673. flags+=("--kubeconfig=")
  2674. flags+=("--log-backtrace-at=")
  2675. flags+=("--log-dir=")
  2676. flags+=("--log-flush-frequency=")
  2677. flags+=("--logtostderr")
  2678. flags+=("--match-server-version")
  2679. flags+=("--namespace=")
  2680. flags+=("--password=")
  2681. flags+=("--server=")
  2682. two_word_flags+=("-s")
  2683. flags+=("--stderrthreshold=")
  2684. flags+=("--token=")
  2685. flags+=("--user=")
  2686. flags+=("--username=")
  2687. flags+=("--v=")
  2688. flags+=("--vmodule=")
  2689. must_have_one_flag=()
  2690. must_have_one_flag+=("--filename=")
  2691. must_have_one_flag+=("-f")
  2692. must_have_one_noun=()
  2693. }
  2694. _kubectl()
  2695. {
  2696. last_command="kubectl"
  2697. commands=()
  2698. commands+=("get")
  2699. commands+=("describe")
  2700. commands+=("create")
  2701. commands+=("replace")
  2702. commands+=("patch")
  2703. commands+=("delete")
  2704. commands+=("edit")
  2705. commands+=("apply")
  2706. commands+=("namespace")
  2707. commands+=("logs")
  2708. commands+=("rolling-update")
  2709. commands+=("scale")
  2710. commands+=("cordon")
  2711. commands+=("drain")
  2712. commands+=("uncordon")
  2713. commands+=("attach")
  2714. commands+=("exec")
  2715. commands+=("port-forward")
  2716. commands+=("proxy")
  2717. commands+=("run")
  2718. commands+=("expose")
  2719. commands+=("autoscale")
  2720. commands+=("rollout")
  2721. commands+=("label")
  2722. commands+=("annotate")
  2723. commands+=("config")
  2724. commands+=("cluster-info")
  2725. commands+=("api-versions")
  2726. commands+=("version")
  2727. commands+=("explain")
  2728. commands+=("convert")
  2729. flags=()
  2730. two_word_flags=()
  2731. flags_with_completion=()
  2732. flags_completion=()
  2733. flags+=("--alsologtostderr")
  2734. flags+=("--api-version=")
  2735. flags+=("--certificate-authority=")
  2736. flags+=("--client-certificate=")
  2737. flags+=("--client-key=")
  2738. flags+=("--cluster=")
  2739. flags+=("--context=")
  2740. flags+=("--insecure-skip-tls-verify")
  2741. flags+=("--kubeconfig=")
  2742. flags+=("--log-backtrace-at=")
  2743. flags+=("--log-dir=")
  2744. flags+=("--log-flush-frequency=")
  2745. flags+=("--logtostderr")
  2746. flags+=("--match-server-version")
  2747. flags+=("--namespace=")
  2748. flags+=("--password=")
  2749. flags+=("--server=")
  2750. two_word_flags+=("-s")
  2751. flags+=("--stderrthreshold=")
  2752. flags+=("--token=")
  2753. flags+=("--user=")
  2754. flags+=("--username=")
  2755. flags+=("--v=")
  2756. flags+=("--vmodule=")
  2757. must_have_one_flag=()
  2758. must_have_one_noun=()
  2759. }
  2760. __start_kubectl()
  2761. {
  2762. local cur prev words cword
  2763. if declare -F _init_completion >/dev/null 2>&1; then
  2764. _init_completion -s || return
  2765. else
  2766. __my_init_completion || return
  2767. fi
  2768. local c=0
  2769. local flags=()
  2770. local two_word_flags=()
  2771. local flags_with_completion=()
  2772. local flags_completion=()
  2773. local commands=("kubectl")
  2774. local must_have_one_flag=()
  2775. local must_have_one_noun=()
  2776. local last_command
  2777. local nouns=()
  2778. __handle_word
  2779. }
  2780. if [[ $(type -t compopt) = "builtin" ]]; then
  2781. complete -F __start_kubectl kubectl
  2782. else
  2783. complete -o nospace -F __start_kubectl kubectl
  2784. fi
  2785. # ex: ts=4 sw=4 et filetype=sh