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": "2025-07-02 12:38:48.456088",
"spec_repo_commit": "4fd1c189"
"regenerated": "2025-07-02 16:34:48.280693",
"spec_repo_commit": "de2517ad"
},
"v2": {
"apigentools_version": "1.6.6",
"regenerated": "2025-07-02 12:38:48.476474",
"spec_repo_commit": "4fd1c189"
"regenerated": "2025-07-02 16:34:48.296503",
"spec_repo_commit": "de2517ad"
}
}
}
64 changes: 64 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,54 @@ components:
- type
- credentials
type: object
AWSIntegrationIamPermissionsResponse:
description: AWS Integration IAM Permissions response body.
properties:
data:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseData'
required:
- data
type: object
AWSIntegrationIamPermissionsResponseAttributes:
description: AWS Integration IAM Permissions response attributes.
properties:
permissions:
description: List of AWS IAM permissions required for the integration.
example:
- account:GetContactInformation
- amplify:ListApps
- amplify:ListArtifacts
- amplify:ListBackendEnvironments
- amplify:ListBranches
items:
example: account:GetContactInformation
type: string
type: array
required:
- permissions
type: object
AWSIntegrationIamPermissionsResponseData:
description: AWS Integration IAM Permissions response data.
properties:
attributes:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseAttributes'
id:
default: permissions
description: The `AWSIntegrationIamPermissionsResponseData` `id`.
example: permissions
type: string
type:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseDataType'
type: object
AWSIntegrationIamPermissionsResponseDataType:
default: permissions
description: The `AWSIntegrationIamPermissionsResponseData` `type`.
enum:
- permissions
example: permissions
type: string
x-enum-varnames:
- PERMISSIONS
AWSIntegrationType:
description: The definition of `AWSIntegrationType` object.
enum:
Expand Down Expand Up @@ -49519,6 +49567,22 @@ paths:
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,

contact [Datadog support](https://docs.datadoghq.com/help/).**'
/api/v2/integration/aws/iam_permissions:
get:
description: Get all AWS IAM permissions required for the AWS integration.
operationId: GetAWSIntegrationIAMPermissions
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
description: AWS IAM Permissions object
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Get AWS integration IAM permissions
tags:
- AWS Integration
/api/v2/integration/aws/logs/services:
get:
description: Get a list of AWS services that can send logs to Datadog.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Get AWS integration IAM permissions returns "AWS IAM Permissions object" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.AwsIntegrationApi;
import com.datadog.api.client.v2.model.AWSIntegrationIamPermissionsResponse;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);

try {
AWSIntegrationIamPermissionsResponse result = apiInstance.getAWSIntegrationIAMPermissions();
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling AwsIntegrationApi#getAWSIntegrationIAMPermissions");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
114 changes: 114 additions & 0 deletions src/main/java/com/datadog/api/client/v2/api/AwsIntegrationApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.datadog.api.client.v2.model.AWSAccountResponse;
import com.datadog.api.client.v2.model.AWSAccountUpdateRequest;
import com.datadog.api.client.v2.model.AWSAccountsResponse;
import com.datadog.api.client.v2.model.AWSIntegrationIamPermissionsResponse;
import com.datadog.api.client.v2.model.AWSNamespacesResponse;
import com.datadog.api.client.v2.model.AWSNewExternalIDResponse;
import jakarta.ws.rs.client.Invocation;
Expand Down Expand Up @@ -665,6 +666,119 @@ public CompletableFuture<ApiResponse<AWSAccountResponse>> getAWSAccountWithHttpI
new GenericType<AWSAccountResponse>() {});
}

/**
* Get AWS integration IAM permissions.
*
* <p>See {@link #getAWSIntegrationIAMPermissionsWithHttpInfo}.
*
* @return AWSIntegrationIamPermissionsResponse
* @throws ApiException if fails to make API call
*/
public AWSIntegrationIamPermissionsResponse getAWSIntegrationIAMPermissions()
throws ApiException {
return getAWSIntegrationIAMPermissionsWithHttpInfo().getData();
}

