@@ -35,6 +35,8 @@ type SecurityMonitoringRuleOptions struct {
3535 MaxSignalDuration * SecurityMonitoringRuleMaxSignalDuration `json:"maxSignalDuration,omitempty"`
3636 // Options on new value detection method.
3737 NewValueOptions * SecurityMonitoringRuleNewValueOptions `json:"newValueOptions,omitempty"`
38+ // Options on sequence detection method.
39+ SequenceDetectionOptions * SecurityMonitoringRuleSequenceDetectionOptions `json:"sequenceDetectionOptions,omitempty"`
3840 // Options on third party detection method.
3941 ThirdPartyRuleOptions * SecurityMonitoringRuleThirdPartyOptions `json:"thirdPartyRuleOptions,omitempty"`
4042 // UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
@@ -311,6 +313,34 @@ func (o *SecurityMonitoringRuleOptions) SetNewValueOptions(v SecurityMonitoringR
311313 o .NewValueOptions = & v
312314}
313315
316+ // GetSequenceDetectionOptions returns the SequenceDetectionOptions field value if set, zero value otherwise.
317+ func (o * SecurityMonitoringRuleOptions ) GetSequenceDetectionOptions () SecurityMonitoringRuleSequenceDetectionOptions {
318+ if o == nil || o .SequenceDetectionOptions == nil {
319+ var ret SecurityMonitoringRuleSequenceDetectionOptions
320+ return ret
321+ }
322+ return * o .SequenceDetectionOptions
323+ }
324+
325+ // GetSequenceDetectionOptionsOk returns a tuple with the SequenceDetectionOptions field value if set, nil otherwise
326+ // and a boolean to check if the value has been set.
327+ func (o * SecurityMonitoringRuleOptions ) GetSequenceDetectionOptionsOk () (* SecurityMonitoringRuleSequenceDetectionOptions , bool ) {
328+ if o == nil || o .SequenceDetectionOptions == nil {
329+ return nil , false
330+ }
331+ return o .SequenceDetectionOptions , true
332+ }
333+
334+ // HasSequenceDetectionOptions returns a boolean if a field has been set.
335+ func (o * SecurityMonitoringRuleOptions ) HasSequenceDetectionOptions () bool {
336+ return o != nil && o .SequenceDetectionOptions != nil
337+ }
338+
339+ // SetSequenceDetectionOptions gets a reference to the given SecurityMonitoringRuleSequenceDetectionOptions and assigns it to the SequenceDetectionOptions field.
340+ func (o * SecurityMonitoringRuleOptions ) SetSequenceDetectionOptions (v SecurityMonitoringRuleSequenceDetectionOptions ) {
341+ o .SequenceDetectionOptions = & v
342+ }
343+
314344// GetThirdPartyRuleOptions returns the ThirdPartyRuleOptions field value if set, zero value otherwise.
315345func (o * SecurityMonitoringRuleOptions ) GetThirdPartyRuleOptions () SecurityMonitoringRuleThirdPartyOptions {
316346 if o == nil || o .ThirdPartyRuleOptions == nil {
@@ -372,6 +402,9 @@ func (o SecurityMonitoringRuleOptions) MarshalJSON() ([]byte, error) {
372402 if o .NewValueOptions != nil {
373403 toSerialize ["newValueOptions" ] = o .NewValueOptions
374404 }
405+ if o .SequenceDetectionOptions != nil {
406+ toSerialize ["sequenceDetectionOptions" ] = o .SequenceDetectionOptions
407+ }
375408 if o .ThirdPartyRuleOptions != nil {
376409 toSerialize ["thirdPartyRuleOptions" ] = o .ThirdPartyRuleOptions
377410 }
@@ -385,23 +418,24 @@ func (o SecurityMonitoringRuleOptions) MarshalJSON() ([]byte, error) {
385418// UnmarshalJSON deserializes the given payload.
386419func (o * SecurityMonitoringRuleOptions ) UnmarshalJSON (bytes []byte ) (err error ) {
387420 all := struct {
388- ComplianceRuleOptions * CloudConfigurationComplianceRuleOptions `json:"complianceRuleOptions,omitempty"`
389- DecreaseCriticalityBasedOnEnv * bool `json:"decreaseCriticalityBasedOnEnv,omitempty"`
390- DetectionMethod * SecurityMonitoringRuleDetectionMethod `json:"detectionMethod,omitempty"`
391- EvaluationWindow * SecurityMonitoringRuleEvaluationWindow `json:"evaluationWindow,omitempty"`
392- HardcodedEvaluatorType * SecurityMonitoringRuleHardcodedEvaluatorType `json:"hardcodedEvaluatorType,omitempty"`
393- ImpossibleTravelOptions * SecurityMonitoringRuleImpossibleTravelOptions `json:"impossibleTravelOptions,omitempty"`
394- KeepAlive * SecurityMonitoringRuleKeepAlive `json:"keepAlive,omitempty"`
395- MaxSignalDuration * SecurityMonitoringRuleMaxSignalDuration `json:"maxSignalDuration,omitempty"`
396- NewValueOptions * SecurityMonitoringRuleNewValueOptions `json:"newValueOptions,omitempty"`
397- ThirdPartyRuleOptions * SecurityMonitoringRuleThirdPartyOptions `json:"thirdPartyRuleOptions,omitempty"`
421+ ComplianceRuleOptions * CloudConfigurationComplianceRuleOptions `json:"complianceRuleOptions,omitempty"`
422+ DecreaseCriticalityBasedOnEnv * bool `json:"decreaseCriticalityBasedOnEnv,omitempty"`
423+ DetectionMethod * SecurityMonitoringRuleDetectionMethod `json:"detectionMethod,omitempty"`
424+ EvaluationWindow * SecurityMonitoringRuleEvaluationWindow `json:"evaluationWindow,omitempty"`
425+ HardcodedEvaluatorType * SecurityMonitoringRuleHardcodedEvaluatorType `json:"hardcodedEvaluatorType,omitempty"`
426+ ImpossibleTravelOptions * SecurityMonitoringRuleImpossibleTravelOptions `json:"impossibleTravelOptions,omitempty"`
427+ KeepAlive * SecurityMonitoringRuleKeepAlive `json:"keepAlive,omitempty"`
428+ MaxSignalDuration * SecurityMonitoringRuleMaxSignalDuration `json:"maxSignalDuration,omitempty"`
429+ NewValueOptions * SecurityMonitoringRuleNewValueOptions `json:"newValueOptions,omitempty"`
430+ SequenceDetectionOptions * SecurityMonitoringRuleSequenceDetectionOptions `json:"sequenceDetectionOptions,omitempty"`
431+ ThirdPartyRuleOptions * SecurityMonitoringRuleThirdPartyOptions `json:"thirdPartyRuleOptions,omitempty"`
398432 }{}
399433 if err = datadog .Unmarshal (bytes , & all ); err != nil {
400434 return datadog .Unmarshal (bytes , & o .UnparsedObject )
401435 }
402436 additionalProperties := make (map [string ]interface {})
403437 if err = datadog .Unmarshal (bytes , & additionalProperties ); err == nil {
404- datadog .DeleteKeys (additionalProperties , & []string {"complianceRuleOptions" , "decreaseCriticalityBasedOnEnv" , "detectionMethod" , "evaluationWindow" , "hardcodedEvaluatorType" , "impossibleTravelOptions" , "keepAlive" , "maxSignalDuration" , "newValueOptions" , "thirdPartyRuleOptions" })
438+ datadog .DeleteKeys (additionalProperties , & []string {"complianceRuleOptions" , "decreaseCriticalityBasedOnEnv" , "detectionMethod" , "evaluationWindow" , "hardcodedEvaluatorType" , "impossibleTravelOptions" , "keepAlive" , "maxSignalDuration" , "newValueOptions" , "sequenceDetectionOptions" , " thirdPartyRuleOptions" })
405439 } else {
406440 return err
407441 }
@@ -445,6 +479,10 @@ func (o *SecurityMonitoringRuleOptions) UnmarshalJSON(bytes []byte) (err error)
445479 hasInvalidField = true
446480 }
447481 o .NewValueOptions = all .NewValueOptions
482+ if all .SequenceDetectionOptions != nil && all .SequenceDetectionOptions .UnparsedObject != nil && o .UnparsedObject == nil {
483+ hasInvalidField = true
484+ }
485+ o .SequenceDetectionOptions = all .SequenceDetectionOptions
448486 if all .ThirdPartyRuleOptions != nil && all .ThirdPartyRuleOptions .UnparsedObject != nil && o .UnparsedObject == nil {
449487 hasInvalidField = true
450488 }
0 commit comments