github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/role_binding/role_binding.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1alpha2/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/v1alpha2/condition" 20 organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization" 21 project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 22 role "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/role" 23 meta "github.com/cloudwan/goten-sdk/types/meta" 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 _ = &condition.Condition{} 40 _ = &organization.Organization{} 41 _ = &project.Project{} 42 _ = &role.Role{} 43 _ = &meta.Meta{} 44 ) 45 46 func (o *RoleBinding) GotenObjectExt() {} 47 48 func (o *RoleBinding) MakeFullFieldMask() *RoleBinding_FieldMask { 49 return FullRoleBinding_FieldMask() 50 } 51 52 func (o *RoleBinding) MakeRawFullFieldMask() gotenobject.FieldMask { 53 return FullRoleBinding_FieldMask() 54 } 55 56 func (o *RoleBinding) MakeDiffFieldMask(other *RoleBinding) *RoleBinding_FieldMask { 57 if o == nil && other == nil { 58 return &RoleBinding_FieldMask{} 59 } 60 if o == nil || other == nil { 61 return FullRoleBinding_FieldMask() 62 } 63 64 res := &RoleBinding_FieldMask{} 65 if o.GetName().String() != other.GetName().String() { 66 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorName}) 67 } 68 if o.GetRole().String() != other.GetRole().String() { 69 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorRole}) 70 } 71 if o.GetMember() != other.GetMember() { 72 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorMember}) 73 } 74 { 75 subMask := o.GetConditionBinding().MakeDiffFieldMask(other.GetConditionBinding()) 76 if subMask.IsFull() { 77 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorConditionBinding}) 78 } else { 79 for _, subpath := range subMask.Paths { 80 res.Paths = append(res.Paths, &RoleBinding_FieldSubPath{selector: RoleBinding_FieldPathSelectorConditionBinding, subPath: subpath}) 81 } 82 } 83 } 84 85 if len(o.GetAncestryPath()) == len(other.GetAncestryPath()) { 86 for i, lValue := range o.GetAncestryPath() { 87 rValue := other.GetAncestryPath()[i] 88 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 89 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorAncestryPath}) 90 break 91 } 92 } 93 } else { 94 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorAncestryPath}) 95 } 96 { 97 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 98 if subMask.IsFull() { 99 res.Paths = append(res.Paths, &RoleBinding_FieldTerminalPath{selector: RoleBinding_FieldPathSelectorMetadata}) 100 } else { 101 for _, subpath := range subMask.Paths { 102 res.Paths = append(res.Paths, &RoleBinding_FieldSubPath{selector: RoleBinding_FieldPathSelectorMetadata, subPath: subpath}) 103 } 104 } 105 } 106 return res 107 } 108 109 func (o *RoleBinding) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 110 return o.MakeDiffFieldMask(other.(*RoleBinding)) 111 } 112 113 func (o *RoleBinding) Clone() *RoleBinding { 114 if o == nil { 115 return nil 116 } 117 result := &RoleBinding{} 118 if o.Name == nil { 119 result.Name = nil 120 } else if data, err := o.Name.ProtoString(); err != nil { 121 panic(err) 122 } else { 123 result.Name = &Name{} 124 if err := result.Name.ParseProtoString(data); err != nil { 125 panic(err) 126 } 127 } 128 if o.Role == nil { 129 result.Role = nil 130 } else if data, err := o.Role.ProtoString(); err != nil { 131 panic(err) 132 } else { 133 result.Role = &role.Reference{} 134 if err := result.Role.ParseProtoString(data); err != nil { 135 panic(err) 136 } 137 } 138 result.Member = o.Member 139 result.ConditionBinding = o.ConditionBinding.Clone() 140 result.AncestryPath = make([]*RoleBinding_Parent, len(o.AncestryPath)) 141 for i, sourceValue := range o.AncestryPath { 142 result.AncestryPath[i] = sourceValue.Clone() 143 } 144 result.Metadata = o.Metadata.Clone() 145 return result 146 } 147 148 func (o *RoleBinding) CloneRaw() gotenobject.GotenObjectExt { 149 return o.Clone() 150 } 151 152 func (o *RoleBinding) Merge(source *RoleBinding) { 153 if source.GetName() != nil { 154 if data, err := source.GetName().ProtoString(); err != nil { 155 panic(err) 156 } else { 157 o.Name = &Name{} 158 if err := o.Name.ParseProtoString(data); err != nil { 159 panic(err) 160 } 161 } 162 } else { 163 o.Name = nil 164 } 165 if source.GetRole() != nil { 166 if data, err := source.GetRole().ProtoString(); err != nil { 167 panic(err) 168 } else { 169 o.Role = &role.Reference{} 170 if err := o.Role.ParseProtoString(data); err != nil { 171 panic(err) 172 } 173 } 174 } else { 175 o.Role = nil 176 } 177 o.Member = source.GetMember() 178 if source.GetConditionBinding() != nil { 179 if o.ConditionBinding == nil { 180 o.ConditionBinding = new(condition.ConditionBinding) 181 } 182 o.ConditionBinding.Merge(source.GetConditionBinding()) 183 } 184 for _, sourceValue := range source.GetAncestryPath() { 185 exists := false 186 for _, currentValue := range o.AncestryPath { 187 if proto.Equal(sourceValue, currentValue) { 188 exists = true 189 break 190 } 191 } 192 if !exists { 193 var newDstElement *RoleBinding_Parent 194 if sourceValue != nil { 195 newDstElement = new(RoleBinding_Parent) 196 newDstElement.Merge(sourceValue) 197 } 198 o.AncestryPath = append(o.AncestryPath, newDstElement) 199 } 200 } 201 202 if source.GetMetadata() != nil { 203 if o.Metadata == nil { 204 o.Metadata = new(meta.Meta) 205 } 206 o.Metadata.Merge(source.GetMetadata()) 207 } 208 } 209 210 func (o *RoleBinding) MergeRaw(source gotenobject.GotenObjectExt) { 211 o.Merge(source.(*RoleBinding)) 212 } 213 214 func (o *RoleBinding_Parent) GotenObjectExt() {} 215 216 func (o *RoleBinding_Parent) MakeFullFieldMask() *RoleBinding_Parent_FieldMask { 217 return FullRoleBinding_Parent_FieldMask() 218 } 219 220 func (o *RoleBinding_Parent) MakeRawFullFieldMask() gotenobject.FieldMask { 221 return FullRoleBinding_Parent_FieldMask() 222 } 223 224 func (o *RoleBinding_Parent) MakeDiffFieldMask(other *RoleBinding_Parent) *RoleBinding_Parent_FieldMask { 225 if o == nil && other == nil { 226 return &RoleBinding_Parent_FieldMask{} 227 } 228 if o == nil || other == nil { 229 return FullRoleBinding_Parent_FieldMask() 230 } 231 232 res := &RoleBinding_Parent_FieldMask{} 233 if o.GetParent().String() != other.GetParent().String() { 234 res.Paths = append(res.Paths, &RoleBindingParent_FieldTerminalPath{selector: RoleBindingParent_FieldPathSelectorParent}) 235 } 236 if o.GetMember() != other.GetMember() { 237 res.Paths = append(res.Paths, &RoleBindingParent_FieldTerminalPath{selector: RoleBindingParent_FieldPathSelectorMember}) 238 } 239 return res 240 } 241 242 func (o *RoleBinding_Parent) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 243 return o.MakeDiffFieldMask(other.(*RoleBinding_Parent)) 244 } 245 246 func (o *RoleBinding_Parent) Clone() *RoleBinding_Parent { 247 if o == nil { 248 return nil 249 } 250 result := &RoleBinding_Parent{} 251 if o.Parent == nil { 252 result.Parent = nil 253 } else if data, err := o.Parent.ProtoString(); err != nil { 254 panic(err) 255 } else { 256 result.Parent = &Reference{} 257 if err := result.Parent.ParseProtoString(data); err != nil { 258 panic(err) 259 } 260 } 261 result.Member = o.Member 262 return result 263 } 264 265 func (o *RoleBinding_Parent) CloneRaw() gotenobject.GotenObjectExt { 266 return o.Clone() 267 } 268 269 func (o *RoleBinding_Parent) Merge(source *RoleBinding_Parent) { 270 if source.GetParent() != nil { 271 if data, err := source.GetParent().ProtoString(); err != nil { 272 panic(err) 273 } else { 274 o.Parent = &Reference{} 275 if err := o.Parent.ParseProtoString(data); err != nil { 276 panic(err) 277 } 278 } 279 } else { 280 o.Parent = nil 281 } 282 o.Member = source.GetMember() 283 } 284 285 func (o *RoleBinding_Parent) MergeRaw(source gotenobject.GotenObjectExt) { 286 o.Merge(source.(*RoleBinding_Parent)) 287 }