[#908] adm/frostfsid: Add parameter validations

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2024-01-17 11:35:09 +03:00 committed by Evgenii Stratonikov
parent 136acdba21
commit e42262a863
3 changed files with 199 additions and 15 deletions

View file

@ -28,6 +28,8 @@ const (
groupIDFlag = "group-id"
)
const rootNamespacePlaceholder = "<root>"
var (
frostfsidCmd = &cobra.Command{
Use: "frostfsid",
@ -220,7 +222,7 @@ func initFrostfsIDListGroupSubjectsCmd() {
}
func frostfsidCreateNamespace(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
ns := getFrostfsIDNamespace(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract client: %w", err)
@ -241,13 +243,16 @@ func frostfsidListNamespaces(cmd *cobra.Command, _ []string) {
sort.Slice(namespaces, func(i, j int) bool { return namespaces[i].Name < namespaces[j].Name })
for _, namespace := range namespaces {
cmd.Printf("%q\n", namespace.Name)
if namespace.Name == "" {
namespace.Name = rootNamespacePlaceholder
}
cmd.Printf("%s\n", namespace.Name)
}
}
func frostfsidCreateSubject(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
subjName, _ := cmd.Flags().GetString(subjectNameFlag)
ns := getFrostfsIDNamespace(cmd)
subjName := getFrostfsIDSubjectName(cmd)
subjKey := getFrostfsIDSubjectKey(cmd)
ffsid, err := newFrostfsIDClient(cmd)
@ -275,7 +280,7 @@ func frostfsidDeleteSubject(cmd *cobra.Command, _ []string) {
}
func frostfsidListSubjects(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
ns := getFrostfsIDNamespace(cmd)
includeNames, _ := cmd.Flags().GetBool(includeNamesFlag)
ffsid, err := newFrostfsIDClient(cmd)
@ -300,8 +305,8 @@ func frostfsidListSubjects(cmd *cobra.Command, _ []string) {
}
func frostfsidCreateGroup(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
groupName, _ := cmd.Flags().GetString(groupNameFlag)
ns := getFrostfsIDNamespace(cmd)
groupName := getFrostfsIDGroupName(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract client: %w", err)
@ -315,8 +320,8 @@ func frostfsidCreateGroup(cmd *cobra.Command, _ []string) {
}
func frostfsidDeleteGroup(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
groupID, _ := cmd.Flags().GetInt64(groupIDFlag)
ns := getFrostfsIDNamespace(cmd)
groupID := getFrostfsIDGroupID(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract client: %w", err)
@ -328,7 +333,7 @@ func frostfsidDeleteGroup(cmd *cobra.Command, _ []string) {
}
func frostfsidListGroups(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
ns := getFrostfsIDNamespace(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract invoker: %w", err)
@ -339,13 +344,13 @@ func frostfsidListGroups(cmd *cobra.Command, _ []string) {
sort.Slice(groups, func(i, j int) bool { return groups[i].Name < groups[j].Name })
for _, group := range groups {
cmd.Printf("%q (%d)\n", group.Name, group.ID)
cmd.Printf("%s (%d)\n", group.Name, group.ID)
}
}
func frostfsidAddSubjectToGroup(cmd *cobra.Command, _ []string) {
subjectAddress := getFrostfsIDSubjectAddress(cmd)
groupID, _ := cmd.Flags().GetInt64(groupIDFlag)
groupID := getFrostfsIDGroupID(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract client: %w", err)
@ -358,7 +363,7 @@ func frostfsidAddSubjectToGroup(cmd *cobra.Command, _ []string) {
func frostfsidRemoveSubjectFromGroup(cmd *cobra.Command, _ []string) {
subjectAddress := getFrostfsIDSubjectAddress(cmd)
groupID, _ := cmd.Flags().GetInt64(groupIDFlag)
groupID := getFrostfsIDGroupID(cmd)
ffsid, err := newFrostfsIDClient(cmd)
commonCmd.ExitOnErr(cmd, "init contract client: %w", err)
@ -370,8 +375,8 @@ func frostfsidRemoveSubjectFromGroup(cmd *cobra.Command, _ []string) {
}
func frostfsidListGroupSubjects(cmd *cobra.Command, _ []string) {
ns, _ := cmd.Flags().GetString(namespaceFlag)
groupID, _ := cmd.Flags().GetInt64(groupIDFlag)
ns := getFrostfsIDNamespace(cmd)
groupID := getFrostfsIDGroupID(cmd)
includeNames, _ := cmd.Flags().GetBool(includeNamesFlag)
ffsid, err := newFrostfsIDClient(cmd)