Allow cscli remove to remove with --all (#1360)
This commit is contained in:
parent
42a1bc0260
commit
24797c1534
4 changed files with 45 additions and 29 deletions
|
@ -67,26 +67,30 @@ func NewCollectionsCmd() *cobra.Command {
|
||||||
Short: "Remove given collection(s)",
|
Short: "Remove given collection(s)",
|
||||||
Long: `Remove given collection(s) from hub`,
|
Long: `Remove given collection(s) from hub`,
|
||||||
Example: `cscli collections remove crowdsec/xxx crowdsec/xyz`,
|
Example: `cscli collections remove crowdsec/xxx crowdsec/xyz`,
|
||||||
Args: cobra.MinimumNArgs(1),
|
|
||||||
DisableAutoGenTag: true,
|
DisableAutoGenTag: true,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
if all {
|
if all {
|
||||||
RemoveMany(cwhub.COLLECTIONS, "")
|
RemoveMany(cwhub.COLLECTIONS, "")
|
||||||
} else {
|
return
|
||||||
for _, name := range args {
|
}
|
||||||
if !forceAction {
|
|
||||||
item := cwhub.GetItem(cwhub.COLLECTIONS, name)
|
if len(args) == 0 {
|
||||||
if item == nil {
|
log.Fatalf("Specify at least one collection to remove or '--all' flag.")
|
||||||
log.Fatalf("unable to retrieve: %s\n", name)
|
}
|
||||||
}
|
|
||||||
if len(item.BelongsToCollections) > 0 {
|
for _, name := range args {
|
||||||
log.Warningf("%s belongs to other collections :\n%s\n", name, item.BelongsToCollections)
|
if !forceAction {
|
||||||
log.Printf("Run 'sudo cscli collections remove %s --force' if you want to force remove this sub collection\n", name)
|
item := cwhub.GetItem(cwhub.COLLECTIONS, name)
|
||||||
continue
|
if item == nil {
|
||||||
}
|
log.Fatalf("unable to retrieve: %s\n", name)
|
||||||
|
}
|
||||||
|
if len(item.BelongsToCollections) > 0 {
|
||||||
|
log.Warningf("%s belongs to other collections :\n%s\n", name, item.BelongsToCollections)
|
||||||
|
log.Printf("Run 'sudo cscli collections remove %s --force' if you want to force remove this sub collection\n", name)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
RemoveMany(cwhub.COLLECTIONS, name)
|
|
||||||
}
|
}
|
||||||
|
RemoveMany(cwhub.COLLECTIONS, name)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,15 +70,19 @@ cscli parsers remove crowdsecurity/sshd-logs
|
||||||
Short: "Remove given parser(s)",
|
Short: "Remove given parser(s)",
|
||||||
Long: `Remove given parse(s) from hub`,
|
Long: `Remove given parse(s) from hub`,
|
||||||
Example: `cscli parsers remove crowdsec/xxx crowdsec/xyz`,
|
Example: `cscli parsers remove crowdsec/xxx crowdsec/xyz`,
|
||||||
Args: cobra.MinimumNArgs(1),
|
|
||||||
DisableAutoGenTag: true,
|
DisableAutoGenTag: true,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
if all {
|
if all {
|
||||||
RemoveMany(cwhub.PARSERS, "")
|
RemoveMany(cwhub.PARSERS, "")
|
||||||
} else {
|
return
|
||||||
for _, name := range args {
|
}
|
||||||
RemoveMany(cwhub.PARSERS, name)
|
|
||||||
}
|
if len(args) == 0 {
|
||||||
|
log.Fatalf("Specify at least one parser to remove or '--all' flag.")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, name := range args {
|
||||||
|
RemoveMany(cwhub.PARSERS, name)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,14 +70,18 @@ func NewPostOverflowsCmd() *cobra.Command {
|
||||||
Long: `remove given postoverflow(s)`,
|
Long: `remove given postoverflow(s)`,
|
||||||
Example: `cscli postoverflows remove crowdsec/xxx crowdsec/xyz`,
|
Example: `cscli postoverflows remove crowdsec/xxx crowdsec/xyz`,
|
||||||
DisableAutoGenTag: true,
|
DisableAutoGenTag: true,
|
||||||
Args: cobra.MinimumNArgs(1),
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
if all {
|
if all {
|
||||||
RemoveMany(cwhub.PARSERS_OVFLW, "")
|
RemoveMany(cwhub.PARSERS_OVFLW, "")
|
||||||
} else {
|
return
|
||||||
for _, name := range args {
|
}
|
||||||
RemoveMany(cwhub.PARSERS_OVFLW, name)
|
|
||||||
}
|
if len(args) == 0 {
|
||||||
|
log.Fatalf("Specify at least one postoverflow to remove or '--all' flag.")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, name := range args {
|
||||||
|
RemoveMany(cwhub.PARSERS_OVFLW, name)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,15 +70,19 @@ cscli scenarios remove crowdsecurity/ssh-bf
|
||||||
Short: "Remove given scenario(s)",
|
Short: "Remove given scenario(s)",
|
||||||
Long: `remove given scenario(s)`,
|
Long: `remove given scenario(s)`,
|
||||||
Example: `cscli scenarios remove crowdsec/xxx crowdsec/xyz`,
|
Example: `cscli scenarios remove crowdsec/xxx crowdsec/xyz`,
|
||||||
Args: cobra.MinimumNArgs(1),
|
|
||||||
DisableAutoGenTag: true,
|
DisableAutoGenTag: true,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
if all {
|
if all {
|
||||||
RemoveMany(cwhub.SCENARIOS, "")
|
RemoveMany(cwhub.SCENARIOS, "")
|
||||||
} else {
|
return
|
||||||
for _, name := range args {
|
}
|
||||||
RemoveMany(cwhub.SCENARIOS, name)
|
|
||||||
}
|
if len(args) == 0 {
|
||||||
|
log.Fatalf("Specify at least one scenario to remove or '--all' flag.")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, name := range args {
|
||||||
|
RemoveMany(cwhub.SCENARIOS, name)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue