Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .apigentools-info
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"spec_versions": {
"v1": {
"apigentools_version": "1.6.6",
"regenerated": "2024-09-30 14:37:33.047156",
"spec_repo_commit": "60bc9127"
"regenerated": "2024-09-30 19:44:25.543007",
"spec_repo_commit": "909e369c"
},
"v2": {
"apigentools_version": "1.6.6",
"regenerated": "2024-09-30 14:37:33.070295",
"spec_repo_commit": "60bc9127"
"regenerated": "2024-09-30 19:44:25.557128",
"spec_repo_commit": "909e369c"
}
}
}
44 changes: 44 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19089,6 +19089,25 @@ components:
meta:
$ref: '#/components/schemas/ResponseMetaAttributes'
type: object
SecurityMonitoringReferenceTable:
description: Reference table for the rule.
properties:
checkPresence:
description: Whether to include or exclude the matched values.
type: boolean
columnName:
description: The name of the column in the reference table.
type: string
logFieldPath:
description: The field in the log to match against the reference table.
type: string
ruleQueryName:
description: The name of the rule query to apply the reference table to.
type: string
tableName:
description: The name of the reference table.
type: string
type: object
SecurityMonitoringRuleCase:
description: Case when signal is generated.
properties:
Expand Down Expand Up @@ -19594,6 +19613,11 @@ components:
items:
$ref: '#/components/schemas/SecurityMonitoringRuleQuery'
type: array
referenceTables:
description: Reference tables for the rule.
items:
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
type: array
tags:
description: Tags for generated signals.
items:
Expand Down Expand Up @@ -20298,6 +20322,11 @@ components:
items:
$ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery'
type: array
referenceTables:
description: Reference tables for the rule.
items:
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
type: array
tags:
description: Tags for generated signals.
example:
Expand Down Expand Up @@ -20365,6 +20394,11 @@ components:
items:
$ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery'
type: array
referenceTables:
description: Reference tables for the rule.
items:
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
type: array
tags:
description: Tags for generated signals.
example:
Expand Down Expand Up @@ -20505,6 +20539,11 @@ components:
items:
$ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery'
type: array
referenceTables:
description: Reference tables for the rule.
items:
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
type: array
tags:
description: Tags for generated signals.
items:
Expand Down Expand Up @@ -20569,6 +20608,11 @@ components:
items:
$ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery'
type: array
referenceTables:
description: Reference tables for the rule.
items:
$ref: '#/components/schemas/SecurityMonitoringReferenceTable'
type: array
tags:
description: Tags for generated signals.
example:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
import com.datadog.api.client.v2.model.SecurityMonitoringReferenceTable;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCaseCreate;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleEvaluationWindow;
Expand Down Expand Up @@ -45,7 +46,15 @@ public static void main(String[] args) {
.maxSignalDuration(SecurityMonitoringRuleMaxSignalDuration.ONE_DAY))
.message("Test rule")
.isEnabled(true)
.type(SecurityMonitoringRuleTypeCreate.LOG_DETECTION));
.type(SecurityMonitoringRuleTypeCreate.LOG_DETECTION)
.referenceTables(
Collections.singletonList(
new SecurityMonitoringReferenceTable()
.tableName("synthetics_test_reference_table_dont_delete")
.columnName("value")
.logFieldPath("testtag")
.checkPresence(true)
.ruleQueryName("a"))));

