github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/member_assignment/member_assignment.pb.object_ext.go (about)

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