mirror of
https://github.com/redhat-developer/odo.git
synced 2025-10-19 03:06:19 +03:00
* Removing cli layer and integration tests related to service catalog Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing missing error msg Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing golint errors Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing error for interactive mode Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Moving interactive mode error to top Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing interactive mode error condition Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Removing some more service related code Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing golint Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Removing service catalog backend part 1 Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Updating changelogs Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Removing some more of the service catalog related code Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Updating as per comments in review Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Update pkg/odo/cli/service/create.go Co-authored-by: Parthvi Vala <pvala@redhat.com> * Fixing gofmt Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Adding kube to cli docs Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Updating changelog as per comments by @dharmit Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Removing some unnessasary stuff Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Updating docs based changes as per review Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Fixing test Signed-off-by: Mohammed Zeeshan Ahmed <mohammed.zee1000@gmail.com> * Update pkg/odo/cli/catalog/describe/service.go Co-authored-by: Philippe Martin <contact@elol.fr> * Update pkg/odo/cli/service/list.go Co-authored-by: Philippe Martin <contact@elol.fr> Co-authored-by: Parthvi Vala <pvala@redhat.com> Co-authored-by: Philippe Martin <contact@elol.fr>
83 lines
2.5 KiB
Go
83 lines
2.5 KiB
Go
package service
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/openshift/odo/pkg/odo/cli/component"
|
|
"github.com/openshift/odo/pkg/odo/genericclioptions"
|
|
svc "github.com/openshift/odo/pkg/service"
|
|
"github.com/spf13/cobra"
|
|
ktemplates "k8s.io/kubectl/pkg/util/templates"
|
|
)
|
|
|
|
const listRecommendedCommandName = "list"
|
|
|
|
var (
|
|
listExample = ktemplates.Examples(`
|
|
# List all services in the application
|
|
%[1]s`)
|
|
listLongDesc = ktemplates.LongDesc(`
|
|
List all services in the current application
|
|
`)
|
|
)
|
|
|
|
// ServiceListOptions encapsulates the options for the odo service list command
|
|
type ServiceListOptions struct {
|
|
*genericclioptions.Context
|
|
// Context to use when listing service. This will use app and project values from the context
|
|
componentContext string
|
|
// If true, Operator Hub is installed on the cluster
|
|
csvSupport bool
|
|
}
|
|
|
|
// NewServiceListOptions creates a new ServiceListOptions instance
|
|
func NewServiceListOptions() *ServiceListOptions {
|
|
return &ServiceListOptions{}
|
|
}
|
|
|
|
// Complete completes ServiceListOptions after they've been created
|
|
func (o *ServiceListOptions) Complete(name string, cmd *cobra.Command, args []string) (err error) {
|
|
if o.csvSupport, err = svc.IsCSVSupported(); err != nil {
|
|
return err
|
|
} else if o.csvSupport {
|
|
o.Context, err = genericclioptions.New(genericclioptions.CreateParameters{
|
|
Cmd: cmd,
|
|
DevfilePath: component.DevfilePath,
|
|
ComponentContext: o.componentContext,
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
} else {
|
|
return fmt.Errorf("failed to list operator backed services, have you installed operators on the cluseter?")
|
|
}
|
|
return
|
|
}
|
|
|
|
// Validate validates the ServiceListOptions based on completed values
|
|
func (o *ServiceListOptions) Validate() (err error) {
|
|
return
|
|
}
|
|
|
|
// Run contains the logic for the odo service list command
|
|
func (o *ServiceListOptions) Run(cmd *cobra.Command) (err error) {
|
|
return o.listOperatorServices()
|
|
}
|
|
|
|
// NewCmdServiceList implements the odo service list command.
|
|
func NewCmdServiceList(name, fullName string) *cobra.Command {
|
|
o := NewServiceListOptions()
|
|
serviceListCmd := &cobra.Command{
|
|
Use: name,
|
|
Short: "List all services in the current application",
|
|
Long: listLongDesc,
|
|
Example: fmt.Sprintf(listExample, fullName),
|
|
Args: cobra.NoArgs,
|
|
Annotations: map[string]string{"machineoutput": "json"},
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
genericclioptions.GenericRun(o, cmd, args)
|
|
},
|
|
}
|
|
genericclioptions.AddContextFlag(serviceListCmd, &o.componentContext)
|
|
return serviceListCmd
|
|
}
|