/**
* Get AWS integration IAM permissions.
*
* <p>See {@link #getAWSIntegrationIAMPermissionsWithHttpInfoAsync}.
*
* @return CompletableFuture&lt;AWSIntegrationIamPermissionsResponse&gt;
*/
public CompletableFuture<AWSIntegrationIamPermissionsResponse>
getAWSIntegrationIAMPermissionsAsync() {
return getAWSIntegrationIAMPermissionsWithHttpInfoAsync()
.thenApply(
response -> {
return response.getData();
});
}

/**
* Get all AWS IAM permissions required for the AWS integration.
*
* @return ApiResponse&lt;AWSIntegrationIamPermissionsResponse&gt;
* @throws ApiException if fails to make API call
* @http.response.details
* <table border="1">
* <caption>Response details</caption>
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> AWS IAM Permissions object </td><td> - </td></tr>
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
* </table>
*/
public ApiResponse<AWSIntegrationIamPermissionsResponse>
getAWSIntegrationIAMPermissionsWithHttpInfo() throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/integration/aws/iam_permissions";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder =
apiClient.createBuilder(
"v2.AwsIntegrationApi.getAWSIntegrationIAMPermissions",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth"});
return apiClient.invokeAPI(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<AWSIntegrationIamPermissionsResponse>() {});
}

/**
* Get AWS integration IAM permissions.
*
* <p>See {@link #getAWSIntegrationIAMPermissionsWithHttpInfo}.
*
* @return CompletableFuture&lt;ApiResponse&lt;AWSIntegrationIamPermissionsResponse&gt;&gt;
*/
public CompletableFuture<ApiResponse<AWSIntegrationIamPermissionsResponse>>
getAWSIntegrationIAMPermissionsWithHttpInfoAsync() {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/integration/aws/iam_permissions";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder;
try {
builder =
apiClient.createBuilder(
"v2.AwsIntegrationApi.getAWSIntegrationIAMPermissions",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth"});
} catch (ApiException ex) {
CompletableFuture<ApiResponse<AWSIntegrationIamPermissionsResponse>> result =
new CompletableFuture<>();
result.completeExceptionally(ex);
return result;
}
return apiClient.invokeAPIAsync(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<AWSIntegrationIamPermissionsResponse>() {});
}

/** Manage optional parameters to listAWSAccounts. */
public static class ListAWSAccountsOptionalParameters {
private String awsAccountId;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
/*
* 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.JsonCreator;
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;

/** AWS Integration IAM Permissions response body. */
@JsonPropertyOrder({AWSIntegrationIamPermissionsResponse.JSON_PROPERTY_DATA})
@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class AWSIntegrationIamPermissionsResponse {
@JsonIgnore public boolean unparsed = false;
public static final String JSON_PROPERTY_DATA = "data";
private AWSIntegrationIamPermissionsResponseData data;

public AWSIntegrationIamPermissionsResponse() {}

@JsonCreator
public AWSIntegrationIamPermissionsResponse(
@JsonProperty(required = true, value = JSON_PROPERTY_DATA)
AWSIntegrationIamPermissionsResponseData data) {
this.data = data;
this.unparsed |= data.unparsed;
}

public AWSIntegrationIamPermissionsResponse data(AWSIntegrationIamPermissionsResponseData data) {
this.data = data;
this.unparsed |= data.unparsed;
return this;
}

/**
* AWS Integration IAM Permissions response data.
*
* @return data
*/
@JsonProperty(JSON_PROPERTY_DATA)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public AWSIntegrationIamPermissionsResponseData getData() {
return data;
}

public void setData(AWSIntegrationIamPermissionsResponseData data) {
this.data = data;
}

/**
* 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 AWSIntegrationIamPermissionsResponse
*/
@JsonAnySetter
public AWSIntegrationIamPermissionsResponse 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 AWSIntegrationIamPermissionsResponse object is equal to o. */
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
AWSIntegrationIamPermissionsResponse awsIntegrationIamPermissionsResponse =
(AWSIntegrationIamPermissionsResponse) o;
return Objects.equals(this.data, awsIntegrationIamPermissionsResponse.data)
&& Objects.equals(
this.additionalProperties, awsIntegrationIamPermissionsResponse.additionalProperties);
}

@Override
public int hashCode() {
return Objects.hash(data, additionalProperties);
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AWSIntegrationIamPermissionsResponse {\n");
sb.append(" data: ").append(toIndentedString(data)).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