From 3e950780fedccacdd1e1267343b5b9baae204566 Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Sun, 28 Oct 2018 20:49:10 +0900 Subject: move NewAPIRoutingPolicyFromConfigStruct() from server/ The config is an internal package so it should not be exported. NewAPIPolicyAssignmentFromTableStruct() is approprate for config/. Signed-off-by: FUJITA Tomonori --- internal/pkg/table/policy.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'internal/pkg/table/policy.go') diff --git a/internal/pkg/table/policy.go b/internal/pkg/table/policy.go index b06da47d..73bfac75 100644 --- a/internal/pkg/table/policy.go +++ b/internal/pkg/table/policy.go @@ -4117,3 +4117,19 @@ func NewAPIPolicyAssignmentFromTableStruct(t *PolicyAssignment) *api.PolicyAssig }(), } } + +func NewAPIRoutingPolicyFromConfigStruct(c *config.RoutingPolicy) (*api.RoutingPolicy, error) { + definedSets, err := config.NewAPIDefinedSetsFromConfigStruct(&c.DefinedSets) + if err != nil { + return nil, err + } + policies := make([]*api.Policy, 0, len(c.PolicyDefinitions)) + for _, policy := range c.PolicyDefinitions { + policies = append(policies, ToPolicyApi(&policy)) + } + + return &api.RoutingPolicy{ + DefinedSets: definedSets, + Policies: policies, + }, nil +} -- cgit v1.2.3