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 }