github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/plan_assignment/plan_assignment.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/limits/proto/v1alpha2/plan_assignment.proto 3 // DO NOT EDIT!!! 4 5 package plan_assignment 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 accepted_plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/accepted_plan" 22 common "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/common" 23 plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/plan" 24 meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/service" 25 meta "github.com/cloudwan/goten-sdk/types/meta" 26 ) 27 28 // ensure the imports are used 29 var ( 30 _ = new(fmt.Stringer) 31 _ = new(sort.Interface) 32 33 _ = new(proto.Message) 34 _ = googlefieldmaskpb.FieldMask{} 35 36 _ = new(gotenobject.FieldPath) 37 ) 38 39 // make sure we're using proto imports 40 var ( 41 _ = &iam_organization.Organization{} 42 _ = &iam_project.Project{} 43 _ = &accepted_plan.AcceptedPlan{} 44 _ = &common.Allowance{} 45 _ = &plan.Plan{} 46 _ = &meta_service.Service{} 47 _ = &meta.Meta{} 48 ) 49 50 func (o *PlanAssignment) GotenObjectExt() {} 51 52 func (o *PlanAssignment) MakeFullFieldMask() *PlanAssignment_FieldMask { 53 return FullPlanAssignment_FieldMask() 54 } 55 56 func (o *PlanAssignment) MakeRawFullFieldMask() gotenobject.FieldMask { 57 return FullPlanAssignment_FieldMask() 58 } 59 60 func (o *PlanAssignment) MakeDiffFieldMask(other *PlanAssignment) *PlanAssignment_FieldMask { 61 if o == nil && other == nil { 62 return &PlanAssignment_FieldMask{} 63 } 64 if o == nil || other == nil { 65 return FullPlanAssignment_FieldMask() 66 } 67 68 res := &PlanAssignment_FieldMask{} 69 if o.GetName().String() != other.GetName().String() { 70 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorName}) 71 } 72 if o.GetPlan().String() != other.GetPlan().String() { 73 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorPlan}) 74 } 75 if o.GetService().String() != other.GetService().String() { 76 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorService}) 77 } 78 79 if len(o.GetExtensions()) == len(other.GetExtensions()) { 80 for i, lValue := range o.GetExtensions() { 81 rValue := other.GetExtensions()[i] 82 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 83 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions}) 84 break 85 } 86 } 87 } else { 88 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions}) 89 } 90 91 if len(o.GetRegionalDistributions()) == len(other.GetRegionalDistributions()) { 92 for i, lValue := range o.GetRegionalDistributions() { 93 rValue := other.GetRegionalDistributions()[i] 94 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 95 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalDistributions}) 96 break 97 } 98 } 99 } else { 100 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalDistributions}) 101 } 102 if o.GetSource().String() != other.GetSource().String() { 103 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorSource}) 104 } 105 { 106 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 107 if subMask.IsFull() { 108 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorMetadata}) 109 } else { 110 for _, subpath := range subMask.Paths { 111 res.Paths = append(res.Paths, &PlanAssignment_FieldSubPath{selector: PlanAssignment_FieldPathSelectorMetadata, subPath: subpath}) 112 } 113 } 114 } 115 return res 116 } 117 118 func (o *PlanAssignment) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 119 return o.MakeDiffFieldMask(other.(*PlanAssignment)) 120 } 121 122 func (o *PlanAssignment) Clone() *PlanAssignment { 123 if o == nil { 124 return nil 125 } 126 result := &PlanAssignment{} 127 if o.Name == nil { 128 result.Name = nil 129 } else if data, err := o.Name.ProtoString(); err != nil { 130 panic(err) 131 } else { 132 result.Name = &Name{} 133 if err := result.Name.ParseProtoString(data); err != nil { 134 panic(err) 135 } 136 } 137 if o.Plan == nil { 138 result.Plan = nil 139 } else if data, err := o.Plan.ProtoString(); err != nil { 140 panic(err) 141 } else { 142 result.Plan = &plan.Reference{} 143 if err := result.Plan.ParseProtoString(data); err != nil { 144 panic(err) 145 } 146 } 147 if o.Service == nil { 148 result.Service = nil 149 } else if data, err := o.Service.ProtoString(); err != nil { 150 panic(err) 151 } else { 152 result.Service = &meta_service.Reference{} 153 if err := result.Service.ParseProtoString(data); err != nil { 154 panic(err) 155 } 156 } 157 result.Extensions = make([]*common.Allowance, len(o.Extensions)) 158 for i, sourceValue := range o.Extensions { 159 result.Extensions[i] = sourceValue.Clone() 160 } 161 result.RegionalDistributions = make([]*common.RegionalDistribution, len(o.RegionalDistributions)) 162 for i, sourceValue := range o.RegionalDistributions { 163 result.RegionalDistributions[i] = sourceValue.Clone() 164 } 165 if o.Source == nil { 166 result.Source = nil 167 } else if data, err := o.Source.ProtoString(); err != nil { 168 panic(err) 169 } else { 170 result.Source = &accepted_plan.Reference{} 171 if err := result.Source.ParseProtoString(data); err != nil { 172 panic(err) 173 } 174 } 175 result.Metadata = o.Metadata.Clone() 176 return result 177 } 178 179 func (o *PlanAssignment) CloneRaw() gotenobject.GotenObjectExt { 180 return o.Clone() 181 } 182 183 func (o *PlanAssignment) Merge(source *PlanAssignment) { 184 if source.GetName() != nil { 185 if data, err := source.GetName().ProtoString(); err != nil { 186 panic(err) 187 } else { 188 o.Name = &Name{} 189 if err := o.Name.ParseProtoString(data); err != nil { 190 panic(err) 191 } 192 } 193 } else { 194 o.Name = nil 195 } 196 if source.GetPlan() != nil { 197 if data, err := source.GetPlan().ProtoString(); err != nil { 198 panic(err) 199 } else { 200 o.Plan = &plan.Reference{} 201 if err := o.Plan.ParseProtoString(data); err != nil { 202 panic(err) 203 } 204 } 205 } else { 206 o.Plan = nil 207 } 208 if source.GetService() != nil { 209 if data, err := source.GetService().ProtoString(); err != nil { 210 panic(err) 211 } else { 212 o.Service = &meta_service.Reference{} 213 if err := o.Service.ParseProtoString(data); err != nil { 214 panic(err) 215 } 216 } 217 } else { 218 o.Service = nil 219 } 220 for _, sourceValue := range source.GetExtensions() { 221 exists := false 222 for _, currentValue := range o.Extensions { 223 if proto.Equal(sourceValue, currentValue) { 224 exists = true 225 break 226 } 227 } 228 if !exists { 229 var newDstElement *common.Allowance 230 if sourceValue != nil { 231 newDstElement = new(common.Allowance) 232 newDstElement.Merge(sourceValue) 233 } 234 o.Extensions = append(o.Extensions, newDstElement) 235 } 236 } 237 238 for _, sourceValue := range source.GetRegionalDistributions() { 239 exists := false 240 for _, currentValue := range o.RegionalDistributions { 241 if proto.Equal(sourceValue, currentValue) { 242 exists = true 243 break 244 } 245 } 246 if !exists { 247 var newDstElement *common.RegionalDistribution 248 if sourceValue != nil { 249 newDstElement = new(common.RegionalDistribution) 250 newDstElement.Merge(sourceValue) 251 } 252 o.RegionalDistributions = append(o.RegionalDistributions, newDstElement) 253 } 254 } 255 256 if source.GetSource() != nil { 257 if data, err := source.GetSource().ProtoString(); err != nil { 258 panic(err) 259 } else { 260 o.Source = &accepted_plan.Reference{} 261 if err := o.Source.ParseProtoString(data); err != nil { 262 panic(err) 263 } 264 } 265 } else { 266 o.Source = nil 267 } 268 if source.GetMetadata() != nil { 269 if o.Metadata == nil { 270 o.Metadata = new(meta.Meta) 271 } 272 o.Metadata.Merge(source.GetMetadata()) 273 } 274 } 275 276 func (o *PlanAssignment) MergeRaw(source gotenobject.GotenObjectExt) { 277 o.Merge(source.(*PlanAssignment)) 278 }