(flags *pflag.FlagSet, spec *swarm.TaskSpec)
| 556 | } |
| 557 | |
| 558 | func addGenericResources(flags *pflag.FlagSet, spec *swarm.TaskSpec) error { |
| 559 | if !flags.Changed(flagGenericResourcesAdd) { |
| 560 | return nil |
| 561 | } |
| 562 | |
| 563 | if spec.Resources == nil { |
| 564 | spec.Resources = &swarm.ResourceRequirements{} |
| 565 | } |
| 566 | |
| 567 | if spec.Resources.Reservations == nil { |
| 568 | spec.Resources.Reservations = &swarm.Resources{} |
| 569 | } |
| 570 | |
| 571 | values := flags.Lookup(flagGenericResourcesAdd).Value.(*opts.ListOpts).GetSlice() |
| 572 | generic, err := ParseGenericResources(values) |
| 573 | if err != nil { |
| 574 | return err |
| 575 | } |
| 576 | |
| 577 | m, err := buildGenericResourceMap(spec.Resources.Reservations.GenericResources) |
| 578 | if err != nil { |
| 579 | return err |
| 580 | } |
| 581 | |
| 582 | for _, toAddRes := range generic { |
| 583 | m[toAddRes.DiscreteResourceSpec.Kind] = toAddRes |
| 584 | } |
| 585 | |
| 586 | spec.Resources.Reservations.GenericResources = buildGenericResourceList(m) |
| 587 | |
| 588 | return nil |
| 589 | } |
| 590 | |
| 591 | func removeGenericResources(flags *pflag.FlagSet, spec *swarm.TaskSpec) error { |
| 592 | // Can only be Discrete Resources |
searching dependent graphs…