Skip to content

Commit 14452c2

Browse files
committed
Add completion for parameters values
Signed-off-by: Vr00mm <[email protected]>
1 parent c3db8e7 commit 14452c2

File tree

14 files changed

+233
-19
lines changed

14 files changed

+233
-19
lines changed

pkg/cmd/connect/infra.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ package connect
1717

1818
import (
1919
"fmt"
20+
"os"
21+
2022
"github.com/litmuschaos/litmusctl/pkg/apis/environment"
2123
"github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
22-
"os"
24+
"github.com/litmuschaos/litmusctl/pkg/completion"
2325

2426
"github.com/litmuschaos/litmusctl/pkg/apis"
2527
"github.com/litmuschaos/litmusctl/pkg/k8s"
@@ -283,4 +285,9 @@ func init() {
283285
infraCmd.Flags().Bool("skip-ssl", false, "Set whether Chaos infra will skip ssl/tls check (can be used for self-signed certs, if cert is not provided in portal)")
284286
infraCmd.Flags().Bool("ns-exists", false, "Set the --ns-exists=false if the namespace mentioned in the --namespace flag is not existed else set it to --ns-exists=true | Note: Always set the boolean flag as --ns-exists=Boolean")
285287
infraCmd.Flags().Bool("sa-exists", false, "Set the --sa-exists=false if the service-account mentioned in the --service-account flag is not existed else set it to --sa-exists=true | Note: Always set the boolean flag as --sa-exists=Boolean\"\n")
288+
289+
infraCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
290+
infraCmd.RegisterFlagCompletionFunc("installation-mode", completion.InstallModeTypeFlagCompletion)
291+
infraCmd.RegisterFlagCompletionFunc("platform-name", completion.PlatformNameFlagCompletion)
292+
infraCmd.RegisterFlagCompletionFunc("chaos-infra-type", completion.ChaosInfraTypeFlagCompletion)
286293
}

pkg/cmd/create/environment.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ package create
1717

1818
import (
1919
"fmt"
20+
"os"
21+
2022
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
2123
"github.com/litmuschaos/litmusctl/pkg/apis"
2224
"github.com/litmuschaos/litmusctl/pkg/apis/environment"
25+
"github.com/litmuschaos/litmusctl/pkg/completion"
2326
"github.com/litmuschaos/litmusctl/pkg/ops"
2427
"github.com/litmuschaos/litmusctl/pkg/utils"
2528
"github.com/spf13/cobra"
26-
"os"
2729
)
2830

2931
// environmentCmd represents the Chaos infra command
@@ -155,4 +157,8 @@ func init() {
155157
environmentCmd.Flags().String("type", "NON_PROD", "Set the installation mode for the kind of Chaos infra | Supported=cluster/namespace")
156158
environmentCmd.Flags().String("name", "", "Set the Chaos infra name")
157159
environmentCmd.Flags().String("description", "---", "Set the Chaos infra description")
160+
161+
environmentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
162+
environmentCmd.RegisterFlagCompletionFunc("type", completion.InstallModeTypeFlagCompletion)
163+
158164
}

pkg/cmd/create/experiment.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ package create
1717

1818
import (
1919
"fmt"
20+
"os"
21+
"strings"
22+
2023
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
2124
"github.com/litmuschaos/litmusctl/pkg/apis"
2225
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
26+
"github.com/litmuschaos/litmusctl/pkg/completion"
2327
"github.com/litmuschaos/litmusctl/pkg/utils"
24-
"os"
25-
"strings"
2628

2729
"github.com/spf13/cobra"
2830
)
@@ -145,4 +147,8 @@ func init() {
145147
experimentCmd.Flags().String("chaos-infra-id", "", "Set the chaos-infra-id to create Chaos Experiment for the particular Chaos Infrastructure. To see the Chaos Infrastructures, apply litmusctl get chaos-infra")
146148
experimentCmd.Flags().StringP("file", "f", "", "The manifest file for the Chaos Experiment")
147149
experimentCmd.Flags().StringP("description", "d", "", "The Description for the Chaos Experiment")
150+
151+
experimentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
152+
experimentCmd.RegisterFlagCompletionFunc("chaos-infra-id", completion.ChaosInfraFlagCompletion)
153+
148154
}

pkg/cmd/delete/experiment.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ package delete
1717

1818
import (
1919
"fmt"
20-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
2120
"os"
2221

22+
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
23+
"github.com/litmuschaos/litmusctl/pkg/completion"
24+
2325
"github.com/litmuschaos/litmusctl/pkg/apis"
2426
"github.com/litmuschaos/litmusctl/pkg/utils"
2527

@@ -36,7 +38,7 @@ var experimentCmd = &cobra.Command{
3638
3739
Note: The default location of the config file is $HOME/.litmusconfig, and can be overridden by a --config flag
3840
`,
39-
Args: cobra.ExactArgs(1),
41+
ValidArgsFunction: completion.ExperimentIDCompletion,
4042
Run: func(cmd *cobra.Command, args []string) {
4143

4244
// Fetch user credentials
@@ -109,4 +111,6 @@ func init() {
109111
DeleteCmd.AddCommand(experimentCmd)
110112

111113
experimentCmd.Flags().String("project-id", "", "Set the project-id to create Chaos Experiment for the particular project. To see the projects, apply litmusctl get projects")
114+
experimentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
115+
112116
}

pkg/cmd/describe/experiment.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ package describe
1717

1818
import (
1919
"fmt"
20-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
2120
"os"
2221
"strings"
2322

23+
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
24+
"github.com/litmuschaos/litmusctl/pkg/completion"
25+
2426
"github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
2527
"github.com/litmuschaos/litmusctl/pkg/utils"
2628
"github.com/spf13/cobra"
@@ -29,9 +31,11 @@ import (
2931

3032
// experimentCmd represents the Chaos Experiment command
3133
var experimentCmd = &cobra.Command{
32-
Use: "chaos-experiment",
33-
Short: "Describe a Chaos Experiment within the project",
34-
Long: `Describe a Chaos Experiment within the project`,
34+
Use: "chaos-experiment",
35+
Short: "Describe a Chaos Experiment within the project",
36+
Long: `Describe a Chaos Experiment within the project`,
37+
ValidArgsFunction: completion.ExperimentIDCompletion,
38+
3539
Run: func(cmd *cobra.Command, args []string) {
3640
credentials, err := utils.GetCredentials(cmd)
3741
utils.PrintError(err)
@@ -96,4 +100,6 @@ func init() {
96100
DescribeCmd.AddCommand(experimentCmd)
97101

98102
experimentCmd.Flags().String("project-id", "", "Set the project-id to list Chaos Experiments from the particular project. To see the projects, apply litmusctl get projects")
103+
experimentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
104+
99105
}

pkg/cmd/disconnect/infra.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ package disconnect
1717

1818
import (
1919
"fmt"
20-
"github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
2120
"os"
2221
"strings"
2322

23+
"github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
24+
"github.com/litmuschaos/litmusctl/pkg/completion"
25+
2426
"github.com/litmuschaos/litmusctl/pkg/apis"
2527
"github.com/litmuschaos/litmusctl/pkg/utils"
2628

@@ -114,4 +116,6 @@ func init() {
114116
DisconnectCmd.AddCommand(infraCmd)
115117

116118
infraCmd.Flags().String("project-id", "", "Set the project-id to disconnect Chaos Infrastructure for the particular project. To see the projects, apply litmusctl get projects")
119+
infraCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
120+
117121
}

pkg/cmd/get/experimentruns.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ package get
1717

1818
import (
1919
"fmt"
20-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
2120
"os"
2221
"strconv"
2322
"strings"
2423
"text/tabwriter"
2524
"time"
2625

26+
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
27+
"github.com/litmuschaos/litmusctl/pkg/completion"
28+
2729
"github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
2830
"github.com/litmuschaos/litmusctl/pkg/utils"
2931
"github.com/spf13/cobra"
@@ -120,4 +122,8 @@ func init() {
120122
experimentRunsCmd.Flags().BoolP("all", "A", false, "Set to true to display all Chaos Experiments runs")
121123

122124
experimentRunsCmd.Flags().StringP("output", "o", "", "Output format. One of:\njson|yaml")
125+
126+
experimentRunsCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
127+
experimentRunsCmd.RegisterFlagCompletionFunc("output", completion.OutputFlagCompletion)
128+
123129
}

pkg/cmd/get/experiments.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ package get
1717

1818
import (
1919
"fmt"
20-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
2120
"os"
2221
"strings"
2322
"text/tabwriter"
2423
"time"
2524

25+
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
26+
"github.com/litmuschaos/litmusctl/pkg/completion"
27+
2628
"github.com/gorhill/cronexpr"
2729
"github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
2830
"github.com/litmuschaos/litmusctl/pkg/utils"
@@ -121,4 +123,9 @@ func init() {
121123
experimentsCmd.Flags().StringP("chaos-infra", "A", "", "Set the Chaos Infrastructure name to display all Chaos experiments targeted towards that particular Chaos Infrastructure.")
122124

123125
experimentsCmd.Flags().StringP("output", "o", "", "Output format. One of:\njson|yaml")
126+
127+
experimentsCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
128+
experimentsCmd.RegisterFlagCompletionFunc("chaos-infra", completion.ChaosInfraFlagCompletion)
129+
experimentsCmd.RegisterFlagCompletionFunc("output", completion.OutputFlagCompletion)
130+
124131
}

pkg/cmd/get/infra.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ package get
1717

1818
import (
1919
"fmt"
20-
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
21-
"github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
2220
"os"
2321
"strings"
2422
"text/tabwriter"
2523

24+
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
25+
"github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
26+
"github.com/litmuschaos/litmusctl/pkg/completion"
27+
2628
"github.com/litmuschaos/litmusctl/pkg/utils"
2729
"github.com/spf13/cobra"
2830
)
@@ -94,4 +96,8 @@ func init() {
9496
InfraCmd.Flags().String("project-id", "", "Set the project-id. To retrieve projects. Apply `litmusctl get projects`")
9597

9698
InfraCmd.Flags().StringP("output", "o", "", "Output format. One of:\njson|yaml")
99+
100+
InfraCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
101+
InfraCmd.RegisterFlagCompletionFunc("output", completion.OutputFlagCompletion)
102+
97103
}

pkg/cmd/get/projects.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"time"
2222

2323
"github.com/litmuschaos/litmusctl/pkg/apis"
24+
"github.com/litmuschaos/litmusctl/pkg/completion"
2425
"github.com/litmuschaos/litmusctl/pkg/utils"
2526
"github.com/spf13/cobra"
2627
)
@@ -66,4 +67,6 @@ func init() {
6667
GetCmd.AddCommand(projectsCmd)
6768

6869
projectsCmd.Flags().StringP("output", "o", "", "Output format. One of:\njson|yaml")
70+
projectsCmd.RegisterFlagCompletionFunc("output", completion.OutputFlagCompletion)
71+
6972
}

pkg/cmd/run/experiment.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ package run
1717

1818
import (
1919
"fmt"
20+
"os"
21+
"strings"
22+
2023
"github.com/litmuschaos/litmusctl/pkg/apis"
2124
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
25+
"github.com/litmuschaos/litmusctl/pkg/completion"
2226
"github.com/litmuschaos/litmusctl/pkg/utils"
2327
"github.com/spf13/cobra"
24-
"os"
25-
"strings"
2628
)
2729

2830
// experimentCmd represents the project command
@@ -118,4 +120,7 @@ func init() {
118120

119121
experimentCmd.Flags().String("project-id", "", "Set the project-id to create Chaos Experiment for the particular project. To see the projects, apply litmusctl get projects")
120122
experimentCmd.Flags().String("experiment-id", "", "Set the environment-id to create Chaos Experiment for the particular Chaos Infrastructure. To see the Chaos Infrastructures, apply litmusctl get chaos-infra")
123+
124+
experimentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
125+
experimentCmd.RegisterFlagCompletionFunc("experiment-id", completion.ExperimentIDCompletion)
121126
}

pkg/cmd/save/experiment.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,13 @@ package save
1717

1818
import (
1919
"fmt"
20-
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
21-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
2220
"os"
2321
"strings"
22+
23+
models "github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
24+
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
25+
"github.com/litmuschaos/litmusctl/pkg/completion"
26+
2427
//"time"
2528

2629
//"github.com/gorhill/cronexpr"
@@ -146,4 +149,8 @@ func init() {
146149
experimentCmd.Flags().String("chaos-infra-id", "", "Set the chaos-infra-id to create Chaos Experiment for the particular Chaos Infrastructure. To see the Chaos Infrastructures, apply litmusctl get chaos-infra")
147150
experimentCmd.Flags().StringP("file", "f", "", "The manifest file for the Chaos Experiment")
148151
experimentCmd.Flags().StringP("description", "d", "", "The Description for the Chaos Experiment")
152+
153+
experimentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
154+
experimentCmd.RegisterFlagCompletionFunc("chaos-infra-id", completion.ChaosInfraFlagCompletion)
155+
149156
}

pkg/cmd/upgrade/agent.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"os"
2222

2323
"github.com/litmuschaos/litmusctl/pkg/apis"
24+
"github.com/litmuschaos/litmusctl/pkg/completion"
2425
"github.com/litmuschaos/litmusctl/pkg/utils"
2526
"github.com/spf13/cobra"
2627
)
@@ -66,4 +67,7 @@ func init() {
6667
agentCmd.Flags().String("project-id", "", "Enter the project ID")
6768
agentCmd.Flags().String("kubeconfig", "", "Enter the kubeconfig path(default: $HOME/.kube/config))")
6869
agentCmd.Flags().String("chaos-delegate-id", "", "Enter the Chaos Delegate ID")
70+
71+
agentCmd.RegisterFlagCompletionFunc("project-id", completion.ProjectIDFlagCompletion)
72+
6973
}

0 commit comments

Comments
 (0)