github.com/minio/mc@v0.0.0-20240503112107-b471de8d1882/cmd/admin-subnet-health.go (about) 1 // Copyright (c) 2015-2022 MinIO, Inc. 2 // 3 // This file is part of MinIO Object Storage stack 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Affero General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Affero General Public License for more details. 14 // 15 // You should have received a copy of the GNU Affero General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 package cmd 19 20 import ( 21 "fmt" 22 "strings" 23 24 "github.com/minio/cli" 25 "github.com/minio/minio-go/v7/pkg/set" 26 ) 27 28 var adminSubnetHealthCmd = cli.Command{ 29 Name: "health", 30 Usage: "generate MinIO health report for SUBNET", 31 OnUsageError: onUsageError, 32 Action: mainSubnetHealth, 33 Before: setGlobalsFromContext, 34 Hidden: true, 35 Flags: append(supportDiagFlags, globalFlags...), 36 CustomHelpTemplate: "This command is deprecated and will be removed in a future release. Use 'mc support diag' instead.\n", 37 } 38 39 func mainSubnetHealth(ctx *cli.Context) error { 40 boolValSet := set.CreateStringSet("true", "false") 41 newCmd := []string{"mc support diag"} 42 newCmd = append(newCmd, ctx.Args()...) 43 for _, flg := range ctx.Command.Flags { 44 flgName := flg.GetName() 45 if !ctx.IsSet(flgName) { 46 continue 47 } 48 49 // replace the deprecated --offline with --airgap 50 if flgName == "offline" { 51 flgName = "airgap" 52 } 53 54 flgStr := "--" + flgName 55 flgVal := ctx.String(flgName) 56 if !boolValSet.Contains(flgVal) { 57 flgStr = fmt.Sprintf("%s \"%s\"", flgStr, flgVal) 58 } 59 newCmd = append(newCmd, flgStr) 60 } 61 62 deprecatedError(strings.Join(newCmd, " ")) 63 return nil 64 }