55import com .datadog .api .client .v2 .api .StaticAnalysisApi ;
66import com .datadog .api .client .v2 .model .Argument ;
77import com .datadog .api .client .v2 .model .CustomRule ;
8- import com .datadog .api .client .v2 .model .CustomRuleRevision ;
9- import com .datadog .api .client .v2 .model .CustomRuleRevisionAttributes ;
108import com .datadog .api .client .v2 .model .CustomRuleRevisionAttributesCategory ;
119import com .datadog .api .client .v2 .model .CustomRuleRevisionAttributesSeverity ;
12- import com .datadog .api .client .v2 .model .CustomRuleRevisionDataType ;
10+ import com .datadog .api .client .v2 .model .CustomRuleRevisionInput ;
1311import com .datadog .api .client .v2 .model .CustomRuleRevisionTest ;
1412import com .datadog .api .client .v2 .model .CustomRulesetDataType ;
1513import com .datadog .api .client .v2 .model .CustomRulesetRequest ;
1614import com .datadog .api .client .v2 .model .CustomRulesetRequestData ;
1715import com .datadog .api .client .v2 .model .CustomRulesetRequestDataAttributes ;
1816import com .datadog .api .client .v2 .model .CustomRulesetResponse ;
1917import com .datadog .api .client .v2 .model .Language ;
20- import java .time .OffsetDateTime ;
2118import java .util .Arrays ;
2219import java .util .Collections ;
2320
@@ -33,63 +30,87 @@ public static void main(String[] args) {
3330 new CustomRulesetRequestData ()
3431 .attributes (
3532 new CustomRulesetRequestDataAttributes ()
33+ .description ("bG9uZyBkZXNjcmlwdGlvbg==" )
34+ .name ("my-ruleset" )
3635 .rules (
3736 Collections .singletonList (
3837 new CustomRule ()
39- .createdAt (
40- OffsetDateTime .parse ("2026-01-09T13:00:57.473141Z" ))
41- .createdBy ("foobarbaz" )
38+ .id ("my-rule" )
4239 .lastRevision (
43- new CustomRuleRevision ()
44- .attributes (
45- new CustomRuleRevisionAttributes ()
46- .arguments (
47- Collections .singletonList (
48- new Argument ()
49- .description (
50- "YXJndW1lbnQgZGVzY3JpcHRpb24=" )
51- .name ("YXJndW1lbnRfbmFtZQ==" )))
52- .category (
53- CustomRuleRevisionAttributesCategory
54- .SECURITY )
55- .checksum (
56- "8a66c4e4e631099ad71be3c1ea3ea8fc2d57193e56db2c296e2dd8a508b26b99" )
57- .code (
58- "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
59- .createdAt (
60- OffsetDateTime .parse (
61- "2026-01-09T13:00:57.473141Z" ))
62- .createdBy ("foobarbaz" )
63- .creationMessage ("Initial revision" )
64- .cve ("CVE-2024-1234" )
65- .cwe ("CWE-79" )
66- .description ("bG9uZyBkZXNjcmlwdGlvbg==" )
67- .documentationUrl (
68- "https://docs.example.com/rules/my-rule" )
69- .isPublished (false )
70- .isTesting (false )
71- .language (Language .PYTHON )
72- .severity (
73- CustomRuleRevisionAttributesSeverity
74- .ERROR )
75- .shortDescription (
76- "c2hvcnQgZGVzY3JpcHRpb24=" )
77- .shouldUseAiFix (false )
78- .tags (Arrays .asList ("security" , "custom" ))
79- .tests (
80- Collections .singletonList (
81- new CustomRuleRevisionTest ()
82- .annotationCount (1L )
83- .code (
84- "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
85- .filename ("test.yaml" )))
86- .treeSitterQuery (
87- "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" ))
88- .id ("revision-123" )
89- .type (
90- CustomRuleRevisionDataType
91- .CUSTOM_RULE_REVISION ))
92- .name ("my-rule" ))))
40+ new CustomRuleRevisionInput ()
41+ .arguments (
42+ Collections .singletonList (
43+ new Argument ()
44+ .description (
45+ "YXJndW1lbnQgZGVzY3JpcHRpb24=" )
46+ .name ("YXJndW1lbnRfbmFtZQ==" )))
47+ .category (
48+ CustomRuleRevisionAttributesCategory .SECURITY )
49+ .code (
50+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
51+ .creationMessage ("Initial revision" )
52+ .cve ("CVE-2024-1234" )
53+ .cwe ("CWE-79" )
54+ .description ("bG9uZyBkZXNjcmlwdGlvbg==" )
55+ .documentationUrl (
56+ "https://docs.example.com/rules/my-rule" )
57+ .isPublished (false )
58+ .isTesting (false )
59+ .language (Language .PYTHON )
60+ .severity (
61+ CustomRuleRevisionAttributesSeverity .ERROR )
62+ .shortDescription ("c2hvcnQgZGVzY3JpcHRpb24=" )
63+ .shouldUseAiFix (false )
64+ .tags (Arrays .asList ("security" , "custom" ))
65+ .tests (
66+ Collections .singletonList (
67+ new CustomRuleRevisionTest ()
68+ .annotationCount (1L )
69+ .code (
70+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
71+ .filename ("test.yaml" )))
72+ .treeSitterQuery (
73+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" ))
74+ .name ("my-rule" )
75+ .revisions (
76+ Collections .singletonList (
77+ new CustomRuleRevisionInput ()
78+ .arguments (
79+ Collections .singletonList (
80+ new Argument ()
81+ .description (
82+ "YXJndW1lbnQgZGVzY3JpcHRpb24=" )
83+ .name ("YXJndW1lbnRfbmFtZQ==" )))
84+ .category (
85+ CustomRuleRevisionAttributesCategory
86+ .SECURITY )
87+ .code (
88+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
89+ .creationMessage ("Initial revision" )
90+ .cve ("CVE-2024-1234" )
91+ .cwe ("CWE-79" )
92+ .description ("bG9uZyBkZXNjcmlwdGlvbg==" )
93+ .documentationUrl (
94+ "https://docs.example.com/rules/my-rule" )
95+ .isPublished (false )
96+ .isTesting (false )
97+ .language (Language .PYTHON )
98+ .severity (
99+ CustomRuleRevisionAttributesSeverity .ERROR )
100+ .shortDescription ("c2hvcnQgZGVzY3JpcHRpb24=" )
101+ .shouldUseAiFix (false )
102+ .tags (Arrays .asList ("security" , "custom" ))
103+ .tests (
104+ Collections .singletonList (
105+ new CustomRuleRevisionTest ()
106+ .annotationCount (1L )
107+ .code (
108+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )
109+ .filename ("test.yaml" )))
110+ .treeSitterQuery (
111+ "Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ==" )))))
112+ .shortDescription ("c2hvcnQgZGVzY3JpcHRpb24=" ))
113+ .id ("my-ruleset" )
93114 .type (CustomRulesetDataType .CUSTOM_RULESET ));
94115
95116 try {
0 commit comments