try {
SecurityMonitoringRuleResponse result = apiInstance.createSecurityMonitoringRule(body);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
/*
* 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;

/** Reference table for the rule. */
@JsonPropertyOrder({
SecurityMonitoringReferenceTable.JSON_PROPERTY_CHECK_PRESENCE,
SecurityMonitoringReferenceTable.JSON_PROPERTY_COLUMN_NAME,
SecurityMonitoringReferenceTable.JSON_PROPERTY_LOG_FIELD_PATH,
SecurityMonitoringReferenceTable.JSON_PROPERTY_RULE_QUERY_NAME,
SecurityMonitoringReferenceTable.JSON_PROPERTY_TABLE_NAME
})
@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class SecurityMonitoringReferenceTable {
@JsonIgnore public boolean unparsed = false;
public static final String JSON_PROPERTY_CHECK_PRESENCE = "checkPresence";
private Boolean checkPresence;

public static final String JSON_PROPERTY_COLUMN_NAME = "columnName";
private String columnName;

public static final String JSON_PROPERTY_LOG_FIELD_PATH = "logFieldPath";
private String logFieldPath;

public static final String JSON_PROPERTY_RULE_QUERY_NAME = "ruleQueryName";
private String ruleQueryName;

public static final String JSON_PROPERTY_TABLE_NAME = "tableName";
private String tableName;

public SecurityMonitoringReferenceTable checkPresence(Boolean checkPresence) {
this.checkPresence = checkPresence;
return this;
}

/**
* Whether to include or exclude the matched values.
*
* @return checkPresence
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_CHECK_PRESENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getCheckPresence() {
return checkPresence;
}

public void setCheckPresence(Boolean checkPresence) {
this.checkPresence = checkPresence;
}

public SecurityMonitoringReferenceTable columnName(String columnName) {
this.columnName = columnName;
return this;
}

/**
* The name of the column in the reference table.
*
* @return columnName
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_COLUMN_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getColumnName() {
return columnName;
}

public void setColumnName(String columnName) {
this.columnName = columnName;
}

public SecurityMonitoringReferenceTable logFieldPath(String logFieldPath) {
this.logFieldPath = logFieldPath;
return this;
}

/**
* The field in the log to match against the reference table.
*
* @return logFieldPath
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_LOG_FIELD_PATH)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getLogFieldPath() {
return logFieldPath;
}

public void setLogFieldPath(String logFieldPath) {
this.logFieldPath = logFieldPath;
}

public SecurityMonitoringReferenceTable ruleQueryName(String ruleQueryName) {
this.ruleQueryName = ruleQueryName;
return this;
}

/**
* The name of the rule query to apply the reference table to.
*
* @return ruleQueryName
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_RULE_QUERY_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getRuleQueryName() {
return ruleQueryName;
}

public void setRuleQueryName(String ruleQueryName) {
this.ruleQueryName = ruleQueryName;
}

public SecurityMonitoringReferenceTable tableName(String tableName) {
this.tableName = tableName;
return this;
}

/**
* The name of the reference table.
*
* @return tableName
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_TABLE_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getTableName() {
return tableName;
}

public void setTableName(String tableName) {
this.tableName = tableName;
}

/**
* 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<String, Object> 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 SecurityMonitoringReferenceTable
*/
@JsonAnySetter
public SecurityMonitoringReferenceTable putAdditionalProperty(String key, Object value) {
if (this.additionalProperties == null) {
this.additionalProperties = new HashMap<String, Object>();
}
this.additionalProperties.put(key, value);
return this;
}

/**
* Return the additional (undeclared) property.
*
* @return The additional properties
*/
@JsonAnyGetter
public Map<String, Object> 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 SecurityMonitoringReferenceTable object is equal to o. */
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SecurityMonitoringReferenceTable securityMonitoringReferenceTable =
(SecurityMonitoringReferenceTable) o;
return Objects.equals(this.checkPresence, securityMonitoringReferenceTable.checkPresence)
&& Objects.equals(this.columnName, securityMonitoringReferenceTable.columnName)
&& Objects.equals(this.logFieldPath, securityMonitoringReferenceTable.logFieldPath)
&& Objects.equals(this.ruleQueryName, securityMonitoringReferenceTable.ruleQueryName)
&& Objects.equals(this.tableName, securityMonitoringReferenceTable.tableName)
&& Objects.equals(
this.additionalProperties, securityMonitoringReferenceTable.additionalProperties);
}

@Override
public int hashCode() {
return Objects.hash(
checkPresence, columnName, logFieldPath, ruleQueryName, tableName, additionalProperties);
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class SecurityMonitoringReferenceTable {\n");
sb.append(" checkPresence: ").append(toIndentedString(checkPresence)).append("\n");
sb.append(" columnName: ").append(toIndentedString(columnName)).append("\n");
sb.append(" logFieldPath: ").append(toIndentedString(logFieldPath)).append("\n");
sb.append(" ruleQueryName: ").append(toIndentedString(ruleQueryName)).append("\n");
sb.append(" tableName: ").append(toIndentedString(tableName)).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 ");
}
}
Loading