Skip to content

Commit 4e53a42

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit befca65 of spec repo (#3916)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 4fb8cb6 commit 4e53a42

9 files changed

Lines changed: 898 additions & 0 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76342,6 +76342,53 @@ components:
7634276342
required:
7634376343
- status
7634476344
type: object
76345+
SecurityMonitoringRuleConvertBulkAttributes:
76346+
description: Attributes for bulk converting security monitoring rules to Terraform.
76347+
properties:
76348+
ruleIds:
76349+
description: "List of rule IDs to convert. Each rule will be included in the resulting ZIP file\nas a separate Terraform file."
76350+
example:
76351+
- def-000-u7q
76352+
- def-000-7dd
76353+
items:
76354+
description: A rule ID to include in the bulk convert.
76355+
type: string
76356+
minItems: 1
76357+
type: array
76358+
required:
76359+
- ruleIds
76360+
type: object
76361+
SecurityMonitoringRuleConvertBulkData:
76362+
description: Data for bulk converting security monitoring rules to Terraform.
76363+
properties:
76364+
attributes:
76365+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkAttributes"
76366+
id:
76367+
description: Request ID.
76368+
example: convert_bulk
76369+
type: string
76370+
type:
76371+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkDataType"
76372+
required:
76373+
- attributes
76374+
- type
76375+
type: object
76376+
SecurityMonitoringRuleConvertBulkDataType:
76377+
description: The type of the resource.
76378+
enum:
76379+
- security_monitoring_rules_convert_bulk
76380+
example: security_monitoring_rules_convert_bulk
76381+
type: string
76382+
x-enum-varnames:
76383+
- SECURITY_MONITORING_RULES_CONVERT_BULK
76384+
SecurityMonitoringRuleConvertBulkPayload:
76385+
description: Payload for bulk converting security monitoring rules to Terraform.
76386+
properties:
76387+
data:
76388+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkData"
76389+
required:
76390+
- data
76391+
type: object
7634576392
SecurityMonitoringRuleConvertPayload:
7634676393
description: Convert a rule from JSON to Terraform.
7634776394
oneOf:
@@ -153879,6 +153926,63 @@ paths:
153879153926
operator: OR
153880153927
permissions:
153881153928
- security_monitoring_rules_write
153929+
/api/v2/security_monitoring/rules/convert/bulk:
153930+
post:
153931+
description: |-
153932+
Convert a list of existing security monitoring rules to Terraform for the Datadog provider
153933+
resource `datadog_security_monitoring_rule`. Returns a ZIP archive containing one Terraform
153934+
file per rule. You can convert rules for the following types:
153935+
- App and API Protection
153936+
- Cloud SIEM (log detection and signal correlation)
153937+
- Workload Protection
153938+
operationId: BulkConvertExistingSecurityMonitoringRules
153939+
requestBody:
153940+
content:
153941+
"application/json":
153942+
examples:
153943+
default:
153944+
value:
153945+
data:
153946+
attributes:
153947+
ruleIds:
153948+
- def-000-u7q
153949+
- def-000-7dd
153950+
id: convert_bulk
153951+
type: security_monitoring_rules_convert_bulk
153952+
schema:
153953+
$ref: "#/components/schemas/SecurityMonitoringRuleConvertBulkPayload"
153954+
required: true
153955+
responses:
153956+
"200":
153957+
content:
153958+
application/zip:
153959+
examples:
153960+
default:
153961+
value: "<binary zip data>"
153962+
schema:
153963+
format: binary
153964+
type: string
153965+
description: OK
153966+
"400":
153967+
$ref: "#/components/responses/BadRequestResponse"
153968+
"403":
153969+
$ref: "#/components/responses/NotAuthorizedResponse"
153970+
"404":
153971+
$ref: "#/components/responses/NotFoundResponse"
153972+
"429":
153973+
$ref: "#/components/responses/TooManyRequestsResponse"
153974+
security:
153975+
- apiKeyAuth: []
153976+
appKeyAuth: []
153977+
- AuthZ:
153978+
- security_monitoring_rules_read
153979+
summary: Bulk convert rules to Terraform
153980+
tags: ["Security Monitoring"]
153981+
x-codegen-request-body-name: body
153982+
"x-permission":
153983+
operator: OR
153984+
permissions:
153985+
- security_monitoring_rules_read
153882153986
/api/v2/security_monitoring/rules/test:
153883153987
post:
153884153988
description: |-
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Bulk convert rules to Terraform returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkAttributes;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkData;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkDataType;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkPayload;
10+
import java.io.File;
11+
import java.util.Arrays;
12+
13+
public class Example {
14+
public static void main(String[] args) {
15+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
16+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
17+
18+
SecurityMonitoringRuleConvertBulkPayload body =
19+
new SecurityMonitoringRuleConvertBulkPayload()
20+
.data(
21+
new SecurityMonitoringRuleConvertBulkData()
22+
.attributes(
23+
new SecurityMonitoringRuleConvertBulkAttributes()
24+
.ruleIds(Arrays.asList("def-000-u7q", "def-000-7dd")))
25+
.id("convert_bulk")
26+
.type(
27+
SecurityMonitoringRuleConvertBulkDataType
28+
.SECURITY_MONITORING_RULES_CONVERT_BULK));
29+
30+
try {
31+
File result = apiInstance.bulkConvertExistingSecurityMonitoringRules(body);
32+
System.out.println(result);
33+
} catch (ApiException e) {
34+
System.err.println(
35+
"Exception when calling"
36+
+ " SecurityMonitoringApi#bulkConvertExistingSecurityMonitoringRules");
37+
System.err.println("Status code: " + e.getCode());
38+
System.err.println("Reason: " + e.getResponseBody());
39+
System.err.println("Response headers: " + e.getResponseHeaders());
40+
e.printStackTrace();
41+
}
42+
}
43+
}

src/main/java/com/datadog/api/client/v2/api/SecurityMonitoringApi.java

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeletePayload;
103103
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeleteResponse;
104104
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportPayload;
105+
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkPayload;
105106
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertPayload;
106107
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertResponse;
107108
import com.datadog.api.client.v2.model.SecurityMonitoringRuleCreatePayload;
@@ -803,6 +804,148 @@ public CompletableFuture<ApiResponse<FindingCaseResponse>> attachJiraIssueWithHt
803804
new GenericType<SecurityMonitoringDatasetDependenciesResponse>() {});
804805
}
805806

