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  }