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 }