github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1/plan_assignment/plan_assignment.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/limits/proto/v1/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/v1/organization" 20 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 21 accepted_plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/accepted_plan" 22 common "github.com/cloudwan/edgelq-sdk/limits/resources/v1/common" 23 plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/plan" 24 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/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.RegionalPlanAssignment{} 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 { 73 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 74 if subMask.IsFull() { 75 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorMetadata}) 76 } else { 77 for _, subpath := range subMask.Paths { 78 res.Paths = append(res.Paths, &PlanAssignment_FieldSubPath{selector: PlanAssignment_FieldPathSelectorMetadata, subPath: subpath}) 79 } 80 } 81 } 82 if o.GetDefaultRegionalPlan().String() != other.GetDefaultRegionalPlan().String() { 83 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorDefaultRegionalPlan}) 84 } 85 if o.GetService().String() != other.GetService().String() { 86 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorService}) 87 } 88 89 if len(o.GetRegionalPlanOverrides()) == len(other.GetRegionalPlanOverrides()) { 90 for i, lValue := range o.GetRegionalPlanOverrides() { 91 rValue := other.GetRegionalPlanOverrides()[i] 92 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 93 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalPlanOverrides}) 94 break 95 } 96 } 97 } else { 98 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalPlanOverrides}) 99 } 100 101 if len(o.GetExtensions()) == len(other.GetExtensions()) { 102 for i, lValue := range o.GetExtensions() { 103 rValue := other.GetExtensions()[i] 104 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 105 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions}) 106 break 107 } 108 } 109 } else { 110 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions}) 111 } 112 113 if len(o.GetAllowances()) == len(other.GetAllowances()) { 114 for i, lValue := range o.GetAllowances() { 115 rValue := other.GetAllowances()[i] 116 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 117 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAllowances}) 118 break 119 } 120 } 121 } else { 122 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAllowances}) 123 } 124 125 if len(o.GetAppliedRegions()) == len(other.GetAppliedRegions()) { 126 for i, lValue := range o.GetAppliedRegions() { 127 rValue := other.GetAppliedRegions()[i] 128 if lValue != rValue { 129 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedRegions}) 130 break 131 } 132 } 133 } else { 134 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedRegions}) 135 } 136 if o.GetAppliedPlanSpecGeneration() != other.GetAppliedPlanSpecGeneration() { 137 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedPlanSpecGeneration}) 138 } 139 if o.GetSource().String() != other.GetSource().String() { 140 res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorSource}) 141 } 142 return res 143 } 144 145 func (o *PlanAssignment) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 146 return o.MakeDiffFieldMask(other.(*PlanAssignment)) 147 } 148 149 func (o *PlanAssignment) Clone() *PlanAssignment { 150 if o == nil { 151 return nil 152 } 153 result := &PlanAssignment{} 154 if o.Name == nil { 155 result.Name = nil 156 } else if data, err := o.Name.ProtoString(); err != nil { 157 panic(err) 158 } else { 159 result.Name = &Name{} 160 if err := result.Name.ParseProtoString(data); err != nil { 161 panic(err) 162 } 163 } 164 result.Metadata = o.Metadata.Clone() 165 if o.DefaultRegionalPlan == nil { 166 result.DefaultRegionalPlan = nil 167 } else if data, err := o.DefaultRegionalPlan.ProtoString(); err != nil { 168 panic(err) 169 } else { 170 result.DefaultRegionalPlan = &plan.Reference{} 171 if err := result.DefaultRegionalPlan.ParseProtoString(data); err != nil { 172 panic(err) 173 } 174 } 175 if o.Service == nil { 176 result.Service = nil 177 } else if data, err := o.Service.ProtoString(); err != nil { 178 panic(err) 179 } else { 180 result.Service = &meta_service.Reference{} 181 if err := result.Service.ParseProtoString(data); err != nil { 182 panic(err) 183 } 184 } 185 result.RegionalPlanOverrides = make([]*common.RegionalPlanAssignment, len(o.RegionalPlanOverrides)) 186 for i, sourceValue := range o.RegionalPlanOverrides { 187 result.RegionalPlanOverrides[i] = sourceValue.Clone() 188 } 189 result.Extensions = make([]*common.Allowance, len(o.Extensions)) 190 for i, sourceValue := range o.Extensions { 191 result.Extensions[i] = sourceValue.Clone() 192 } 193 result.Allowances = make([]*common.Allowance, len(o.Allowances)) 194 for i, sourceValue := range o.Allowances { 195 result.Allowances[i] = sourceValue.Clone() 196 } 197 result.AppliedRegions = make([]string, len(o.AppliedRegions)) 198 for i, sourceValue := range o.AppliedRegions { 199 result.AppliedRegions[i] = sourceValue 200 } 201 result.AppliedPlanSpecGeneration = o.AppliedPlanSpecGeneration 202 if o.Source == nil { 203 result.Source = nil 204 } else if data, err := o.Source.ProtoString(); err != nil { 205 panic(err) 206 } else { 207 result.Source = &accepted_plan.Reference{} 208 if err := result.Source.ParseProtoString(data); err != nil { 209 panic(err) 210 } 211 } 212 return result 213 } 214 215 func (o *PlanAssignment) CloneRaw() gotenobject.GotenObjectExt { 216 return o.Clone() 217 } 218 219 func (o *PlanAssignment) Merge(source *PlanAssignment) { 220 if source.GetName() != nil { 221 if data, err := source.GetName().ProtoString(); err != nil { 222 panic(err) 223 } else { 224 o.Name = &Name{} 225 if err := o.Name.ParseProtoString(data); err != nil { 226 panic(err) 227 } 228 } 229 } else { 230 o.Name = nil 231 } 232 if source.GetMetadata() != nil { 233 if o.Metadata == nil { 234 o.Metadata = new(meta.Meta) 235 } 236 o.Metadata.Merge(source.GetMetadata()) 237 } 238 if source.GetDefaultRegionalPlan() != nil { 239 if data, err := source.GetDefaultRegionalPlan().ProtoString(); err != nil { 240 panic(err) 241 } else { 242 o.DefaultRegionalPlan = &plan.Reference{} 243 if err := o.DefaultRegionalPlan.ParseProtoString(data); err != nil { 244 panic(err) 245 } 246 } 247 } else { 248 o.DefaultRegionalPlan = nil 249 } 250 if source.GetService() != nil { 251 if data, err := source.GetService().ProtoString(); err != nil { 252 panic(err) 253 } else { 254 o.Service = &meta_service.Reference{} 255 if err := o.Service.ParseProtoString(data); err != nil { 256 panic(err) 257 } 258 } 259 } else { 260 o.Service = nil 261 } 262 for _, sourceValue := range source.GetRegionalPlanOverrides() { 263 exists := false 264 for _, currentValue := range o.RegionalPlanOverrides { 265 if proto.Equal(sourceValue, currentValue) { 266 exists = true 267 break 268 } 269 } 270 if !exists { 271 var newDstElement *common.RegionalPlanAssignment 272 if sourceValue != nil { 273 newDstElement = new(common.RegionalPlanAssignment) 274 newDstElement.Merge(sourceValue) 275 } 276 o.RegionalPlanOverrides = append(o.RegionalPlanOverrides, newDstElement) 277 } 278 } 279 280 for _, sourceValue := range source.GetExtensions() { 281 exists := false 282 for _, currentValue := range o.Extensions { 283 if proto.Equal(sourceValue, currentValue) { 284 exists = true 285 break 286 } 287 } 288 if !exists { 289 var newDstElement *common.Allowance 290 if sourceValue != nil { 291 newDstElement = new(common.Allowance) 292 newDstElement.Merge(sourceValue) 293 } 294 o.Extensions = append(o.Extensions, newDstElement) 295 } 296 } 297 298 for _, sourceValue := range source.GetAllowances() { 299 exists := false 300 for _, currentValue := range o.Allowances { 301 if proto.Equal(sourceValue, currentValue) { 302 exists = true 303 break 304 } 305 } 306 if !exists { 307 var newDstElement *common.Allowance 308 if sourceValue != nil { 309 newDstElement = new(common.Allowance) 310 newDstElement.Merge(sourceValue) 311 } 312 o.Allowances = append(o.Allowances, newDstElement) 313 } 314 } 315 316 for _, sourceValue := range source.GetAppliedRegions() { 317 exists := false 318 for _, currentValue := range o.AppliedRegions { 319 if currentValue == sourceValue { 320 exists = true 321 break 322 } 323 } 324 if !exists { 325 var newDstElement string 326 newDstElement = sourceValue 327 o.AppliedRegions = append(o.AppliedRegions, newDstElement) 328 } 329 } 330 331 o.AppliedPlanSpecGeneration = source.GetAppliedPlanSpecGeneration() 332 if source.GetSource() != nil { 333 if data, err := source.GetSource().ProtoString(); err != nil { 334 panic(err) 335 } else { 336 o.Source = &accepted_plan.Reference{} 337 if err := o.Source.ParseProtoString(data); err != nil { 338 panic(err) 339 } 340 } 341 } else { 342 o.Source = nil 343 } 344 } 345 346 func (o *PlanAssignment) MergeRaw(source gotenobject.GotenObjectExt) { 347 o.Merge(source.(*PlanAssignment)) 348 }