package container
import (
"errors"
"fmt"
"github.com/moby/moby/api/types/network"
"github.com/moby/moby/v2/daemon/internal/netiputil"
"github.com/moby/swarmkit/v2/api"
)
func ipamConfig(ic *api.IPAMConfig) (network.IPAMConfig, error) {
var (
cfg network.IPAMConfig
errs []error
err error
)
cfg.Subnet, err = netiputil.MaybeParseCIDR(ic.Subnet)
if err != nil {
errs = append(errs, fmt.Errorf("invalid subnet: %w", err))
}
cfg.IPRange, err = netiputil.MaybeParseCIDR(ic.Range)
if err != nil {
errs = append(errs, fmt.Errorf("invalid ip range: %w", err))
}
gw, err := netiputil.MaybeParseAddr(ic.Gateway)
cfg.Gateway = gw.Unmap()
if err != nil {
errs = append(errs, fmt.Errorf("invalid gateway: %w", err))
}
return cfg, errors.Join(errs...)
}