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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/limits/proto/v1/plan_assignment_request.proto
     3  // DO NOT EDIT!!!
     4  
     5  package plan_assignment_request
     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_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    20  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project"
    21  	accepted_plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/accepted_plan"
    22  	common "github.com/cloudwan/edgelq-sdk/limits/resources/v1/common"
    23  	plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/plan"
    24  	plan_assignment "github.com/cloudwan/edgelq-sdk/limits/resources/v1/plan_assignment"
    25  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    26  	meta "github.com/cloudwan/goten-sdk/types/meta"
    27  )
    28  
    29  // ensure the imports are used
    30  var (
    31  	_ = new(fmt.Stringer)
    32  	_ = new(sort.Interface)
    33  
    34  	_ = new(proto.Message)
    35  	_ = googlefieldmaskpb.FieldMask{}
    36  
    37  	_ = new(gotenobject.FieldPath)
    38  )
    39  
    40  // make sure we're using proto imports
    41  var (
    42  	_ = &iam_organization.Organization{}
    43  	_ = &iam_project.Project{}
    44  	_ = &accepted_plan.AcceptedPlan{}
    45  	_ = &common.RegionalPlanAssignment{}
    46  	_ = &plan.Plan{}
    47  	_ = &plan_assignment.PlanAssignment{}
    48  	_ = &meta_service.Service{}
    49  	_ = &meta.Meta{}
    50  )
    51  
    52  func (o *PlanAssignmentRequest) GotenObjectExt() {}
    53  
    54  func (o *PlanAssignmentRequest) MakeFullFieldMask() *PlanAssignmentRequest_FieldMask {
    55  	return FullPlanAssignmentRequest_FieldMask()
    56  }
    57  
    58  func (o *PlanAssignmentRequest) MakeRawFullFieldMask() gotenobject.FieldMask {
    59  	return FullPlanAssignmentRequest_FieldMask()
    60  }
    61  
    62  func (o *PlanAssignmentRequest) MakeDiffFieldMask(other *PlanAssignmentRequest) *PlanAssignmentRequest_FieldMask {
    63  	if o == nil && other == nil {
    64  		return &PlanAssignmentRequest_FieldMask{}
    65  	}
    66  	if o == nil || other == nil {
    67  		return FullPlanAssignmentRequest_FieldMask()
    68  	}
    69  
    70  	res := &PlanAssignmentRequest_FieldMask{}
    71  	if o.GetName().String() != other.GetName().String() {
    72  		res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorName})
    73  	}
    74  	{
    75  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    76  		if subMask.IsFull() {
    77  			res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorMetadata})
    78  		} else {
    79  			for _, subpath := range subMask.Paths {
    80  				res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldSubPath{selector: PlanAssignmentRequest_FieldPathSelectorMetadata, subPath: subpath})
    81  			}
    82  		}
    83  	}
    84  	{
    85  		subMask := o.GetRequest().MakeDiffFieldMask(other.GetRequest())
    86  		if subMask.IsFull() {
    87  			res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorRequest})
    88  		} else {
    89  			for _, subpath := range subMask.Paths {
    90  				res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldSubPath{selector: PlanAssignmentRequest_FieldPathSelectorRequest, subPath: subpath})
    91  			}
    92  		}
    93  	}
    94  	if o.GetService().String() != other.GetService().String() {
    95  		res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorService})
    96  	}
    97  	if o.GetApprover().String() != other.GetApprover().String() {
    98  		res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorApprover})
    99  	}
   100  	{
   101  		subMask := o.GetStatus().MakeDiffFieldMask(other.GetStatus())
   102  		if subMask.IsFull() {
   103  			res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldTerminalPath{selector: PlanAssignmentRequest_FieldPathSelectorStatus})
   104  		} else {
   105  			for _, subpath := range subMask.Paths {
   106  				res.Paths = append(res.Paths, &PlanAssignmentRequest_FieldSubPath{selector: PlanAssignmentRequest_FieldPathSelectorStatus, subPath: subpath})
   107  			}
   108  		}
   109  	}
   110  	return res
   111  }
   112  
   113  func (o *PlanAssignmentRequest) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   114  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest))
   115  }
   116  
   117  func (o *PlanAssignmentRequest) Clone() *PlanAssignmentRequest {
   118  	if o == nil {
   119  		return nil
   120  	}
   121  	result := &PlanAssignmentRequest{}
   122  	if o.Name == nil {
   123  		result.Name = nil
   124  	} else if data, err := o.Name.ProtoString(); err != nil {
   125  		panic(err)
   126  	} else {
   127  		result.Name = &Name{}
   128  		if err := result.Name.ParseProtoString(data); err != nil {
   129  			panic(err)
   130  		}
   131  	}
   132  	result.Metadata = o.Metadata.Clone()
   133  	result.Request = o.Request.Clone()
   134  	if o.Service == nil {
   135  		result.Service = nil
   136  	} else if data, err := o.Service.ProtoString(); err != nil {
   137  		panic(err)
   138  	} else {
   139  		result.Service = &meta_service.Reference{}
   140  		if err := result.Service.ParseProtoString(data); err != nil {
   141  			panic(err)
   142  		}
   143  	}
   144  	if o.Approver == nil {
   145  		result.Approver = nil
   146  	} else if data, err := o.Approver.ProtoString(); err != nil {
   147  		panic(err)
   148  	} else {
   149  		result.Approver = &accepted_plan.ParentName{}
   150  		if err := result.Approver.ParseProtoString(data); err != nil {
   151  			panic(err)
   152  		}
   153  	}
   154  	result.Status = o.Status.Clone()
   155  	return result
   156  }
   157  
   158  func (o *PlanAssignmentRequest) CloneRaw() gotenobject.GotenObjectExt {
   159  	return o.Clone()
   160  }
   161  
   162  func (o *PlanAssignmentRequest) Merge(source *PlanAssignmentRequest) {
   163  	if source.GetName() != nil {
   164  		if data, err := source.GetName().ProtoString(); err != nil {
   165  			panic(err)
   166  		} else {
   167  			o.Name = &Name{}
   168  			if err := o.Name.ParseProtoString(data); err != nil {
   169  				panic(err)
   170  			}
   171  		}
   172  	} else {
   173  		o.Name = nil
   174  	}
   175  	if source.GetMetadata() != nil {
   176  		if o.Metadata == nil {
   177  			o.Metadata = new(meta.Meta)
   178  		}
   179  		o.Metadata.Merge(source.GetMetadata())
   180  	}
   181  	if source.GetRequest() != nil {
   182  		if o.Request == nil {
   183  			o.Request = new(PlanAssignmentRequest_RequestType)
   184  		}
   185  		o.Request.Merge(source.GetRequest())
   186  	}
   187  	if source.GetService() != nil {
   188  		if data, err := source.GetService().ProtoString(); err != nil {
   189  			panic(err)
   190  		} else {
   191  			o.Service = &meta_service.Reference{}
   192  			if err := o.Service.ParseProtoString(data); err != nil {
   193  				panic(err)
   194  			}
   195  		}
   196  	} else {
   197  		o.Service = nil
   198  	}
   199  	if source.GetApprover() != nil {
   200  		if data, err := source.GetApprover().ProtoString(); err != nil {
   201  			panic(err)
   202  		} else {
   203  			o.Approver = &accepted_plan.ParentName{}
   204  			if err := o.Approver.ParseProtoString(data); err != nil {
   205  				panic(err)
   206  			}
   207  		}
   208  	} else {
   209  		o.Approver = nil
   210  	}
   211  	if source.GetStatus() != nil {
   212  		if o.Status == nil {
   213  			o.Status = new(PlanAssignmentRequest_Status)
   214  		}
   215  		o.Status.Merge(source.GetStatus())
   216  	}
   217  }
   218  
   219  func (o *PlanAssignmentRequest) MergeRaw(source gotenobject.GotenObjectExt) {
   220  	o.Merge(source.(*PlanAssignmentRequest))
   221  }
   222  
   223  func (o *PlanAssignmentRequest_Status) GotenObjectExt() {}
   224  
   225  func (o *PlanAssignmentRequest_Status) MakeFullFieldMask() *PlanAssignmentRequest_Status_FieldMask {
   226  	return FullPlanAssignmentRequest_Status_FieldMask()
   227  }
   228  
   229  func (o *PlanAssignmentRequest_Status) MakeRawFullFieldMask() gotenobject.FieldMask {
   230  	return FullPlanAssignmentRequest_Status_FieldMask()
   231  }
   232  
   233  func (o *PlanAssignmentRequest_Status) MakeDiffFieldMask(other *PlanAssignmentRequest_Status) *PlanAssignmentRequest_Status_FieldMask {
   234  	if o == nil && other == nil {
   235  		return &PlanAssignmentRequest_Status_FieldMask{}
   236  	}
   237  	if o == nil || other == nil {
   238  		return FullPlanAssignmentRequest_Status_FieldMask()
   239  	}
   240  
   241  	res := &PlanAssignmentRequest_Status_FieldMask{}
   242  	if o.GetConclusion() != other.GetConclusion() {
   243  		res.Paths = append(res.Paths, &PlanAssignmentRequestStatus_FieldTerminalPath{selector: PlanAssignmentRequestStatus_FieldPathSelectorConclusion})
   244  	}
   245  	if o.GetReason() != other.GetReason() {
   246  		res.Paths = append(res.Paths, &PlanAssignmentRequestStatus_FieldTerminalPath{selector: PlanAssignmentRequestStatus_FieldPathSelectorReason})
   247  	}
   248  	return res
   249  }
   250  
   251  func (o *PlanAssignmentRequest_Status) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   252  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest_Status))
   253  }
   254  
   255  func (o *PlanAssignmentRequest_Status) Clone() *PlanAssignmentRequest_Status {
   256  	if o == nil {
   257  		return nil
   258  	}
   259  	result := &PlanAssignmentRequest_Status{}
   260  	result.Conclusion = o.Conclusion
   261  	result.Reason = o.Reason
   262  	return result
   263  }
   264  
   265  func (o *PlanAssignmentRequest_Status) CloneRaw() gotenobject.GotenObjectExt {
   266  	return o.Clone()
   267  }
   268  
   269  func (o *PlanAssignmentRequest_Status) Merge(source *PlanAssignmentRequest_Status) {
   270  	o.Conclusion = source.GetConclusion()
   271  	o.Reason = source.GetReason()
   272  }
   273  
   274  func (o *PlanAssignmentRequest_Status) MergeRaw(source gotenobject.GotenObjectExt) {
   275  	o.Merge(source.(*PlanAssignmentRequest_Status))
   276  }
   277  
   278  func (o *PlanAssignmentRequest_RequestType) GotenObjectExt() {}
   279  
   280  func (o *PlanAssignmentRequest_RequestType) MakeFullFieldMask() *PlanAssignmentRequest_RequestType_FieldMask {
   281  	return FullPlanAssignmentRequest_RequestType_FieldMask()
   282  }
   283  
   284  func (o *PlanAssignmentRequest_RequestType) MakeRawFullFieldMask() gotenobject.FieldMask {
   285  	return FullPlanAssignmentRequest_RequestType_FieldMask()
   286  }
   287  
   288  func (o *PlanAssignmentRequest_RequestType) MakeDiffFieldMask(other *PlanAssignmentRequest_RequestType) *PlanAssignmentRequest_RequestType_FieldMask {
   289  	if o == nil && other == nil {
   290  		return &PlanAssignmentRequest_RequestType_FieldMask{}
   291  	}
   292  	if o == nil || other == nil {
   293  		return FullPlanAssignmentRequest_RequestType_FieldMask()
   294  	}
   295  
   296  	res := &PlanAssignmentRequest_RequestType_FieldMask{}
   297  	{
   298  		_, leftSelected := o.Request.(*PlanAssignmentRequest_RequestType_Assign_)
   299  		_, rightSelected := other.Request.(*PlanAssignmentRequest_RequestType_Assign_)
   300  		if leftSelected == rightSelected {
   301  			subMask := o.GetAssign().MakeDiffFieldMask(other.GetAssign())
   302  			if subMask.IsFull() {
   303  				res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorAssign})
   304  			} else {
   305  				for _, subpath := range subMask.Paths {
   306  					res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldSubPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorAssign, subPath: subpath})
   307  				}
   308  			}
   309  		} else {
   310  			res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorAssign})
   311  		}
   312  	}
   313  	{
   314  		_, leftSelected := o.Request.(*PlanAssignmentRequest_RequestType_Extend_)
   315  		_, rightSelected := other.Request.(*PlanAssignmentRequest_RequestType_Extend_)
   316  		if leftSelected == rightSelected {
   317  			subMask := o.GetExtend().MakeDiffFieldMask(other.GetExtend())
   318  			if subMask.IsFull() {
   319  				res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorExtend})
   320  			} else {
   321  				for _, subpath := range subMask.Paths {
   322  					res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldSubPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorExtend, subPath: subpath})
   323  				}
   324  			}
   325  		} else {
   326  			res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorExtend})
   327  		}
   328  	}
   329  	{
   330  		_, leftSelected := o.Request.(*PlanAssignmentRequest_RequestType_Unassign_)
   331  		_, rightSelected := other.Request.(*PlanAssignmentRequest_RequestType_Unassign_)
   332  		if leftSelected == rightSelected {
   333  			subMask := o.GetUnassign().MakeDiffFieldMask(other.GetUnassign())
   334  			if subMask.IsFull() {
   335  				res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorUnassign})
   336  			} else {
   337  				for _, subpath := range subMask.Paths {
   338  					res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldSubPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorUnassign, subPath: subpath})
   339  				}
   340  			}
   341  		} else {
   342  			res.Paths = append(res.Paths, &PlanAssignmentRequestRequestType_FieldTerminalPath{selector: PlanAssignmentRequestRequestType_FieldPathSelectorUnassign})
   343  		}
   344  	}
   345  	return res
   346  }
   347  
   348  func (o *PlanAssignmentRequest_RequestType) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   349  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest_RequestType))
   350  }
   351  
   352  func (o *PlanAssignmentRequest_RequestType) Clone() *PlanAssignmentRequest_RequestType {
   353  	if o == nil {
   354  		return nil
   355  	}
   356  	result := &PlanAssignmentRequest_RequestType{}
   357  	if o, ok := o.Request.(*PlanAssignmentRequest_RequestType_Assign_); ok {
   358  		result.Request = (*PlanAssignmentRequest_RequestType_Assign_)(nil)
   359  		if o != nil {
   360  			result.Request = &PlanAssignmentRequest_RequestType_Assign_{}
   361  			result := result.Request.(*PlanAssignmentRequest_RequestType_Assign_)
   362  			result.Assign = o.Assign.Clone()
   363  		}
   364  	}
   365  	if o, ok := o.Request.(*PlanAssignmentRequest_RequestType_Extend_); ok {
   366  		result.Request = (*PlanAssignmentRequest_RequestType_Extend_)(nil)
   367  		if o != nil {
   368  			result.Request = &PlanAssignmentRequest_RequestType_Extend_{}
   369  			result := result.Request.(*PlanAssignmentRequest_RequestType_Extend_)
   370  			result.Extend = o.Extend.Clone()
   371  		}
   372  	}
   373  	if o, ok := o.Request.(*PlanAssignmentRequest_RequestType_Unassign_); ok {
   374  		result.Request = (*PlanAssignmentRequest_RequestType_Unassign_)(nil)
   375  		if o != nil {
   376  			result.Request = &PlanAssignmentRequest_RequestType_Unassign_{}
   377  			result := result.Request.(*PlanAssignmentRequest_RequestType_Unassign_)
   378  			result.Unassign = o.Unassign.Clone()
   379  		}
   380  	}
   381  	return result
   382  }
   383  
   384  func (o *PlanAssignmentRequest_RequestType) CloneRaw() gotenobject.GotenObjectExt {
   385  	return o.Clone()
   386  }
   387  
   388  func (o *PlanAssignmentRequest_RequestType) Merge(source *PlanAssignmentRequest_RequestType) {
   389  	if source, ok := source.GetRequest().(*PlanAssignmentRequest_RequestType_Assign_); ok {
   390  		if dstOneOf, ok := o.Request.(*PlanAssignmentRequest_RequestType_Assign_); !ok || dstOneOf == nil {
   391  			o.Request = &PlanAssignmentRequest_RequestType_Assign_{}
   392  		}
   393  		if source != nil {
   394  			o := o.Request.(*PlanAssignmentRequest_RequestType_Assign_)
   395  			if source.Assign != nil {
   396  				if o.Assign == nil {
   397  					o.Assign = new(PlanAssignmentRequest_RequestType_Assign)
   398  				}
   399  				o.Assign.Merge(source.Assign)
   400  			}
   401  		}
   402  	}
   403  	if source, ok := source.GetRequest().(*PlanAssignmentRequest_RequestType_Extend_); ok {
   404  		if dstOneOf, ok := o.Request.(*PlanAssignmentRequest_RequestType_Extend_); !ok || dstOneOf == nil {
   405  			o.Request = &PlanAssignmentRequest_RequestType_Extend_{}
   406  		}
   407  		if source != nil {
   408  			o := o.Request.(*PlanAssignmentRequest_RequestType_Extend_)
   409  			if source.Extend != nil {
   410  				if o.Extend == nil {
   411  					o.Extend = new(PlanAssignmentRequest_RequestType_Extend)
   412  				}
   413  				o.Extend.Merge(source.Extend)
   414  			}
   415  		}
   416  	}
   417  	if source, ok := source.GetRequest().(*PlanAssignmentRequest_RequestType_Unassign_); ok {
   418  		if dstOneOf, ok := o.Request.(*PlanAssignmentRequest_RequestType_Unassign_); !ok || dstOneOf == nil {
   419  			o.Request = &PlanAssignmentRequest_RequestType_Unassign_{}
   420  		}
   421  		if source != nil {
   422  			o := o.Request.(*PlanAssignmentRequest_RequestType_Unassign_)
   423  			if source.Unassign != nil {
   424  				if o.Unassign == nil {
   425  					o.Unassign = new(PlanAssignmentRequest_RequestType_Unassign)
   426  				}
   427  				o.Unassign.Merge(source.Unassign)
   428  			}
   429  		}
   430  	}
   431  }
   432  
   433  func (o *PlanAssignmentRequest_RequestType) MergeRaw(source gotenobject.GotenObjectExt) {
   434  	o.Merge(source.(*PlanAssignmentRequest_RequestType))
   435  }
   436  
   437  func (o *PlanAssignmentRequest_RequestType_Assign) GotenObjectExt() {}
   438  
   439  func (o *PlanAssignmentRequest_RequestType_Assign) MakeFullFieldMask() *PlanAssignmentRequest_RequestType_Assign_FieldMask {
   440  	return FullPlanAssignmentRequest_RequestType_Assign_FieldMask()
   441  }
   442  
   443  func (o *PlanAssignmentRequest_RequestType_Assign) MakeRawFullFieldMask() gotenobject.FieldMask {
   444  	return FullPlanAssignmentRequest_RequestType_Assign_FieldMask()
   445  }
   446  
   447  func (o *PlanAssignmentRequest_RequestType_Assign) MakeDiffFieldMask(other *PlanAssignmentRequest_RequestType_Assign) *PlanAssignmentRequest_RequestType_Assign_FieldMask {
   448  	if o == nil && other == nil {
   449  		return &PlanAssignmentRequest_RequestType_Assign_FieldMask{}
   450  	}
   451  	if o == nil || other == nil {
   452  		return FullPlanAssignmentRequest_RequestType_Assign_FieldMask()
   453  	}
   454  
   455  	res := &PlanAssignmentRequest_RequestType_Assign_FieldMask{}
   456  	if o.GetPlan().String() != other.GetPlan().String() {
   457  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeAssign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeAssign_FieldPathSelectorPlan})
   458  	}
   459  
   460  	if len(o.GetExtensions()) == len(other.GetExtensions()) {
   461  		for i, lValue := range o.GetExtensions() {
   462  			rValue := other.GetExtensions()[i]
   463  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   464  				res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeAssign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeAssign_FieldPathSelectorExtensions})
   465  				break
   466  			}
   467  		}
   468  	} else {
   469  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeAssign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeAssign_FieldPathSelectorExtensions})
   470  	}
   471  	if o.GetRegion() != other.GetRegion() {
   472  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeAssign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeAssign_FieldPathSelectorRegion})
   473  	}
   474  	return res
   475  }
   476  
   477  func (o *PlanAssignmentRequest_RequestType_Assign) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   478  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest_RequestType_Assign))
   479  }
   480  
   481  func (o *PlanAssignmentRequest_RequestType_Assign) Clone() *PlanAssignmentRequest_RequestType_Assign {
   482  	if o == nil {
   483  		return nil
   484  	}
   485  	result := &PlanAssignmentRequest_RequestType_Assign{}
   486  	if o.Plan == nil {
   487  		result.Plan = nil
   488  	} else if data, err := o.Plan.ProtoString(); err != nil {
   489  		panic(err)
   490  	} else {
   491  		result.Plan = &plan.Reference{}
   492  		if err := result.Plan.ParseProtoString(data); err != nil {
   493  			panic(err)
   494  		}
   495  	}
   496  	result.Extensions = make([]*common.Allowance, len(o.Extensions))
   497  	for i, sourceValue := range o.Extensions {
   498  		result.Extensions[i] = sourceValue.Clone()
   499  	}
   500  	result.Region = o.Region
   501  	return result
   502  }
   503  
   504  func (o *PlanAssignmentRequest_RequestType_Assign) CloneRaw() gotenobject.GotenObjectExt {
   505  	return o.Clone()
   506  }
   507  
   508  func (o *PlanAssignmentRequest_RequestType_Assign) Merge(source *PlanAssignmentRequest_RequestType_Assign) {
   509  	if source.GetPlan() != nil {
   510  		if data, err := source.GetPlan().ProtoString(); err != nil {
   511  			panic(err)
   512  		} else {
   513  			o.Plan = &plan.Reference{}
   514  			if err := o.Plan.ParseProtoString(data); err != nil {
   515  				panic(err)
   516  			}
   517  		}
   518  	} else {
   519  		o.Plan = nil
   520  	}
   521  	for _, sourceValue := range source.GetExtensions() {
   522  		exists := false
   523  		for _, currentValue := range o.Extensions {
   524  			if proto.Equal(sourceValue, currentValue) {
   525  				exists = true
   526  				break
   527  			}
   528  		}
   529  		if !exists {
   530  			var newDstElement *common.Allowance
   531  			if sourceValue != nil {
   532  				newDstElement = new(common.Allowance)
   533  				newDstElement.Merge(sourceValue)
   534  			}
   535  			o.Extensions = append(o.Extensions, newDstElement)
   536  		}
   537  	}
   538  
   539  	o.Region = source.GetRegion()
   540  }
   541  
   542  func (o *PlanAssignmentRequest_RequestType_Assign) MergeRaw(source gotenobject.GotenObjectExt) {
   543  	o.Merge(source.(*PlanAssignmentRequest_RequestType_Assign))
   544  }
   545  
   546  func (o *PlanAssignmentRequest_RequestType_Extend) GotenObjectExt() {}
   547  
   548  func (o *PlanAssignmentRequest_RequestType_Extend) MakeFullFieldMask() *PlanAssignmentRequest_RequestType_Extend_FieldMask {
   549  	return FullPlanAssignmentRequest_RequestType_Extend_FieldMask()
   550  }
   551  
   552  func (o *PlanAssignmentRequest_RequestType_Extend) MakeRawFullFieldMask() gotenobject.FieldMask {
   553  	return FullPlanAssignmentRequest_RequestType_Extend_FieldMask()
   554  }
   555  
   556  func (o *PlanAssignmentRequest_RequestType_Extend) MakeDiffFieldMask(other *PlanAssignmentRequest_RequestType_Extend) *PlanAssignmentRequest_RequestType_Extend_FieldMask {
   557  	if o == nil && other == nil {
   558  		return &PlanAssignmentRequest_RequestType_Extend_FieldMask{}
   559  	}
   560  	if o == nil || other == nil {
   561  		return FullPlanAssignmentRequest_RequestType_Extend_FieldMask()
   562  	}
   563  
   564  	res := &PlanAssignmentRequest_RequestType_Extend_FieldMask{}
   565  	if o.GetAssignment().String() != other.GetAssignment().String() {
   566  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeExtend_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeExtend_FieldPathSelectorAssignment})
   567  	}
   568  
   569  	if len(o.GetAdditions()) == len(other.GetAdditions()) {
   570  		for i, lValue := range o.GetAdditions() {
   571  			rValue := other.GetAdditions()[i]
   572  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   573  				res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeExtend_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeExtend_FieldPathSelectorAdditions})
   574  				break
   575  			}
   576  		}
   577  	} else {
   578  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeExtend_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeExtend_FieldPathSelectorAdditions})
   579  	}
   580  	return res
   581  }
   582  
   583  func (o *PlanAssignmentRequest_RequestType_Extend) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   584  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest_RequestType_Extend))
   585  }
   586  
   587  func (o *PlanAssignmentRequest_RequestType_Extend) Clone() *PlanAssignmentRequest_RequestType_Extend {
   588  	if o == nil {
   589  		return nil
   590  	}
   591  	result := &PlanAssignmentRequest_RequestType_Extend{}
   592  	if o.Assignment == nil {
   593  		result.Assignment = nil
   594  	} else if data, err := o.Assignment.ProtoString(); err != nil {
   595  		panic(err)
   596  	} else {
   597  		result.Assignment = &plan_assignment.Reference{}
   598  		if err := result.Assignment.ParseProtoString(data); err != nil {
   599  			panic(err)
   600  		}
   601  	}
   602  	result.Additions = make([]*common.Allowance, len(o.Additions))
   603  	for i, sourceValue := range o.Additions {
   604  		result.Additions[i] = sourceValue.Clone()
   605  	}
   606  	return result
   607  }
   608  
   609  func (o *PlanAssignmentRequest_RequestType_Extend) CloneRaw() gotenobject.GotenObjectExt {
   610  	return o.Clone()
   611  }
   612  
   613  func (o *PlanAssignmentRequest_RequestType_Extend) Merge(source *PlanAssignmentRequest_RequestType_Extend) {
   614  	if source.GetAssignment() != nil {
   615  		if data, err := source.GetAssignment().ProtoString(); err != nil {
   616  			panic(err)
   617  		} else {
   618  			o.Assignment = &plan_assignment.Reference{}
   619  			if err := o.Assignment.ParseProtoString(data); err != nil {
   620  				panic(err)
   621  			}
   622  		}
   623  	} else {
   624  		o.Assignment = nil
   625  	}
   626  	for _, sourceValue := range source.GetAdditions() {
   627  		exists := false
   628  		for _, currentValue := range o.Additions {
   629  			if proto.Equal(sourceValue, currentValue) {
   630  				exists = true
   631  				break
   632  			}
   633  		}
   634  		if !exists {
   635  			var newDstElement *common.Allowance
   636  			if sourceValue != nil {
   637  				newDstElement = new(common.Allowance)
   638  				newDstElement.Merge(sourceValue)
   639  			}
   640  			o.Additions = append(o.Additions, newDstElement)
   641  		}
   642  	}
   643  
   644  }
   645  
   646  func (o *PlanAssignmentRequest_RequestType_Extend) MergeRaw(source gotenobject.GotenObjectExt) {
   647  	o.Merge(source.(*PlanAssignmentRequest_RequestType_Extend))
   648  }
   649  
   650  func (o *PlanAssignmentRequest_RequestType_Unassign) GotenObjectExt() {}
   651  
   652  func (o *PlanAssignmentRequest_RequestType_Unassign) MakeFullFieldMask() *PlanAssignmentRequest_RequestType_Unassign_FieldMask {
   653  	return FullPlanAssignmentRequest_RequestType_Unassign_FieldMask()
   654  }
   655  
   656  func (o *PlanAssignmentRequest_RequestType_Unassign) MakeRawFullFieldMask() gotenobject.FieldMask {
   657  	return FullPlanAssignmentRequest_RequestType_Unassign_FieldMask()
   658  }
   659  
   660  func (o *PlanAssignmentRequest_RequestType_Unassign) MakeDiffFieldMask(other *PlanAssignmentRequest_RequestType_Unassign) *PlanAssignmentRequest_RequestType_Unassign_FieldMask {
   661  	if o == nil && other == nil {
   662  		return &PlanAssignmentRequest_RequestType_Unassign_FieldMask{}
   663  	}
   664  	if o == nil || other == nil {
   665  		return FullPlanAssignmentRequest_RequestType_Unassign_FieldMask()
   666  	}
   667  
   668  	res := &PlanAssignmentRequest_RequestType_Unassign_FieldMask{}
   669  	if o.GetAssignment().String() != other.GetAssignment().String() {
   670  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeUnassign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeUnassign_FieldPathSelectorAssignment})
   671  	}
   672  	if o.GetRegion() != other.GetRegion() {
   673  		res.Paths = append(res.Paths, &PlanAssignmentRequestRequestTypeUnassign_FieldTerminalPath{selector: PlanAssignmentRequestRequestTypeUnassign_FieldPathSelectorRegion})
   674  	}
   675  	return res
   676  }
   677  
   678  func (o *PlanAssignmentRequest_RequestType_Unassign) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   679  	return o.MakeDiffFieldMask(other.(*PlanAssignmentRequest_RequestType_Unassign))
   680  }
   681  
   682  func (o *PlanAssignmentRequest_RequestType_Unassign) Clone() *PlanAssignmentRequest_RequestType_Unassign {
   683  	if o == nil {
   684  		return nil
   685  	}
   686  	result := &PlanAssignmentRequest_RequestType_Unassign{}
   687  	if o.Assignment == nil {
   688  		result.Assignment = nil
   689  	} else if data, err := o.Assignment.ProtoString(); err != nil {
   690  		panic(err)
   691  	} else {
   692  		result.Assignment = &plan_assignment.Reference{}
   693  		if err := result.Assignment.ParseProtoString(data); err != nil {
   694  			panic(err)
   695  		}
   696  	}
   697  	result.Region = o.Region
   698  	return result
   699  }
   700  
   701  func (o *PlanAssignmentRequest_RequestType_Unassign) CloneRaw() gotenobject.GotenObjectExt {
   702  	return o.Clone()
   703  }
   704  
   705  func (o *PlanAssignmentRequest_RequestType_Unassign) Merge(source *PlanAssignmentRequest_RequestType_Unassign) {
   706  	if source.GetAssignment() != nil {
   707  		if data, err := source.GetAssignment().ProtoString(); err != nil {
   708  			panic(err)
   709  		} else {
   710  			o.Assignment = &plan_assignment.Reference{}
   711  			if err := o.Assignment.ParseProtoString(data); err != nil {
   712  				panic(err)
   713  			}
   714  		}
   715  	} else {
   716  		o.Assignment = nil
   717  	}
   718  	o.Region = source.GetRegion()
   719  }
   720  
   721  func (o *PlanAssignmentRequest_RequestType_Unassign) MergeRaw(source gotenobject.GotenObjectExt) {
   722  	o.Merge(source.(*PlanAssignmentRequest_RequestType_Unassign))
   723  }