Skip to content

Commit

Permalink
Add option flags for project create and ps
Browse files Browse the repository at this point in the history
  • Loading branch information
dramich authored and ibuildthecloud committed Mar 2, 2018
1 parent 18878ea commit 3a12b9f
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 4 deletions.
22 changes: 19 additions & 3 deletions cliclient/cliclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,11 @@ func NewMasterClient(config *config.ServerConfig) (*MasterClient, error) {
mc.ClusterClient = cClient

// Setup the project client
options.URL = baseURL + "/projects/" + config.Project
pClient, err := projectClient.NewClient(options)
pClient, err := NewProjectClient(config)
if err != nil {
return nil, err
}
mc.ProjectClient = pClient
mc.ProjectClient = pClient.ProjectClient

return mc, nil
}
Expand All @@ -74,6 +73,23 @@ func NewManagementClient(config *config.ServerConfig) (*MasterClient, error) {
return mc, nil
}

func NewProjectClient(config *config.ServerConfig) (*MasterClient, error) {
mc := &MasterClient{
UserConfig: config,
}

options := createClientOpts(config)
options.URL = options.URL + "/projects/" + config.Project

// Setup the project client
pc, err := projectClient.NewClient(options)
if err != nil {
return nil, err
}
mc.ProjectClient = pc
return mc, nil
}

func createClientOpts(config *config.ServerConfig) *clientbase.ClientOpts {
serverURL := config.URL

Expand Down
17 changes: 16 additions & 1 deletion cmd/project.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ func ProjectCommand() cli.Command {
Description: "\nCreates a project in the current cluster.",
ArgsUsage: "[NEWPROJECTNAME...]",
Action: projectCreate,
Flags: []cli.Flag{
cli.StringFlag{
Name: "cluster",
Usage: "Cluster ID to create the project in",
},
},
},
{
Name: "delete",
Expand Down Expand Up @@ -84,9 +90,18 @@ func projectCreate(ctx *cli.Context) error {
return err
}

clusterID := c.UserConfig.FocusedCluster()
if ctx.String("cluster") != "" {
cluster, err := getClusterByID(c, ctx.String("cluster"))
if nil != err {
return err
}
clusterID = cluster.ID
}

newProj := &managementClient.Project{
Name: ctx.Args().First(),
ClusterId: c.UserConfig.FocusedCluster(),
ClusterId: clusterID,
}

_, err = c.ManagementClient.Project.Create(newProj)
Expand Down
27 changes: 27 additions & 0 deletions cmd/ps.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package cmd
import (
"fmt"

"github.com/rancher/cli/cliclient"
projectClient "github.com/rancher/types/client/project/v3"
"github.com/urfave/cli"
)
Expand All @@ -23,6 +24,12 @@ func PsCommand() cli.Command {
Usage: "Show workloads and pods",
Description: "Prints out a table of pods not associated with a workload then a table of workloads",
Action: psLs,
Flags: []cli.Flag{
cli.StringFlag{
Name: "project",
Usage: "project to show workloads for",
},
},
}
}

Expand All @@ -32,6 +39,26 @@ func psLs(ctx *cli.Context) error {
return err
}

if ctx.String("project") != "" {
//Verify the project given is valid
_, err := getProjectByID(c, ctx.String("project"))
if nil != err {
return err
}

sc, err := lookupConfig(ctx)
if nil != err {
return err
}
sc.Project = ctx.String("project")

projClient, err := cliclient.NewProjectClient(sc)
if nil != err {
return err
}
c.ProjectClient = projClient.ProjectClient
}

workLoads, err := c.ProjectClient.Workload.List(defaultListOpts(ctx))
if nil != err {
return err
Expand Down

0 comments on commit 3a12b9f

Please sign in to comment.