github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/project/project.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/project.proto 3 // DO NOT EDIT!!! 4 5 package project 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_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common" 20 organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 21 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 22 meta "github.com/cloudwan/goten-sdk/types/meta" 23 multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy" 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_common.PCR{} 40 _ = &organization.Organization{} 41 _ = &meta_service.Service{} 42 _ = &meta.Meta{} 43 _ = &multi_region_policy.MultiRegionPolicy{} 44 ) 45 46 func (o *Project) GotenObjectExt() {} 47 48 func (o *Project) MakeFullFieldMask() *Project_FieldMask { 49 return FullProject_FieldMask() 50 } 51 52 func (o *Project) MakeRawFullFieldMask() gotenobject.FieldMask { 53 return FullProject_FieldMask() 54 } 55 56 func (o *Project) MakeDiffFieldMask(other *Project) *Project_FieldMask { 57 if o == nil && other == nil { 58 return &Project_FieldMask{} 59 } 60 if o == nil || other == nil { 61 return FullProject_FieldMask() 62 } 63 64 res := &Project_FieldMask{} 65 if o.GetName().String() != other.GetName().String() { 66 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorName}) 67 } 68 { 69 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 70 if subMask.IsFull() { 71 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMetadata}) 72 } else { 73 for _, subpath := range subMask.Paths { 74 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMetadata, subPath: subpath}) 75 } 76 } 77 } 78 if o.GetTitle() != other.GetTitle() { 79 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorTitle}) 80 } 81 if o.GetDescription() != other.GetDescription() { 82 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorDescription}) 83 } 84 if o.GetParentOrganization().String() != other.GetParentOrganization().String() { 85 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorParentOrganization}) 86 } 87 { 88 subMask := o.GetMultiRegionPolicy().MakeDiffFieldMask(other.GetMultiRegionPolicy()) 89 if subMask.IsFull() { 90 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMultiRegionPolicy}) 91 } else { 92 for _, subpath := range subMask.Paths { 93 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMultiRegionPolicy, subPath: subpath}) 94 } 95 } 96 } 97 98 if len(o.GetEnabledServices()) == len(other.GetEnabledServices()) { 99 for i, lValue := range o.GetEnabledServices() { 100 rValue := other.GetEnabledServices()[i] 101 if lValue.String() != rValue.String() { 102 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorEnabledServices}) 103 break 104 } 105 } 106 } else { 107 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorEnabledServices}) 108 } 109 if o.GetBusinessTier() != other.GetBusinessTier() { 110 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorBusinessTier}) 111 } 112 113 if len(o.GetServiceTiers()) == len(other.GetServiceTiers()) { 114 for i, lValue := range o.GetServiceTiers() { 115 rValue := other.GetServiceTiers()[i] 116 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 117 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceTiers}) 118 break 119 } 120 } 121 } else { 122 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceTiers}) 123 } 124 if o.GetRootOrganization().String() != other.GetRootOrganization().String() { 125 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorRootOrganization}) 126 } 127 128 if len(o.GetAncestryPath()) == len(other.GetAncestryPath()) { 129 for i, lValue := range o.GetAncestryPath() { 130 rValue := other.GetAncestryPath()[i] 131 if lValue.String() != rValue.String() { 132 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorAncestryPath}) 133 break 134 } 135 } 136 } else { 137 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorAncestryPath}) 138 } 139 140 if len(o.GetServiceErrors()) == len(other.GetServiceErrors()) { 141 for i, lValue := range o.GetServiceErrors() { 142 rValue := other.GetServiceErrors()[i] 143 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 144 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceErrors}) 145 break 146 } 147 } 148 } else { 149 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceErrors}) 150 } 151 if o.GetServicesGeneration() != other.GetServicesGeneration() { 152 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServicesGeneration}) 153 } 154 return res 155 } 156 157 func (o *Project) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 158 return o.MakeDiffFieldMask(other.(*Project)) 159 } 160 161 func (o *Project) Clone() *Project { 162 if o == nil { 163 return nil 164 } 165 result := &Project{} 166 if o.Name == nil { 167 result.Name = nil 168 } else if data, err := o.Name.ProtoString(); err != nil { 169 panic(err) 170 } else { 171 result.Name = &Name{} 172 if err := result.Name.ParseProtoString(data); err != nil { 173 panic(err) 174 } 175 } 176 result.Metadata = o.Metadata.Clone() 177 result.Title = o.Title 178 result.Description = o.Description 179 if o.ParentOrganization == nil { 180 result.ParentOrganization = nil 181 } else if data, err := o.ParentOrganization.ProtoString(); err != nil { 182 panic(err) 183 } else { 184 result.ParentOrganization = &organization.Reference{} 185 if err := result.ParentOrganization.ParseProtoString(data); err != nil { 186 panic(err) 187 } 188 } 189 result.MultiRegionPolicy = o.MultiRegionPolicy.Clone() 190 result.EnabledServices = make([]*meta_service.Reference, len(o.EnabledServices)) 191 for i, sourceValue := range o.EnabledServices { 192 if sourceValue == nil { 193 result.EnabledServices[i] = nil 194 } else if data, err := sourceValue.ProtoString(); err != nil { 195 panic(err) 196 } else { 197 result.EnabledServices[i] = &meta_service.Reference{} 198 if err := result.EnabledServices[i].ParseProtoString(data); err != nil { 199 panic(err) 200 } 201 } 202 } 203 result.BusinessTier = o.BusinessTier 204 result.ServiceTiers = make([]*iam_common.ServiceBusinessTier, len(o.ServiceTiers)) 205 for i, sourceValue := range o.ServiceTiers { 206 result.ServiceTiers[i] = sourceValue.Clone() 207 } 208 if o.RootOrganization == nil { 209 result.RootOrganization = nil 210 } else if data, err := o.RootOrganization.ProtoString(); err != nil { 211 panic(err) 212 } else { 213 result.RootOrganization = &organization.Name{} 214 if err := result.RootOrganization.ParseProtoString(data); err != nil { 215 panic(err) 216 } 217 } 218 result.AncestryPath = make([]*organization.Name, len(o.AncestryPath)) 219 for i, sourceValue := range o.AncestryPath { 220 if sourceValue == nil { 221 result.AncestryPath[i] = nil 222 } else if data, err := sourceValue.ProtoString(); err != nil { 223 panic(err) 224 } else { 225 result.AncestryPath[i] = &organization.Name{} 226 if err := result.AncestryPath[i].ParseProtoString(data); err != nil { 227 panic(err) 228 } 229 } 230 } 231 result.ServiceErrors = map[string]*iam_common.ServiceErrors{} 232 for key, sourceValue := range o.ServiceErrors { 233 result.ServiceErrors[key] = sourceValue.Clone() 234 } 235 result.ServicesGeneration = o.ServicesGeneration 236 return result 237 } 238 239 func (o *Project) CloneRaw() gotenobject.GotenObjectExt { 240 return o.Clone() 241 } 242 243 func (o *Project) Merge(source *Project) { 244 if source.GetName() != nil { 245 if data, err := source.GetName().ProtoString(); err != nil { 246 panic(err) 247 } else { 248 o.Name = &Name{} 249 if err := o.Name.ParseProtoString(data); err != nil { 250 panic(err) 251 } 252 } 253 } else { 254 o.Name = nil 255 } 256 if source.GetMetadata() != nil { 257 if o.Metadata == nil { 258 o.Metadata = new(meta.Meta) 259 } 260 o.Metadata.Merge(source.GetMetadata()) 261 } 262 o.Title = source.GetTitle() 263 o.Description = source.GetDescription() 264 if source.GetParentOrganization() != nil { 265 if data, err := source.GetParentOrganization().ProtoString(); err != nil { 266 panic(err) 267 } else { 268 o.ParentOrganization = &organization.Reference{} 269 if err := o.ParentOrganization.ParseProtoString(data); err != nil { 270 panic(err) 271 } 272 } 273 } else { 274 o.ParentOrganization = nil 275 } 276 if source.GetMultiRegionPolicy() != nil { 277 if o.MultiRegionPolicy == nil { 278 o.MultiRegionPolicy = new(multi_region_policy.MultiRegionPolicy) 279 } 280 o.MultiRegionPolicy.Merge(source.GetMultiRegionPolicy()) 281 } 282 for _, sourceValue := range source.GetEnabledServices() { 283 exists := false 284 for _, currentValue := range o.EnabledServices { 285 leftProtoStr, _ := currentValue.ProtoString() 286 rightProtoStr, _ := sourceValue.ProtoString() 287 if leftProtoStr == rightProtoStr { 288 exists = true 289 break 290 } 291 } 292 if !exists { 293 var newDstElement *meta_service.Reference 294 if sourceValue != nil { 295 if data, err := sourceValue.ProtoString(); err != nil { 296 panic(err) 297 } else { 298 newDstElement = &meta_service.Reference{} 299 if err := newDstElement.ParseProtoString(data); err != nil { 300 panic(err) 301 } 302 } 303 } 304 o.EnabledServices = append(o.EnabledServices, newDstElement) 305 } 306 } 307 308 o.BusinessTier = source.GetBusinessTier() 309 for _, sourceValue := range source.GetServiceTiers() { 310 exists := false 311 for _, currentValue := range o.ServiceTiers { 312 if proto.Equal(sourceValue, currentValue) { 313 exists = true 314 break 315 } 316 } 317 if !exists { 318 var newDstElement *iam_common.ServiceBusinessTier 319 if sourceValue != nil { 320 newDstElement = new(iam_common.ServiceBusinessTier) 321 newDstElement.Merge(sourceValue) 322 } 323 o.ServiceTiers = append(o.ServiceTiers, newDstElement) 324 } 325 } 326 327 if source.GetRootOrganization() != nil { 328 if data, err := source.GetRootOrganization().ProtoString(); err != nil { 329 panic(err) 330 } else { 331 o.RootOrganization = &organization.Name{} 332 if err := o.RootOrganization.ParseProtoString(data); err != nil { 333 panic(err) 334 } 335 } 336 } else { 337 o.RootOrganization = nil 338 } 339 for _, sourceValue := range source.GetAncestryPath() { 340 exists := false 341 for _, currentValue := range o.AncestryPath { 342 leftProtoStr, _ := currentValue.ProtoString() 343 rightProtoStr, _ := sourceValue.ProtoString() 344 if leftProtoStr == rightProtoStr { 345 exists = true 346 break 347 } 348 } 349 if !exists { 350 var newDstElement *organization.Name 351 if sourceValue != nil { 352 if data, err := sourceValue.ProtoString(); err != nil { 353 panic(err) 354 } else { 355 newDstElement = &organization.Name{} 356 if err := newDstElement.ParseProtoString(data); err != nil { 357 panic(err) 358 } 359 } 360 } 361 o.AncestryPath = append(o.AncestryPath, newDstElement) 362 } 363 } 364 365 if source.GetServiceErrors() != nil { 366 if o.ServiceErrors == nil { 367 o.ServiceErrors = make(map[string]*iam_common.ServiceErrors, len(source.GetServiceErrors())) 368 } 369 for key, sourceValue := range source.GetServiceErrors() { 370 if sourceValue != nil { 371 if o.ServiceErrors[key] == nil { 372 o.ServiceErrors[key] = new(iam_common.ServiceErrors) 373 } 374 o.ServiceErrors[key].Merge(sourceValue) 375 } 376 } 377 } 378 o.ServicesGeneration = source.GetServicesGeneration() 379 } 380 381 func (o *Project) MergeRaw(source gotenobject.GotenObjectExt) { 382 o.Merge(source.(*Project)) 383 }