(cmd *cobra.Command)
| 322 | } |
| 323 | |
| 324 | func processCreateCommandFlagsInRun(cmd *cobra.Command) (types.ContainerCreateOptions, error) { |
| 325 | opt, err := createOptions(cmd) |
| 326 | if err != nil { |
| 327 | return opt, err |
| 328 | } |
| 329 | |
| 330 | opt.InRun = true |
| 331 | |
| 332 | opt.SigProxy, err = cmd.Flags().GetBool("sig-proxy") |
| 333 | if err != nil { |
| 334 | return opt, err |
| 335 | } |
| 336 | opt.Interactive, err = cmd.Flags().GetBool("interactive") |
| 337 | if err != nil { |
| 338 | return opt, err |
| 339 | } |
| 340 | opt.Detach, err = cmd.Flags().GetBool("detach") |
| 341 | if err != nil { |
| 342 | return opt, err |
| 343 | } |
| 344 | opt.DetachKeys, err = cmd.Flags().GetString("detach-keys") |
| 345 | if err != nil { |
| 346 | return opt, err |
| 347 | } |
| 348 | opt.Attach, err = cmd.Flags().GetStringSlice("attach") |
| 349 | if err != nil { |
| 350 | return opt, err |
| 351 | } |
| 352 | |
| 353 | validAttachFlag := true |
| 354 | for i, str := range opt.Attach { |
| 355 | opt.Attach[i] = strings.ToUpper(str) |
| 356 | |
| 357 | if opt.Attach[i] != "STDIN" && opt.Attach[i] != "STDOUT" && opt.Attach[i] != "STDERR" { |
| 358 | validAttachFlag = false |
| 359 | } |
| 360 | } |
| 361 | if !validAttachFlag { |
| 362 | return opt, fmt.Errorf("invalid stream specified with -a flag. Valid streams are STDIN, STDOUT, and STDERR") |
| 363 | } |
| 364 | |
| 365 | return opt, nil |
| 366 | } |
| 367 | |
| 368 | // runAction is heavily based on ctr implementation: |
| 369 | // https://github.com/containerd/containerd/blob/v1.4.3/cmd/ctr/commands/run/run.go |
no test coverage detected
searching dependent graphs…