@@ -10,6 +10,8 @@ import (
1010
1111// SecurityMonitoringRuleUpdatePayload Update an existing rule.
1212type SecurityMonitoringRuleUpdatePayload struct {
13+ // Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined.
14+ CalculatedFields []CalculatedField `json:"calculatedFields,omitempty"`
1315 // Cases for generating signals.
1416 Cases []SecurityMonitoringRuleCase `json:"cases,omitempty"`
1517 // How to generate compliance signals. Useful for cloud_configuration rules only.
@@ -36,6 +38,8 @@ type SecurityMonitoringRuleUpdatePayload struct {
3638 Queries []SecurityMonitoringRuleQuery `json:"queries,omitempty"`
3739 // Reference tables for the rule.
3840 ReferenceTables []SecurityMonitoringReferenceTable `json:"referenceTables,omitempty"`
41+ // Options for scheduled rules. When this field is present, the rule runs based on the schedule. When absent, it runs real-time on ingested logs.
42+ SchedulingOptions NullableSecurityMonitoringSchedulingOptions `json:"schedulingOptions,omitempty"`
3943 // Tags for generated signals.
4044 Tags []string `json:"tags,omitempty"`
4145 // Cases for generating signals from third-party rules. Only available for third-party rules.
@@ -64,6 +68,34 @@ func NewSecurityMonitoringRuleUpdatePayloadWithDefaults() *SecurityMonitoringRul
6468 return & this
6569}
6670
71+ // GetCalculatedFields returns the CalculatedFields field value if set, zero value otherwise.
72+ func (o * SecurityMonitoringRuleUpdatePayload ) GetCalculatedFields () []CalculatedField {
73+ if o == nil || o .CalculatedFields == nil {
74+ var ret []CalculatedField
75+ return ret
76+ }
77+ return o .CalculatedFields
78+ }
79+
80+ // GetCalculatedFieldsOk returns a tuple with the CalculatedFields field value if set, nil otherwise
81+ // and a boolean to check if the value has been set.
82+ func (o * SecurityMonitoringRuleUpdatePayload ) GetCalculatedFieldsOk () (* []CalculatedField , bool ) {
83+ if o == nil || o .CalculatedFields == nil {
84+ return nil , false
85+ }
86+ return & o .CalculatedFields , true
87+ }
88+
89+ // HasCalculatedFields returns a boolean if a field has been set.
90+ func (o * SecurityMonitoringRuleUpdatePayload ) HasCalculatedFields () bool {
91+ return o != nil && o .CalculatedFields != nil
92+ }
93+
94+ // SetCalculatedFields gets a reference to the given []CalculatedField and assigns it to the CalculatedFields field.
95+ func (o * SecurityMonitoringRuleUpdatePayload ) SetCalculatedFields (v []CalculatedField ) {
96+ o .CalculatedFields = v
97+ }
98+
6799// GetCases returns the Cases field value if set, zero value otherwise.
68100func (o * SecurityMonitoringRuleUpdatePayload ) GetCases () []SecurityMonitoringRuleCase {
69101 if o == nil || o .Cases == nil {
@@ -428,6 +460,45 @@ func (o *SecurityMonitoringRuleUpdatePayload) SetReferenceTables(v []SecurityMon
428460 o .ReferenceTables = v
429461}
430462
463+ // GetSchedulingOptions returns the SchedulingOptions field value if set, zero value otherwise (both if not set or set to explicit null).
464+ func (o * SecurityMonitoringRuleUpdatePayload ) GetSchedulingOptions () SecurityMonitoringSchedulingOptions {
465+ if o == nil || o .SchedulingOptions .Get () == nil {
466+ var ret SecurityMonitoringSchedulingOptions
467+ return ret
468+ }
469+ return * o .SchedulingOptions .Get ()
470+ }
471+
472+ // GetSchedulingOptionsOk returns a tuple with the SchedulingOptions field value if set, nil otherwise
473+ // and a boolean to check if the value has been set.
474+ // NOTE: If the value is an explicit nil, `nil, true` will be returned.
475+ func (o * SecurityMonitoringRuleUpdatePayload ) GetSchedulingOptionsOk () (* SecurityMonitoringSchedulingOptions , bool ) {
476+ if o == nil {
477+ return nil , false
478+ }
479+ return o .SchedulingOptions .Get (), o .SchedulingOptions .IsSet ()
480+ }
481+
482+ // HasSchedulingOptions returns a boolean if a field has been set.
483+ func (o * SecurityMonitoringRuleUpdatePayload ) HasSchedulingOptions () bool {
484+ return o != nil && o .SchedulingOptions .IsSet ()
485+ }
486+
487+ // SetSchedulingOptions gets a reference to the given NullableSecurityMonitoringSchedulingOptions and assigns it to the SchedulingOptions field.
488+ func (o * SecurityMonitoringRuleUpdatePayload ) SetSchedulingOptions (v SecurityMonitoringSchedulingOptions ) {
489+ o .SchedulingOptions .Set (& v )
490+ }
491+
492+ // SetSchedulingOptionsNil sets the value for SchedulingOptions to be an explicit nil.
493+ func (o * SecurityMonitoringRuleUpdatePayload ) SetSchedulingOptionsNil () {
494+ o .SchedulingOptions .Set (nil )
495+ }
496+
497+ // UnsetSchedulingOptions ensures that no value is present for SchedulingOptions, not even an explicit nil.
498+ func (o * SecurityMonitoringRuleUpdatePayload ) UnsetSchedulingOptions () {
499+ o .SchedulingOptions .Unset ()
500+ }
501+
431502// GetTags returns the Tags field value if set, zero value otherwise.
432503func (o * SecurityMonitoringRuleUpdatePayload ) GetTags () []string {
433504 if o == nil || o .Tags == nil {
@@ -518,6 +589,9 @@ func (o SecurityMonitoringRuleUpdatePayload) MarshalJSON() ([]byte, error) {
518589 if o .UnparsedObject != nil {
519590 return datadog .Marshal (o .UnparsedObject )
520591 }
592+ if o .CalculatedFields != nil {
593+ toSerialize ["calculatedFields" ] = o .CalculatedFields
594+ }
521595 if o .Cases != nil {
522596 toSerialize ["cases" ] = o .Cases
523597 }
@@ -557,6 +631,9 @@ func (o SecurityMonitoringRuleUpdatePayload) MarshalJSON() ([]byte, error) {
557631 if o .ReferenceTables != nil {
558632 toSerialize ["referenceTables" ] = o .ReferenceTables
559633 }
634+ if o .SchedulingOptions .IsSet () {
635+ toSerialize ["schedulingOptions" ] = o .SchedulingOptions .Get ()
636+ }
560637 if o .Tags != nil {
561638 toSerialize ["tags" ] = o .Tags
562639 }
@@ -576,6 +653,7 @@ func (o SecurityMonitoringRuleUpdatePayload) MarshalJSON() ([]byte, error) {
576653// UnmarshalJSON deserializes the given payload.
577654func (o * SecurityMonitoringRuleUpdatePayload ) UnmarshalJSON (bytes []byte ) (err error ) {
578655 all := struct {
656+ CalculatedFields []CalculatedField `json:"calculatedFields,omitempty"`
579657 Cases []SecurityMonitoringRuleCase `json:"cases,omitempty"`
580658 ComplianceSignalOptions * CloudConfigurationRuleComplianceSignalOptions `json:"complianceSignalOptions,omitempty"`
581659 CustomMessage * string `json:"customMessage,omitempty"`
@@ -589,6 +667,7 @@ func (o *SecurityMonitoringRuleUpdatePayload) UnmarshalJSON(bytes []byte) (err e
589667 Options * SecurityMonitoringRuleOptions `json:"options,omitempty"`
590668 Queries []SecurityMonitoringRuleQuery `json:"queries,omitempty"`
591669 ReferenceTables []SecurityMonitoringReferenceTable `json:"referenceTables,omitempty"`
670+ SchedulingOptions NullableSecurityMonitoringSchedulingOptions `json:"schedulingOptions,omitempty"`
592671 Tags []string `json:"tags,omitempty"`
593672 ThirdPartyCases []SecurityMonitoringThirdPartyRuleCase `json:"thirdPartyCases,omitempty"`
594673 Version * int32 `json:"version,omitempty"`
@@ -598,12 +677,13 @@ func (o *SecurityMonitoringRuleUpdatePayload) UnmarshalJSON(bytes []byte) (err e
598677 }
599678 additionalProperties := make (map [string ]interface {})
600679 if err = datadog .Unmarshal (bytes , & additionalProperties ); err == nil {
601- datadog .DeleteKeys (additionalProperties , & []string {"cases" , "complianceSignalOptions" , "customMessage" , "customName" , "filters" , "groupSignalsBy" , "hasExtendedTitle" , "isEnabled" , "message" , "name" , "options" , "queries" , "referenceTables" , "tags" , "thirdPartyCases" , "version" })
680+ datadog .DeleteKeys (additionalProperties , & []string {"calculatedFields" , " cases" , "complianceSignalOptions" , "customMessage" , "customName" , "filters" , "groupSignalsBy" , "hasExtendedTitle" , "isEnabled" , "message" , "name" , "options" , "queries" , "referenceTables" , "schedulingOptions " , "tags" , "thirdPartyCases" , "version" })
602681 } else {
603682 return err
604683 }
605684
606685 hasInvalidField := false
686+ o .CalculatedFields = all .CalculatedFields
607687 o .Cases = all .Cases
608688 if all .ComplianceSignalOptions != nil && all .ComplianceSignalOptions .UnparsedObject != nil && o .UnparsedObject == nil {
609689 hasInvalidField = true
@@ -623,6 +703,7 @@ func (o *SecurityMonitoringRuleUpdatePayload) UnmarshalJSON(bytes []byte) (err e
623703 o .Options = all .Options
624704 o .Queries = all .Queries
625705 o .ReferenceTables = all .ReferenceTables
706+ o .SchedulingOptions = all .SchedulingOptions
626707 o .Tags = all .Tags
627708 o .ThirdPartyCases = all .ThirdPartyCases
628709 o .Version = all .Version
0 commit comments