MCPcopy
hub / github.com/kubernetes/kubectl / Complete

Method Complete

pkg/cmd/logs/logs.go:250–326  ·  view source on GitHub ↗
(f cmdutil.Factory, cmd *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

248}
249
250func (o *LogsOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string) error {
251 o.ContainerNameSpecified = cmd.Flag("container").Changed
252 o.TailSpecified = cmd.Flag("tail").Changed
253 o.Resources = args
254
255 switch len(args) {
256 case 0:
257 if len(o.Selector) == 0 {
258 return cmdutil.UsageErrorf(cmd, "%s", logsUsageErrStr)
259 }
260 case 1:
261 o.ResourceArg = args[0]
262 if len(o.Selector) != 0 {
263 return cmdutil.UsageErrorf(cmd, "only a selector (-l) or a POD name is allowed")
264 }
265 case 2:
266 o.ResourceArg = args[0]
267 o.Container = args[1]
268 default:
269 return cmdutil.UsageErrorf(cmd, "%s", logsUsageErrStr)
270 }
271
272 if o.AllPods {
273 o.Prefix = true
274 }
275
276 var err error
277 o.Namespace, _, err = f.ToRawKubeConfigLoader().Namespace()
278 if err != nil {
279 return err
280 }
281
282 o.ConsumeRequestFn = DefaultConsumeRequest
283
284 o.GetPodTimeout, err = cmdutil.GetPodRunningTimeoutFlag(cmd)
285 if err != nil {
286 return err
287 }
288
289 o.Options, err = o.ToLogOptions()
290 if err != nil {
291 return err
292 }
293
294 o.RESTClientGetter = f
295 o.LogsForObject = polymorphichelpers.LogsForObjectFn
296 o.AllPodLogsForObject = polymorphichelpers.AllPodLogsForObjectFn
297
298 if o.Object == nil {
299 builder := f.NewBuilder().
300 WithScheme(scheme.Scheme, scheme.Scheme.PrioritizedVersionsAllGroups()...).
301 NamespaceParam(o.Namespace).DefaultNamespace().
302 SingleResourceType()
303 if o.ResourceArg != "" {
304 builder.ResourceNames("pods", o.ResourceArg)
305 }
306 if o.Selector != "" {
307 builder.ResourceTypes("pods").LabelSelectorParam(o.Selector)

Callers 4

NewCmdLogsFunction · 0.95
TestLogCompleteFunction · 0.95

Calls 3

ToLogOptionsMethod · 0.95
NewBuilderMethod · 0.65
ToRawKubeConfigLoaderMethod · 0.45

Tested by 3

TestLogCompleteFunction · 0.76