github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v3/notification/notification.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/monitoring/proto/v3/notification.proto
     3  // DO NOT EDIT!!!
     4  
     5  package notification
     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  	alert "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/alert"
    20  	alerting_condition "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/alerting_condition"
    21  	alerting_policy "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/alerting_policy"
    22  	common "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/common"
    23  	notification_channel "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/notification_channel"
    24  	project "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/project"
    25  	meta "github.com/cloudwan/goten-sdk/types/meta"
    26  )
    27  
    28  // ensure the imports are used
    29  var (
    30  	_ = new(fmt.Stringer)
    31  	_ = new(sort.Interface)
    32  
    33  	_ = new(proto.Message)
    34  	_ = googlefieldmaskpb.FieldMask{}
    35  
    36  	_ = new(gotenobject.FieldPath)
    37  )
    38  
    39  // make sure we're using proto imports
    40  var (
    41  	_ = &alert.Alert{}
    42  	_ = &alerting_condition.AlertingCondition{}
    43  	_ = &alerting_policy.AlertingPolicy{}
    44  	_ = &common.LabelDescriptor{}
    45  	_ = &notification_channel.NotificationChannel{}
    46  	_ = &project.Project{}
    47  	_ = &meta.Meta{}
    48  )
    49  
    50  func (o *Notification) GotenObjectExt() {}
    51  
    52  func (o *Notification) MakeFullFieldMask() *Notification_FieldMask {
    53  	return FullNotification_FieldMask()
    54  }
    55  
    56  func (o *Notification) MakeRawFullFieldMask() gotenobject.FieldMask {
    57  	return FullNotification_FieldMask()
    58  }
    59  
    60  func (o *Notification) MakeDiffFieldMask(other *Notification) *Notification_FieldMask {
    61  	if o == nil && other == nil {
    62  		return &Notification_FieldMask{}
    63  	}
    64  	if o == nil || other == nil {
    65  		return FullNotification_FieldMask()
    66  	}
    67  
    68  	res := &Notification_FieldMask{}
    69  	if o.GetName().String() != other.GetName().String() {
    70  		res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorName})
    71  	}
    72  	{
    73  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    74  		if subMask.IsFull() {
    75  			res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorMetadata})
    76  		} else {
    77  			for _, subpath := range subMask.Paths {
    78  				res.Paths = append(res.Paths, &Notification_FieldSubPath{selector: Notification_FieldPathSelectorMetadata, subPath: subpath})
    79  			}
    80  		}
    81  	}
    82  	if o.GetAlertingPolicy().String() != other.GetAlertingPolicy().String() {
    83  		res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorAlertingPolicy})
    84  	}
    85  
    86  	if len(o.GetAlerts()) == len(other.GetAlerts()) {
    87  		for i, lValue := range o.GetAlerts() {
    88  			rValue := other.GetAlerts()[i]
    89  			if lValue.String() != rValue.String() {
    90  				res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorAlerts})
    91  				break
    92  			}
    93  		}
    94  	} else {
    95  		res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorAlerts})
    96  	}
    97  	{
    98  		subMask := o.GetState().MakeDiffFieldMask(other.GetState())
    99  		if subMask.IsFull() {
   100  			res.Paths = append(res.Paths, &Notification_FieldTerminalPath{selector: Notification_FieldPathSelectorState})
   101  		} else {
   102  			for _, subpath := range subMask.Paths {
   103  				res.Paths = append(res.Paths, &Notification_FieldSubPath{selector: Notification_FieldPathSelectorState, subPath: subpath})
   104  			}
   105  		}
   106  	}
   107  	return res
   108  }
   109  
   110  func (o *Notification) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   111  	return o.MakeDiffFieldMask(other.(*Notification))
   112  }
   113  
   114  func (o *Notification) Clone() *Notification {
   115  	if o == nil {
   116  		return nil
   117  	}
   118  	result := &Notification{}
   119  	if o.Name == nil {
   120  		result.Name = nil
   121  	} else if data, err := o.Name.ProtoString(); err != nil {
   122  		panic(err)
   123  	} else {
   124  		result.Name = &Name{}
   125  		if err := result.Name.ParseProtoString(data); err != nil {
   126  			panic(err)
   127  		}
   128  	}
   129  	result.Metadata = o.Metadata.Clone()
   130  	if o.AlertingPolicy == nil {
   131  		result.AlertingPolicy = nil
   132  	} else if data, err := o.AlertingPolicy.ProtoString(); err != nil {
   133  		panic(err)
   134  	} else {
   135  		result.AlertingPolicy = &alerting_policy.Name{}
   136  		if err := result.AlertingPolicy.ParseProtoString(data); err != nil {
   137  			panic(err)
   138  		}
   139  	}
   140  	result.Alerts = make([]*alert.Name, len(o.Alerts))
   141  	for i, sourceValue := range o.Alerts {
   142  		if sourceValue == nil {
   143  			result.Alerts[i] = nil
   144  		} else if data, err := sourceValue.ProtoString(); err != nil {
   145  			panic(err)
   146  		} else {
   147  			result.Alerts[i] = &alert.Name{}
   148  			if err := result.Alerts[i].ParseProtoString(data); err != nil {
   149  				panic(err)
   150  			}
   151  		}
   152  	}
   153  	result.State = o.State.Clone()
   154  	return result
   155  }
   156  
   157  func (o *Notification) CloneRaw() gotenobject.GotenObjectExt {
   158  	return o.Clone()
   159  }
   160  
   161  func (o *Notification) Merge(source *Notification) {
   162  	if source.GetName() != nil {
   163  		if data, err := source.GetName().ProtoString(); err != nil {
   164  			panic(err)
   165  		} else {
   166  			o.Name = &Name{}
   167  			if err := o.Name.ParseProtoString(data); err != nil {
   168  				panic(err)
   169  			}
   170  		}
   171  	} else {
   172  		o.Name = nil
   173  	}
   174  	if source.GetMetadata() != nil {
   175  		if o.Metadata == nil {
   176  			o.Metadata = new(meta.Meta)
   177  		}
   178  		o.Metadata.Merge(source.GetMetadata())
   179  	}
   180  	if source.GetAlertingPolicy() != nil {
   181  		if data, err := source.GetAlertingPolicy().ProtoString(); err != nil {
   182  			panic(err)
   183  		} else {
   184  			o.AlertingPolicy = &alerting_policy.Name{}
   185  			if err := o.AlertingPolicy.ParseProtoString(data); err != nil {
   186  				panic(err)
   187  			}
   188  		}
   189  	} else {
   190  		o.AlertingPolicy = nil
   191  	}
   192  	for _, sourceValue := range source.GetAlerts() {
   193  		exists := false
   194  		for _, currentValue := range o.Alerts {
   195  			leftProtoStr, _ := currentValue.ProtoString()
   196  			rightProtoStr, _ := sourceValue.ProtoString()
   197  			if leftProtoStr == rightProtoStr {
   198  				exists = true
   199  				break
   200  			}
   201  		}
   202  		if !exists {
   203  			var newDstElement *alert.Name
   204  			if sourceValue != nil {
   205  				if data, err := sourceValue.ProtoString(); err != nil {
   206  					panic(err)
   207  				} else {
   208  					newDstElement = &alert.Name{}
   209  					if err := newDstElement.ParseProtoString(data); err != nil {
   210  						panic(err)
   211  					}
   212  				}
   213  			}
   214  			o.Alerts = append(o.Alerts, newDstElement)
   215  		}
   216  	}
   217  
   218  	if source.GetState() != nil {
   219  		if o.State == nil {
   220  			o.State = new(Notification_State)
   221  		}
   222  		o.State.Merge(source.GetState())
   223  	}
   224  }
   225  
   226  func (o *Notification) MergeRaw(source gotenobject.GotenObjectExt) {
   227  	o.Merge(source.(*Notification))
   228  }
   229  
   230  func (o *Notification_State) GotenObjectExt() {}
   231  
   232  func (o *Notification_State) MakeFullFieldMask() *Notification_State_FieldMask {
   233  	return FullNotification_State_FieldMask()
   234  }
   235  
   236  func (o *Notification_State) MakeRawFullFieldMask() gotenobject.FieldMask {
   237  	return FullNotification_State_FieldMask()
   238  }
   239  
   240  func (o *Notification_State) MakeDiffFieldMask(other *Notification_State) *Notification_State_FieldMask {
   241  	if o == nil && other == nil {
   242  		return &Notification_State_FieldMask{}
   243  	}
   244  	if o == nil || other == nil {
   245  		return FullNotification_State_FieldMask()
   246  	}
   247  
   248  	res := &Notification_State_FieldMask{}
   249  	if o.GetIsResolved() != other.GetIsResolved() {
   250  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorIsResolved})
   251  	}
   252  
   253  	if len(o.GetNotificationState()) == len(other.GetNotificationState()) {
   254  		for i, lValue := range o.GetNotificationState() {
   255  			rValue := other.GetNotificationState()[i]
   256  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   257  				res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorNotificationState})
   258  				break
   259  			}
   260  		}
   261  	} else {
   262  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorNotificationState})
   263  	}
   264  	if o.GetIncidentNotifyAttemptsDone() != other.GetIncidentNotifyAttemptsDone() {
   265  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorIncidentNotifyAttemptsDone})
   266  	}
   267  	if o.GetResolutionNotifyAttemptsDone() != other.GetResolutionNotifyAttemptsDone() {
   268  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorResolutionNotifyAttemptsDone})
   269  	}
   270  	{
   271  		subMask := o.GetAlertsLifetime().MakeDiffFieldMask(other.GetAlertsLifetime())
   272  		if subMask.IsFull() {
   273  			res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorAlertsLifetime})
   274  		} else {
   275  			for _, subpath := range subMask.Paths {
   276  				res.Paths = append(res.Paths, &NotificationState_FieldSubPath{selector: NotificationState_FieldPathSelectorAlertsLifetime, subPath: subpath})
   277  			}
   278  		}
   279  	}
   280  
   281  	if len(o.GetResolutionNotificationState()) == len(other.GetResolutionNotificationState()) {
   282  		for i, lValue := range o.GetResolutionNotificationState() {
   283  			rValue := other.GetResolutionNotificationState()[i]
   284  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   285  				res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorResolutionNotificationState})
   286  				break
   287  			}
   288  		}
   289  	} else {
   290  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorResolutionNotificationState})
   291  	}
   292  	if o.GetLifecycleCompleted() != other.GetLifecycleCompleted() {
   293  		res.Paths = append(res.Paths, &NotificationState_FieldTerminalPath{selector: NotificationState_FieldPathSelectorLifecycleCompleted})
   294  	}
   295  	return res
   296  }
   297  
   298  func (o *Notification_State) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   299  	return o.MakeDiffFieldMask(other.(*Notification_State))
   300  }
   301  
   302  func (o *Notification_State) Clone() *Notification_State {
   303  	if o == nil {
   304  		return nil
   305  	}
   306  	result := &Notification_State{}
   307  	result.IsResolved = o.IsResolved
   308  	result.NotificationState = make([]*Notification_State_NotificationState, len(o.NotificationState))
   309  	for i, sourceValue := range o.NotificationState {
   310  		result.NotificationState[i] = sourceValue.Clone()
   311  	}
   312  	result.IncidentNotifyAttemptsDone = o.IncidentNotifyAttemptsDone
   313  	result.ResolutionNotifyAttemptsDone = o.ResolutionNotifyAttemptsDone
   314  	result.AlertsLifetime = o.AlertsLifetime.Clone()
   315  	result.ResolutionNotificationState = make([]*Notification_State_NotificationState, len(o.ResolutionNotificationState))
   316  	for i, sourceValue := range o.ResolutionNotificationState {
   317  		result.ResolutionNotificationState[i] = sourceValue.Clone()
   318  	}
   319  	result.LifecycleCompleted = o.LifecycleCompleted
   320  	return result
   321  }
   322  
   323  func (o *Notification_State) CloneRaw() gotenobject.GotenObjectExt {
   324  	return o.Clone()
   325  }
   326  
   327  func (o *Notification_State) Merge(source *Notification_State) {
   328  	o.IsResolved = source.GetIsResolved()
   329  	for _, sourceValue := range source.GetNotificationState() {
   330  		exists := false
   331  		for _, currentValue := range o.NotificationState {
   332  			if proto.Equal(sourceValue, currentValue) {
   333  				exists = true
   334  				break
   335  			}
   336  		}
   337  		if !exists {
   338  			var newDstElement *Notification_State_NotificationState
   339  			if sourceValue != nil {
   340  				newDstElement = new(Notification_State_NotificationState)
   341  				newDstElement.Merge(sourceValue)
   342  			}
   343  			o.NotificationState = append(o.NotificationState, newDstElement)
   344  		}
   345  	}
   346  
   347  	o.IncidentNotifyAttemptsDone = source.GetIncidentNotifyAttemptsDone()
   348  	o.ResolutionNotifyAttemptsDone = source.GetResolutionNotifyAttemptsDone()
   349  	if source.GetAlertsLifetime() != nil {
   350  		if o.AlertsLifetime == nil {
   351  			o.AlertsLifetime = new(common.TimeRange)
   352  		}
   353  		o.AlertsLifetime.Merge(source.GetAlertsLifetime())
   354  	}
   355  	for _, sourceValue := range source.GetResolutionNotificationState() {
   356  		exists := false
   357  		for _, currentValue := range o.ResolutionNotificationState {
   358  			if proto.Equal(sourceValue, currentValue) {
   359  				exists = true
   360  				break
   361  			}
   362  		}
   363  		if !exists {
   364  			var newDstElement *Notification_State_NotificationState
   365  			if sourceValue != nil {
   366  				newDstElement = new(Notification_State_NotificationState)
   367  				newDstElement.Merge(sourceValue)
   368  			}
   369  			o.ResolutionNotificationState = append(o.ResolutionNotificationState, newDstElement)
   370  		}
   371  	}
   372  
   373  	o.LifecycleCompleted = source.GetLifecycleCompleted()
   374  }
   375  
   376  func (o *Notification_State) MergeRaw(source gotenobject.GotenObjectExt) {
   377  	o.Merge(source.(*Notification_State))
   378  }
   379  
   380  func (o *Notification_State_NotificationState) GotenObjectExt() {}
   381  
   382  func (o *Notification_State_NotificationState) MakeFullFieldMask() *Notification_State_NotificationState_FieldMask {
   383  	return FullNotification_State_NotificationState_FieldMask()
   384  }
   385  
   386  func (o *Notification_State_NotificationState) MakeRawFullFieldMask() gotenobject.FieldMask {
   387  	return FullNotification_State_NotificationState_FieldMask()
   388  }
   389  
   390  func (o *Notification_State_NotificationState) MakeDiffFieldMask(other *Notification_State_NotificationState) *Notification_State_NotificationState_FieldMask {
   391  	if o == nil && other == nil {
   392  		return &Notification_State_NotificationState_FieldMask{}
   393  	}
   394  	if o == nil || other == nil {
   395  		return FullNotification_State_NotificationState_FieldMask()
   396  	}
   397  
   398  	res := &Notification_State_NotificationState_FieldMask{}
   399  	if o.GetNotificationChannel().String() != other.GetNotificationChannel().String() {
   400  		res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldTerminalPath{selector: NotificationStateNotificationState_FieldPathSelectorNotificationChannel})
   401  	}
   402  	if o.GetStatus() != other.GetStatus() {
   403  		res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldTerminalPath{selector: NotificationStateNotificationState_FieldPathSelectorStatus})
   404  	}
   405  	if o.GetError() != other.GetError() {
   406  		res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldTerminalPath{selector: NotificationStateNotificationState_FieldPathSelectorError})
   407  	}
   408  	{
   409  		subMask := o.GetProviderData().MakeDiffFieldMask(other.GetProviderData())
   410  		if subMask.IsFull() {
   411  			res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldTerminalPath{selector: NotificationStateNotificationState_FieldPathSelectorProviderData})
   412  		} else {
   413  			for _, subpath := range subMask.Paths {
   414  				res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldSubPath{selector: NotificationStateNotificationState_FieldPathSelectorProviderData, subPath: subpath})
   415  			}
   416  		}
   417  	}
   418  	if o.GetNotifyAttempts() != other.GetNotifyAttempts() {
   419  		res.Paths = append(res.Paths, &NotificationStateNotificationState_FieldTerminalPath{selector: NotificationStateNotificationState_FieldPathSelectorNotifyAttempts})
   420  	}
   421  	return res
   422  }
   423  
   424  func (o *Notification_State_NotificationState) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   425  	return o.MakeDiffFieldMask(other.(*Notification_State_NotificationState))
   426  }
   427  
   428  func (o *Notification_State_NotificationState) Clone() *Notification_State_NotificationState {
   429  	if o == nil {
   430  		return nil
   431  	}
   432  	result := &Notification_State_NotificationState{}
   433  	if o.NotificationChannel == nil {
   434  		result.NotificationChannel = nil
   435  	} else if data, err := o.NotificationChannel.ProtoString(); err != nil {
   436  		panic(err)
   437  	} else {
   438  		result.NotificationChannel = &notification_channel.Name{}
   439  		if err := result.NotificationChannel.ParseProtoString(data); err != nil {
   440  			panic(err)
   441  		}
   442  	}
   443  	result.Status = o.Status
   444  	result.Error = o.Error
   445  	result.ProviderData = o.ProviderData.Clone()
   446  	result.NotifyAttempts = o.NotifyAttempts
   447  	return result
   448  }
   449  
   450  func (o *Notification_State_NotificationState) CloneRaw() gotenobject.GotenObjectExt {
   451  	return o.Clone()
   452  }
   453  
   454  func (o *Notification_State_NotificationState) Merge(source *Notification_State_NotificationState) {
   455  	if source.GetNotificationChannel() != nil {
   456  		if data, err := source.GetNotificationChannel().ProtoString(); err != nil {
   457  			panic(err)
   458  		} else {
   459  			o.NotificationChannel = &notification_channel.Name{}
   460  			if err := o.NotificationChannel.ParseProtoString(data); err != nil {
   461  				panic(err)
   462  			}
   463  		}
   464  	} else {
   465  		o.NotificationChannel = nil
   466  	}
   467  	o.Status = source.GetStatus()
   468  	o.Error = source.GetError()
   469  	if source.GetProviderData() != nil {
   470  		if o.ProviderData == nil {
   471  			o.ProviderData = new(Notification_State_NotificationState_ProviderData)
   472  		}
   473  		o.ProviderData.Merge(source.GetProviderData())
   474  	}
   475  	o.NotifyAttempts = source.GetNotifyAttempts()
   476  }
   477  
   478  func (o *Notification_State_NotificationState) MergeRaw(source gotenobject.GotenObjectExt) {
   479  	o.Merge(source.(*Notification_State_NotificationState))
   480  }
   481  
   482  func (o *Notification_State_NotificationState_ProviderData) GotenObjectExt() {}
   483  
   484  func (o *Notification_State_NotificationState_ProviderData) MakeFullFieldMask() *Notification_State_NotificationState_ProviderData_FieldMask {
   485  	return FullNotification_State_NotificationState_ProviderData_FieldMask()
   486  }
   487  
   488  func (o *Notification_State_NotificationState_ProviderData) MakeRawFullFieldMask() gotenobject.FieldMask {
   489  	return FullNotification_State_NotificationState_ProviderData_FieldMask()
   490  }
   491  
   492  func (o *Notification_State_NotificationState_ProviderData) MakeDiffFieldMask(other *Notification_State_NotificationState_ProviderData) *Notification_State_NotificationState_ProviderData_FieldMask {
   493  	if o == nil && other == nil {
   494  		return &Notification_State_NotificationState_ProviderData_FieldMask{}
   495  	}
   496  	if o == nil || other == nil {
   497  		return FullNotification_State_NotificationState_ProviderData_FieldMask()
   498  	}
   499  
   500  	res := &Notification_State_NotificationState_ProviderData_FieldMask{}
   501  	{
   502  		subMask := o.GetSlack().MakeDiffFieldMask(other.GetSlack())
   503  		if subMask.IsFull() {
   504  			res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderData_FieldTerminalPath{selector: NotificationStateNotificationStateProviderData_FieldPathSelectorSlack})
   505  		} else {
   506  			for _, subpath := range subMask.Paths {
   507  				res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderData_FieldSubPath{selector: NotificationStateNotificationStateProviderData_FieldPathSelectorSlack, subPath: subpath})
   508  			}
   509  		}
   510  	}
   511  	{
   512  		subMask := o.GetPagerDuty().MakeDiffFieldMask(other.GetPagerDuty())
   513  		if subMask.IsFull() {
   514  			res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderData_FieldTerminalPath{selector: NotificationStateNotificationStateProviderData_FieldPathSelectorPagerDuty})
   515  		} else {
   516  			for _, subpath := range subMask.Paths {
   517  				res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderData_FieldSubPath{selector: NotificationStateNotificationStateProviderData_FieldPathSelectorPagerDuty, subPath: subpath})
   518  			}
   519  		}
   520  	}
   521  	return res
   522  }
   523  
   524  func (o *Notification_State_NotificationState_ProviderData) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   525  	return o.MakeDiffFieldMask(other.(*Notification_State_NotificationState_ProviderData))
   526  }
   527  
   528  func (o *Notification_State_NotificationState_ProviderData) Clone() *Notification_State_NotificationState_ProviderData {
   529  	if o == nil {
   530  		return nil
   531  	}
   532  	result := &Notification_State_NotificationState_ProviderData{}
   533  	result.Slack = o.Slack.Clone()
   534  	result.PagerDuty = o.PagerDuty.Clone()
   535  	return result
   536  }
   537  
   538  func (o *Notification_State_NotificationState_ProviderData) CloneRaw() gotenobject.GotenObjectExt {
   539  	return o.Clone()
   540  }
   541  
   542  func (o *Notification_State_NotificationState_ProviderData) Merge(source *Notification_State_NotificationState_ProviderData) {
   543  	if source.GetSlack() != nil {
   544  		if o.Slack == nil {
   545  			o.Slack = new(Notification_State_NotificationState_ProviderData_Slack)
   546  		}
   547  		o.Slack.Merge(source.GetSlack())
   548  	}
   549  	if source.GetPagerDuty() != nil {
   550  		if o.PagerDuty == nil {
   551  			o.PagerDuty = new(Notification_State_NotificationState_ProviderData_PagerDuty)
   552  		}
   553  		o.PagerDuty.Merge(source.GetPagerDuty())
   554  	}
   555  }
   556  
   557  func (o *Notification_State_NotificationState_ProviderData) MergeRaw(source gotenobject.GotenObjectExt) {
   558  	o.Merge(source.(*Notification_State_NotificationState_ProviderData))
   559  }
   560  
   561  func (o *Notification_State_NotificationState_ProviderData_Slack) GotenObjectExt() {}
   562  
   563  func (o *Notification_State_NotificationState_ProviderData_Slack) MakeFullFieldMask() *Notification_State_NotificationState_ProviderData_Slack_FieldMask {
   564  	return FullNotification_State_NotificationState_ProviderData_Slack_FieldMask()
   565  }
   566  
   567  func (o *Notification_State_NotificationState_ProviderData_Slack) MakeRawFullFieldMask() gotenobject.FieldMask {
   568  	return FullNotification_State_NotificationState_ProviderData_Slack_FieldMask()
   569  }
   570  
   571  func (o *Notification_State_NotificationState_ProviderData_Slack) MakeDiffFieldMask(other *Notification_State_NotificationState_ProviderData_Slack) *Notification_State_NotificationState_ProviderData_Slack_FieldMask {
   572  	if o == nil && other == nil {
   573  		return &Notification_State_NotificationState_ProviderData_Slack_FieldMask{}
   574  	}
   575  	if o == nil || other == nil {
   576  		return FullNotification_State_NotificationState_ProviderData_Slack_FieldMask()
   577  	}
   578  
   579  	res := &Notification_State_NotificationState_ProviderData_Slack_FieldMask{}
   580  	if o.GetTs() != other.GetTs() {
   581  		res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderDataSlack_FieldTerminalPath{selector: NotificationStateNotificationStateProviderDataSlack_FieldPathSelectorTs})
   582  	}
   583  	return res
   584  }
   585  
   586  func (o *Notification_State_NotificationState_ProviderData_Slack) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   587  	return o.MakeDiffFieldMask(other.(*Notification_State_NotificationState_ProviderData_Slack))
   588  }
   589  
   590  func (o *Notification_State_NotificationState_ProviderData_Slack) Clone() *Notification_State_NotificationState_ProviderData_Slack {
   591  	if o == nil {
   592  		return nil
   593  	}
   594  	result := &Notification_State_NotificationState_ProviderData_Slack{}
   595  	result.Ts = o.Ts
   596  	return result
   597  }
   598  
   599  func (o *Notification_State_NotificationState_ProviderData_Slack) CloneRaw() gotenobject.GotenObjectExt {
   600  	return o.Clone()
   601  }
   602  
   603  func (o *Notification_State_NotificationState_ProviderData_Slack) Merge(source *Notification_State_NotificationState_ProviderData_Slack) {
   604  	o.Ts = source.GetTs()
   605  }
   606  
   607  func (o *Notification_State_NotificationState_ProviderData_Slack) MergeRaw(source gotenobject.GotenObjectExt) {
   608  	o.Merge(source.(*Notification_State_NotificationState_ProviderData_Slack))
   609  }
   610  
   611  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) GotenObjectExt() {}
   612  
   613  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) MakeFullFieldMask() *Notification_State_NotificationState_ProviderData_PagerDuty_FieldMask {
   614  	return FullNotification_State_NotificationState_ProviderData_PagerDuty_FieldMask()
   615  }
   616  
   617  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) MakeRawFullFieldMask() gotenobject.FieldMask {
   618  	return FullNotification_State_NotificationState_ProviderData_PagerDuty_FieldMask()
   619  }
   620  
   621  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) MakeDiffFieldMask(other *Notification_State_NotificationState_ProviderData_PagerDuty) *Notification_State_NotificationState_ProviderData_PagerDuty_FieldMask {
   622  	if o == nil && other == nil {
   623  		return &Notification_State_NotificationState_ProviderData_PagerDuty_FieldMask{}
   624  	}
   625  	if o == nil || other == nil {
   626  		return FullNotification_State_NotificationState_ProviderData_PagerDuty_FieldMask()
   627  	}
   628  
   629  	res := &Notification_State_NotificationState_ProviderData_PagerDuty_FieldMask{}
   630  	if o.GetIncidentKey() != other.GetIncidentKey() {
   631  		res.Paths = append(res.Paths, &NotificationStateNotificationStateProviderDataPagerDuty_FieldTerminalPath{selector: NotificationStateNotificationStateProviderDataPagerDuty_FieldPathSelectorIncidentKey})
   632  	}
   633  	return res
   634  }
   635  
   636  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   637  	return o.MakeDiffFieldMask(other.(*Notification_State_NotificationState_ProviderData_PagerDuty))
   638  }
   639  
   640  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) Clone() *Notification_State_NotificationState_ProviderData_PagerDuty {
   641  	if o == nil {
   642  		return nil
   643  	}
   644  	result := &Notification_State_NotificationState_ProviderData_PagerDuty{}
   645  	result.IncidentKey = o.IncidentKey
   646  	return result
   647  }
   648  
   649  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) CloneRaw() gotenobject.GotenObjectExt {
   650  	return o.Clone()
   651  }
   652  
   653  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) Merge(source *Notification_State_NotificationState_ProviderData_PagerDuty) {
   654  	o.IncidentKey = source.GetIncidentKey()
   655  }
   656  
   657  func (o *Notification_State_NotificationState_ProviderData_PagerDuty) MergeRaw(source gotenobject.GotenObjectExt) {
   658  	o.Merge(source.(*Notification_State_NotificationState_ProviderData_PagerDuty))
   659  }