github.com/cilium/cilium@v1.16.2/pkg/labels/model/model.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package model 5 6 import ( 7 "github.com/cilium/cilium/api/v1/models" 8 "github.com/cilium/cilium/pkg/labels" 9 ) 10 11 // NewOplabelsFromModel creates new label from the model. 12 func NewOplabelsFromModel(base *models.LabelConfigurationStatus) *labels.OpLabels { 13 if base == nil { 14 return nil 15 } 16 17 return &labels.OpLabels{ 18 Custom: labels.NewLabelsFromModel(base.Realized.User), 19 Disabled: labels.NewLabelsFromModel(base.Disabled), 20 OrchestrationIdentity: labels.NewLabelsFromModel(base.SecurityRelevant), 21 OrchestrationInfo: labels.NewLabelsFromModel(base.Derived), 22 } 23 } 24 25 func NewModel(o *labels.OpLabels) *models.LabelConfigurationStatus { 26 return &models.LabelConfigurationStatus{ 27 Realized: &models.LabelConfigurationSpec{ 28 User: o.Custom.GetModel(), 29 }, 30 SecurityRelevant: o.OrchestrationIdentity.GetModel(), 31 Derived: o.OrchestrationInfo.GetModel(), 32 Disabled: o.Disabled.GetModel(), 33 } 34 }