func NewCmdDescribe(f *cmdutil.Factory, out io.Writer) *cobra.Command { cmd := &cobra.Command{ Use: "describe (RESOURCE NAME | RESOURCE/NAME)", Short: "Show details of a specific resource", Long: `Show details of a specific resource. This command joins many API calls together to form a detailed description of a given resource.`, Example: `// Describe a node $ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal // Describe a pod $ kubectl describe pods/nginx // Describe pods by label name=myLabel $ kubectl describe po -l name=myLabel`, Run: func(cmd *cobra.Command, args []string) { err := RunDescribe(f, out, cmd, args) cmdutil.CheckErr(err) }, ValidArgs: kubectl.DescribableResources(), } cmd.Flags().StringP("selector", "l", "", "Selector (label query) to filter on") return cmd }
// List of all resource types we can describe func DescribableResources() []string { // Include describable resources in kubernetes keys := kctl.DescribableResources() for k := range describerMap(nil, nil, "") { resource := strings.ToLower(k) keys = append(keys, resource) } return keys }
func NewCmdDescribe(f *cmdutil.Factory, out io.Writer) *cobra.Command { cmd := &cobra.Command{ Use: "describe (TYPE [(NAME_PREFIX | -l label] | TYPE/NAME)", Short: "Show details of a specific resource or group of resources", Long: describe_long, Example: describe_example, Run: func(cmd *cobra.Command, args []string) { err := RunDescribe(f, out, cmd, args) cmdutil.CheckErr(err) }, ValidArgs: kubectl.DescribableResources(), } cmd.Flags().StringP("selector", "l", "", "Selector (label query) to filter on") return cmd }