807+
/**
808+
* Bulk convert rules to Terraform.
809+
*
810+
* <p>See {@link #bulkConvertExistingSecurityMonitoringRulesWithHttpInfo}.
811+
*
812+
* @param body (required)
813+
* @return File
814+
* @throws ApiException if fails to make API call
815+
*/
816+
public File bulkConvertExistingSecurityMonitoringRules(
817+
SecurityMonitoringRuleConvertBulkPayload body) throws ApiException {
818+
return bulkConvertExistingSecurityMonitoringRulesWithHttpInfo(body).getData();
819+
}
820+
821+
/**
822+
* Bulk convert rules to Terraform.
823+
*
824+
* <p>See {@link #bulkConvertExistingSecurityMonitoringRulesWithHttpInfoAsync}.
825+
*
826+
* @param body (required)
827+
* @return CompletableFuture&lt;File&gt;
828+
*/
829+
public CompletableFuture<File> bulkConvertExistingSecurityMonitoringRulesAsync(
830+
SecurityMonitoringRuleConvertBulkPayload body) {
831+
return bulkConvertExistingSecurityMonitoringRulesWithHttpInfoAsync(body)
832+
.thenApply(
833+
response -> {
834+
return response.getData();
835+
});
836+
}
837+
838+
/**
839+
* Convert a list of existing security monitoring rules to Terraform for the Datadog provider
840+
* resource <code>datadog_security_monitoring_rule</code>. Returns a ZIP archive containing one
841+
* Terraform file per rule. You can convert rules for the following types: - App and API
842+
* Protection - Cloud SIEM (log detection and signal correlation) - Workload Protection
843+
*
844+
* @param body (required)
845+
* @return ApiResponse&lt;File&gt;
846+
* @throws ApiException if fails to make API call
847+
* @http.response.details
848+
* <table border="1">
849+
* <caption>Response details</caption>
850+
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
851+
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
852+
* <tr><td> 400 </td><td> Bad Request </td><td> - </td></tr>
853+
* <tr><td> 403 </td><td> Not Authorized </td><td> - </td></tr>
854+
* <tr><td> 404 </td><td> Not Found </td><td> - </td></tr>
855+
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
856+
* </table>
857+
*/
858+
public ApiResponse<File> bulkConvertExistingSecurityMonitoringRulesWithHttpInfo(
859+
SecurityMonitoringRuleConvertBulkPayload body) throws ApiException {
860+
Object localVarPostBody = body;
861+
862+
// verify the required parameter 'body' is set
863+
if (body == null) {
864+
throw new ApiException(
865+
400,
866+
"Missing the required parameter 'body' when calling"
867+
+ " bulkConvertExistingSecurityMonitoringRules");
868+
}
869+
// create path and map variables
870+
String localVarPath = "/api/v2/security_monitoring/rules/convert/bulk";
871+
872+
Map<String, String> localVarHeaderParams = new HashMap<String, String>();
873+
874+
Invocation.Builder builder =
875+
apiClient.createBuilder(
876+
"v2.SecurityMonitoringApi.bulkConvertExistingSecurityMonitoringRules",
877+
localVarPath,
878+
new ArrayList<Pair>(),
879+
localVarHeaderParams,
880+
new HashMap<String, String>(),
881+
new String[] {"application/zip", "application/json"},
882+
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
883+
return apiClient.invokeAPI(
884+
"POST",
885+
builder,
886+
localVarHeaderParams,
887+
new String[] {"application/json"},
888+
localVarPostBody,
889+
new HashMap<String, Object>(),
890+
false,
891+
new GenericType<File>() {});
892+
}
893+
894+
/**
895+
* Bulk convert rules to Terraform.
896+
*
897+
* <p>See {@link #bulkConvertExistingSecurityMonitoringRulesWithHttpInfo}.
898+
*
899+
* @param body (required)
900+
* @return CompletableFuture&lt;ApiResponse&lt;File&gt;&gt;
901+
*/
902+
public CompletableFuture<ApiResponse<File>>
903+
bulkConvertExistingSecurityMonitoringRulesWithHttpInfoAsync(
904+
SecurityMonitoringRuleConvertBulkPayload body) {
905+
Object localVarPostBody = body;
906+
907+
// verify the required parameter 'body' is set
908+
if (body == null) {
909+
CompletableFuture<ApiResponse<File>> result = new CompletableFuture<>();
910+
result.completeExceptionally(
911+
new ApiException(
912+
400,
913+
"Missing the required parameter 'body' when calling"
914+
+ " bulkConvertExistingSecurityMonitoringRules"));
915+
return result;
916+
}
917+
// create path and map variables
918+
String localVarPath = "/api/v2/security_monitoring/rules/convert/bulk";
919+
920+
Map<String, String> localVarHeaderParams = new HashMap<String, String>();
921+
922+
Invocation.Builder builder;
923+
try {
924+
builder =
925+
apiClient.createBuilder(
926+
"v2.SecurityMonitoringApi.bulkConvertExistingSecurityMonitoringRules",
927+
localVarPath,
928+
new ArrayList<Pair>(),
929+
localVarHeaderParams,
930+
new HashMap<String, String>(),
931+
new String[] {"application/zip", "application/json"},
932+
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
933+
} catch (ApiException ex) {
934+
CompletableFuture<ApiResponse<File>> result = new CompletableFuture<>();
935+
result.completeExceptionally(ex);
936+
return result;
937+
}
938+
return apiClient.invokeAPIAsync(
939+
"POST",
940+
builder,
941+
localVarHeaderParams,
942+
new String[] {"application/json"},
943+
localVarPostBody,
944+
new HashMap<String, Object>(),
945+
false,
946+
new GenericType<File>() {});
947+
}
948+
806949
/**
807950
* Bulk subscribe to sample log generation.
808951
*

0 commit comments

Comments
 (0)