From 7d9f973dcbadc1d7659dcbc578ad680984980d3f Mon Sep 17 00:00:00 2001 From: Jonathan Fortin Date: Mon, 30 Nov 2020 14:21:41 -0500 Subject: [PATCH 1/2] Condense commands --- pkg/cmd/{infra.go => orphan.go} | 73 ++++++++++------------- pkg/cmd/{infra_test.go => orphan_test.go} | 2 +- pkg/cmd/root.go | 2 +- 3 files changed, 32 insertions(+), 45 deletions(-) rename pkg/cmd/{infra.go => orphan.go} (91%) rename pkg/cmd/{infra_test.go => orphan_test.go} (97%) diff --git a/pkg/cmd/infra.go b/pkg/cmd/orphan.go similarity index 91% rename from pkg/cmd/infra.go rename to pkg/cmd/orphan.go index 2fc9f65cd..f166f9501 100644 --- a/pkg/cmd/infra.go +++ b/pkg/cmd/orphan.go @@ -28,61 +28,48 @@ import ( ) // NewInfraCmd returns a new infra command -func NewInfraCmd(targetReader TargetReader) *cobra.Command { +func NewOrphanCmd(targetReader TargetReader) *cobra.Command { return &cobra.Command{ - Use: "infra [(orphan)] [(list)]", - Short: "Manage shoot infra resources\n", + Use: "orphan", + Short: "List shoot resources that do not exist in the Gardener terraform state\n", SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { target := targetReader.ReadTarget(pathTarget) if !CheckShootIsTargeted(target) { return errors.New("no shoot targeted") } - if len(args) < 2 || len(args) > 2 { - return errors.New("command must be in the format: infra [orphan] [list]") + var rs []string + pathTerraformState := filepath.Join(downloadTerraformFiles("infra", targetReader), "terraform.tfstate") + buf, err := ioutil.ReadFile(pathTerraformState) + if err != nil || len(buf) < 64 { + fmt.Println("Could not read terraform.tfstate: " + pathTerraformState) + os.Exit(2) } - switch args[0] { - case "orphan": - switch args[1] { - case "list": - var rs []string - pathTerraformState := filepath.Join(downloadTerraformFiles("infra", targetReader), "terraform.tfstate") - buf, err := ioutil.ReadFile(pathTerraformState) - if err != nil || len(buf) < 64 { - fmt.Println("Could not read terraform.tfstate: " + pathTerraformState) - os.Exit(2) - } - terraformstate := string(buf) + terraformstate := string(buf) - shoot, err := FetchShootFromTarget(target) - checkError(err) - infraType := shoot.Spec.Provider.Type - - switch infraType { - case "aws": - rs = getAWSInfraResources(targetReader) - case "azure": - rs = getAzureInfraResources(targetReader) - case "gcp": - rs = getGCPInfraResources(targetReader) - case "openstack": - rs = getOstackInfraResources(targetReader) - case "alicloud": - rs = getAliCloudInfraResources(targetReader) - default: - return errors.New("infra type not found") - } - - err = GetOrphanInfraResources(rs, terraformstate) - checkError(err) - fmt.Printf("\n\nsearched %s\n", pathTerraformState) - default: - fmt.Println("command must be in the format: infra [orphan] [list]") - } + shoot, err := FetchShootFromTarget(target) + checkError(err) + infraType := shoot.Spec.Provider.Type + + switch infraType { + case "aws": + rs = getAWSInfraResources(targetReader) + case "azure": + rs = getAzureInfraResources(targetReader) + case "gcp": + rs = getGCPInfraResources(targetReader) + case "openstack": + rs = getOstackInfraResources(targetReader) + case "alicloud": + rs = getAliCloudInfraResources(targetReader) default: - fmt.Println("command must be in the format: infra [orphan] [list]") + return errors.New("infra type not found") } + err = GetOrphanInfraResources(rs, terraformstate) + checkError(err) + fmt.Printf("\n\nsearched %s\n", pathTerraformState) + return nil }, ValidArgs: []string{"orphan"}, diff --git a/pkg/cmd/infra_test.go b/pkg/cmd/orphan_test.go similarity index 97% rename from pkg/cmd/infra_test.go rename to pkg/cmd/orphan_test.go index 3836ef319..03d35e8cb 100644 --- a/pkg/cmd/infra_test.go +++ b/pkg/cmd/orphan_test.go @@ -20,7 +20,7 @@ import ( . "github.com/onsi/gomega" ) -var _ = Describe("Infra", func() { +var _ = Describe("Orphan", func() { var rs = []string{"vpc-03cb057da4ded427f"} terraformstate := ` }, diff --git a/pkg/cmd/root.go b/pkg/cmd/root.go index e46659170..68fee5af4 100644 --- a/pkg/cmd/root.go +++ b/pkg/cmd/root.go @@ -154,7 +154,7 @@ func init() { RootCmd.AddCommand(NewKubectlCmd(), NewKaCmd(), NewKsCmd(), NewKgCmd(), NewKnCmd()) RootCmd.AddCommand(NewKubectxCmd()) RootCmd.AddCommand(NewTerraformCmd(targetReader)) - RootCmd.AddCommand(NewInfraCmd(targetReader)) + RootCmd.AddCommand(NewOrphanCmd(targetReader)) RootCmd.AddCommand(NewAliyunCmd(targetReader), NewAwsCmd(targetReader), NewAzCmd(targetReader), NewGcloudCmd(targetReader), NewOpenstackCmd(targetReader)) RootCmd.AddCommand(NewInfoCmd(targetReader, ioStreams)) RootCmd.AddCommand(NewVersionCmd(), NewUpdateCheckCmd()) From 9b3e0d234522f5fc91ca7f6291d3dfbd9c4e770c Mon Sep 17 00:00:00 2001 From: Jonathan Fortin Date: Tue, 1 Dec 2020 08:24:20 -0500 Subject: [PATCH 2/2] Updates --- pkg/cmd/orphan.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cmd/orphan.go b/pkg/cmd/orphan.go index f166f9501..4ef26630a 100644 --- a/pkg/cmd/orphan.go +++ b/pkg/cmd/orphan.go @@ -27,7 +27,7 @@ import ( "github.com/spf13/cobra" ) -// NewInfraCmd returns a new infra command +// NewOrphanCmd returns a new orphan command func NewOrphanCmd(targetReader TargetReader) *cobra.Command { return &cobra.Command{ Use: "orphan",