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

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