Skip to content

Commit

Permalink
RSDK-9286 - simplify org-location-machine-part hierarchy (#4703)
Browse files Browse the repository at this point in the history
  • Loading branch information
stuqdog authored Jan 16, 2025
1 parent dfcedd8 commit 89dbfcb
Show file tree
Hide file tree
Showing 3 changed files with 164 additions and 105 deletions.
156 changes: 71 additions & 85 deletions cli/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -1416,7 +1416,6 @@ var app = &cli.App{
Usage: "removes binary data with file IDs in a single org and location from dataset",
UsageText: createUsageText("dataset data remove",
[]string{datasetFlagDatasetID, generalFlagOrgID, dataFlagLocationID, dataFlagFileIDs}, false),
// TODO(RSDK-9286) do we need to ask for og and location here?
Flags: []cli.Flag{
&cli.StringFlag{
Name: datasetFlagDatasetID,
Expand Down Expand Up @@ -1741,8 +1740,14 @@ var app = &cli.App{
Name: "status",
Usage: "display machine status",
UsageText: createUsageText("machines status", []string{generalFlagMachine}, true),
// TODO(RSDK-9286) - do we need to ask for all three of these?
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -1753,13 +1758,6 @@ var app = &cli.App{
Aliases: []string{generalFlagLocationID, generalFlagAliasLocationName},
DefaultText: "first location alphabetically",
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
},
Action: createCommandWithT[robotsStatusArgs](RobotsStatusAction),
},
Expand All @@ -1768,8 +1766,14 @@ var app = &cli.App{
Aliases: []string{"log"},
Usage: "display machine logs",
UsageText: createUsageText("machines logs", []string{generalFlagMachine}, true),
// TODO(RSDK-9286) do we need to ask for og and location and machine here?
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -1780,13 +1784,6 @@ var app = &cli.App{
Aliases: []string{generalFlagLocationID, generalFlagAliasLocationName},
DefaultText: "first location alphabetically",
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&cli.StringFlag{
Name: logsFlagOutputFile,
Usage: "path to output file",
Expand Down Expand Up @@ -1827,9 +1824,15 @@ var app = &cli.App{
{
Name: "status",
Usage: "display part status",
UsageText: createUsageText("machines part status", []string{generalFlagMachine, generalFlagPart}, true),
// TODO(RSDK-9286) do we need to ask for og and location and machine and part here?
UsageText: createUsageText("machines part status", []string{generalFlagPart}, true),
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -1842,16 +1845,8 @@ var app = &cli.App{
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
},
Expand All @@ -1861,8 +1856,15 @@ var app = &cli.App{
Name: "logs",
Aliases: []string{"log"},
Usage: "display part logs",
UsageText: createUsageText("machines part logs", []string{generalFlagMachine, generalFlagPart}, true),
UsageText: createUsageText("machines part logs", []string{generalFlagPart}, true),
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -1875,16 +1877,8 @@ var app = &cli.App{
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
&cli.BoolFlag{
Expand All @@ -1908,9 +1902,15 @@ var app = &cli.App{
Name: "restart",
Aliases: []string{},
Usage: "request part restart",
UsageText: createUsageText("machines part restart", []string{generalFlagMachine, generalFlagPart}, true),
// TODO(RSDK-9286) revisit flags
UsageText: createUsageText("machines part restart", []string{generalFlagPart}, true),
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -1923,54 +1923,41 @@ var app = &cli.App{
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
},
Action: createCommandWithT[robotsPartRestartArgs](RobotsPartRestartAction),
},
{
Name: "run",
Usage: "run a command on a machine part",
UsageText: createUsageText("machines part run", []string{
generalFlagOrganization, generalFlagLocation, generalFlagMachine, generalFlagPart,
}, true, "<service.method>"),
Name: "run",
Usage: "run a command on a machine part",
UsageText: createUsageText("machines part run", []string{generalFlagPart}, true, "<service.method>"),
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagLocation,
Aliases: []string{generalFlagLocationID, generalFlagAliasLocationName},
Required: true,
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
Name: generalFlagLocation,
Aliases: []string{generalFlagLocationID, generalFlagAliasLocationName},
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
&cli.StringFlag{
Expand All @@ -1989,10 +1976,14 @@ var app = &cli.App{
Usage: "start a shell on a machine part",
Description: `In order to use the shell command, the machine must have a valid shell type service.`,
UsageText: createUsageText(
"machines part shell", []string{generalFlagOrganization, generalFlagLocation, generalFlagMachine, generalFlagPart}, false,
"machines part shell", []string{generalFlagPart}, false,
),
// TODO(RSDK-9286) do we need to ask for og and location and machine and part here?
Flags: []cli.Flag{
&cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -2007,10 +1998,6 @@ var app = &cli.App{
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
&cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
},
},
Action: createCommandWithT[robotsPartShellArgs](RobotsPartShellAction),
},
Expand Down Expand Up @@ -2045,10 +2032,17 @@ Copy multiple files from the machine to a local destination with recursion and k
`,
UsageText: createUsageText(
"machines part cp",
[]string{generalFlagOrganization, generalFlagLocation, generalFlagMachine, generalFlagPart},
[]string{generalFlagPart},
true,
"[-p] [-r] source ([machine:]files) ... target ([machine:]files"),
Flags: []cli.Flag{
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
},
},
&cli.StringFlag{
Name: generalFlagOrganization,
Aliases: []string{generalFlagAliasOrg, generalFlagOrgID, generalFlagAliasOrgName},
Expand All @@ -2059,16 +2053,8 @@ Copy multiple files from the machine to a local destination with recursion and k
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
Required: true,
},
},
&AliasStringFlag{
cli.StringFlag{
Name: generalFlagPart,
Aliases: []string{generalFlagPartID, generalFlagAliasPartName},
Required: true,
Name: generalFlagMachine,
Aliases: []string{generalFlagAliasRobot, generalFlagMachineID, generalFlagAliasMachineName},
},
},
&cli.BoolFlag{
Expand Down
Loading

0 comments on commit 89dbfcb

Please sign in to comment.