MCPcopy Create free account
hub / github.com/docker/cli / addGenericResources

Function addGenericResources

cli/command/service/update.go:558–589  ·  view source on GitHub ↗
(flags *pflag.FlagSet, spec *swarm.TaskSpec)

Source from the content-addressed store, hash-verified

556}
557
558func 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
591func removeGenericResources(flags *pflag.FlagSet, spec *swarm.TaskSpec) error {
592 // Can only be Discrete Resources

Callers 3

updateServiceFunction · 0.85
TestAddGenericResourcesFunction · 0.85

Calls 4

ParseGenericResourcesFunction · 0.85
buildGenericResourceMapFunction · 0.85
buildGenericResourceListFunction · 0.85
GetSliceMethod · 0.80

Tested by 2

TestAddGenericResourcesFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…