func NewCmdDescribe(f *cmdutil.Factory, out io.Writer) *cobra.Command { options := &DescribeOptions{} describerSettings := &kubectl.DescriberSettings{} validArgs := kubectl.DescribableResources() argAliases := kubectl.ResourceAliases(validArgs) cmd := &cobra.Command{ Use: "describe (-f FILENAME | 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, options, describerSettings) cmdutil.CheckErr(err) }, ValidArgs: validArgs, ArgAliases: argAliases, } usage := "Filename, directory, or URL to a file containing the resource to describe" kubectl.AddJsonFilenameFlag(cmd, &options.Filenames, usage) cmdutil.AddRecursiveFlag(cmd, &options.Recursive) cmd.Flags().StringP("selector", "l", "", "Selector (label query) to filter on") cmd.Flags().Bool("all-namespaces", false, "If present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with --namespace.") cmd.Flags().BoolVar(&describerSettings.ShowEvents, "show-events", true, "If true, display events related to the described object.") cmdutil.AddInclude3rdPartyFlags(cmd) return cmd }
func NewCmdDescribe(f *cmdutil.Factory, out io.Writer) *cobra.Command { options := &DescribeOptions{} validArgs := kubectl.DescribableResources() argAliases := kubectl.ResourceAliases(validArgs) cmd := &cobra.Command{ Use: "describe (-f FILENAME | 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, options) cmdutil.CheckErr(err) }, ValidArgs: validArgs, ArgAliases: argAliases, } usage := "Filename, directory, or URL to a file containing the resource to describe" kubectl.AddJsonFilenameFlag(cmd, &options.Filenames, usage) cmdutil.AddRecursiveFlag(cmd, &options.Recursive) cmd.Flags().StringP("selector", "l", "", "Selector (label query) to filter on") cmdutil.AddInclude3rdPartyFlags(cmd) 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 }