forked from TrueCloudLab/frostfs-node
[#1030] adm: Add command morph ape list-targets
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
bd216b79cb
commit
7278201753
3 changed files with 55 additions and 11 deletions
|
@ -82,6 +82,15 @@ var (
|
|||
},
|
||||
Run: getAdmin,
|
||||
}
|
||||
|
||||
listTargetsCmd = &cobra.Command{
|
||||
Use: "list-targets",
|
||||
Short: "List targets",
|
||||
PreRun: func(cmd *cobra.Command, _ []string) {
|
||||
_ = viper.BindPFlag(commonflags.EndpointFlag, cmd.Flags().Lookup(commonflags.EndpointFlag))
|
||||
},
|
||||
Run: listTargets,
|
||||
}
|
||||
)
|
||||
|
||||
func initAddRuleChainCmd() {
|
||||
|
@ -146,6 +155,14 @@ func initGetAdminCmd() {
|
|||
getAdminCmd.Flags().StringP(commonflags.EndpointFlag, commonflags.EndpointFlagShort, "", commonflags.EndpointFlagDesc)
|
||||
}
|
||||
|
||||
func initListTargetsCmd() {
|
||||
Cmd.AddCommand(listTargetsCmd)
|
||||
|
||||
listTargetsCmd.Flags().StringP(commonflags.EndpointFlag, commonflags.EndpointFlagShort, "", commonflags.EndpointFlagDesc)
|
||||
listTargetsCmd.Flags().StringP(targetTypeFlag, "t", "", targetTypeDesc)
|
||||
_ = listTargetsCmd.MarkFlagRequired(targetTypeFlag)
|
||||
}
|
||||
|
||||
func addRuleChain(cmd *cobra.Command, _ []string) {
|
||||
chain := parseChain(cmd)
|
||||
target := parseTarget(cmd)
|
||||
|
@ -215,6 +232,29 @@ func getAdmin(cmd *cobra.Command, _ []string) {
|
|||
cmd.Println(addr.StringLE())
|
||||
}
|
||||
|
||||
func listTargets(cmd *cobra.Command, _ []string) {
|
||||
typ, err := parseTargetType(cmd)
|
||||
commonCmd.ExitOnErr(cmd, "parse target type error: %w", err)
|
||||
pci, inv := newPolicyContractReaderInterface(cmd)
|
||||
|
||||
sid, it, err := pci.ListTargetsIterator(typ)
|
||||
commonCmd.ExitOnErr(cmd, "list targets error: %w", err)
|
||||
items, err := inv.TraverseIterator(sid, &it, 0)
|
||||
for err == nil && len(items) != 0 {
|
||||
for _, item := range items {
|
||||
bts, err := item.TryBytes()
|
||||
commonCmd.ExitOnErr(cmd, "list targets error: %w", err)
|
||||
if len(bts) == 0 {
|
||||
cmd.Println("(no name)")
|
||||
} else {
|
||||
cmd.Println(string(bts))
|
||||
}
|
||||
}
|
||||
items, err = inv.TraverseIterator(sid, &it, 0)
|
||||
commonCmd.ExitOnErr(cmd, "unable to list targets: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
func prettyJSONFormat(cmd *cobra.Command, chains []*apechain.Chain) {
|
||||
wr := bytes.NewBufferString("")
|
||||
data, err := json.Marshal(chains)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue