github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1alpha2/log_descriptor/log_descriptor.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/logging/proto/v1alpha2/log_descriptor.proto
     3  // DO NOT EDIT!!!
     4  
     5  package log_descriptor
     6  
     7  import (
     8  	"fmt"
     9  	"sort"
    10  
    11  	"google.golang.org/protobuf/proto"
    12  	googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    13  
    14  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    15  )
    16  
    17  // proto imports
    18  import (
    19  	iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization"
    20  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project"
    21  	common "github.com/cloudwan/edgelq-sdk/logging/resources/v1alpha2/common"
    22  	meta "github.com/cloudwan/goten-sdk/types/meta"
    23  )
    24  
    25  // ensure the imports are used
    26  var (
    27  	_ = new(fmt.Stringer)
    28  	_ = new(sort.Interface)
    29  
    30  	_ = new(proto.Message)
    31  	_ = googlefieldmaskpb.FieldMask{}
    32  
    33  	_ = new(gotenobject.FieldPath)
    34  )
    35  
    36  // make sure we're using proto imports
    37  var (
    38  	_ = &iam_organization.Organization{}
    39  	_ = &iam_project.Project{}
    40  	_ = &common.LabelDescriptor{}
    41  	_ = &meta.Meta{}
    42  )
    43  
    44  func (o *LogDescriptor) GotenObjectExt() {}
    45  
    46  func (o *LogDescriptor) MakeFullFieldMask() *LogDescriptor_FieldMask {
    47  	return FullLogDescriptor_FieldMask()
    48  }
    49  
    50  func (o *LogDescriptor) MakeRawFullFieldMask() gotenobject.FieldMask {
    51  	return FullLogDescriptor_FieldMask()
    52  }
    53  
    54  func (o *LogDescriptor) MakeDiffFieldMask(other *LogDescriptor) *LogDescriptor_FieldMask {
    55  	if o == nil && other == nil {
    56  		return &LogDescriptor_FieldMask{}
    57  	}
    58  	if o == nil || other == nil {
    59  		return FullLogDescriptor_FieldMask()
    60  	}
    61  
    62  	res := &LogDescriptor_FieldMask{}
    63  	if o.GetName().String() != other.GetName().String() {
    64  		res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorName})
    65  	}
    66  	if o.GetDisplayName() != other.GetDisplayName() {
    67  		res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorDisplayName})
    68  	}
    69  	if o.GetDescription() != other.GetDescription() {
    70  		res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorDescription})
    71  	}
    72  
    73  	if len(o.GetLabels()) == len(other.GetLabels()) {
    74  		for i, lValue := range o.GetLabels() {
    75  			rValue := other.GetLabels()[i]
    76  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    77  				res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorLabels})
    78  				break
    79  			}
    80  		}
    81  	} else {
    82  		res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorLabels})
    83  	}
    84  
    85  	if len(o.GetPromotedLabelKeySets()) == len(other.GetPromotedLabelKeySets()) {
    86  		for i, lValue := range o.GetPromotedLabelKeySets() {
    87  			rValue := other.GetPromotedLabelKeySets()[i]
    88  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    89  				res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorPromotedLabelKeySets})
    90  				break
    91  			}
    92  		}
    93  	} else {
    94  		res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorPromotedLabelKeySets})
    95  	}
    96  	{
    97  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    98  		if subMask.IsFull() {
    99  			res.Paths = append(res.Paths, &LogDescriptor_FieldTerminalPath{selector: LogDescriptor_FieldPathSelectorMetadata})
   100  		} else {
   101  			for _, subpath := range subMask.Paths {
   102  				res.Paths = append(res.Paths, &LogDescriptor_FieldSubPath{selector: LogDescriptor_FieldPathSelectorMetadata, subPath: subpath})
   103  			}
   104  		}
   105  	}
   106  	return res
   107  }
   108  
   109  func (o *LogDescriptor) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   110  	return o.MakeDiffFieldMask(other.(*LogDescriptor))
   111  }
   112  
   113  func (o *LogDescriptor) Clone() *LogDescriptor {
   114  	if o == nil {
   115  		return nil
   116  	}
   117  	result := &LogDescriptor{}
   118  	if o.Name == nil {
   119  		result.Name = nil
   120  	} else if data, err := o.Name.ProtoString(); err != nil {
   121  		panic(err)
   122  	} else {
   123  		result.Name = &Name{}
   124  		if err := result.Name.ParseProtoString(data); err != nil {
   125  			panic(err)
   126  		}
   127  	}
   128  	result.DisplayName = o.DisplayName
   129  	result.Description = o.Description
   130  	result.Labels = make([]*common.LabelDescriptor, len(o.Labels))
   131  	for i, sourceValue := range o.Labels {
   132  		result.Labels[i] = sourceValue.Clone()
   133  	}
   134  	result.PromotedLabelKeySets = make([]*common.LabelKeySet, len(o.PromotedLabelKeySets))
   135  	for i, sourceValue := range o.PromotedLabelKeySets {
   136  		result.PromotedLabelKeySets[i] = sourceValue.Clone()
   137  	}
   138  	result.Metadata = o.Metadata.Clone()
   139  	return result
   140  }
   141  
   142  func (o *LogDescriptor) CloneRaw() gotenobject.GotenObjectExt {
   143  	return o.Clone()
   144  }
   145  
   146  func (o *LogDescriptor) Merge(source *LogDescriptor) {
   147  	if source.GetName() != nil {
   148  		if data, err := source.GetName().ProtoString(); err != nil {
   149  			panic(err)
   150  		} else {
   151  			o.Name = &Name{}
   152  			if err := o.Name.ParseProtoString(data); err != nil {
   153  				panic(err)
   154  			}
   155  		}
   156  	} else {
   157  		o.Name = nil
   158  	}
   159  	o.DisplayName = source.GetDisplayName()
   160  	o.Description = source.GetDescription()
   161  	for _, sourceValue := range source.GetLabels() {
   162  		exists := false
   163  		for _, currentValue := range o.Labels {
   164  			if proto.Equal(sourceValue, currentValue) {
   165  				exists = true
   166  				break
   167  			}
   168  		}
   169  		if !exists {
   170  			var newDstElement *common.LabelDescriptor
   171  			if sourceValue != nil {
   172  				newDstElement = new(common.LabelDescriptor)
   173  				newDstElement.Merge(sourceValue)
   174  			}
   175  			o.Labels = append(o.Labels, newDstElement)
   176  		}
   177  	}
   178  
   179  	for _, sourceValue := range source.GetPromotedLabelKeySets() {
   180  		exists := false
   181  		for _, currentValue := range o.PromotedLabelKeySets {
   182  			if proto.Equal(sourceValue, currentValue) {
   183  				exists = true
   184  				break
   185  			}
   186  		}
   187  		if !exists {
   188  			var newDstElement *common.LabelKeySet
   189  			if sourceValue != nil {
   190  				newDstElement = new(common.LabelKeySet)
   191  				newDstElement.Merge(sourceValue)
   192  			}
   193  			o.PromotedLabelKeySets = append(o.PromotedLabelKeySets, newDstElement)
   194  		}
   195  	}
   196  
   197  	if source.GetMetadata() != nil {
   198  		if o.Metadata == nil {
   199  			o.Metadata = new(meta.Meta)
   200  		}
   201  		o.Metadata.Merge(source.GetMetadata())
   202  	}
   203  }
   204  
   205  func (o *LogDescriptor) MergeRaw(source gotenobject.GotenObjectExt) {
   206  	o.Merge(source.(*LogDescriptor))
   207  }