-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathautocomplete
More file actions
137 lines (135 loc) · 4.73 KB
/
autocomplete
File metadata and controls
137 lines (135 loc) · 4.73 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
cumulus_command="cumulus"
function _cumulus {
local cur=${COMP_WORDS[COMP_CWORD]}
local prev=${COMP_WORDS[COMP_CWORD-1]}
local twoprev=${COMP_WORDS[COMP_CWORD-2]}
local threeprev=${COMP_WORDS[COMP_CWORD-3]}
case "$threeprev" in
iam)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} iam "$twoprev" list)
COMPREPLY=( $(compgen -W "$configs" -- $cur ) )
fi
;;
ec2)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} ec2 "$twoprev" list)
COMPREPLY=( $(compgen -W "$configs" -- $cur ) )
fi
;;
*)
case "$twoprev" in
iam)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
autoscaling)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} autoscaling list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
cloudfront)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} cloudfront list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
if [ "$prev" == "invalidate" ]; then
configs=$(${cumulus_command} cloudfront invalidate list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
elb)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} elb list)
COMPREPLY=( $(compgen -W "$configs" -- $cur))
fi
if [ "$prev" == "migrate" ]; then
COMPREPLY=( $(compgen -W "default-policies elbs" -- $cur) )
fi
;;
route53)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} route53 list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
s3)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} s3 list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
security-groups)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} security-groups list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
vpc)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} vpc list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
if [ "$prev" == "rename" ]; then
COMPREPLY=( $(compgen -W "network-acl policy route-table subnet vpc" -- $cur) )
fi
;;
kinesis)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} kinesis list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
sqs)
if [ "$prev" == "diff" ] || [ "$prev" == "sync" ]; then
configs=$(${cumulus_command} sqs list)
COMPREPLY=( $(compgen -W "$configs" -- $cur) )
fi
;;
ec2)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
*)
case "$prev" in
iam)
COMPREPLY=( $(compgen -W "groups roles users" -- $cur) )
;;
autoscaling)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
${cumulus_command})
COMPREPLY=( $(compgen -W "autoscaling cloudfront ec2 elb help iam kinesis route53 s3 security-groups sqs vpc" -- $cur) )
;;
cloudfront)
COMPREPLY=( $(compgen -W "diff invalidate list migrate sync" -- $cur) )
;;
elb)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
route53)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
s3)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
security-groups)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
vpc)
COMPREPLY=( $(compgen -W "diff list migrate sync rename" -- $cur) )
;;
kinesis)
COMPREPLY=( $(compgen -W "diff list migrate sync" -- $cur) )
;;
sqs)
COMPREPLY=( $(compgen -W "diff list migrate sync urls" -- $cur) )
;;
ec2)
COMPREPLY=( $(compgen -W "ebs instances" -- $cur) )
;;
esac
;;
esac
esac
}
complete -F _cumulus ${cumulus_command}