summaryrefslogtreecommitdiff
path: root/bash_completion/cloud-init
blob: f38164b013d216965f08c67b8222f88fb11679ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Copyright (C) 2018 Canonical Ltd.
#
# This file is part of cloud-init. See LICENSE file for license information.

# bash completion for cloud-init cli
_cloudinit_complete()
{

    local cur_word prev_word
    cur_word="${COMP_WORDS[COMP_CWORD]}"
    prev_word="${COMP_WORDS[COMP_CWORD-1]}"

    subcmds="analyze clean collect-logs devel dhclient-hook features init modules single status"
    base_params="--help --file --version --debug --force"
    case ${COMP_CWORD} in
        1)
            COMPREPLY=($(compgen -W "$base_params $subcmds" -- $cur_word))
            ;;
        2)
            case ${prev_word} in
                analyze)
                    COMPREPLY=($(compgen -W "--help blame dump show" -- $cur_word))
                    ;;
                clean)
                    COMPREPLY=($(compgen -W "--help --logs --reboot --seed" -- $cur_word))
                    ;;
                collect-logs)
                    COMPREPLY=($(compgen -W "--help --tarfile --include-userdata" -- $cur_word))
                    ;;
                devel)
                    COMPREPLY=($(compgen -W "--help schema net-convert" -- $cur_word))
                    ;;
                dhclient-hook|features)
                    COMPREPLY=($(compgen -W "--help" -- $cur_word))
                    ;;
                init)
                    COMPREPLY=($(compgen -W "--help --local" -- $cur_word))
                    ;;
                modules)
                    COMPREPLY=($(compgen -W "--help --mode" -- $cur_word))
                    ;;

                single)
                    COMPREPLY=($(compgen -W "--help --name --frequency --report" -- $cur_word))
                    ;;
                status)
                    COMPREPLY=($(compgen -W "--help --long --wait" -- $cur_word))
                    ;;
            esac
            ;;
        3)
            case ${prev_word} in
                blame|dump)
                    COMPREPLY=($(compgen -W "--help --infile --outfile" -- $cur_word))
                    ;;
                --mode)
                    COMPREPLY=($(compgen -W "--help init config final" -- $cur_word))
                    ;;
                --frequency)
                    COMPREPLY=($(compgen -W "--help instance always once" -- $cur_word))
                    ;;
                net-convert)
                    COMPREPLY=($(compgen -W "--help --network-data --kind --directory --output-kind" -- $cur_word))
                    ;;
                schema)
                    COMPREPLY=($(compgen -W "--help --config-file --doc --annotate" -- $cur_word))
                    ;;
                show)
                    COMPREPLY=($(compgen -W "--help --format --infile --outfile" -- $cur_word))
                    ;;
            esac
            ;;
        *)
            COMPREPLY=()
            ;;
    esac
}
complete -F _cloudinit_complete cloud-init

# vi: syntax=sh expandtab