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  }