github.com/cloudwan/edgelq-sdk@v1.15.4/alerting/resources/v1/policy_template/policy_template.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/alerting/proto/v1/policy_template.proto 3 // DO NOT EDIT!!! 4 5 package policy_template 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 rcommon "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/common" 20 document "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/document" 21 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 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 _ = &document.Document{} 39 _ = &rcommon.LogCndSpec{} 40 _ = &iam_project.Project{} 41 _ = &meta.Meta{} 42 ) 43 44 func (o *PolicyTemplate) GotenObjectExt() {} 45 46 func (o *PolicyTemplate) MakeFullFieldMask() *PolicyTemplate_FieldMask { 47 return FullPolicyTemplate_FieldMask() 48 } 49 50 func (o *PolicyTemplate) MakeRawFullFieldMask() gotenobject.FieldMask { 51 return FullPolicyTemplate_FieldMask() 52 } 53 54 func (o *PolicyTemplate) MakeDiffFieldMask(other *PolicyTemplate) *PolicyTemplate_FieldMask { 55 if o == nil && other == nil { 56 return &PolicyTemplate_FieldMask{} 57 } 58 if o == nil || other == nil { 59 return FullPolicyTemplate_FieldMask() 60 } 61 62 res := &PolicyTemplate_FieldMask{} 63 if o.GetName().String() != other.GetName().String() { 64 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorName}) 65 } 66 { 67 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 68 if subMask.IsFull() { 69 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorMetadata}) 70 } else { 71 for _, subpath := range subMask.Paths { 72 res.Paths = append(res.Paths, &PolicyTemplate_FieldSubPath{selector: PolicyTemplate_FieldPathSelectorMetadata, subPath: subpath}) 73 } 74 } 75 } 76 if o.GetDisplayName() != other.GetDisplayName() { 77 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorDisplayName}) 78 } 79 if o.GetDescription() != other.GetDescription() { 80 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorDescription}) 81 } 82 83 if len(o.GetSupportingDocs()) == len(other.GetSupportingDocs()) { 84 for i, lValue := range o.GetSupportingDocs() { 85 rValue := other.GetSupportingDocs()[i] 86 if lValue.String() != rValue.String() { 87 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorSupportingDocs}) 88 break 89 } 90 } 91 } else { 92 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorSupportingDocs}) 93 } 94 { 95 subMask := o.GetSpecTemplate().MakeDiffFieldMask(other.GetSpecTemplate()) 96 if subMask.IsFull() { 97 res.Paths = append(res.Paths, &PolicyTemplate_FieldTerminalPath{selector: PolicyTemplate_FieldPathSelectorSpecTemplate}) 98 } else { 99 for _, subpath := range subMask.Paths { 100 res.Paths = append(res.Paths, &PolicyTemplate_FieldSubPath{selector: PolicyTemplate_FieldPathSelectorSpecTemplate, subPath: subpath}) 101 } 102 } 103 } 104 return res 105 } 106 107 func (o *PolicyTemplate) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 108 return o.MakeDiffFieldMask(other.(*PolicyTemplate)) 109 } 110 111 func (o *PolicyTemplate) Clone() *PolicyTemplate { 112 if o == nil { 113 return nil 114 } 115 result := &PolicyTemplate{} 116 if o.Name == nil { 117 result.Name = nil 118 } else if data, err := o.Name.ProtoString(); err != nil { 119 panic(err) 120 } else { 121 result.Name = &Name{} 122 if err := result.Name.ParseProtoString(data); err != nil { 123 panic(err) 124 } 125 } 126 result.Metadata = o.Metadata.Clone() 127 result.DisplayName = o.DisplayName 128 result.Description = o.Description 129 result.SupportingDocs = make([]*document.Reference, len(o.SupportingDocs)) 130 for i, sourceValue := range o.SupportingDocs { 131 if sourceValue == nil { 132 result.SupportingDocs[i] = nil 133 } else if data, err := sourceValue.ProtoString(); err != nil { 134 panic(err) 135 } else { 136 result.SupportingDocs[i] = &document.Reference{} 137 if err := result.SupportingDocs[i].ParseProtoString(data); err != nil { 138 panic(err) 139 } 140 } 141 } 142 result.SpecTemplate = o.SpecTemplate.Clone() 143 return result 144 } 145 146 func (o *PolicyTemplate) CloneRaw() gotenobject.GotenObjectExt { 147 return o.Clone() 148 } 149 150 func (o *PolicyTemplate) Merge(source *PolicyTemplate) { 151 if source.GetName() != nil { 152 if data, err := source.GetName().ProtoString(); err != nil { 153 panic(err) 154 } else { 155 o.Name = &Name{} 156 if err := o.Name.ParseProtoString(data); err != nil { 157 panic(err) 158 } 159 } 160 } else { 161 o.Name = nil 162 } 163 if source.GetMetadata() != nil { 164 if o.Metadata == nil { 165 o.Metadata = new(meta.Meta) 166 } 167 o.Metadata.Merge(source.GetMetadata()) 168 } 169 o.DisplayName = source.GetDisplayName() 170 o.Description = source.GetDescription() 171 for _, sourceValue := range source.GetSupportingDocs() { 172 exists := false 173 for _, currentValue := range o.SupportingDocs { 174 leftProtoStr, _ := currentValue.ProtoString() 175 rightProtoStr, _ := sourceValue.ProtoString() 176 if leftProtoStr == rightProtoStr { 177 exists = true 178 break 179 } 180 } 181 if !exists { 182 var newDstElement *document.Reference 183 if sourceValue != nil { 184 if data, err := sourceValue.ProtoString(); err != nil { 185 panic(err) 186 } else { 187 newDstElement = &document.Reference{} 188 if err := newDstElement.ParseProtoString(data); err != nil { 189 panic(err) 190 } 191 } 192 } 193 o.SupportingDocs = append(o.SupportingDocs, newDstElement) 194 } 195 } 196 197 if source.GetSpecTemplate() != nil { 198 if o.SpecTemplate == nil { 199 o.SpecTemplate = new(rcommon.PolicySpec) 200 } 201 o.SpecTemplate.Merge(source.GetSpecTemplate()) 202 } 203 } 204 205 func (o *PolicyTemplate) MergeRaw(source gotenobject.GotenObjectExt) { 206 o.Merge(source.(*PolicyTemplate)) 207 }