func toScopeConfig(scope *network.Scope) *models.ScopeConfig { subnet := "" if !ip.IsUnspecifiedIP(scope.Subnet().IP) { subnet = scope.Subnet().String() } gateway := "" if !scope.Gateway().IsUnspecified() { gateway = scope.Gateway().String() } id := scope.ID().String() sc := &models.ScopeConfig{ ID: &id, Name: scope.Name(), ScopeType: scope.Type(), IPAM: scope.IPAM().Pools(), Subnet: &subnet, Gateway: &gateway, } if len(sc.IPAM) == 0 && len(subnet) != 0 { // use subnet as pool sc.IPAM = []string{subnet} } eps := scope.Endpoints() sc.Endpoints = make([]*models.EndpointConfig, len(eps)) for i, e := range eps { sc.Endpoints[i] = toEndpointConfig(e) } return sc }
func toScopeConfig(scope *network.Scope) *models.ScopeConfig { subnet := "" if !ip.IsUnspecifiedIP(scope.Subnet().IP) { subnet = scope.Subnet().String() } gateway := "" if !scope.Gateway().IsUnspecified() { gateway = scope.Gateway().String() } id := scope.ID().String() sc := &models.ScopeConfig{ ID: &id, Name: scope.Name(), ScopeType: scope.Type(), Subnet: &subnet, Gateway: &gateway, } var pools []string for _, p := range scope.Pools() { pools = append(pools, p.String()) } sc.IPAM = pools if len(sc.IPAM) == 0 { sc.IPAM = []string{subnet} } eps := scope.Endpoints() sc.Endpoints = make([]*models.EndpointConfig, len(eps)) for i, e := range eps { sc.Endpoints[i] = toEndpointConfig(e) } return sc }