Update a due date rule
https://api.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.us3.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.us5.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.datadoghq.eu/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.ap1.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.ap2.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.uk1.datadoghq.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.ddog-gov.com/api/v2/security/findings/automation/due_date_rules/{rule_id}https://api.us2.ddog-gov.com/api/v2/security/findings/automation/due_date_rules/{rule_id}概要
Update a due date rule by ID.
引数
パスパラメーター
rule_id [required]The ID of the due date rule.
リクエスト
Body Data (required)
data [required]The data object for a due date rule update request. The id must match the rule_id path parameter.
attributes [required]Attributes for creating or updating a due date rule.
action [required]The action to take when the due date rule matches a finding.
due_days_per_severity [required]A list of severity-to-due-date mappings. Each severity may appear at most once.
due_in_days [required]The number of days from the reference point until the finding is due.
severity [required]A severity level used to configure due date thresholds.
critical, high, medium, low, info, none, unknowndue_from [required]The reference point from which the due date is calculated. When fix_available is selected but not applicable to the finding type, first_seen is used instead.
first_seen, fix_availablereason_descriptionAn optional description providing more context for the due date assignment.
enabledWhether the due date rule is enabled.
name [required]The name of the due date rule.
rule [required]Defines the scope of findings to which the automation rule applies.
finding_types [required]The list of security finding types that the automation rule applies to.
queryA search query to further filter the findings matched by this rule. The @workflow.* namespace and @status fields are not permitted. For a reference of available fields, see the Security Findings schema documentation.
id [required]The ID of the due date rule to update.
type [required]The JSON:API type for due date rules.
due_date_rules{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}応答
Successfully updated the due date rule
A single due date rule response.
data [required]The data object for a due date rule returned by the API.
attributes [required]Attributes of a due date rule returned by the API.
action [required]The action to take when the due date rule matches a finding.
due_days_per_severity [required]A list of severity-to-due-date mappings. Each severity may appear at most once.
due_in_days [required]The number of days from the reference point until the finding is due.
severity [required]A severity level used to configure due date thresholds.
critical, high, medium, low, info, none, unknowndue_from [required]The reference point from which the due date is calculated. When fix_available is selected but not applicable to the finding type, first_seen is used instead.
first_seen, fix_availablereason_descriptionAn optional description providing more context for the due date assignment.
created_at [required]The Unix timestamp in milliseconds when the rule was created.
created_by [required]The user or Datadog system who created the rule.
id [required]The actor's identifier (a user UUID or a system identifier).
name [required]The name of the actor.
type [required]Whether the actor is a user or the Datadog system.
user, systemenabled [required]Whether the due date rule is enabled.
modified_at [required]The Unix timestamp in milliseconds when the rule was last modified.
modified_by [required]The user or Datadog system who last modified the rule.
id [required]The actor's identifier (a user UUID or a system identifier).
name [required]The name of the actor.
type [required]Whether the actor is a user or the Datadog system.
user, systemname [required]The name of the due date rule.
rule [required]Defines the scope of findings to which the automation rule applies.
finding_types [required]The list of security finding types that the automation rule applies to.
queryA search query to further filter the findings matched by this rule. The @workflow.* namespace and @status fields are not permitted. For a reference of available fields, see the Security Findings schema documentation.
id [required]The ID of the due date rule.
type [required]The JSON:API type for due date rules.
due_date_rules{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
}
],
"due_from": "first_seen",
"reason_description": "Applied for production findings only"
},
"created_at": 1722439510282,
"created_by": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "Jane Doe",
"type": "user"
},
"enabled": true,
"modified_at": 1722439510282,
"modified_by": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "Jane Doe",
"type": "user"
},
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod team:platform"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}Bad Request
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Unprocessable Entity
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}コード例
# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF# Path parameters
export rule_id="00000000-0000-0000-0000-000000000000"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/security/findings/automation/due_date_rules/${rule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"action": {
"due_days_per_severity": [
{
"due_in_days": 7,
"severity": "critical"
},
{
"due_in_days": 30,
"severity": "high"
},
{
"due_in_days": 90,
"severity": "medium"
}
],
"due_from": "fix_available"
},
"enabled": true,
"name": "Critical findings due in 7 days",
"rule": {
"finding_types": [
"misconfiguration"
],
"query": "env:prod"
}
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "due_date_rules"
}
}
EOF// Update a due date rule returns "Successfully updated the due date rule" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
"github.com/google/uuid"
)
func main() {
// there is a valid "valid_due_date_rule" in the system
ValidDueDateRuleDataID := uuid.MustParse(os.Getenv("VALID_DUE_DATE_RULE_DATA_ID"))
body := datadogV2.DueDateRuleUpdateRequest{
Data: datadogV2.DueDateRuleDataUpdate{
Attributes: datadogV2.DueDateRuleAttributesCreate{
Action: datadogV2.DueDateRuleAction{
DueDaysPerSeverity: []datadogV2.DueDatePerSeverityItem{
{
DueInDays: 14,
Severity: datadogV2.DUEDATESEVERITY_CRITICAL,
},
},
DueFrom: datadogV2.DUEDATEFROM_FIRST_SEEN,
},
Enabled: datadog.PtrBool(false),
Name: "Example-Security-Monitoring",
Rule: datadogV2.AutomationRuleScope{
FindingTypes: []datadogV2.SecurityFindingType{
datadogV2.SECURITYFINDINGTYPE_MISCONFIGURATION,
},
Query: datadog.PtrString("env:staging"),
},
},
Id: ValidDueDateRuleDataID,
Type: datadogV2.DUEDATERULETYPE_DUE_DATE_RULES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.UpdateSecurityFindingsAutomationDueDateRule", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSecurityMonitoringApi(apiClient)
resp, r, err := api.UpdateSecurityFindingsAutomationDueDateRule(ctx, ValidDueDateRuleDataID, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.UpdateSecurityFindingsAutomationDueDateRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.UpdateSecurityFindingsAutomationDueDateRule`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update a due date rule returns "Successfully updated the due date rule" response
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.AutomationRuleScope;
import com.datadog.api.client.v2.model.DueDateFrom;
import com.datadog.api.client.v2.model.DueDatePerSeverityItem;
import com.datadog.api.client.v2.model.DueDateRuleAction;
import com.datadog.api.client.v2.model.DueDateRuleAttributesCreate;
import com.datadog.api.client.v2.model.DueDateRuleDataUpdate;
import com.datadog.api.client.v2.model.DueDateRuleResponse;
import com.datadog.api.client.v2.model.DueDateRuleType;
import com.datadog.api.client.v2.model.DueDateRuleUpdateRequest;
import com.datadog.api.client.v2.model.DueDateSeverity;
import com.datadog.api.client.v2.model.SecurityFindingType;
import java.util.Collections;
import java.util.UUID;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled(
"v2.updateSecurityFindingsAutomationDueDateRule", true);
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
// there is a valid "valid_due_date_rule" in the system
UUID VALID_DUE_DATE_RULE_DATA_ID = null;
try {
VALID_DUE_DATE_RULE_DATA_ID = UUID.fromString(System.getenv("VALID_DUE_DATE_RULE_DATA_ID"));
} catch (IllegalArgumentException e) {
System.err.println("Error parsing UUID: " + e.getMessage());
}
DueDateRuleUpdateRequest body =
new DueDateRuleUpdateRequest()
.data(
new DueDateRuleDataUpdate()
.attributes(
new DueDateRuleAttributesCreate()
.action(
new DueDateRuleAction()
.dueDaysPerSeverity(
Collections.singletonList(
new DueDatePerSeverityItem()
.dueInDays(14L)
.severity(DueDateSeverity.CRITICAL)))
.dueFrom(DueDateFrom.FIRST_SEEN))
.enabled(false)
.name("Example-Security-Monitoring")
.rule(
new AutomationRuleScope()
.findingTypes(
Collections.singletonList(
SecurityFindingType.MISCONFIGURATION))
.query("env:staging")))
.id(VALID_DUE_DATE_RULE_DATA_ID)
.type(DueDateRuleType.DUE_DATE_RULES));
try {
DueDateRuleResponse result =
apiInstance.updateSecurityFindingsAutomationDueDateRule(
VALID_DUE_DATE_RULE_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling"
+ " SecurityMonitoringApi#updateSecurityFindingsAutomationDueDateRule");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update a due date rule returns "Successfully updated the due date rule" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
from datadog_api_client.v2.model.automation_rule_scope import AutomationRuleScope
from datadog_api_client.v2.model.due_date_from import DueDateFrom
from datadog_api_client.v2.model.due_date_per_severity_item import DueDatePerSeverityItem
from datadog_api_client.v2.model.due_date_rule_action import DueDateRuleAction
from datadog_api_client.v2.model.due_date_rule_attributes_create import DueDateRuleAttributesCreate
from datadog_api_client.v2.model.due_date_rule_data_update import DueDateRuleDataUpdate
from datadog_api_client.v2.model.due_date_rule_type import DueDateRuleType
from datadog_api_client.v2.model.due_date_rule_update_request import DueDateRuleUpdateRequest
from datadog_api_client.v2.model.due_date_severity import DueDateSeverity
from datadog_api_client.v2.model.security_finding_type import SecurityFindingType
# there is a valid "valid_due_date_rule" in the system
VALID_DUE_DATE_RULE_DATA_ID = environ["VALID_DUE_DATE_RULE_DATA_ID"]
body = DueDateRuleUpdateRequest(
data=DueDateRuleDataUpdate(
attributes=DueDateRuleAttributesCreate(
action=DueDateRuleAction(
due_days_per_severity=[
DueDatePerSeverityItem(
due_in_days=14,
severity=DueDateSeverity.CRITICAL,
),
],
due_from=DueDateFrom.FIRST_SEEN,
),
enabled=False,
name="Example-Security-Monitoring",
rule=AutomationRuleScope(
finding_types=[
SecurityFindingType.MISCONFIGURATION,
],
query="env:staging",
),
),
id=VALID_DUE_DATE_RULE_DATA_ID,
type=DueDateRuleType.DUE_DATE_RULES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["update_security_findings_automation_due_date_rule"] = True
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.update_security_findings_automation_due_date_rule(
rule_id=VALID_DUE_DATE_RULE_DATA_ID, body=body
)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update a due date rule returns "Successfully updated the due date rule" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.update_security_findings_automation_due_date_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
# there is a valid "valid_due_date_rule" in the system
VALID_DUE_DATE_RULE_DATA_ID = ENV["VALID_DUE_DATE_RULE_DATA_ID"]
body = DatadogAPIClient::V2::DueDateRuleUpdateRequest.new({
data: DatadogAPIClient::V2::DueDateRuleDataUpdate.new({
attributes: DatadogAPIClient::V2::DueDateRuleAttributesCreate.new({
action: DatadogAPIClient::V2::DueDateRuleAction.new({
due_days_per_severity: [
DatadogAPIClient::V2::DueDatePerSeverityItem.new({
due_in_days: 14,
severity: DatadogAPIClient::V2::DueDateSeverity::CRITICAL,
}),
],
due_from: DatadogAPIClient::V2::DueDateFrom::FIRST_SEEN,
}),
enabled: false,
name: "Example-Security-Monitoring",
rule: DatadogAPIClient::V2::AutomationRuleScope.new({
finding_types: [
DatadogAPIClient::V2::SecurityFindingType::MISCONFIGURATION,
],
query: "env:staging",
}),
}),
id: VALID_DUE_DATE_RULE_DATA_ID,
type: DatadogAPIClient::V2::DueDateRuleType::DUE_DATE_RULES,
}),
})
p api_instance.update_security_findings_automation_due_date_rule(VALID_DUE_DATE_RULE_DATA_ID, body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update a due date rule returns "Successfully updated the due date rule" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
use datadog_api_client::datadogV2::model::AutomationRuleScope;
use datadog_api_client::datadogV2::model::DueDateFrom;
use datadog_api_client::datadogV2::model::DueDatePerSeverityItem;
use datadog_api_client::datadogV2::model::DueDateRuleAction;
use datadog_api_client::datadogV2::model::DueDateRuleAttributesCreate;
use datadog_api_client::datadogV2::model::DueDateRuleDataUpdate;
use datadog_api_client::datadogV2::model::DueDateRuleType;
use datadog_api_client::datadogV2::model::DueDateRuleUpdateRequest;
use datadog_api_client::datadogV2::model::DueDateSeverity;
use datadog_api_client::datadogV2::model::SecurityFindingType;
#[tokio::main]
async fn main() {
// there is a valid "valid_due_date_rule" in the system
let valid_due_date_rule_data_id =
uuid::Uuid::parse_str(&std::env::var("VALID_DUE_DATE_RULE_DATA_ID").unwrap())
.expect("Invalid UUID");
let body = DueDateRuleUpdateRequest::new(DueDateRuleDataUpdate::new(
DueDateRuleAttributesCreate::new(
DueDateRuleAction::new(
vec![DueDatePerSeverityItem::new(14, DueDateSeverity::CRITICAL)],
DueDateFrom::FIRST_SEEN,
),
"Example-Security-Monitoring".to_string(),
AutomationRuleScope::new(vec![SecurityFindingType::MISCONFIGURATION])
.query("env:staging".to_string()),
)
.enabled(false),
valid_due_date_rule_data_id.clone(),
DueDateRuleType::DUE_DATE_RULES,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled(
"v2.update_security_findings_automation_due_date_rule",
true,
);
let api = SecurityMonitoringAPI::with_config(configuration);
let resp = api
.update_security_findings_automation_due_date_rule(
valid_due_date_rule_data_id.clone(),
body,
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Update a due date rule returns "Successfully updated the due date rule" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations[
"v2.updateSecurityFindingsAutomationDueDateRule"
] = true;
const apiInstance = new v2.SecurityMonitoringApi(configuration);
// there is a valid "valid_due_date_rule" in the system
const VALID_DUE_DATE_RULE_DATA_ID = process.env
.VALID_DUE_DATE_RULE_DATA_ID as string;
const params: v2.SecurityMonitoringApiUpdateSecurityFindingsAutomationDueDateRuleRequest =
{
body: {
data: {
attributes: {
action: {
dueDaysPerSeverity: [
{
dueInDays: 14,
severity: "critical",
},
],
dueFrom: "first_seen",
},
enabled: false,
name: "Example-Security-Monitoring",
rule: {
findingTypes: ["misconfiguration"],
query: "env:staging",
},
},
type: "due_date_rules",
},
},
ruleId: VALID_DUE_DATE_RULE_DATA_ID,
};
apiInstance
.updateSecurityFindingsAutomationDueDateRule(params)
.then((data: v2.DueDateRuleResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"