Allow api-resources to return cached data

This commit is contained in:
Jordan Liggitt 2018-05-03 23:35:07 -04:00
parent 74b7cec0c6
commit 918df97a0f
No known key found for this signature in database
GPG Key ID: 39928704103C7229

View File

@ -59,6 +59,7 @@ type ApiResourcesOptions struct {
Namespaced bool Namespaced bool
Verbs []string Verbs []string
NoHeaders bool NoHeaders bool
Cached bool
genericclioptions.IOStreams genericclioptions.IOStreams
} }
@ -94,6 +95,7 @@ func NewCmdApiResources(f cmdutil.Factory, ioStreams genericclioptions.IOStreams
cmd.Flags().StringVar(&o.APIGroup, "api-group", "", "Limit to resources in the specified API group.") cmd.Flags().StringVar(&o.APIGroup, "api-group", "", "Limit to resources in the specified API group.")
cmd.Flags().BoolVar(&o.Namespaced, "namespaced", true, "Namespaced indicates if a resource is namespaced or not.") cmd.Flags().BoolVar(&o.Namespaced, "namespaced", true, "Namespaced indicates if a resource is namespaced or not.")
cmd.Flags().StringSliceVar(&o.Verbs, "verbs", o.Verbs, "Limit to resources that support the specified verbs.") cmd.Flags().StringSliceVar(&o.Verbs, "verbs", o.Verbs, "Limit to resources that support the specified verbs.")
cmd.Flags().BoolVar(&o.Cached, "cached", o.Cached, "Use the cached list of resources if available.")
return cmd return cmd
} }
@ -125,8 +127,10 @@ func (o *ApiResourcesOptions) RunApiResources(cmd *cobra.Command, f cmdutil.Fact
return err return err
} }
// Always request fresh data from the server if !o.Cached {
discoveryclient.Invalidate() // Always request fresh data from the server
discoveryclient.Invalidate()
}
lists, err := discoveryclient.ServerPreferredResources() lists, err := discoveryclient.ServerPreferredResources()
if err != nil { if err != nil {