github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/role_binding/role_binding.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/role_binding.proto 3 // DO NOT EDIT!!! 4 5 package role_binding 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 condition "github.com/cloudwan/edgelq-sdk/iam/resources/v1/condition" 20 organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 21 project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 22 role "github.com/cloudwan/edgelq-sdk/iam/resources/v1/role" 23 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 24 meta "github.com/cloudwan/goten-sdk/types/meta" 25 ) 26 27 // ensure the imports are used 28 var ( 29 _ = new(fmt.Stringer) 30 _ = new(sort.Interface) 31 32 _ = new(proto.Message) 33 _ = googlefieldmaskpb.FieldMask{} 34 35 _ = new(gotenobject.FieldPath) 36 ) 37 38 // make sure we're using proto imports 39 var ( 40 _ = &condition.Condition{} 41 _ = &organization.Organization{} 42 _ = &project.Project{} 43 _ = &role.Role{} 44 _ = &meta_service.Service{} 45 _ = &meta.Meta{} 46 ) 47 48 func (o *RoleBinding) GotenObjectExt() {} 49 50 func (o *RoleBinding) MakeFullFieldMask() *RoleBinding_FieldMask { 51 return FullRoleBinding_FieldMask() 52 } 53 54 func (o *RoleBinding) MakeRawFullFieldMask() gotenobject.FieldMask { 55 return FullRoleBinding_FieldMask() 56 } 57 58 func (o *RoleBinding) MakeDiffFieldMask(other *RoleBinding) *RoleBinding_FieldMask { 59 if o == nil && other == nil { 60 return &RoleBinding_FieldMask{} 61 } 62 if o == nil || other == nil { 63 return FullRoleBinding_FieldMask() 64 } 65 66 res := &RoleBinding_FieldMask{} 67 if o.GetName().String() != other.GetName().String() { 68 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorName}) 69 } 70 { 71 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 72 if subMask.IsFull() { 73 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorMetadata}) 74 } else { 75 for _, subpath := range subMask.Paths { 76 res.Paths = append(res.Paths, &RoleBinding_FieldSubPath{selector: RoleBinding_FieldPathSelectorMetadata, subPath: subpath}) 77 } 78 } 79 } 80 if o.GetRole().String() != other.GetRole().String() { 81 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorRole}) 82 } 83 if o.GetMember() != other.GetMember() { 84 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorMember}) 85 } 86 87 if len(o.GetScopeParams()) == len(other.GetScopeParams()) { 88 for i, lValue := range o.GetScopeParams() { 89 rValue := other.GetScopeParams()[i] 90 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 91 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorScopeParams}) 92 break 93 } 94 } 95 } else { 96 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorScopeParams}) 97 } 98 99 if len(o.GetExecutableConditions()) == len(other.GetExecutableConditions()) { 100 for i, lValue := range o.GetExecutableConditions() { 101 rValue := other.GetExecutableConditions()[i] 102 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 103 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorExecutableConditions}) 104 break 105 } 106 } 107 } else { 108 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorExecutableConditions}) 109 } 110 111 if len(o.GetOwnedObjects()) == len(other.GetOwnedObjects()) { 112 for i, lValue := range o.GetOwnedObjects() { 113 rValue := other.GetOwnedObjects()[i] 114 if lValue != rValue { 115 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorOwnedObjects}) 116 break 117 } 118 } 119 } else { 120 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorOwnedObjects}) 121 } 122 if o.GetMemberType() != other.GetMemberType() { 123 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorMemberType}) 124 } 125 if o.GetCategory() != other.GetCategory() { 126 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorCategory}) 127 } 128 129 if len(o.GetAncestryPath()) == len(other.GetAncestryPath()) { 130 for i, lValue := range o.GetAncestryPath() { 131 rValue := other.GetAncestryPath()[i] 132 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 133 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorAncestryPath}) 134 break 135 } 136 } 137 } else { 138 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorAncestryPath}) 139 } 140 if o.GetParentByOrg().String() != other.GetParentByOrg().String() { 141 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorParentByOrg}) 142 } 143 if o.GetSpecGeneration() != other.GetSpecGeneration() { 144 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorSpecGeneration}) 145 } 146 if o.GetHasOwnedObjects() != other.GetHasOwnedObjects() { 147 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorHasOwnedObjects}) 148 } 149 if o.GetDisableForChildScopes() != other.GetDisableForChildScopes() { 150 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorDisableForChildScopes}) 151 } 152 return res 153 } 154 155 func (o *RoleBinding) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 156 return o.MakeDiffFieldMask(other.(*RoleBinding)) 157 } 158 159 func (o *RoleBinding) Clone() *RoleBinding { 160 if o == nil { 161 return nil 162 } 163 result := &RoleBinding{} 164 if o.Name == nil { 165 result.Name = nil 166 } else if data, err := o.Name.ProtoString(); err != nil { 167 panic(err) 168 } else { 169 result.Name = &Name{} 170 if err := result.Name.ParseProtoString(data); err != nil { 171 panic(err) 172 } 173 } 174 result.Metadata = o.Metadata.Clone() 175 if o.Role == nil { 176 result.Role = nil 177 } else if data, err := o.Role.ProtoString(); err != nil { 178 panic(err) 179 } else { 180 result.Role = &role.Reference{} 181 if err := result.Role.ParseProtoString(data); err != nil { 182 panic(err) 183 } 184 } 185 result.Member = o.Member 186 result.ScopeParams = make([]*role.ScopeParam, len(o.ScopeParams)) 187 for i, sourceValue := range o.ScopeParams { 188 result.ScopeParams[i] = sourceValue.Clone() 189 } 190 result.ExecutableConditions = make([]*condition.ExecutableCondition, len(o.ExecutableConditions)) 191 for i, sourceValue := range o.ExecutableConditions { 192 result.ExecutableConditions[i] = sourceValue.Clone() 193 } 194 result.OwnedObjects = make([]string, len(o.OwnedObjects)) 195 for i, sourceValue := range o.OwnedObjects { 196 result.OwnedObjects[i] = sourceValue 197 } 198 result.MemberType = o.MemberType 199 result.Category = o.Category 200 result.AncestryPath = make([]*RoleBinding_Parent, len(o.AncestryPath)) 201 for i, sourceValue := range o.AncestryPath { 202 result.AncestryPath[i] = sourceValue.Clone() 203 } 204 if o.ParentByOrg == nil { 205 result.ParentByOrg = nil 206 } else if data, err := o.ParentByOrg.ProtoString(); err != nil { 207 panic(err) 208 } else { 209 result.ParentByOrg = &Reference{} 210 if err := result.ParentByOrg.ParseProtoString(data); err != nil { 211 panic(err) 212 } 213 } 214 result.SpecGeneration = o.SpecGeneration 215 result.HasOwnedObjects = o.HasOwnedObjects 216 result.DisableForChildScopes = o.DisableForChildScopes 217 return result 218 } 219 220 func (o *RoleBinding) CloneRaw() gotenobject.GotenObjectExt { 221 return o.Clone() 222 } 223 224 func (o *RoleBinding) Merge(source *RoleBinding) { 225 if source.GetName() != nil { 226 if data, err := source.GetName().ProtoString(); err != nil { 227 panic(err) 228 } else { 229 o.Name = &Name{} 230 if err := o.Name.ParseProtoString(data); err != nil { 231 panic(err) 232 } 233 } 234 } else { 235 o.Name = nil 236 } 237 if source.GetMetadata() != nil { 238 if o.Metadata == nil { 239 o.Metadata = new(meta.Meta) 240 } 241 o.Metadata.Merge(source.GetMetadata()) 242 } 243 if source.GetRole() != nil { 244 if data, err := source.GetRole().ProtoString(); err != nil { 245 panic(err) 246 } else { 247 o.Role = &role.Reference{} 248 if err := o.Role.ParseProtoString(data); err != nil { 249 panic(err) 250 } 251 } 252 } else { 253 o.Role = nil 254 } 255 o.Member = source.GetMember() 256 for _, sourceValue := range source.GetScopeParams() { 257 exists := false 258 for _, currentValue := range o.ScopeParams { 259 if proto.Equal(sourceValue, currentValue) { 260 exists = true 261 break 262 } 263 } 264 if !exists { 265 var newDstElement *role.ScopeParam 266 if sourceValue != nil { 267 newDstElement = new(role.ScopeParam) 268 newDstElement.Merge(sourceValue) 269 } 270 o.ScopeParams = append(o.ScopeParams, newDstElement) 271 } 272 } 273 274 for _, sourceValue := range source.GetExecutableConditions() { 275 exists := false 276 for _, currentValue := range o.ExecutableConditions { 277 if proto.Equal(sourceValue, currentValue) { 278 exists = true 279 break 280 } 281 } 282 if !exists { 283 var newDstElement *condition.ExecutableCondition 284 if sourceValue != nil { 285 newDstElement = new(condition.ExecutableCondition) 286 newDstElement.Merge(sourceValue) 287 } 288 o.ExecutableConditions = append(o.ExecutableConditions, newDstElement) 289 } 290 } 291 292 for _, sourceValue := range source.GetOwnedObjects() { 293 exists := false 294 for _, currentValue := range o.OwnedObjects { 295 if currentValue == sourceValue { 296 exists = true 297 break 298 } 299 } 300 if !exists { 301 var newDstElement string 302 newDstElement = sourceValue 303 o.OwnedObjects = append(o.OwnedObjects, newDstElement) 304 } 305 } 306 307 o.MemberType = source.GetMemberType() 308 o.Category = source.GetCategory() 309 for _, sourceValue := range source.GetAncestryPath() { 310 exists := false 311 for _, currentValue := range o.AncestryPath { 312 if proto.Equal(sourceValue, currentValue) { 313 exists = true 314 break 315 } 316 } 317 if !exists { 318 var newDstElement *RoleBinding_Parent 319 if sourceValue != nil { 320 newDstElement = new(RoleBinding_Parent) 321 newDstElement.Merge(sourceValue) 322 } 323 o.AncestryPath = append(o.AncestryPath, newDstElement) 324 } 325 } 326 327 if source.GetParentByOrg() != nil { 328 if data, err := source.GetParentByOrg().ProtoString(); err != nil { 329 panic(err) 330 } else { 331 o.ParentByOrg = &Reference{} 332 if err := o.ParentByOrg.ParseProtoString(data); err != nil { 333 panic(err) 334 } 335 } 336 } else { 337 o.ParentByOrg = nil 338 } 339 o.SpecGeneration = source.GetSpecGeneration() 340 o.HasOwnedObjects = source.GetHasOwnedObjects() 341 o.DisableForChildScopes = source.GetDisableForChildScopes() 342 } 343 344 func (o *RoleBinding) MergeRaw(source gotenobject.GotenObjectExt) { 345 o.Merge(source.(*RoleBinding)) 346 } 347 348 func (o *RoleBinding_Parent) GotenObjectExt() {} 349 350 func (o *RoleBinding_Parent) MakeFullFieldMask() *RoleBinding_Parent_FieldMask { 351 return FullRoleBinding_Parent_FieldMask() 352 } 353 354 func (o *RoleBinding_Parent) MakeRawFullFieldMask() gotenobject.FieldMask { 355 return FullRoleBinding_Parent_FieldMask() 356 } 357 358 func (o *RoleBinding_Parent) MakeDiffFieldMask(other *RoleBinding_Parent) *RoleBinding_Parent_FieldMask { 359 if o == nil && other == nil { 360 return &RoleBinding_Parent_FieldMask{} 361 } 362 if o == nil || other == nil { 363 return FullRoleBinding_Parent_FieldMask() 364 } 365 366 res := &RoleBinding_Parent_FieldMask{} 367 if o.GetParent().String() != other.GetParent().String() { 368 res.Paths = append(res.Paths, &RoleBindingParent_FieldTerminalPath{selector: RoleBindingParent_FieldPathSelectorParent}) 369 } 370 if o.GetMember() != other.GetMember() { 371 res.Paths = append(res.Paths, &RoleBindingParent_FieldTerminalPath{selector: RoleBindingParent_FieldPathSelectorMember}) 372 } 373 return res 374 } 375 376 func (o *RoleBinding_Parent) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 377 return o.MakeDiffFieldMask(other.(*RoleBinding_Parent)) 378 } 379 380 func (o *RoleBinding_Parent) Clone() *RoleBinding_Parent { 381 if o == nil { 382 return nil 383 } 384 result := &RoleBinding_Parent{} 385 if o.Parent == nil { 386 result.Parent = nil 387 } else if data, err := o.Parent.ProtoString(); err != nil { 388 panic(err) 389 } else { 390 result.Parent = &Reference{} 391 if err := result.Parent.ParseProtoString(data); err != nil { 392 panic(err) 393 } 394 } 395 result.Member = o.Member 396 return result 397 } 398 399 func (o *RoleBinding_Parent) CloneRaw() gotenobject.GotenObjectExt { 400 return o.Clone() 401 } 402 403 func (o *RoleBinding_Parent) Merge(source *RoleBinding_Parent) { 404 if source.GetParent() != nil { 405 if data, err := source.GetParent().ProtoString(); err != nil { 406 panic(err) 407 } else { 408 o.Parent = &Reference{} 409 if err := o.Parent.ParseProtoString(data); err != nil { 410 panic(err) 411 } 412 } 413 } else { 414 o.Parent = nil 415 } 416 o.Member = source.GetMember() 417 } 418 419 func (o *RoleBinding_Parent) MergeRaw(source gotenobject.GotenObjectExt) { 420 o.Merge(source.(*RoleBinding_Parent)) 421 }