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