diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 682c9d1e9b3..0cff0ec9bdb 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -101484,6 +101484,9 @@ components: $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocations' baselineUserLocationsDuration: $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocationsDuration' + detectIpTransition: + description: Whether to detect transitions between IP addresses. + type: boolean type: object SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocations: description: "If true, signals are suppressed for the first 24 hours. In that time, Datadog learns the user's regular\naccess locations. This can be helpful to reduce noise and infer VPN usage or credentialed API access." @@ -101564,6 +101567,22 @@ components: - SIX_HOURS - TWELVE_HOURS - ONE_DAY + SecurityMonitoringRuleMetadata: + description: Metadata associated with the rule. + properties: + entities: + description: Entities associated with the rule, or null when metadata is not requested. + items: {} + nullable: true + type: array + sources: + description: Sources associated with the rule, or null when metadata is not requested. + items: + description: A source. + type: string + nullable: true + type: array + type: object SecurityMonitoringRuleNewValueOptions: description: Options on new value detection method. properties: @@ -101571,6 +101590,11 @@ components: $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsForgetAfter' instantaneousBaseline: $ref: '#/components/schemas/SecurityMonitoringRuleInstantaneousBaseline' + instantaneousBaselineTimeoutMinutes: + description: Timeout in minutes for constructing the instantaneous baseline. + format: int32 + maximum: 2147483647 + type: integer learningDuration: $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningDuration' learningMethod: @@ -101635,8 +101659,17 @@ components: $ref: '#/components/schemas/SecurityMonitoringRuleMaxSignalDuration' newValueOptions: $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptions' + relatedSignalsFields: + description: Fields used to identify related signals. + items: + description: A field name. + type: string + type: array sequenceDetectionOptions: $ref: '#/components/schemas/SecurityMonitoringRuleSequenceDetectionOptions' + signalTitleTemplate: + description: A template for the signal title. + type: string thirdPartyRuleOptions: $ref: '#/components/schemas/SecurityMonitoringRuleThirdPartyOptions' type: object @@ -101708,7 +101741,7 @@ components: type: string type: object SecurityMonitoringRuleResponse: - description: Create a new rule. + description: A security monitoring rule. oneOf: - $ref: '#/components/schemas/SecurityMonitoringStandardRuleResponse' - $ref: '#/components/schemas/SecurityMonitoringSignalRuleResponse' @@ -101965,6 +101998,16 @@ components: maximum: 2147483647 type: integer type: object + SecurityMonitoringRuleUser: + description: The user who created or last updated the rule. + properties: + handle: + description: The user handle. Empty for a default rule with no user. + type: string + name: + description: The user name. Empty for a default rule with no user. + type: string + type: object SecurityMonitoringRuleValidatePayload: description: Validate a rule. oneOf: @@ -102424,6 +102467,9 @@ components: SecurityMonitoringSignalRuleResponse: description: Rule. properties: + blocking: + description: Whether the rule blocks attackers. + type: boolean cases: description: Cases for generating signals. items: @@ -102437,12 +102483,23 @@ components: description: User ID of the user who created the rule. format: int64 type: integer + creator: + $ref: '#/components/schemas/SecurityMonitoringRuleUser' customMessage: description: Custom/Overridden message for generated signals (used in case of Default rule update). type: string customName: description: Custom/Overridden name of the rule (used in case of Default rule update). type: string + defaultRuleId: + description: The ID of the corresponding default rule. + type: string + defaultTags: + description: Default tags for default rules, included in tags. + items: + description: A default tag. + type: string + type: array deprecationDate: description: When the rule will be deprecated, timestamp in milliseconds. format: int64 @@ -102458,18 +102515,29 @@ components: id: description: The ID of the rule. type: string + isBeta: + description: Whether the rule is in beta. + type: boolean isDefault: description: Whether the rule is included by default. type: boolean isDeleted: description: Whether the rule has been deleted. type: boolean + isDeprecated: + description: Whether the rule is deprecated. + type: boolean isEnabled: description: Whether the rule is enabled. type: boolean + isPartner: + description: Whether the rule is provided by a partner. + type: boolean message: description: Message for generated signals. type: string + metadata: + $ref: '#/components/schemas/SecurityMonitoringRuleMetadata' name: description: The name of the rule. type: string @@ -102492,6 +102560,12 @@ components: description: User ID of the user who updated the rule. format: int64 type: integer + updatedAt: + description: The date the rule was last updated, in milliseconds. + format: int64 + type: integer + updater: + $ref: '#/components/schemas/SecurityMonitoringRuleUser' version: description: The version of the rule. format: int64 @@ -102529,6 +102603,10 @@ components: description: Field. type: string type: array + hasOptionalGroupByFields: + description: Whether events with missing group-by fields are processed with a replacement value. + example: false + type: boolean metrics: description: Group of target fields to aggregate over. items: @@ -103241,6 +103319,9 @@ components: SecurityMonitoringStandardRuleResponse: description: Rule. properties: + blocking: + description: Whether the rule blocks attackers. + type: boolean calculatedFields: description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. items: @@ -103261,12 +103342,17 @@ components: description: User ID of the user who created the rule. format: int64 type: integer + creator: + $ref: '#/components/schemas/SecurityMonitoringRuleUser' customMessage: description: Custom/Overridden message for generated signals (used in case of Default rule update). type: string customName: description: Custom/Overridden name of the rule (used in case of Default rule update). type: string + defaultRuleId: + description: The ID of the corresponding default rule. + type: string defaultTags: description: Default Tags for default rules (included in tags) example: @@ -103275,6 +103361,12 @@ components: description: Default Tag. type: string type: array + dependencies: + description: IDs of rules that this rule depends on. + items: + description: A rule ID. + type: string + type: array deprecationDate: description: When the rule will be deprecated, timestamp in milliseconds. format: int64 @@ -103284,6 +103376,9 @@ components: items: $ref: '#/components/schemas/SecurityMonitoringFilter' type: array + findingType: + description: The type of findings generated by the rule. + type: string groupSignalsBy: description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. example: @@ -103298,18 +103393,29 @@ components: id: description: The ID of the rule. type: string + isBeta: + description: Whether the rule is in beta. + type: boolean isDefault: description: Whether the rule is included by default. type: boolean isDeleted: description: Whether the rule has been deleted. type: boolean + isDeprecated: + description: Whether the rule is deprecated. + type: boolean isEnabled: description: Whether the rule is enabled. type: boolean + isPartner: + description: Whether the rule is provided by a partner. + type: boolean message: description: Message for generated signals. type: string + metadata: + $ref: '#/components/schemas/SecurityMonitoringRuleMetadata' name: description: The name of the rule. type: string @@ -103349,6 +103455,8 @@ components: description: The date the rule was last updated, in milliseconds. format: int64 type: integer + updater: + $ref: '#/components/schemas/SecurityMonitoringRuleUser' version: description: The version of the rule. format: int64 @@ -203960,10 +204068,73 @@ paths: default: value: data: - - id: abc-123 + - blocking: false + creator: + handle: security@example.com + name: Security Team + id: abc-123 + isBeta: false + isDeprecated: false isEnabled: true + isPartner: false + metadata: + entities: + sources: name: My security monitoring rule. + options: + detectionMethod: threshold + relatedSignalsFields: ["service"] + signalTitleTemplate: Security signal type: log_detection + updater: + handle: security@example.com + name: Security Team + meta: {} + impossible_travel: + value: + data: + - id: jkl-012 + options: + detectionMethod: impossible_travel + impossibleTravelOptions: + detectIpTransition: true + type: log_detection + meta: {} + new_value: + value: + data: + - id: ghi-789 + options: + detectionMethod: new_value + newValueOptions: + instantaneousBaselineTimeoutMinutes: 0 + type: log_detection + meta: {} + signal_correlation: + value: + data: + - blocking: false + creator: + handle: "" + name: "" + defaultRuleId: def-000-abc + defaultTags: ["security:attack"] + id: def-456 + isBeta: false + isDeprecated: false + isPartner: false + metadata: + entities: + sources: + queries: + - aggregation: event_count + defaultRuleId: def-000-123 + hasOptionalGroupByFields: false + type: signal_correlation + updatedAt: 1750000000000 + updater: + handle: "" + name: "" meta: {} schema: $ref: '#/components/schemas/SecurityMonitoringListRulesResponse' diff --git a/src/main/java/com/datadog/api/client/v2/model/RuleVersions.java b/src/main/java/com/datadog/api/client/v2/model/RuleVersions.java index 7c5a4559bcb..82faf4b0f7e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/RuleVersions.java +++ b/src/main/java/com/datadog/api/client/v2/model/RuleVersions.java @@ -77,7 +77,7 @@ public RuleVersions rule(SecurityMonitoringRuleResponse rule) { } /** - * Create a new rule. + * A security monitoring rule. * * @return rule */ diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleImpossibleTravelOptions.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleImpossibleTravelOptions.java index 0e39ed7958b..54cfd864336 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleImpossibleTravelOptions.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleImpossibleTravelOptions.java @@ -20,7 +20,8 @@ /** Options on impossible travel detection method. */ @JsonPropertyOrder({ SecurityMonitoringRuleImpossibleTravelOptions.JSON_PROPERTY_BASELINE_USER_LOCATIONS, - SecurityMonitoringRuleImpossibleTravelOptions.JSON_PROPERTY_BASELINE_USER_LOCATIONS_DURATION + SecurityMonitoringRuleImpossibleTravelOptions.JSON_PROPERTY_BASELINE_USER_LOCATIONS_DURATION, + SecurityMonitoringRuleImpossibleTravelOptions.JSON_PROPERTY_DETECT_IP_TRANSITION }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") @@ -33,6 +34,9 @@ public class SecurityMonitoringRuleImpossibleTravelOptions { "baselineUserLocationsDuration"; private JsonNullable baselineUserLocationsDuration = JsonNullable.undefined(); + public static final String JSON_PROPERTY_DETECT_IP_TRANSITION = "detectIpTransition"; + private Boolean detectIpTransition; + public SecurityMonitoringRuleImpossibleTravelOptions baselineUserLocations( Boolean baselineUserLocations) { this.baselineUserLocations = baselineUserLocations; @@ -91,6 +95,28 @@ public void setBaselineUserLocationsDuration(Integer baselineUserLocationsDurati this.baselineUserLocationsDuration = JsonNullable.of(baselineUserLocationsDuration); } + public SecurityMonitoringRuleImpossibleTravelOptions detectIpTransition( + Boolean detectIpTransition) { + this.detectIpTransition = detectIpTransition; + return this; + } + + /** + * Whether to detect transitions between IP addresses. + * + * @return detectIpTransition + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DETECT_IP_TRANSITION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getDetectIpTransition() { + return detectIpTransition; + } + + public void setDetectIpTransition(Boolean detectIpTransition) { + this.detectIpTransition = detectIpTransition; + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -155,6 +181,9 @@ public boolean equals(Object o) { && Objects.equals( this.baselineUserLocationsDuration, securityMonitoringRuleImpossibleTravelOptions.baselineUserLocationsDuration) + && Objects.equals( + this.detectIpTransition, + securityMonitoringRuleImpossibleTravelOptions.detectIpTransition) && Objects.equals( this.additionalProperties, securityMonitoringRuleImpossibleTravelOptions.additionalProperties); @@ -162,7 +191,11 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(baselineUserLocations, baselineUserLocationsDuration, additionalProperties); + return Objects.hash( + baselineUserLocations, + baselineUserLocationsDuration, + detectIpTransition, + additionalProperties); } @Override @@ -175,6 +208,7 @@ public String toString() { sb.append(" baselineUserLocationsDuration: ") .append(toIndentedString(baselineUserLocationsDuration)) .append("\n"); + sb.append(" detectIpTransition: ").append(toIndentedString(detectIpTransition)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleMetadata.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleMetadata.java new file mode 100644 index 00000000000..95b781f4280 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleMetadata.java @@ -0,0 +1,213 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.openapitools.jackson.nullable.JsonNullable; + +/** Metadata associated with the rule. */ +@JsonPropertyOrder({ + SecurityMonitoringRuleMetadata.JSON_PROPERTY_ENTITIES, + SecurityMonitoringRuleMetadata.JSON_PROPERTY_SOURCES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringRuleMetadata { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENTITIES = "entities"; + private JsonNullable> entities = JsonNullable.>undefined(); + + public static final String JSON_PROPERTY_SOURCES = "sources"; + private JsonNullable> sources = JsonNullable.>undefined(); + + public SecurityMonitoringRuleMetadata entities(List entities) { + this.entities = JsonNullable.>of(entities); + return this; + } + + public SecurityMonitoringRuleMetadata addEntitiesItem(Object entitiesItem) { + if (this.entities == null || !this.entities.isPresent()) { + this.entities = JsonNullable.>of(new ArrayList<>()); + } + try { + this.entities.get().add(entitiesItem); + } catch (java.util.NoSuchElementException e) { + // this can never happen, as we make sure above that the value is present + } + return this; + } + + /** + * Entities associated with the rule, or null when metadata is not requested. + * + * @return entities + */ + @jakarta.annotation.Nullable + @JsonIgnore + public List getEntities() { + return entities.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_ENTITIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable> getEntities_JsonNullable() { + return entities; + } + + @JsonProperty(JSON_PROPERTY_ENTITIES) + public void setEntities_JsonNullable(JsonNullable> entities) { + this.entities = entities; + } + + public void setEntities(List entities) { + this.entities = JsonNullable.>of(entities); + } + + public SecurityMonitoringRuleMetadata sources(List sources) { + this.sources = JsonNullable.>of(sources); + return this; + } + + public SecurityMonitoringRuleMetadata addSourcesItem(String sourcesItem) { + if (this.sources == null || !this.sources.isPresent()) { + this.sources = JsonNullable.>of(new ArrayList<>()); + } + try { + this.sources.get().add(sourcesItem); + } catch (java.util.NoSuchElementException e) { + // this can never happen, as we make sure above that the value is present + } + return this; + } + + /** + * Sources associated with the rule, or null when metadata is not requested. + * + * @return sources + */ + @jakarta.annotation.Nullable + @JsonIgnore + public List getSources() { + return sources.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_SOURCES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable> getSources_JsonNullable() { + return sources; + } + + @JsonProperty(JSON_PROPERTY_SOURCES) + public void setSources_JsonNullable(JsonNullable> sources) { + this.sources = sources; + } + + public void setSources(List sources) { + this.sources = JsonNullable.>of(sources); + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringRuleMetadata + */ + @JsonAnySetter + public SecurityMonitoringRuleMetadata putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringRuleMetadata object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringRuleMetadata securityMonitoringRuleMetadata = + (SecurityMonitoringRuleMetadata) o; + return Objects.equals(this.entities, securityMonitoringRuleMetadata.entities) + && Objects.equals(this.sources, securityMonitoringRuleMetadata.sources) + && Objects.equals( + this.additionalProperties, securityMonitoringRuleMetadata.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(entities, sources, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringRuleMetadata {\n"); + sb.append(" entities: ").append(toIndentedString(entities)).append("\n"); + sb.append(" sources: ").append(toIndentedString(sources)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleNewValueOptions.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleNewValueOptions.java index 77cd67f9ba1..1f35ec55835 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleNewValueOptions.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleNewValueOptions.java @@ -20,6 +20,7 @@ @JsonPropertyOrder({ SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_FORGET_AFTER, SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_INSTANTANEOUS_BASELINE, + SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_INSTANTANEOUS_BASELINE_TIMEOUT_MINUTES, SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_LEARNING_DURATION, SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_LEARNING_METHOD, SecurityMonitoringRuleNewValueOptions.JSON_PROPERTY_LEARNING_THRESHOLD @@ -34,6 +35,10 @@ public class SecurityMonitoringRuleNewValueOptions { public static final String JSON_PROPERTY_INSTANTANEOUS_BASELINE = "instantaneousBaseline"; private Boolean instantaneousBaseline; + public static final String JSON_PROPERTY_INSTANTANEOUS_BASELINE_TIMEOUT_MINUTES = + "instantaneousBaselineTimeoutMinutes"; + private Integer instantaneousBaselineTimeoutMinutes; + public static final String JSON_PROPERTY_LEARNING_DURATION = "learningDuration"; private Integer learningDuration = 0; @@ -90,6 +95,28 @@ public void setInstantaneousBaseline(Boolean instantaneousBaseline) { this.instantaneousBaseline = instantaneousBaseline; } + public SecurityMonitoringRuleNewValueOptions instantaneousBaselineTimeoutMinutes( + Integer instantaneousBaselineTimeoutMinutes) { + this.instantaneousBaselineTimeoutMinutes = instantaneousBaselineTimeoutMinutes; + return this; + } + + /** + * Timeout in minutes for constructing the instantaneous baseline. maximum: 2147483647 + * + * @return instantaneousBaselineTimeoutMinutes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INSTANTANEOUS_BASELINE_TIMEOUT_MINUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getInstantaneousBaselineTimeoutMinutes() { + return instantaneousBaselineTimeoutMinutes; + } + + public void setInstantaneousBaselineTimeoutMinutes(Integer instantaneousBaselineTimeoutMinutes) { + this.instantaneousBaselineTimeoutMinutes = instantaneousBaselineTimeoutMinutes; + } + public SecurityMonitoringRuleNewValueOptions learningDuration(Integer learningDuration) { this.learningDuration = learningDuration; return this; @@ -228,6 +255,9 @@ public boolean equals(Object o) { return Objects.equals(this.forgetAfter, securityMonitoringRuleNewValueOptions.forgetAfter) && Objects.equals( this.instantaneousBaseline, securityMonitoringRuleNewValueOptions.instantaneousBaseline) + && Objects.equals( + this.instantaneousBaselineTimeoutMinutes, + securityMonitoringRuleNewValueOptions.instantaneousBaselineTimeoutMinutes) && Objects.equals( this.learningDuration, securityMonitoringRuleNewValueOptions.learningDuration) && Objects.equals(this.learningMethod, securityMonitoringRuleNewValueOptions.learningMethod) @@ -242,6 +272,7 @@ public int hashCode() { return Objects.hash( forgetAfter, instantaneousBaseline, + instantaneousBaselineTimeoutMinutes, learningDuration, learningMethod, learningThreshold, @@ -256,6 +287,9 @@ public String toString() { sb.append(" instantaneousBaseline: ") .append(toIndentedString(instantaneousBaseline)) .append("\n"); + sb.append(" instantaneousBaselineTimeoutMinutes: ") + .append(toIndentedString(instantaneousBaselineTimeoutMinutes)) + .append("\n"); sb.append(" learningDuration: ").append(toIndentedString(learningDuration)).append("\n"); sb.append(" learningMethod: ").append(toIndentedString(learningMethod)).append("\n"); sb.append(" learningThreshold: ").append(toIndentedString(learningThreshold)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleOptions.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleOptions.java index f91b71dee8b..890a0ae26a7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleOptions.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleOptions.java @@ -12,7 +12,9 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -28,7 +30,9 @@ SecurityMonitoringRuleOptions.JSON_PROPERTY_KEEP_ALIVE, SecurityMonitoringRuleOptions.JSON_PROPERTY_MAX_SIGNAL_DURATION, SecurityMonitoringRuleOptions.JSON_PROPERTY_NEW_VALUE_OPTIONS, + SecurityMonitoringRuleOptions.JSON_PROPERTY_RELATED_SIGNALS_FIELDS, SecurityMonitoringRuleOptions.JSON_PROPERTY_SEQUENCE_DETECTION_OPTIONS, + SecurityMonitoringRuleOptions.JSON_PROPERTY_SIGNAL_TITLE_TEMPLATE, SecurityMonitoringRuleOptions.JSON_PROPERTY_THIRD_PARTY_RULE_OPTIONS }) @jakarta.annotation.Generated( @@ -66,9 +70,15 @@ public class SecurityMonitoringRuleOptions { public static final String JSON_PROPERTY_NEW_VALUE_OPTIONS = "newValueOptions"; private SecurityMonitoringRuleNewValueOptions newValueOptions; + public static final String JSON_PROPERTY_RELATED_SIGNALS_FIELDS = "relatedSignalsFields"; + private List relatedSignalsFields = null; + public static final String JSON_PROPERTY_SEQUENCE_DETECTION_OPTIONS = "sequenceDetectionOptions"; private SecurityMonitoringRuleSequenceDetectionOptions sequenceDetectionOptions; + public static final String JSON_PROPERTY_SIGNAL_TITLE_TEMPLATE = "signalTitleTemplate"; + private String signalTitleTemplate; + public static final String JSON_PROPERTY_THIRD_PARTY_RULE_OPTIONS = "thirdPartyRuleOptions"; private SecurityMonitoringRuleThirdPartyOptions thirdPartyRuleOptions; @@ -341,6 +351,36 @@ public void setNewValueOptions(SecurityMonitoringRuleNewValueOptions newValueOpt } } + public SecurityMonitoringRuleOptions relatedSignalsFields(List relatedSignalsFields) { + this.relatedSignalsFields = relatedSignalsFields; + return this; + } + + public SecurityMonitoringRuleOptions addRelatedSignalsFieldsItem( + String relatedSignalsFieldsItem) { + if (this.relatedSignalsFields == null) { + this.relatedSignalsFields = new ArrayList<>(); + } + this.relatedSignalsFields.add(relatedSignalsFieldsItem); + return this; + } + + /** + * Fields used to identify related signals. + * + * @return relatedSignalsFields + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RELATED_SIGNALS_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getRelatedSignalsFields() { + return relatedSignalsFields; + } + + public void setRelatedSignalsFields(List relatedSignalsFields) { + this.relatedSignalsFields = relatedSignalsFields; + } + public SecurityMonitoringRuleOptions sequenceDetectionOptions( SecurityMonitoringRuleSequenceDetectionOptions sequenceDetectionOptions) { this.sequenceDetectionOptions = sequenceDetectionOptions; @@ -368,6 +408,27 @@ public void setSequenceDetectionOptions( } } + public SecurityMonitoringRuleOptions signalTitleTemplate(String signalTitleTemplate) { + this.signalTitleTemplate = signalTitleTemplate; + return this; + } + + /** + * A template for the signal title. + * + * @return signalTitleTemplate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SIGNAL_TITLE_TEMPLATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getSignalTitleTemplate() { + return signalTitleTemplate; + } + + public void setSignalTitleTemplate(String signalTitleTemplate) { + this.signalTitleTemplate = signalTitleTemplate; + } + public SecurityMonitoringRuleOptions thirdPartyRuleOptions( SecurityMonitoringRuleThirdPartyOptions thirdPartyRuleOptions) { this.thirdPartyRuleOptions = thirdPartyRuleOptions; @@ -467,8 +528,12 @@ public boolean equals(Object o) { && Objects.equals(this.keepAlive, securityMonitoringRuleOptions.keepAlive) && Objects.equals(this.maxSignalDuration, securityMonitoringRuleOptions.maxSignalDuration) && Objects.equals(this.newValueOptions, securityMonitoringRuleOptions.newValueOptions) + && Objects.equals( + this.relatedSignalsFields, securityMonitoringRuleOptions.relatedSignalsFields) && Objects.equals( this.sequenceDetectionOptions, securityMonitoringRuleOptions.sequenceDetectionOptions) + && Objects.equals( + this.signalTitleTemplate, securityMonitoringRuleOptions.signalTitleTemplate) && Objects.equals( this.thirdPartyRuleOptions, securityMonitoringRuleOptions.thirdPartyRuleOptions) && Objects.equals( @@ -488,7 +553,9 @@ public int hashCode() { keepAlive, maxSignalDuration, newValueOptions, + relatedSignalsFields, sequenceDetectionOptions, + signalTitleTemplate, thirdPartyRuleOptions, additionalProperties); } @@ -517,9 +584,15 @@ public String toString() { sb.append(" keepAlive: ").append(toIndentedString(keepAlive)).append("\n"); sb.append(" maxSignalDuration: ").append(toIndentedString(maxSignalDuration)).append("\n"); sb.append(" newValueOptions: ").append(toIndentedString(newValueOptions)).append("\n"); + sb.append(" relatedSignalsFields: ") + .append(toIndentedString(relatedSignalsFields)) + .append("\n"); sb.append(" sequenceDetectionOptions: ") .append(toIndentedString(sequenceDetectionOptions)) .append("\n"); + sb.append(" signalTitleTemplate: ") + .append(toIndentedString(signalTitleTemplate)) + .append("\n"); sb.append(" thirdPartyRuleOptions: ") .append(toIndentedString(thirdPartyRuleOptions)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleUser.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleUser.java new file mode 100644 index 00000000000..8413f447ebc --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringRuleUser.java @@ -0,0 +1,165 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** The user who created or last updated the rule. */ +@JsonPropertyOrder({ + SecurityMonitoringRuleUser.JSON_PROPERTY_HANDLE, + SecurityMonitoringRuleUser.JSON_PROPERTY_NAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringRuleUser { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_HANDLE = "handle"; + private String handle; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public SecurityMonitoringRuleUser handle(String handle) { + this.handle = handle; + return this; + } + + /** + * The user handle. Empty for a default rule with no user. + * + * @return handle + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HANDLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHandle() { + return handle; + } + + public void setHandle(String handle) { + this.handle = handle; + } + + public SecurityMonitoringRuleUser name(String name) { + this.name = name; + return this; + } + + /** + * The user name. Empty for a default rule with no user. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringRuleUser + */ + @JsonAnySetter + public SecurityMonitoringRuleUser putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringRuleUser object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringRuleUser securityMonitoringRuleUser = (SecurityMonitoringRuleUser) o; + return Objects.equals(this.handle, securityMonitoringRuleUser.handle) + && Objects.equals(this.name, securityMonitoringRuleUser.name) + && Objects.equals( + this.additionalProperties, securityMonitoringRuleUser.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(handle, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringRuleUser {\n"); + sb.append(" handle: ").append(toIndentedString(handle)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponse.java index c8a4f8c0db8..6806c9e36d7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponse.java @@ -20,31 +20,44 @@ /** Rule. */ @JsonPropertyOrder({ + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_BLOCKING, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CASES, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CREATED_AT, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CREATION_AUTHOR_ID, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CREATOR, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CUSTOM_MESSAGE, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_CUSTOM_NAME, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_DEFAULT_RULE_ID, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_DEFAULT_TAGS, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_DEPRECATION_DATE, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_FILTERS, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_HAS_EXTENDED_TITLE, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_ID, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_BETA, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_DEFAULT, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_DELETED, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_DEPRECATED, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_ENABLED, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_IS_PARTNER, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_MESSAGE, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_METADATA, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_NAME, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_OPTIONS, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_QUERIES, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_TAGS, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_TYPE, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_UPDATE_AUTHOR_ID, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_UPDATED_AT, + SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_UPDATER, SecurityMonitoringSignalRuleResponse.JSON_PROPERTY_VERSION }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class SecurityMonitoringSignalRuleResponse { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BLOCKING = "blocking"; + private Boolean blocking; + public static final String JSON_PROPERTY_CASES = "cases"; private List cases = null; @@ -54,12 +67,21 @@ public class SecurityMonitoringSignalRuleResponse { public static final String JSON_PROPERTY_CREATION_AUTHOR_ID = "creationAuthorId"; private Long creationAuthorId; + public static final String JSON_PROPERTY_CREATOR = "creator"; + private SecurityMonitoringRuleUser creator; + public static final String JSON_PROPERTY_CUSTOM_MESSAGE = "customMessage"; private String customMessage; public static final String JSON_PROPERTY_CUSTOM_NAME = "customName"; private String customName; + public static final String JSON_PROPERTY_DEFAULT_RULE_ID = "defaultRuleId"; + private String defaultRuleId; + + public static final String JSON_PROPERTY_DEFAULT_TAGS = "defaultTags"; + private List defaultTags = null; + public static final String JSON_PROPERTY_DEPRECATION_DATE = "deprecationDate"; private Long deprecationDate; @@ -72,18 +94,30 @@ public class SecurityMonitoringSignalRuleResponse { public static final String JSON_PROPERTY_ID = "id"; private String id; + public static final String JSON_PROPERTY_IS_BETA = "isBeta"; + private Boolean isBeta; + public static final String JSON_PROPERTY_IS_DEFAULT = "isDefault"; private Boolean isDefault; public static final String JSON_PROPERTY_IS_DELETED = "isDeleted"; private Boolean isDeleted; + public static final String JSON_PROPERTY_IS_DEPRECATED = "isDeprecated"; + private Boolean isDeprecated; + public static final String JSON_PROPERTY_IS_ENABLED = "isEnabled"; private Boolean isEnabled; + public static final String JSON_PROPERTY_IS_PARTNER = "isPartner"; + private Boolean isPartner; + public static final String JSON_PROPERTY_MESSAGE = "message"; private String message; + public static final String JSON_PROPERTY_METADATA = "metadata"; + private SecurityMonitoringRuleMetadata metadata; + public static final String JSON_PROPERTY_NAME = "name"; private String name; @@ -102,9 +136,36 @@ public class SecurityMonitoringSignalRuleResponse { public static final String JSON_PROPERTY_UPDATE_AUTHOR_ID = "updateAuthorId"; private Long updateAuthorId; + public static final String JSON_PROPERTY_UPDATED_AT = "updatedAt"; + private Long updatedAt; + + public static final String JSON_PROPERTY_UPDATER = "updater"; + private SecurityMonitoringRuleUser updater; + public static final String JSON_PROPERTY_VERSION = "version"; private Long version; + public SecurityMonitoringSignalRuleResponse blocking(Boolean blocking) { + this.blocking = blocking; + return this; + } + + /** + * Whether the rule blocks attackers. + * + * @return blocking + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BLOCKING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getBlocking() { + return blocking; + } + + public void setBlocking(Boolean blocking) { + this.blocking = blocking; + } + public SecurityMonitoringSignalRuleResponse cases(List cases) { this.cases = cases; if (cases != null) { @@ -187,6 +248,31 @@ public void setCreationAuthorId(Long creationAuthorId) { this.creationAuthorId = creationAuthorId; } + public SecurityMonitoringSignalRuleResponse creator(SecurityMonitoringRuleUser creator) { + this.creator = creator; + this.unparsed |= creator.unparsed; + return this; + } + + /** + * The user who created or last updated the rule. + * + * @return creator + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleUser getCreator() { + return creator; + } + + public void setCreator(SecurityMonitoringRuleUser creator) { + this.creator = creator; + if (creator != null) { + this.unparsed |= creator.unparsed; + } + } + public SecurityMonitoringSignalRuleResponse customMessage(String customMessage) { this.customMessage = customMessage; return this; @@ -229,6 +315,56 @@ public void setCustomName(String customName) { this.customName = customName; } + public SecurityMonitoringSignalRuleResponse defaultRuleId(String defaultRuleId) { + this.defaultRuleId = defaultRuleId; + return this; + } + + /** + * The ID of the corresponding default rule. + * + * @return defaultRuleId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DEFAULT_RULE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDefaultRuleId() { + return defaultRuleId; + } + + public void setDefaultRuleId(String defaultRuleId) { + this.defaultRuleId = defaultRuleId; + } + + public SecurityMonitoringSignalRuleResponse defaultTags(List defaultTags) { + this.defaultTags = defaultTags; + return this; + } + + public SecurityMonitoringSignalRuleResponse addDefaultTagsItem(String defaultTagsItem) { + if (this.defaultTags == null) { + this.defaultTags = new ArrayList<>(); + } + this.defaultTags.add(defaultTagsItem); + return this; + } + + /** + * Default tags for default rules, included in tags. + * + * @return defaultTags + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DEFAULT_TAGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getDefaultTags() { + return defaultTags; + } + + public void setDefaultTags(List defaultTags) { + this.defaultTags = defaultTags; + } + public SecurityMonitoringSignalRuleResponse deprecationDate(Long deprecationDate) { this.deprecationDate = deprecationDate; return this; @@ -333,6 +469,27 @@ public void setId(String id) { this.id = id; } + public SecurityMonitoringSignalRuleResponse isBeta(Boolean isBeta) { + this.isBeta = isBeta; + return this; + } + + /** + * Whether the rule is in beta. + * + * @return isBeta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_BETA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsBeta() { + return isBeta; + } + + public void setIsBeta(Boolean isBeta) { + this.isBeta = isBeta; + } + public SecurityMonitoringSignalRuleResponse isDefault(Boolean isDefault) { this.isDefault = isDefault; return this; @@ -375,6 +532,27 @@ public void setIsDeleted(Boolean isDeleted) { this.isDeleted = isDeleted; } + public SecurityMonitoringSignalRuleResponse isDeprecated(Boolean isDeprecated) { + this.isDeprecated = isDeprecated; + return this; + } + + /** + * Whether the rule is deprecated. + * + * @return isDeprecated + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_DEPRECATED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsDeprecated() { + return isDeprecated; + } + + public void setIsDeprecated(Boolean isDeprecated) { + this.isDeprecated = isDeprecated; + } + public SecurityMonitoringSignalRuleResponse isEnabled(Boolean isEnabled) { this.isEnabled = isEnabled; return this; @@ -396,6 +574,27 @@ public void setIsEnabled(Boolean isEnabled) { this.isEnabled = isEnabled; } + public SecurityMonitoringSignalRuleResponse isPartner(Boolean isPartner) { + this.isPartner = isPartner; + return this; + } + + /** + * Whether the rule is provided by a partner. + * + * @return isPartner + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_PARTNER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsPartner() { + return isPartner; + } + + public void setIsPartner(Boolean isPartner) { + this.isPartner = isPartner; + } + public SecurityMonitoringSignalRuleResponse message(String message) { this.message = message; return this; @@ -417,6 +616,31 @@ public void setMessage(String message) { this.message = message; } + public SecurityMonitoringSignalRuleResponse metadata(SecurityMonitoringRuleMetadata metadata) { + this.metadata = metadata; + this.unparsed |= metadata.unparsed; + return this; + } + + /** + * Metadata associated with the rule. + * + * @return metadata + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_METADATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleMetadata getMetadata() { + return metadata; + } + + public void setMetadata(SecurityMonitoringRuleMetadata metadata) { + this.metadata = metadata; + if (metadata != null) { + this.unparsed |= metadata.unparsed; + } + } + public SecurityMonitoringSignalRuleResponse name(String name) { this.name = name; return this; @@ -580,6 +804,52 @@ public void setUpdateAuthorId(Long updateAuthorId) { this.updateAuthorId = updateAuthorId; } + public SecurityMonitoringSignalRuleResponse updatedAt(Long updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * The date the rule was last updated, in milliseconds. + * + * @return updatedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Long updatedAt) { + this.updatedAt = updatedAt; + } + + public SecurityMonitoringSignalRuleResponse updater(SecurityMonitoringRuleUser updater) { + this.updater = updater; + this.unparsed |= updater.unparsed; + return this; + } + + /** + * The user who created or last updated the rule. + * + * @return updater + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleUser getUpdater() { + return updater; + } + + public void setUpdater(SecurityMonitoringRuleUser updater) { + this.updater = updater; + if (updater != null) { + this.unparsed |= updater.unparsed; + } + } + public SecurityMonitoringSignalRuleResponse version(Long version) { this.version = version; return this; @@ -658,28 +928,38 @@ public boolean equals(Object o) { } SecurityMonitoringSignalRuleResponse securityMonitoringSignalRuleResponse = (SecurityMonitoringSignalRuleResponse) o; - return Objects.equals(this.cases, securityMonitoringSignalRuleResponse.cases) + return Objects.equals(this.blocking, securityMonitoringSignalRuleResponse.blocking) + && Objects.equals(this.cases, securityMonitoringSignalRuleResponse.cases) && Objects.equals(this.createdAt, securityMonitoringSignalRuleResponse.createdAt) && Objects.equals( this.creationAuthorId, securityMonitoringSignalRuleResponse.creationAuthorId) + && Objects.equals(this.creator, securityMonitoringSignalRuleResponse.creator) && Objects.equals(this.customMessage, securityMonitoringSignalRuleResponse.customMessage) && Objects.equals(this.customName, securityMonitoringSignalRuleResponse.customName) + && Objects.equals(this.defaultRuleId, securityMonitoringSignalRuleResponse.defaultRuleId) + && Objects.equals(this.defaultTags, securityMonitoringSignalRuleResponse.defaultTags) && Objects.equals( this.deprecationDate, securityMonitoringSignalRuleResponse.deprecationDate) && Objects.equals(this.filters, securityMonitoringSignalRuleResponse.filters) && Objects.equals( this.hasExtendedTitle, securityMonitoringSignalRuleResponse.hasExtendedTitle) && Objects.equals(this.id, securityMonitoringSignalRuleResponse.id) + && Objects.equals(this.isBeta, securityMonitoringSignalRuleResponse.isBeta) && Objects.equals(this.isDefault, securityMonitoringSignalRuleResponse.isDefault) && Objects.equals(this.isDeleted, securityMonitoringSignalRuleResponse.isDeleted) + && Objects.equals(this.isDeprecated, securityMonitoringSignalRuleResponse.isDeprecated) && Objects.equals(this.isEnabled, securityMonitoringSignalRuleResponse.isEnabled) + && Objects.equals(this.isPartner, securityMonitoringSignalRuleResponse.isPartner) && Objects.equals(this.message, securityMonitoringSignalRuleResponse.message) + && Objects.equals(this.metadata, securityMonitoringSignalRuleResponse.metadata) && Objects.equals(this.name, securityMonitoringSignalRuleResponse.name) && Objects.equals(this.options, securityMonitoringSignalRuleResponse.options) && Objects.equals(this.queries, securityMonitoringSignalRuleResponse.queries) && Objects.equals(this.tags, securityMonitoringSignalRuleResponse.tags) && Objects.equals(this.type, securityMonitoringSignalRuleResponse.type) && Objects.equals(this.updateAuthorId, securityMonitoringSignalRuleResponse.updateAuthorId) + && Objects.equals(this.updatedAt, securityMonitoringSignalRuleResponse.updatedAt) + && Objects.equals(this.updater, securityMonitoringSignalRuleResponse.updater) && Objects.equals(this.version, securityMonitoringSignalRuleResponse.version) && Objects.equals( this.additionalProperties, securityMonitoringSignalRuleResponse.additionalProperties); @@ -688,25 +968,35 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( + blocking, cases, createdAt, creationAuthorId, + creator, customMessage, customName, + defaultRuleId, + defaultTags, deprecationDate, filters, hasExtendedTitle, id, + isBeta, isDefault, isDeleted, + isDeprecated, isEnabled, + isPartner, message, + metadata, name, options, queries, tags, type, updateAuthorId, + updatedAt, + updater, version, additionalProperties); } @@ -715,25 +1005,35 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SecurityMonitoringSignalRuleResponse {\n"); + sb.append(" blocking: ").append(toIndentedString(blocking)).append("\n"); sb.append(" cases: ").append(toIndentedString(cases)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" creationAuthorId: ").append(toIndentedString(creationAuthorId)).append("\n"); + sb.append(" creator: ").append(toIndentedString(creator)).append("\n"); sb.append(" customMessage: ").append(toIndentedString(customMessage)).append("\n"); sb.append(" customName: ").append(toIndentedString(customName)).append("\n"); + sb.append(" defaultRuleId: ").append(toIndentedString(defaultRuleId)).append("\n"); + sb.append(" defaultTags: ").append(toIndentedString(defaultTags)).append("\n"); sb.append(" deprecationDate: ").append(toIndentedString(deprecationDate)).append("\n"); sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); sb.append(" hasExtendedTitle: ").append(toIndentedString(hasExtendedTitle)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" isBeta: ").append(toIndentedString(isBeta)).append("\n"); sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); sb.append(" isDeleted: ").append(toIndentedString(isDeleted)).append("\n"); + sb.append(" isDeprecated: ").append(toIndentedString(isDeprecated)).append("\n"); sb.append(" isEnabled: ").append(toIndentedString(isEnabled)).append("\n"); + sb.append(" isPartner: ").append(toIndentedString(isPartner)).append("\n"); sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" options: ").append(toIndentedString(options)).append("\n"); sb.append(" queries: ").append(toIndentedString(queries)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" updateAuthorId: ").append(toIndentedString(updateAuthorId)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" updater: ").append(toIndentedString(updater)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponseQuery.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponseQuery.java index 304e9787510..3eae2573f5b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponseQuery.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringSignalRuleResponseQuery.java @@ -26,6 +26,7 @@ SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_DEFAULT_RULE_ID, SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_DISTINCT_FIELDS, SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_GROUP_BY_FIELDS, + SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_HAS_OPTIONAL_GROUP_BY_FIELDS, SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_METRICS, SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_NAME, SecurityMonitoringSignalRuleResponseQuery.JSON_PROPERTY_RULE_ID @@ -52,6 +53,10 @@ public class SecurityMonitoringSignalRuleResponseQuery { public static final String JSON_PROPERTY_GROUP_BY_FIELDS = "groupByFields"; private List groupByFields = null; + public static final String JSON_PROPERTY_HAS_OPTIONAL_GROUP_BY_FIELDS = + "hasOptionalGroupByFields"; + private Boolean hasOptionalGroupByFields; + public static final String JSON_PROPERTY_METRICS = "metrics"; private List metrics = null; @@ -220,6 +225,28 @@ public void setGroupByFields(List groupByFields) { this.groupByFields = groupByFields; } + public SecurityMonitoringSignalRuleResponseQuery hasOptionalGroupByFields( + Boolean hasOptionalGroupByFields) { + this.hasOptionalGroupByFields = hasOptionalGroupByFields; + return this; + } + + /** + * Whether events with missing group-by fields are processed with a replacement value. + * + * @return hasOptionalGroupByFields + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HAS_OPTIONAL_GROUP_BY_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasOptionalGroupByFields() { + return hasOptionalGroupByFields; + } + + public void setHasOptionalGroupByFields(Boolean hasOptionalGroupByFields) { + this.hasOptionalGroupByFields = hasOptionalGroupByFields; + } + public SecurityMonitoringSignalRuleResponseQuery metrics(List metrics) { this.metrics = metrics; return this; @@ -360,6 +387,9 @@ public boolean equals(Object o) { this.distinctFields, securityMonitoringSignalRuleResponseQuery.distinctFields) && Objects.equals( this.groupByFields, securityMonitoringSignalRuleResponseQuery.groupByFields) + && Objects.equals( + this.hasOptionalGroupByFields, + securityMonitoringSignalRuleResponseQuery.hasOptionalGroupByFields) && Objects.equals(this.metrics, securityMonitoringSignalRuleResponseQuery.metrics) && Objects.equals(this.name, securityMonitoringSignalRuleResponseQuery.name) && Objects.equals(this.ruleId, securityMonitoringSignalRuleResponseQuery.ruleId) @@ -377,6 +407,7 @@ public int hashCode() { defaultRuleId, distinctFields, groupByFields, + hasOptionalGroupByFields, metrics, name, ruleId, @@ -395,6 +426,9 @@ public String toString() { sb.append(" defaultRuleId: ").append(toIndentedString(defaultRuleId)).append("\n"); sb.append(" distinctFields: ").append(toIndentedString(distinctFields)).append("\n"); sb.append(" groupByFields: ").append(toIndentedString(groupByFields)).append("\n"); + sb.append(" hasOptionalGroupByFields: ") + .append(toIndentedString(hasOptionalGroupByFields)) + .append("\n"); sb.append(" metrics: ").append(toIndentedString(metrics)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" ruleId: ").append(toIndentedString(ruleId)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringStandardRuleResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringStandardRuleResponse.java index ef9b8137080..e2791343ca3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringStandardRuleResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringStandardRuleResponse.java @@ -21,23 +21,32 @@ /** Rule. */ @JsonPropertyOrder({ + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_BLOCKING, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CALCULATED_FIELDS, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CASES, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_COMPLIANCE_SIGNAL_OPTIONS, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CREATED_AT, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CREATION_AUTHOR_ID, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CREATOR, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CUSTOM_MESSAGE, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_CUSTOM_NAME, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEFAULT_RULE_ID, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEFAULT_TAGS, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEPENDENCIES, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_DEPRECATION_DATE, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_FILTERS, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_FINDING_TYPE, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_GROUP_SIGNALS_BY, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_HAS_EXTENDED_TITLE, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_ID, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_BETA, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_DEFAULT, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_DELETED, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_DEPRECATED, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_ENABLED, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_IS_PARTNER, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_MESSAGE, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_METADATA, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_NAME, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_OPTIONS, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_QUERIES, @@ -48,12 +57,16 @@ SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_TYPE, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_UPDATE_AUTHOR_ID, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_UPDATED_AT, + SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_UPDATER, SecurityMonitoringStandardRuleResponse.JSON_PROPERTY_VERSION }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class SecurityMonitoringStandardRuleResponse { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BLOCKING = "blocking"; + private Boolean blocking; + public static final String JSON_PROPERTY_CALCULATED_FIELDS = "calculatedFields"; private List calculatedFields = null; @@ -69,21 +82,33 @@ public class SecurityMonitoringStandardRuleResponse { public static final String JSON_PROPERTY_CREATION_AUTHOR_ID = "creationAuthorId"; private Long creationAuthorId; + public static final String JSON_PROPERTY_CREATOR = "creator"; + private SecurityMonitoringRuleUser creator; + public static final String JSON_PROPERTY_CUSTOM_MESSAGE = "customMessage"; private String customMessage; public static final String JSON_PROPERTY_CUSTOM_NAME = "customName"; private String customName; + public static final String JSON_PROPERTY_DEFAULT_RULE_ID = "defaultRuleId"; + private String defaultRuleId; + public static final String JSON_PROPERTY_DEFAULT_TAGS = "defaultTags"; private List defaultTags = null; + public static final String JSON_PROPERTY_DEPENDENCIES = "dependencies"; + private List dependencies = null; + public static final String JSON_PROPERTY_DEPRECATION_DATE = "deprecationDate"; private Long deprecationDate; public static final String JSON_PROPERTY_FILTERS = "filters"; private List filters = null; + public static final String JSON_PROPERTY_FINDING_TYPE = "findingType"; + private String findingType; + public static final String JSON_PROPERTY_GROUP_SIGNALS_BY = "groupSignalsBy"; private List groupSignalsBy = null; @@ -93,18 +118,30 @@ public class SecurityMonitoringStandardRuleResponse { public static final String JSON_PROPERTY_ID = "id"; private String id; + public static final String JSON_PROPERTY_IS_BETA = "isBeta"; + private Boolean isBeta; + public static final String JSON_PROPERTY_IS_DEFAULT = "isDefault"; private Boolean isDefault; public static final String JSON_PROPERTY_IS_DELETED = "isDeleted"; private Boolean isDeleted; + public static final String JSON_PROPERTY_IS_DEPRECATED = "isDeprecated"; + private Boolean isDeprecated; + public static final String JSON_PROPERTY_IS_ENABLED = "isEnabled"; private Boolean isEnabled; + public static final String JSON_PROPERTY_IS_PARTNER = "isPartner"; + private Boolean isPartner; + public static final String JSON_PROPERTY_MESSAGE = "message"; private String message; + public static final String JSON_PROPERTY_METADATA = "metadata"; + private SecurityMonitoringRuleMetadata metadata; + public static final String JSON_PROPERTY_NAME = "name"; private String name; @@ -136,9 +173,33 @@ public class SecurityMonitoringStandardRuleResponse { public static final String JSON_PROPERTY_UPDATED_AT = "updatedAt"; private Long updatedAt; + public static final String JSON_PROPERTY_UPDATER = "updater"; + private SecurityMonitoringRuleUser updater; + public static final String JSON_PROPERTY_VERSION = "version"; private Long version; + public SecurityMonitoringStandardRuleResponse blocking(Boolean blocking) { + this.blocking = blocking; + return this; + } + + /** + * Whether the rule blocks attackers. + * + * @return blocking + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BLOCKING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getBlocking() { + return blocking; + } + + public void setBlocking(Boolean blocking) { + this.blocking = blocking; + } + public SecurityMonitoringStandardRuleResponse calculatedFields( List calculatedFields) { this.calculatedFields = calculatedFields; @@ -291,6 +352,31 @@ public void setCreationAuthorId(Long creationAuthorId) { this.creationAuthorId = creationAuthorId; } + public SecurityMonitoringStandardRuleResponse creator(SecurityMonitoringRuleUser creator) { + this.creator = creator; + this.unparsed |= creator.unparsed; + return this; + } + + /** + * The user who created or last updated the rule. + * + * @return creator + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleUser getCreator() { + return creator; + } + + public void setCreator(SecurityMonitoringRuleUser creator) { + this.creator = creator; + if (creator != null) { + this.unparsed |= creator.unparsed; + } + } + public SecurityMonitoringStandardRuleResponse customMessage(String customMessage) { this.customMessage = customMessage; return this; @@ -333,6 +419,27 @@ public void setCustomName(String customName) { this.customName = customName; } + public SecurityMonitoringStandardRuleResponse defaultRuleId(String defaultRuleId) { + this.defaultRuleId = defaultRuleId; + return this; + } + + /** + * The ID of the corresponding default rule. + * + * @return defaultRuleId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DEFAULT_RULE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDefaultRuleId() { + return defaultRuleId; + } + + public void setDefaultRuleId(String defaultRuleId) { + this.defaultRuleId = defaultRuleId; + } + public SecurityMonitoringStandardRuleResponse defaultTags(List defaultTags) { this.defaultTags = defaultTags; return this; @@ -362,6 +469,35 @@ public void setDefaultTags(List defaultTags) { this.defaultTags = defaultTags; } + public SecurityMonitoringStandardRuleResponse dependencies(List dependencies) { + this.dependencies = dependencies; + return this; + } + + public SecurityMonitoringStandardRuleResponse addDependenciesItem(String dependenciesItem) { + if (this.dependencies == null) { + this.dependencies = new ArrayList<>(); + } + this.dependencies.add(dependenciesItem); + return this; + } + + /** + * IDs of rules that this rule depends on. + * + * @return dependencies + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DEPENDENCIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getDependencies() { + return dependencies; + } + + public void setDependencies(List dependencies) { + this.dependencies = dependencies; + } + public SecurityMonitoringStandardRuleResponse deprecationDate(Long deprecationDate) { this.deprecationDate = deprecationDate; return this; @@ -425,6 +561,27 @@ public void setFilters(List filters) { } } + public SecurityMonitoringStandardRuleResponse findingType(String findingType) { + this.findingType = findingType; + return this; + } + + /** + * The type of findings generated by the rule. + * + * @return findingType + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FINDING_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getFindingType() { + return findingType; + } + + public void setFindingType(String findingType) { + this.findingType = findingType; + } + public SecurityMonitoringStandardRuleResponse groupSignalsBy(List groupSignalsBy) { this.groupSignalsBy = groupSignalsBy; return this; @@ -497,6 +654,27 @@ public void setId(String id) { this.id = id; } + public SecurityMonitoringStandardRuleResponse isBeta(Boolean isBeta) { + this.isBeta = isBeta; + return this; + } + + /** + * Whether the rule is in beta. + * + * @return isBeta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_BETA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsBeta() { + return isBeta; + } + + public void setIsBeta(Boolean isBeta) { + this.isBeta = isBeta; + } + public SecurityMonitoringStandardRuleResponse isDefault(Boolean isDefault) { this.isDefault = isDefault; return this; @@ -539,6 +717,27 @@ public void setIsDeleted(Boolean isDeleted) { this.isDeleted = isDeleted; } + public SecurityMonitoringStandardRuleResponse isDeprecated(Boolean isDeprecated) { + this.isDeprecated = isDeprecated; + return this; + } + + /** + * Whether the rule is deprecated. + * + * @return isDeprecated + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_DEPRECATED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsDeprecated() { + return isDeprecated; + } + + public void setIsDeprecated(Boolean isDeprecated) { + this.isDeprecated = isDeprecated; + } + public SecurityMonitoringStandardRuleResponse isEnabled(Boolean isEnabled) { this.isEnabled = isEnabled; return this; @@ -560,6 +759,27 @@ public void setIsEnabled(Boolean isEnabled) { this.isEnabled = isEnabled; } + public SecurityMonitoringStandardRuleResponse isPartner(Boolean isPartner) { + this.isPartner = isPartner; + return this; + } + + /** + * Whether the rule is provided by a partner. + * + * @return isPartner + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_PARTNER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsPartner() { + return isPartner; + } + + public void setIsPartner(Boolean isPartner) { + this.isPartner = isPartner; + } + public SecurityMonitoringStandardRuleResponse message(String message) { this.message = message; return this; @@ -581,6 +801,31 @@ public void setMessage(String message) { this.message = message; } + public SecurityMonitoringStandardRuleResponse metadata(SecurityMonitoringRuleMetadata metadata) { + this.metadata = metadata; + this.unparsed |= metadata.unparsed; + return this; + } + + /** + * Metadata associated with the rule. + * + * @return metadata + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_METADATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleMetadata getMetadata() { + return metadata; + } + + public void setMetadata(SecurityMonitoringRuleMetadata metadata) { + this.metadata = metadata; + if (metadata != null) { + this.unparsed |= metadata.unparsed; + } + } + public SecurityMonitoringStandardRuleResponse name(String name) { this.name = name; return this; @@ -885,6 +1130,31 @@ public void setUpdatedAt(Long updatedAt) { this.updatedAt = updatedAt; } + public SecurityMonitoringStandardRuleResponse updater(SecurityMonitoringRuleUser updater) { + this.updater = updater; + this.unparsed |= updater.unparsed; + return this; + } + + /** + * The user who created or last updated the rule. + * + * @return updater + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SecurityMonitoringRuleUser getUpdater() { + return updater; + } + + public void setUpdater(SecurityMonitoringRuleUser updater) { + this.updater = updater; + if (updater != null) { + this.unparsed |= updater.unparsed; + } + } + public SecurityMonitoringStandardRuleResponse version(Long version) { this.version = version; return this; @@ -963,7 +1233,8 @@ public boolean equals(Object o) { } SecurityMonitoringStandardRuleResponse securityMonitoringStandardRuleResponse = (SecurityMonitoringStandardRuleResponse) o; - return Objects.equals( + return Objects.equals(this.blocking, securityMonitoringStandardRuleResponse.blocking) + && Objects.equals( this.calculatedFields, securityMonitoringStandardRuleResponse.calculatedFields) && Objects.equals(this.cases, securityMonitoringStandardRuleResponse.cases) && Objects.equals( @@ -972,21 +1243,29 @@ public boolean equals(Object o) { && Objects.equals(this.createdAt, securityMonitoringStandardRuleResponse.createdAt) && Objects.equals( this.creationAuthorId, securityMonitoringStandardRuleResponse.creationAuthorId) + && Objects.equals(this.creator, securityMonitoringStandardRuleResponse.creator) && Objects.equals(this.customMessage, securityMonitoringStandardRuleResponse.customMessage) && Objects.equals(this.customName, securityMonitoringStandardRuleResponse.customName) + && Objects.equals(this.defaultRuleId, securityMonitoringStandardRuleResponse.defaultRuleId) && Objects.equals(this.defaultTags, securityMonitoringStandardRuleResponse.defaultTags) + && Objects.equals(this.dependencies, securityMonitoringStandardRuleResponse.dependencies) && Objects.equals( this.deprecationDate, securityMonitoringStandardRuleResponse.deprecationDate) && Objects.equals(this.filters, securityMonitoringStandardRuleResponse.filters) + && Objects.equals(this.findingType, securityMonitoringStandardRuleResponse.findingType) && Objects.equals( this.groupSignalsBy, securityMonitoringStandardRuleResponse.groupSignalsBy) && Objects.equals( this.hasExtendedTitle, securityMonitoringStandardRuleResponse.hasExtendedTitle) && Objects.equals(this.id, securityMonitoringStandardRuleResponse.id) + && Objects.equals(this.isBeta, securityMonitoringStandardRuleResponse.isBeta) && Objects.equals(this.isDefault, securityMonitoringStandardRuleResponse.isDefault) && Objects.equals(this.isDeleted, securityMonitoringStandardRuleResponse.isDeleted) + && Objects.equals(this.isDeprecated, securityMonitoringStandardRuleResponse.isDeprecated) && Objects.equals(this.isEnabled, securityMonitoringStandardRuleResponse.isEnabled) + && Objects.equals(this.isPartner, securityMonitoringStandardRuleResponse.isPartner) && Objects.equals(this.message, securityMonitoringStandardRuleResponse.message) + && Objects.equals(this.metadata, securityMonitoringStandardRuleResponse.metadata) && Objects.equals(this.name, securityMonitoringStandardRuleResponse.name) && Objects.equals(this.options, securityMonitoringStandardRuleResponse.options) && Objects.equals(this.queries, securityMonitoringStandardRuleResponse.queries) @@ -1001,6 +1280,7 @@ public boolean equals(Object o) { && Objects.equals( this.updateAuthorId, securityMonitoringStandardRuleResponse.updateAuthorId) && Objects.equals(this.updatedAt, securityMonitoringStandardRuleResponse.updatedAt) + && Objects.equals(this.updater, securityMonitoringStandardRuleResponse.updater) && Objects.equals(this.version, securityMonitoringStandardRuleResponse.version) && Objects.equals( this.additionalProperties, securityMonitoringStandardRuleResponse.additionalProperties); @@ -1009,23 +1289,32 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( + blocking, calculatedFields, cases, complianceSignalOptions, createdAt, creationAuthorId, + creator, customMessage, customName, + defaultRuleId, defaultTags, + dependencies, deprecationDate, filters, + findingType, groupSignalsBy, hasExtendedTitle, id, + isBeta, isDefault, isDeleted, + isDeprecated, isEnabled, + isPartner, message, + metadata, name, options, queries, @@ -1036,6 +1325,7 @@ public int hashCode() { type, updateAuthorId, updatedAt, + updater, version, additionalProperties); } @@ -1044,6 +1334,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SecurityMonitoringStandardRuleResponse {\n"); + sb.append(" blocking: ").append(toIndentedString(blocking)).append("\n"); sb.append(" calculatedFields: ").append(toIndentedString(calculatedFields)).append("\n"); sb.append(" cases: ").append(toIndentedString(cases)).append("\n"); sb.append(" complianceSignalOptions: ") @@ -1051,18 +1342,26 @@ public String toString() { .append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" creationAuthorId: ").append(toIndentedString(creationAuthorId)).append("\n"); + sb.append(" creator: ").append(toIndentedString(creator)).append("\n"); sb.append(" customMessage: ").append(toIndentedString(customMessage)).append("\n"); sb.append(" customName: ").append(toIndentedString(customName)).append("\n"); + sb.append(" defaultRuleId: ").append(toIndentedString(defaultRuleId)).append("\n"); sb.append(" defaultTags: ").append(toIndentedString(defaultTags)).append("\n"); + sb.append(" dependencies: ").append(toIndentedString(dependencies)).append("\n"); sb.append(" deprecationDate: ").append(toIndentedString(deprecationDate)).append("\n"); sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); + sb.append(" findingType: ").append(toIndentedString(findingType)).append("\n"); sb.append(" groupSignalsBy: ").append(toIndentedString(groupSignalsBy)).append("\n"); sb.append(" hasExtendedTitle: ").append(toIndentedString(hasExtendedTitle)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" isBeta: ").append(toIndentedString(isBeta)).append("\n"); sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); sb.append(" isDeleted: ").append(toIndentedString(isDeleted)).append("\n"); + sb.append(" isDeprecated: ").append(toIndentedString(isDeprecated)).append("\n"); sb.append(" isEnabled: ").append(toIndentedString(isEnabled)).append("\n"); + sb.append(" isPartner: ").append(toIndentedString(isPartner)).append("\n"); sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" options: ").append(toIndentedString(options)).append("\n"); sb.append(" queries: ").append(toIndentedString(queries)).append("\n"); @@ -1073,6 +1372,7 @@ public String toString() { sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" updateAuthorId: ").append(toIndentedString(updateAuthorId)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" updater: ").append(toIndentedString(updater)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature b/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature index 12b40ab104a..0cd95c1b0e4 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature @@ -2669,11 +2669,14 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @skip-validation @team:DataDog/cloud-siem + @team:DataDog/cloud-siem Scenario: List rules returns "OK" response Given new "ListSecurityMonitoringRules" request When the request is sent Then the response status is 200 OK + And the response "data[0]" has field "isPartner" + And the response "data[0]" has field "isBeta" + And the response "data[0]" has field "isDeprecated" @team:DataDog/k9-cloud-vm Scenario: List scanned assets metadata returns "Bad request: Invalid Pagination Token" response