- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Datadog API를 통해 바로 Datadog-AWS 통합을 구성하세요. 자세한 정보는 AWS 통합 페이지를 참고하세요.
GET https://api.ap1.datadoghq.com/api/v1/integration/aws/filteringhttps://api.datadoghq.eu/api/v1/integration/aws/filteringhttps://api.ddog-gov.com/api/v1/integration/aws/filteringhttps://api.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us3.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us5.datadoghq.com/api/v1/integration/aws/filtering
Get all AWS tag filters.
This endpoint requires the aws_configuration_read
permission.
이름
유형
설명
account_id [required]
string
Only return AWS filters that matches this account_id
.
OK
An array of tag filter rules by namespace
and tag filter string.
항목
유형
설명
filters
[object]
An array of tag filters.
namespace
enum
The namespace associated with the tag filter entry.
Allowed enum values: elb,application_elb,sqs,rds,custom,network_elb,lambda,step_functions
tag_filter_str
string
The tag filter string.
{
"filters": [
{
"namespace": "string",
"tag_filter_str": "prod*"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export account_id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/filtering?account_id=${account_id}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get all AWS tag filters returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.list_aws_tag_filters(
account_id="account_id",
)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Get all AWS tag filters returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
p api_instance.list_aws_tag_filters("account_id")
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Get all AWS tag filters returns "OK" 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/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.ListAWSTagFilters(ctx, "account_id")
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.ListAWSTagFilters`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.ListAWSTagFilters`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Get all AWS tag filters returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSTagFilterListResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
try {
AWSTagFilterListResponse result = apiInstance.listAWSTagFilters("account_id");
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#listAWSTagFilters");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Get all AWS tag filters returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.list_aws_tag_filters("account_id".to_string()).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Get all AWS tag filters returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiListAWSTagFiltersRequest = {
accountId: "account_id",
};
apiInstance
.listAWSTagFilters(params)
.then((data: v1.AWSTagFilterListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
GET https://api.ap1.datadoghq.com/api/v2/integration/aws/available_namespaceshttps://api.datadoghq.eu/api/v2/integration/aws/available_namespaceshttps://api.ddog-gov.com/api/v2/integration/aws/available_namespaceshttps://api.datadoghq.com/api/v2/integration/aws/available_namespaceshttps://api.us3.datadoghq.com/api/v2/integration/aws/available_namespaceshttps://api.us5.datadoghq.com/api/v2/integration/aws/available_namespaces
Get a list of available AWS CloudWatch namespaces that can send metrics to Datadog.
This endpoint requires the aws_configuration_read
permission.
AWS Namespaces List object
AWS Namespaces response body.
항목
유형
설명
data [required]
object
AWS Namespaces response data.
attributes
object
AWS Namespaces response attributes.
namespaces [required]
[string]
AWS CloudWatch namespace.
id [required]
string
The AWSNamespacesResponseData
id
.
default: namespaces
type [required]
enum
The AWSNamespacesResponseData
type
.
Allowed enum values: namespaces
default: namespaces
{
"data": {
"attributes": {
"namespaces": [
"AWS/ApiGateway"
]
},
"id": "namespaces",
"type": "namespaces"
}
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/available_namespaces" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
POST https://api.ap1.datadoghq.com/api/v1/integration/aws/filteringhttps://api.datadoghq.eu/api/v1/integration/aws/filteringhttps://api.ddog-gov.com/api/v1/integration/aws/filteringhttps://api.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us3.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us5.datadoghq.com/api/v1/integration/aws/filtering
Set an AWS tag filter.
This endpoint requires the aws_configuration_edit
permission.
Set an AWS tag filter using an aws_account_identifier
, namespace
, and filtering string.
Namespace options are application_elb
, elb
, lambda
, network_elb
, rds
, sqs
, and custom
.
{
"account_id": "123456789012",
"namespace": "string",
"tag_filter_str": "prod*"
}
OK
{}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/filtering" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
"""
Set an AWS tag filter returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_namespace import AWSNamespace
from datadog_api_client.v1.model.aws_tag_filter_create_request import AWSTagFilterCreateRequest
body = AWSTagFilterCreateRequest(
account_id="123456789012",
namespace=AWSNamespace.ELB,
tag_filter_str="prod*",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.create_aws_tag_filter(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Set an AWS tag filter returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSTagFilterCreateRequest.new({
account_id: "123456789012",
namespace: DatadogAPIClient::V1::AWSNamespace::ELB,
tag_filter_str: "prod*",
})
p api_instance.create_aws_tag_filter(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Set an AWS tag filter returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSTagFilterCreateRequest{
AccountId: datadog.PtrString("123456789012"),
Namespace: datadogV1.AWSNAMESPACE_ELB.Ptr(),
TagFilterStr: datadog.PtrString("prod*"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.CreateAWSTagFilter(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.CreateAWSTagFilter`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.CreateAWSTagFilter`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Set an AWS tag filter returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSNamespace;
import com.datadog.api.client.v1.model.AWSTagFilterCreateRequest;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSTagFilterCreateRequest body =
new AWSTagFilterCreateRequest()
.accountId("123456789012")
.namespace(AWSNamespace.ELB)
.tagFilterStr("prod*");
try {
apiInstance.createAWSTagFilter(body);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#createAWSTagFilter");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Set an AWS tag filter returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSNamespace;
use datadog_api_client::datadogV1::model::AWSTagFilterCreateRequest;
#[tokio::main]
async fn main() {
let body = AWSTagFilterCreateRequest::new()
.account_id("123456789012".to_string())
.namespace(AWSNamespace::ELB)
.tag_filter_str("prod*".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.create_aws_tag_filter(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Set an AWS tag filter returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiCreateAWSTagFilterRequest = {
body: {
accountId: "123456789012",
namespace: "elb",
tagFilterStr: "prod*",
},
};
apiInstance
.createAWSTagFilter(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
DELETE https://api.ap1.datadoghq.com/api/v1/integration/aws/filteringhttps://api.datadoghq.eu/api/v1/integration/aws/filteringhttps://api.ddog-gov.com/api/v1/integration/aws/filteringhttps://api.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us3.datadoghq.com/api/v1/integration/aws/filteringhttps://api.us5.datadoghq.com/api/v1/integration/aws/filtering
Delete a tag filtering entry.
This endpoint requires the aws_configuration_edit
permission.
Delete a tag filtering entry for a given AWS account and dd-aws
namespace.
{
"account_id": "FAKEAC0FAKEAC2FAKEAC",
"namespace": "string"
}
OK
{}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/filtering" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
"""
Delete a tag filtering entry returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_namespace import AWSNamespace
from datadog_api_client.v1.model.aws_tag_filter_delete_request import AWSTagFilterDeleteRequest
body = AWSTagFilterDeleteRequest(
account_id="FAKEAC0FAKEAC2FAKEAC",
namespace=AWSNamespace.ELB,
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.delete_aws_tag_filter(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Delete a tag filtering entry returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSTagFilterDeleteRequest.new({
account_id: "FAKEAC0FAKEAC2FAKEAC",
namespace: DatadogAPIClient::V1::AWSNamespace::ELB,
})
p api_instance.delete_aws_tag_filter(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Delete a tag filtering entry returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSTagFilterDeleteRequest{
AccountId: datadog.PtrString("FAKEAC0FAKEAC2FAKEAC"),
Namespace: datadogV1.AWSNAMESPACE_ELB.Ptr(),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.DeleteAWSTagFilter(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.DeleteAWSTagFilter`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.DeleteAWSTagFilter`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Delete a tag filtering entry returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSNamespace;
import com.datadog.api.client.v1.model.AWSTagFilterDeleteRequest;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSTagFilterDeleteRequest body =
new AWSTagFilterDeleteRequest()
.accountId("FAKEAC0FAKEAC2FAKEAC")
.namespace(AWSNamespace.ELB);
try {
apiInstance.deleteAWSTagFilter(body);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#deleteAWSTagFilter");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Delete a tag filtering entry returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSNamespace;
use datadog_api_client::datadogV1::model::AWSTagFilterDeleteRequest;
#[tokio::main]
async fn main() {
let body = AWSTagFilterDeleteRequest::new()
.account_id("FAKEAC0FAKEAC2FAKEAC".to_string())
.namespace(AWSNamespace::ELB);
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.delete_aws_tag_filter(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Delete a tag filtering entry returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiDeleteAWSTagFilterRequest = {
body: {
accountId: "FAKEAC0FAKEAC2FAKEAC",
namespace: "elb",
},
};
apiInstance
.deleteAWSTagFilter(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
GET https://api.ap1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.eu/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us3.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}
Get an AWS Account Integration Config by config ID.
This endpoint requires the aws_configuration_read
permission.
이름
유형
설명
aws_account_config_id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
AWS Account object
AWS Account response body.
항목
유형
설명
data [required]
object
AWS Account response data.
attributes
object
AWS Account response attributes.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
created_at
date-time
Timestamp of when the account integration was created.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
modified_at
date-time
Timestamp of when the account integration was updated.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": {
"attributes": {
"account_tags": [
"env:prod"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"aws_regions": {
"include_all": true
},
"created_at": "2019-09-19T10:00:00.000Z",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": false,
"collect_custom_metrics": false,
"enabled": true,
"namespace_filters": {
"exclude_only": [
"AWS/SQS",
"AWS/ElasticMapReduce"
]
},
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"datadog:true"
]
}
]
},
"modified_at": "2019-09-19T10:00:00.000Z",
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": true
},
"traces_config": {
"xray_services": {
"include_all": false
}
}
},
"id": "00000000-abcd-0001-0000-000000000000",
"type": "account"
}
}
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Not Found
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export aws_account_config_id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/${aws_account_config_id}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
Note: For the "v2" version of this endpoint, which is in beta, see Generate a new external ID v2.
PUT https://api.ap1.datadoghq.com/api/v1/integration/aws/generate_new_external_idhttps://api.datadoghq.eu/api/v1/integration/aws/generate_new_external_idhttps://api.ddog-gov.com/api/v1/integration/aws/generate_new_external_idhttps://api.datadoghq.com/api/v1/integration/aws/generate_new_external_idhttps://api.us3.datadoghq.com/api/v1/integration/aws/generate_new_external_idhttps://api.us5.datadoghq.com/api/v1/integration/aws/generate_new_external_id
Generate a new AWS external ID for a given AWS account ID and role name pair.
This endpoint requires the aws_configuration_edit
permission.
Your Datadog role delegation name. For more information about your AWS account Role name, see the Datadog AWS integration configuration info.
항목
유형
설명
access_key_id
string
Your AWS access key ID. Only required if your AWS account is a GovCloud or China account.
account_id
string
Your AWS Account ID without dashes.
account_specific_namespace_rules
object
An object, (in the form {"namespace1":true/false, "namespace2":true/false}
),
that enables or disables metric collection for specific AWS namespaces for this
AWS account only.
<any-key>
boolean
A list of additional properties.
cspm_resource_collection_enabled
boolean
Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection
.
extended_resource_collection_enabled
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for cspm_resource_collection
.
filter_tags
[string]
The array of EC2 tags (in the form key:value
) defines a filter that Datadog uses when collecting metrics from EC2.
Wildcards, such as ?
(for single characters) and *
(for multiple characters) can also be used.
Only hosts that match one of the defined tags
will be imported into Datadog. The rest will be ignored.
Host matching a given tag can also be excluded by adding !
before the tag.
For example, env:production,instance-type:c1.*,!region:us-east-1
host_tags
[string]
Array of tags (in the form key:value
) to add to all hosts
and metrics reporting through this integration.
metrics_collection_enabled
boolean
Whether Datadog collects metrics for this AWS account.
default: true
resource_collection_enabled
boolean
DEPRECATED: Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account.
role_name
string
Your Datadog role delegation name.
secret_access_key
string
Your AWS secret access key. Only required if your AWS account is a GovCloud or China account.
{
"access_key_id": "string",
"account_id": "123456789012",
"account_specific_namespace_rules": {
"<any-key>": false
},
"cspm_resource_collection_enabled": true,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": false,
"resource_collection_enabled": true,
"role_name": "DatadogAWSIntegrationRole",
"secret_access_key": "string"
}
OK
The Response returned by the AWS Create Account call.
{
"external_id": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X PUT "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/generate_new_external_id" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
"""
Generate a new external ID returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_account import AWSAccount
body = AWSAccount(
account_id="123456789012",
account_specific_namespace_rules=dict(
auto_scaling=False,
opswork=False,
),
cspm_resource_collection_enabled=True,
excluded_regions=[
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled=True,
filter_tags=[
"$KEY:$VALUE",
],
host_tags=[
"$KEY:$VALUE",
],
metrics_collection_enabled=False,
resource_collection_enabled=True,
role_name="DatadogAWSIntegrationRole",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.create_new_aws_external_id(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Generate a new external ID returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSAccount.new({
account_id: "123456789012",
account_specific_namespace_rules: {
auto_scaling: false, opswork: false,
},
cspm_resource_collection_enabled: true,
excluded_regions: [
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled: true,
filter_tags: [
"$KEY:$VALUE",
],
host_tags: [
"$KEY:$VALUE",
],
metrics_collection_enabled: false,
resource_collection_enabled: true,
role_name: "DatadogAWSIntegrationRole",
})
p api_instance.create_new_aws_external_id(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Generate a new external ID returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSAccount{
AccountId: datadog.PtrString("123456789012"),
AccountSpecificNamespaceRules: map[string]bool{
"auto_scaling": false,
"opswork": false,
},
CspmResourceCollectionEnabled: datadog.PtrBool(true),
ExcludedRegions: []string{
"us-east-1",
"us-west-2",
},
ExtendedResourceCollectionEnabled: datadog.PtrBool(true),
FilterTags: []string{
"$KEY:$VALUE",
},
HostTags: []string{
"$KEY:$VALUE",
},
MetricsCollectionEnabled: datadog.PtrBool(false),
ResourceCollectionEnabled: datadog.PtrBool(true),
RoleName: datadog.PtrString("DatadogAWSIntegrationRole"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.CreateNewAWSExternalID(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.CreateNewAWSExternalID`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.CreateNewAWSExternalID`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Generate a new external ID returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSAccount;
import com.datadog.api.client.v1.model.AWSAccountCreateResponse;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSAccount body =
new AWSAccount()
.accountId("123456789012")
.accountSpecificNamespaceRules(
Map.ofEntries(Map.entry("auto_scaling", false), Map.entry("opswork", false)))
.cspmResourceCollectionEnabled(true)
.excludedRegions(Arrays.asList("us-east-1", "us-west-2"))
.extendedResourceCollectionEnabled(true)
.filterTags(Collections.singletonList("$KEY:$VALUE"))
.hostTags(Collections.singletonList("$KEY:$VALUE"))
.metricsCollectionEnabled(false)
.resourceCollectionEnabled(true)
.roleName("DatadogAWSIntegrationRole");
try {
AWSAccountCreateResponse result = apiInstance.createNewAWSExternalID(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#createNewAWSExternalID");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Generate a new external ID returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSAccount;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = AWSAccount::new()
.account_id("123456789012".to_string())
.account_specific_namespace_rules(BTreeMap::from([
("auto_scaling".to_string(), false),
("opswork".to_string(), false),
]))
.cspm_resource_collection_enabled(true)
.excluded_regions(vec!["us-east-1".to_string(), "us-west-2".to_string()])
.extended_resource_collection_enabled(true)
.filter_tags(vec!["$KEY:$VALUE".to_string()])
.host_tags(vec!["$KEY:$VALUE".to_string()])
.metrics_collection_enabled(false)
.resource_collection_enabled(true)
.role_name("DatadogAWSIntegrationRole".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.create_new_aws_external_id(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Generate a new external ID returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiCreateNewAWSExternalIDRequest = {
body: {
accountId: "123456789012",
accountSpecificNamespaceRules: {
auto_scaling: false,
opswork: false,
},
cspmResourceCollectionEnabled: true,
excludedRegions: ["us-east-1", "us-west-2"],
extendedResourceCollectionEnabled: true,
filterTags: ["$KEY:$VALUE"],
hostTags: ["$KEY:$VALUE"],
metricsCollectionEnabled: false,
resourceCollectionEnabled: true,
roleName: "DatadogAWSIntegrationRole",
},
};
apiInstance
.createNewAWSExternalID(params)
.then((data: v1.AWSAccountCreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
POST https://api.ap1.datadoghq.com/api/v2/integration/aws/generate_new_external_idhttps://api.datadoghq.eu/api/v2/integration/aws/generate_new_external_idhttps://api.ddog-gov.com/api/v2/integration/aws/generate_new_external_idhttps://api.datadoghq.com/api/v2/integration/aws/generate_new_external_idhttps://api.us3.datadoghq.com/api/v2/integration/aws/generate_new_external_idhttps://api.us5.datadoghq.com/api/v2/integration/aws/generate_new_external_id
Generate a new external ID for AWS role-based authentication.
This endpoint requires the aws_configuration_edit
permission.
AWS External ID object
AWS External ID response body.
항목
유형
설명
data [required]
object
AWS External ID response body.
attributes
object
AWS External ID response body.
external_id [required]
string
AWS IAM External ID for associated role.
id [required]
string
The AWSNewExternalIDResponseData
id
.
default: external_id
type [required]
enum
The AWSNewExternalIDResponseData
type
.
Allowed enum values: external_id
default: external_id
{
"data": {
"attributes": {
"external_id": "acb8f6b8a844443dbb726d07dcb1a870"
},
"id": "external_id",
"type": "external_id"
}
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/generate_new_external_id" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
GET https://api.ap1.datadoghq.com/api/v1/integration/aws/available_namespace_ruleshttps://api.datadoghq.eu/api/v1/integration/aws/available_namespace_ruleshttps://api.ddog-gov.com/api/v1/integration/aws/available_namespace_ruleshttps://api.datadoghq.com/api/v1/integration/aws/available_namespace_ruleshttps://api.us3.datadoghq.com/api/v1/integration/aws/available_namespace_ruleshttps://api.us5.datadoghq.com/api/v1/integration/aws/available_namespace_rules
List all namespace rules for a given Datadog-AWS integration. This endpoint takes no arguments.
This endpoint requires the aws_configuration_read
permission.
OK
[
"namespace1",
"namespace2",
"namespace3"
]
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/available_namespace_rules" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
List namespace rules returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.list_available_aws_namespaces()
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# List namespace rules returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
p api_instance.list_available_aws_namespaces()
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
dog.aws_integration_list_namespaces
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// List namespace rules returns "OK" 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/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.ListAvailableAWSNamespaces(ctx)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.ListAvailableAWSNamespaces`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.ListAvailableAWSNamespaces`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// List namespace rules returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
try {
List<String> result = apiInstance.listAvailableAWSNamespaces();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#listAvailableAWSNamespaces");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
api.AwsIntegration.list_namespace_rules()
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python "example.py"
// List namespace rules returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.list_available_aws_namespaces().await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* List namespace rules returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
apiInstance
.listAvailableAWSNamespaces()
.then((data: string[]) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: For the "v2" version of this endpoint, which is in beta, see List all AWS integrations v2.
GET https://api.ap1.datadoghq.com/api/v1/integration/awshttps://api.datadoghq.eu/api/v1/integration/awshttps://api.ddog-gov.com/api/v1/integration/awshttps://api.datadoghq.com/api/v1/integration/awshttps://api.us3.datadoghq.com/api/v1/integration/awshttps://api.us5.datadoghq.com/api/v1/integration/aws
List all Datadog-AWS integrations available in your Datadog organization.
This endpoint requires the aws_configuration_read
permission.
이름
유형
설명
account_id
string
Only return AWS accounts that matches this account_id
.
role_name
string
Only return AWS accounts that matches this role_name.
access_key_id
string
Only return AWS accounts that matches this access_key_id
.
OK
List of enabled AWS accounts.
항목
유형
설명
accounts
[object]
List of enabled AWS accounts.
access_key_id
string
Your AWS access key ID. Only required if your AWS account is a GovCloud or China account.
account_id
string
Your AWS Account ID without dashes.
account_specific_namespace_rules
object
An object, (in the form {"namespace1":true/false, "namespace2":true/false}
),
that enables or disables metric collection for specific AWS namespaces for this
AWS account only.
<any-key>
boolean
A list of additional properties.
cspm_resource_collection_enabled
boolean
Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection
.
extended_resource_collection_enabled
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for cspm_resource_collection
.
filter_tags
[string]
The array of EC2 tags (in the form key:value
) defines a filter that Datadog uses when collecting metrics from EC2.
Wildcards, such as ?
(for single characters) and *
(for multiple characters) can also be used.
Only hosts that match one of the defined tags
will be imported into Datadog. The rest will be ignored.
Host matching a given tag can also be excluded by adding !
before the tag.
For example, env:production,instance-type:c1.*,!region:us-east-1
host_tags
[string]
Array of tags (in the form key:value
) to add to all hosts
and metrics reporting through this integration.
metrics_collection_enabled
boolean
Whether Datadog collects metrics for this AWS account.
default: true
resource_collection_enabled
boolean
DEPRECATED: Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account.
role_name
string
Your Datadog role delegation name.
secret_access_key
string
Your AWS secret access key. Only required if your AWS account is a GovCloud or China account.
{
"accounts": [
{
"access_key_id": "string",
"account_id": "123456789012",
"account_specific_namespace_rules": {
"<any-key>": false
},
"cspm_resource_collection_enabled": true,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": false,
"resource_collection_enabled": true,
"role_name": "DatadogAWSIntegrationRole",
"secret_access_key": "string"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
List all AWS integrations returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.list_aws_accounts()
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# List all AWS integrations returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
p api_instance.list_aws_accounts()
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
dog.aws_integration_list
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// List all AWS integrations returns "OK" 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/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.ListAWSAccounts(ctx, *datadogV1.NewListAWSAccountsOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.ListAWSAccounts`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.ListAWSAccounts`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// List all AWS integrations returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSAccountListResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
try {
AWSAccountListResponse result = apiInstance.listAWSAccounts();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#listAWSAccounts");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
api.AwsIntegration.list()
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python "example.py"
// List all AWS integrations returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::api_aws_integration::ListAWSAccountsOptionalParams;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api
.list_aws_accounts(ListAWSAccountsOptionalParams::default())
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* List all AWS integrations returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
apiInstance
.listAWSAccounts()
.then((data: v1.AWSAccountListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
GET https://api.ap1.datadoghq.com/api/v2/integration/aws/accountshttps://api.datadoghq.eu/api/v2/integration/aws/accountshttps://api.ddog-gov.com/api/v2/integration/aws/accountshttps://api.datadoghq.com/api/v2/integration/aws/accountshttps://api.us3.datadoghq.com/api/v2/integration/aws/accountshttps://api.us5.datadoghq.com/api/v2/integration/aws/accounts
Get a list of AWS Account Integration Configs.
This endpoint requires the aws_configuration_read
permission.
이름
유형
설명
aws_account_id
string
Optional query parameter to filter accounts by AWS Account ID. If not provided, all accounts are returned.
AWS Accounts List object
AWS Accounts response body.
항목
유형
설명
data [required]
[object]
List of AWS Account Integration Configs.
attributes
object
AWS Account response attributes.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
created_at
date-time
Timestamp of when the account integration was created.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
modified_at
date-time
Timestamp of when the account integration was updated.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": [
{
"attributes": {
"account_tags": [
"env:prod"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"aws_regions": {
"include_all": true
},
"created_at": "2019-09-19T10:00:00.000Z",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": false,
"collect_custom_metrics": false,
"enabled": true,
"namespace_filters": {
"exclude_only": [
"AWS/SQS",
"AWS/ElasticMapReduce"
]
},
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"datadog:true"
]
}
]
},
"modified_at": "2019-09-19T10:00:00.000Z",
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": true
},
"traces_config": {
"xray_services": {
"include_all": false
}
}
},
"id": "00000000-abcd-0001-0000-000000000000",
"type": "account"
}
]
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
Note: For the "v2" version of this endpoint, which is in beta, see Delete an AWS integration v2.
DELETE https://api.ap1.datadoghq.com/api/v1/integration/awshttps://api.datadoghq.eu/api/v1/integration/awshttps://api.ddog-gov.com/api/v1/integration/awshttps://api.datadoghq.com/api/v1/integration/awshttps://api.us3.datadoghq.com/api/v1/integration/awshttps://api.us5.datadoghq.com/api/v1/integration/aws
Delete a Datadog-AWS integration matching the specified account_id
and role_name parameters
.
This endpoint requires the aws_configurations_manage
permission.
AWS request object
{
"account_id": "163662907100",
"role_name": "DatadogAWSIntegrationRole"
}
OK
{}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Conflict Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"account_id": "163662907100",
"role_name": "DatadogAWSIntegrationRole"
}
EOF
// Delete an AWS integration returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSAccountDeleteRequest{
AccountId: datadog.PtrString("163662907100"),
RoleName: datadog.PtrString("DatadogAWSIntegrationRole"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.DeleteAWSAccount(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.DeleteAWSAccount`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.DeleteAWSAccount`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Delete an AWS integration returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSAccountDeleteRequest;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSAccountDeleteRequest body =
new AWSAccountDeleteRequest()
.accountId("163662907100")
.roleName("DatadogAWSIntegrationRole");
try {
apiInstance.deleteAWSAccount(body);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#deleteAWSAccount");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
account_id = "<AWS_ACCOUNT_ID>"
role_name = "<AWS_ROLE_NAME>"
api.AwsIntegration.delete(account_id=account_id, role_name=role_name)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python "example.py"
"""
Delete an AWS integration returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_account_delete_request import AWSAccountDeleteRequest
body = AWSAccountDeleteRequest(
account_id="163662907100",
role_name="DatadogAWSIntegrationRole",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.delete_aws_account(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
config = {
"account_id": '<AWS_ACCOUNT_ID>',
"role_name": 'DatadogAWSIntegrationRole'
}
dog = Dogapi::Client.new(api_key, app_key)
dog.aws_integration_delete(config)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
# Delete an AWS integration returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSAccountDeleteRequest.new({
account_id: "163662907100",
role_name: "DatadogAWSIntegrationRole",
})
p api_instance.delete_aws_account(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Delete an AWS integration returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSAccountDeleteRequest;
#[tokio::main]
async fn main() {
let body = AWSAccountDeleteRequest::new()
.account_id("163662907100".to_string())
.role_name("DatadogAWSIntegrationRole".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.delete_aws_account(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Delete an AWS integration returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiDeleteAWSAccountRequest = {
body: {
accountId: "163662907100",
roleName: "DatadogAWSIntegrationRole",
},
};
apiInstance
.deleteAWSAccount(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
DELETE https://api.ap1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.eu/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us3.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}
Delete an AWS Account Integration Config by config ID.
This endpoint requires the aws_configurations_manage
permission.
이름
유형
설명
aws_account_config_id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
No Content
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Not Found
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export aws_account_config_id="CHANGE_ME"
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/${aws_account_config_id}" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
Note: For the "v2" version of this endpoint, which is in beta, see Create an AWS integration v2.
POST https://api.ap1.datadoghq.com/api/v1/integration/awshttps://api.datadoghq.eu/api/v1/integration/awshttps://api.ddog-gov.com/api/v1/integration/awshttps://api.datadoghq.com/api/v1/integration/awshttps://api.us3.datadoghq.com/api/v1/integration/awshttps://api.us5.datadoghq.com/api/v1/integration/aws
Create a Datadog-Amazon Web Services integration.
Using the POST
method updates your integration configuration
by adding your new configuration to the existing one in your Datadog organization.
A unique AWS Account ID for role based authentication.
This endpoint requires the aws_configurations_manage
permission.
AWS Request Object
항목
유형
설명
access_key_id
string
Your AWS access key ID. Only required if your AWS account is a GovCloud or China account.
account_id
string
Your AWS Account ID without dashes.
account_specific_namespace_rules
object
An object, (in the form {"namespace1":true/false, "namespace2":true/false}
),
that enables or disables metric collection for specific AWS namespaces for this
AWS account only.
<any-key>
boolean
A list of additional properties.
cspm_resource_collection_enabled
boolean
Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection
.
extended_resource_collection_enabled
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for cspm_resource_collection
.
filter_tags
[string]
The array of EC2 tags (in the form key:value
) defines a filter that Datadog uses when collecting metrics from EC2.
Wildcards, such as ?
(for single characters) and *
(for multiple characters) can also be used.
Only hosts that match one of the defined tags
will be imported into Datadog. The rest will be ignored.
Host matching a given tag can also be excluded by adding !
before the tag.
For example, env:production,instance-type:c1.*,!region:us-east-1
host_tags
[string]
Array of tags (in the form key:value
) to add to all hosts
and metrics reporting through this integration.
metrics_collection_enabled
boolean
Whether Datadog collects metrics for this AWS account.
default: true
resource_collection_enabled
boolean
DEPRECATED: Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account.
role_name
string
Your Datadog role delegation name.
secret_access_key
string
Your AWS secret access key. Only required if your AWS account is a GovCloud or China account.
{
"account_id": "163662907100",
"account_specific_namespace_rules": {
"auto_scaling": false
},
"cspm_resource_collection_enabled": true,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": false,
"role_name": "DatadogAWSIntegrationRole"
}
OK
The Response returned by the AWS Create Account call.
{
"external_id": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Conflict Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"account_id": "163662907100",
"account_specific_namespace_rules": {
"auto_scaling": false
},
"cspm_resource_collection_enabled": true,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": false,
"role_name": "DatadogAWSIntegrationRole"
}
EOF
// Create an AWS integration returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSAccount{
AccountId: datadog.PtrString("163662907100"),
AccountSpecificNamespaceRules: map[string]bool{
"auto_scaling": false,
},
CspmResourceCollectionEnabled: datadog.PtrBool(true),
ExcludedRegions: []string{
"us-east-1",
"us-west-2",
},
ExtendedResourceCollectionEnabled: datadog.PtrBool(true),
FilterTags: []string{
"$KEY:$VALUE",
},
HostTags: []string{
"$KEY:$VALUE",
},
MetricsCollectionEnabled: datadog.PtrBool(false),
RoleName: datadog.PtrString("DatadogAWSIntegrationRole"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.CreateAWSAccount(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.CreateAWSAccount`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.CreateAWSAccount`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Create an AWS integration returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSAccount;
import com.datadog.api.client.v1.model.AWSAccountCreateResponse;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSAccount body =
new AWSAccount()
.accountId("163662907100")
.accountSpecificNamespaceRules(Map.ofEntries(Map.entry("auto_scaling", false)))
.cspmResourceCollectionEnabled(true)
.excludedRegions(Arrays.asList("us-east-1", "us-west-2"))
.extendedResourceCollectionEnabled(true)
.filterTags(Collections.singletonList("$KEY:$VALUE"))
.hostTags(Collections.singletonList("$KEY:$VALUE"))
.metricsCollectionEnabled(false)
.roleName("DatadogAWSIntegrationRole");
try {
AWSAccountCreateResponse result = apiInstance.createAWSAccount(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#createAWSAccount");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
api.AwsIntegration.create(
account_id="<AWS_ACCOUNT_ID>",
host_tags=["tag:example"],
filter_tags=["filter:example"],
role_name="<AWS_ROLE_NAME>",
account_specific_namespace_rules={'namespace1': True/False, 'namespace2': True/False},
excluded_regions=["us-east-1", "us-west-1"]
)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python "example.py"
"""
Create an AWS integration returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_account import AWSAccount
body = AWSAccount(
account_id="163662907100",
account_specific_namespace_rules=dict(
auto_scaling=False,
),
cspm_resource_collection_enabled=True,
excluded_regions=[
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled=True,
filter_tags=[
"$KEY:$VALUE",
],
host_tags=[
"$KEY:$VALUE",
],
metrics_collection_enabled=False,
role_name="DatadogAWSIntegrationRole",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.create_aws_account(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
config = {
"account_id": "<AWS_ACCOUNT_ID>",
"filter_tags": ["<KEY>:<VALUE>"],
"host_tags": ["<KEY>:<VALUE>"],
"role_name": "DatadogAWSIntegrationRole",
"account_specific_namespace_rules": {"auto_scaling": false, "opsworks": false},
"excluded_regions": ["us-east-1", "us-west-1"]
}
dog.aws_integration_create(config)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
# Create an AWS integration returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSAccount.new({
account_id: "163662907100",
account_specific_namespace_rules: {
auto_scaling: false,
},
cspm_resource_collection_enabled: true,
excluded_regions: [
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled: true,
filter_tags: [
"$KEY:$VALUE",
],
host_tags: [
"$KEY:$VALUE",
],
metrics_collection_enabled: false,
role_name: "DatadogAWSIntegrationRole",
})
p api_instance.create_aws_account(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Create an AWS integration returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSAccount;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = AWSAccount::new()
.account_id("163662907100".to_string())
.account_specific_namespace_rules(BTreeMap::from([("auto_scaling".to_string(), false)]))
.cspm_resource_collection_enabled(true)
.excluded_regions(vec!["us-east-1".to_string(), "us-west-2".to_string()])
.extended_resource_collection_enabled(true)
.filter_tags(vec!["$KEY:$VALUE".to_string()])
.host_tags(vec!["$KEY:$VALUE".to_string()])
.metrics_collection_enabled(false)
.role_name("DatadogAWSIntegrationRole".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.create_aws_account(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Create an AWS integration returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiCreateAWSAccountRequest = {
body: {
accountId: "163662907100",
accountSpecificNamespaceRules: {
auto_scaling: false,
},
cspmResourceCollectionEnabled: true,
excludedRegions: ["us-east-1", "us-west-2"],
extendedResourceCollectionEnabled: true,
filterTags: ["$KEY:$VALUE"],
hostTags: ["$KEY:$VALUE"],
metricsCollectionEnabled: false,
roleName: "DatadogAWSIntegrationRole",
},
};
apiInstance
.createAWSAccount(params)
.then((data: v1.AWSAccountCreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
POST https://api.ap1.datadoghq.com/api/v2/integration/aws/accountshttps://api.datadoghq.eu/api/v2/integration/aws/accountshttps://api.ddog-gov.com/api/v2/integration/aws/accountshttps://api.datadoghq.com/api/v2/integration/aws/accountshttps://api.us3.datadoghq.com/api/v2/integration/aws/accountshttps://api.us5.datadoghq.com/api/v2/integration/aws/accounts
Create a new AWS Account Integration Config.
This endpoint requires the aws_configurations_manage
permission.
항목
유형
설명
data [required]
object
AWS Account Create Request data.
attributes [required]
object
The AWS Account Integration Config to be created.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config [required]
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition [required]
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"role_name": "DatadogIntegrationRole"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
AWS Account object
AWS Account response body.
항목
유형
설명
data [required]
object
AWS Account response data.
attributes
object
AWS Account response attributes.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
created_at
date-time
Timestamp of when the account integration was created.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
modified_at
date-time
Timestamp of when the account integration was updated.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": {
"attributes": {
"account_tags": [
"env:prod"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"aws_regions": {
"include_all": true
},
"created_at": "2019-09-19T10:00:00.000Z",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": false,
"collect_custom_metrics": false,
"enabled": true,
"namespace_filters": {
"exclude_only": [
"AWS/SQS",
"AWS/ElasticMapReduce"
]
},
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"datadog:true"
]
}
]
},
"modified_at": "2019-09-19T10:00:00.000Z",
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": true
},
"traces_config": {
"xray_services": {
"include_all": false
}
}
},
"id": "00000000-abcd-0001-0000-000000000000",
"type": "account"
}
}
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Conflict
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"role_name": "DatadogIntegrationRole"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
EOF
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
EOF
Note: For the "v2" version of this endpoint, which is in beta, see Update an AWS integration v2.
PUT https://api.ap1.datadoghq.com/api/v1/integration/awshttps://api.datadoghq.eu/api/v1/integration/awshttps://api.ddog-gov.com/api/v1/integration/awshttps://api.datadoghq.com/api/v1/integration/awshttps://api.us3.datadoghq.com/api/v1/integration/awshttps://api.us5.datadoghq.com/api/v1/integration/aws
Update a Datadog-Amazon Web Services integration.
This endpoint requires the aws_configuration_edit
permission.
이름
유형
설명
account_id
string
Only return AWS accounts that matches this account_id
.
role_name
string
Only return AWS accounts that match this role_name
.
Required if account_id
is specified.
access_key_id
string
Only return AWS accounts that matches this access_key_id
.
Required if none of the other two options are specified.
AWS request object
항목
유형
설명
access_key_id
string
Your AWS access key ID. Only required if your AWS account is a GovCloud or China account.
account_id
string
Your AWS Account ID without dashes.
account_specific_namespace_rules
object
An object, (in the form {"namespace1":true/false, "namespace2":true/false}
),
that enables or disables metric collection for specific AWS namespaces for this
AWS account only.
<any-key>
boolean
A list of additional properties.
cspm_resource_collection_enabled
boolean
Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general resource_collection
.
extended_resource_collection_enabled
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for cspm_resource_collection
.
filter_tags
[string]
The array of EC2 tags (in the form key:value
) defines a filter that Datadog uses when collecting metrics from EC2.
Wildcards, such as ?
(for single characters) and *
(for multiple characters) can also be used.
Only hosts that match one of the defined tags
will be imported into Datadog. The rest will be ignored.
Host matching a given tag can also be excluded by adding !
before the tag.
For example, env:production,instance-type:c1.*,!region:us-east-1
host_tags
[string]
Array of tags (in the form key:value
) to add to all hosts
and metrics reporting through this integration.
metrics_collection_enabled
boolean
Whether Datadog collects metrics for this AWS account.
default: true
resource_collection_enabled
boolean
DEPRECATED: Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account.
role_name
string
Your Datadog role delegation name.
secret_access_key
string
Your AWS secret access key. Only required if your AWS account is a GovCloud or China account.
{
"account_id": "163662907100",
"account_specific_namespace_rules": {
"auto_scaling": false
},
"cspm_resource_collection_enabled": false,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": true,
"role_name": "DatadogAWSIntegrationRole"
}
OK
{}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Conflict Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X PUT "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"account_id": "163662907100",
"account_specific_namespace_rules": {
"auto_scaling": false
},
"cspm_resource_collection_enabled": false,
"excluded_regions": [
"us-east-1",
"us-west-2"
],
"extended_resource_collection_enabled": true,
"filter_tags": [
"$KEY:$VALUE"
],
"host_tags": [
"$KEY:$VALUE"
],
"metrics_collection_enabled": true,
"role_name": "DatadogAWSIntegrationRole"
}
EOF
// Update an AWS integration returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSAccount{
AccountId: datadog.PtrString("163662907100"),
AccountSpecificNamespaceRules: map[string]bool{
"auto_scaling": false,
},
CspmResourceCollectionEnabled: datadog.PtrBool(false),
ExcludedRegions: []string{
"us-east-1",
"us-west-2",
},
ExtendedResourceCollectionEnabled: datadog.PtrBool(true),
FilterTags: []string{
"$KEY:$VALUE",
},
HostTags: []string{
"$KEY:$VALUE",
},
MetricsCollectionEnabled: datadog.PtrBool(true),
RoleName: datadog.PtrString("DatadogAWSIntegrationRole"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.UpdateAWSAccount(ctx, body, *datadogV1.NewUpdateAWSAccountOptionalParameters().WithAccountId("163662907100").WithRoleName("DatadogAWSIntegrationRole"))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.UpdateAWSAccount`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.UpdateAWSAccount`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Update an AWS integration returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.api.AwsIntegrationApi.UpdateAWSAccountOptionalParameters;
import com.datadog.api.client.v1.model.AWSAccount;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSAccount body =
new AWSAccount()
.accountId("163662907100")
.accountSpecificNamespaceRules(Map.ofEntries(Map.entry("auto_scaling", false)))
.cspmResourceCollectionEnabled(false)
.excludedRegions(Arrays.asList("us-east-1", "us-west-2"))
.extendedResourceCollectionEnabled(true)
.filterTags(Collections.singletonList("$KEY:$VALUE"))
.hostTags(Collections.singletonList("$KEY:$VALUE"))
.metricsCollectionEnabled(true)
.roleName("DatadogAWSIntegrationRole");
try {
apiInstance.updateAWSAccount(
body,
new UpdateAWSAccountOptionalParameters()
.accountId("163662907100")
.roleName("DatadogAWSIntegrationRole"));
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#updateAWSAccount");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
"""
Update an AWS integration returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_account import AWSAccount
body = AWSAccount(
account_id="163662907100",
account_specific_namespace_rules=dict(
auto_scaling=False,
),
cspm_resource_collection_enabled=False,
excluded_regions=[
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled=True,
filter_tags=[
"$KEY:$VALUE",
],
host_tags=[
"$KEY:$VALUE",
],
metrics_collection_enabled=True,
role_name="DatadogAWSIntegrationRole",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.update_aws_account(
account_id="163662907100", role_name="DatadogAWSIntegrationRole", body=body
)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Update an AWS integration returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSAccount.new({
account_id: "163662907100",
account_specific_namespace_rules: {
auto_scaling: false,
},
cspm_resource_collection_enabled: false,
excluded_regions: [
"us-east-1",
"us-west-2",
],
extended_resource_collection_enabled: true,
filter_tags: [
"$KEY:$VALUE",
],
host_tags: [
"$KEY:$VALUE",
],
metrics_collection_enabled: true,
role_name: "DatadogAWSIntegrationRole",
})
opts = {
account_id: "163662907100",
role_name: "DatadogAWSIntegrationRole",
}
p api_instance.update_aws_account(body, opts)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Update an AWS integration returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::api_aws_integration::UpdateAWSAccountOptionalParams;
use datadog_api_client::datadogV1::model::AWSAccount;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = AWSAccount::new()
.account_id("163662907100".to_string())
.account_specific_namespace_rules(BTreeMap::from([("auto_scaling".to_string(), false)]))
.cspm_resource_collection_enabled(false)
.excluded_regions(vec!["us-east-1".to_string(), "us-west-2".to_string()])
.extended_resource_collection_enabled(true)
.filter_tags(vec!["$KEY:$VALUE".to_string()])
.host_tags(vec!["$KEY:$VALUE".to_string()])
.metrics_collection_enabled(true)
.role_name("DatadogAWSIntegrationRole".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api
.update_aws_account(
body,
UpdateAWSAccountOptionalParams::default()
.account_id("163662907100".to_string())
.role_name("DatadogAWSIntegrationRole".to_string()),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Update an AWS integration returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiUpdateAWSAccountRequest = {
body: {
accountId: "163662907100",
accountSpecificNamespaceRules: {
auto_scaling: false,
},
cspmResourceCollectionEnabled: false,
excludedRegions: ["us-east-1", "us-west-2"],
extendedResourceCollectionEnabled: true,
filterTags: ["$KEY:$VALUE"],
hostTags: ["$KEY:$VALUE"],
metricsCollectionEnabled: true,
roleName: "DatadogAWSIntegrationRole",
},
accountId: "163662907100",
roleName: "DatadogAWSIntegrationRole",
};
apiInstance
.updateAWSAccount(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.
PATCH https://api.ap1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.eu/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us3.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}
Update an AWS Account Integration Config by config ID.
This endpoint requires the aws_configuration_edit
permission.
이름
유형
설명
aws_account_config_id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
항목
유형
설명
data [required]
object
AWS Account Update Request data.
attributes [required]
object
The AWS Account Integration Config to be updated.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
id
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"role_name": "DatadogIntegrationRole"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
AWS Account object
AWS Account response body.
항목
유형
설명
data [required]
object
AWS Account response data.
attributes
object
AWS Account response attributes.
account_tags
[string]
Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config
<oneOf>
AWS Authentication config.
Option 1
object
AWS Authentication config to integrate your account using an access key pair.
access_key_id [required]
string
AWS Access Key ID.
secret_access_key
string
AWS Secret Access Key.
Option 2
object
AWS Authentication config to integrate your account using an IAM role.
external_id
string
AWS IAM External ID for associated role.
role_name [required]
string
AWS IAM Role name.
aws_account_id [required]
string
AWS Account ID.
aws_partition
enum
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
Allowed enum values: aws,aws-cn,aws-us-gov
aws_regions
<oneOf>
AWS Regions to collect data from. Defaults to include_all
.
Option 1
Include all regions. Defaults to true
.
include_all [required]
boolean
Include all regions.
Option 2
Include only these regions.
include_only [required]
[string]
Include only these regions.
created_at
date-time
Timestamp of when the account integration was created.
logs_config
object
AWS Logs Collection config.
lambda_forwarder
object
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.
lambdas
[string]
List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to []
.
sources
[string]
List of service IDs set to enable automatic log collection. Discover the list of available services with the Get list of AWS log ready services endpoint.
metrics_config
object
AWS Metrics Collection config.
automute_enabled
boolean
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms
boolean
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics
boolean
Enable custom metrics collection. Defaults to false
.
enabled
boolean
Enable AWS metrics collection. Defaults to true
.
namespace_filters
<oneOf>
AWS Metrics namespace filters. Defaults to exclude_only
.
Option 1
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
exclude_only [required]
[string]
Exclude only these namespaces from metrics collection. Defaults to ["AWS/SQS", "AWS/ElasticMapReduce"]
.
AWS/SQS
and AWS/ElasticMapReduce
are excluded by default to reduce your AWS CloudWatch costs from GetMetricData
API calls.
Option 2
Include only these namespaces.
include_only [required]
[string]
Include only these namespaces.
tag_filters
[object]
AWS Metrics collection tag filters list. Defaults to []
.
namespace
string
The AWS service for which the tag filters defined in tags
will be applied.
tags
[string]
The AWS resource tags to filter on for the service specified by namespace
.
modified_at
date-time
Timestamp of when the account integration was updated.
resources_config
object
AWS Resources Collection config.
cloud_security_posture_management_collection
boolean
Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to false
. Requires extended_collection
to be set to true
.
extended_collection
boolean
Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to true
. Required for cloud_security_posture_management_collection
.
traces_config
object
AWS Traces Collection config.
xray_services
<oneOf>
AWS X-Ray services to collect traces from. Defaults to include_only
.
Option 1
Include all services.
include_all [required]
boolean
Include all services.
Option 2
Include only these services. Defaults to []
.
include_only [required]
[string]
Include only these services.
id [required]
string
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the List all AWS integrations endpoint and query by AWS Account ID.
type [required]
enum
AWS Account resource type.
Allowed enum values: account
default: account
{
"data": {
"attributes": {
"account_tags": [
"env:prod"
],
"auth_config": {
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"aws_regions": {
"include_all": true
},
"created_at": "2019-09-19T10:00:00.000Z",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": false,
"collect_custom_metrics": false,
"enabled": true,
"namespace_filters": {
"exclude_only": [
"AWS/SQS",
"AWS/ElasticMapReduce"
]
},
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"datadog:true"
]
}
]
},
"modified_at": "2019-09-19T10:00:00.000Z",
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": true
},
"traces_config": {
"xray_services": {
"include_all": false
}
}
},
"id": "00000000-abcd-0001-0000-000000000000",
"type": "account"
}
}
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Forbidden
API error response.
{
"errors": [
"Bad Request"
]
}
Not Found
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export aws_account_config_id="CHANGE_ME"
# Curl command
curl -X PATCH "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/${aws_account_config_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"data": {
"attributes": {
"account_tags": [
"key:value"
],
"auth_config": {
"role_name": "DatadogIntegrationRole"
},
"aws_account_id": "123456789012",
"aws_partition": "aws",
"logs_config": {
"lambda_forwarder": {
"lambdas": [
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
],
"sources": [
"s3"
]
}
},
"metrics_config": {
"automute_enabled": true,
"collect_cloudwatch_alarms": true,
"collect_custom_metrics": true,
"enabled": true,
"tag_filters": [
{
"namespace": "AWS/EC2",
"tags": [
"key:value"
]
}
]
},
"resources_config": {
"cloud_security_posture_management_collection": false,
"extended_collection": false
},
"traces_config": {}
},
"type": "account"
}
}
EOF
GET https://api.ap1.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.eu/api/v1/integration/aws/event_bridgehttps://api.ddog-gov.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us3.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge
Get all Amazon EventBridge sources.
OK
An object describing the EventBridge configuration for multiple accounts.
항목
유형
설명
accounts
[object]
List of accounts with their event sources.
accountId
string
Your AWS Account ID without dashes.
eventHubs
[object]
Array of AWS event sources associated with this account.
name
string
The event source name.
tags
[string]
Array of tags (in the form key:value
) which are added to all hosts
and metrics reporting through the main AWS integration.
isInstalled
boolean
True if the EventBridge sub-integration is enabled for your organization.
{
"accounts": [
{
"accountId": "123456789012",
"eventHubs": [
{
"name": "string",
"region": "string"
}
],
"tags": [
"$KEY:$VALUE"
]
}
],
"isInstalled": false
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get all Amazon EventBridge sources returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.list_aws_event_bridge_sources()
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Get all Amazon EventBridge sources returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
p api_instance.list_aws_event_bridge_sources()
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Get all Amazon EventBridge sources returns "OK" 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/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.ListAWSEventBridgeSources(ctx)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.ListAWSEventBridgeSources`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.ListAWSEventBridgeSources`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Get all Amazon EventBridge sources returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSEventBridgeListResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
try {
AWSEventBridgeListResponse result = apiInstance.listAWSEventBridgeSources();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#listAWSEventBridgeSources");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Get all Amazon EventBridge sources returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.list_aws_event_bridge_sources().await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Get all Amazon EventBridge sources returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
apiInstance
.listAWSEventBridgeSources()
.then((data: v1.AWSEventBridgeListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
POST https://api.ap1.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.eu/api/v1/integration/aws/event_bridgehttps://api.ddog-gov.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us3.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge
Create an Amazon EventBridge source.
This endpoint requires the manage_integrations
permission.
Create an Amazon EventBridge source for an AWS account with a given name and region.
{
"account_id": "123456789012",
"create_event_bus": true,
"event_generator_name": "app-alerts",
"region": "us-east-1"
}
OK
A created EventBridge source.
{
"event_source_name": "app-alerts-zyxw3210",
"has_bus": true,
"region": "us-east-1",
"status": "created"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
"""
Create an Amazon EventBridge source returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_event_bridge_create_request import AWSEventBridgeCreateRequest
body = AWSEventBridgeCreateRequest(
account_id="123456789012",
create_event_bus=True,
event_generator_name="app-alerts",
region="us-east-1",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.create_aws_event_bridge_source(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Create an Amazon EventBridge source returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSEventBridgeCreateRequest.new({
account_id: "123456789012",
create_event_bus: true,
event_generator_name: "app-alerts",
region: "us-east-1",
})
p api_instance.create_aws_event_bridge_source(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Create an Amazon EventBridge source returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSEventBridgeCreateRequest{
AccountId: datadog.PtrString("123456789012"),
CreateEventBus: datadog.PtrBool(true),
EventGeneratorName: datadog.PtrString("app-alerts"),
Region: datadog.PtrString("us-east-1"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.CreateAWSEventBridgeSource(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.CreateAWSEventBridgeSource`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.CreateAWSEventBridgeSource`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Create an Amazon EventBridge source returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSEventBridgeCreateRequest;
import com.datadog.api.client.v1.model.AWSEventBridgeCreateResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSEventBridgeCreateRequest body =
new AWSEventBridgeCreateRequest()
.accountId("123456789012")
.createEventBus(true)
.eventGeneratorName("app-alerts")
.region("us-east-1");
try {
AWSEventBridgeCreateResponse result = apiInstance.createAWSEventBridgeSource(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#createAWSEventBridgeSource");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Create an Amazon EventBridge source returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSEventBridgeCreateRequest;
#[tokio::main]
async fn main() {
let body = AWSEventBridgeCreateRequest::new()
.account_id("123456789012".to_string())
.create_event_bus(true)
.event_generator_name("app-alerts".to_string())
.region("us-east-1".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.create_aws_event_bridge_source(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Create an Amazon EventBridge source returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiCreateAWSEventBridgeSourceRequest = {
body: {
accountId: "123456789012",
createEventBus: true,
eventGeneratorName: "app-alerts",
region: "us-east-1",
},
};
apiInstance
.createAWSEventBridgeSource(params)
.then((data: v1.AWSEventBridgeCreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"
DELETE https://api.ap1.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.eu/api/v1/integration/aws/event_bridgehttps://api.ddog-gov.com/api/v1/integration/aws/event_bridgehttps://api.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us3.datadoghq.com/api/v1/integration/aws/event_bridgehttps://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge
Delete an Amazon EventBridge source.
This endpoint requires the manage_integrations
permission.
Delete the Amazon EventBridge source with the given name, region, and associated AWS account.
{
"account_id": "123456789012",
"event_generator_name": "app-alerts-zyxw3210",
"region": "us-east-1"
}
OK
An indicator of the successful deletion of an EventBridge source.
{
"status": "empty"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/integration/aws/event_bridge" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
"""
Delete an Amazon EventBridge source returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v1.model.aws_event_bridge_delete_request import AWSEventBridgeDeleteRequest
body = AWSEventBridgeDeleteRequest(
account_id="123456789012",
event_generator_name="app-alerts-zyxw3210",
region="us-east-1",
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.delete_aws_event_bridge_source(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Delete an Amazon EventBridge source returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
body = DatadogAPIClient::V1::AWSEventBridgeDeleteRequest.new({
account_id: "123456789012",
event_generator_name: "app-alerts-zyxw3210",
region: "us-east-1",
})
p api_instance.delete_aws_event_bridge_source(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Delete an Amazon EventBridge source returns "OK" 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/datadogV1"
)
func main() {
body := datadogV1.AWSEventBridgeDeleteRequest{
AccountId: datadog.PtrString("123456789012"),
EventGeneratorName: datadog.PtrString("app-alerts-zyxw3210"),
Region: datadog.PtrString("us-east-1"),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewAWSIntegrationApi(apiClient)
resp, r, err := api.DeleteAWSEventBridgeSource(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.DeleteAWSEventBridgeSource`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.DeleteAWSEventBridgeSource`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Delete an Amazon EventBridge source returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.AwsIntegrationApi;
import com.datadog.api.client.v1.model.AWSEventBridgeDeleteRequest;
import com.datadog.api.client.v1.model.AWSEventBridgeDeleteResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSEventBridgeDeleteRequest body =
new AWSEventBridgeDeleteRequest()
.accountId("123456789012")
.eventGeneratorName("app-alerts-zyxw3210")
.region("us-east-1");
try {
AWSEventBridgeDeleteResponse result = apiInstance.deleteAWSEventBridgeSource(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#deleteAWSEventBridgeSource");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Delete an Amazon EventBridge source returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_aws_integration::AWSIntegrationAPI;
use datadog_api_client::datadogV1::model::AWSEventBridgeDeleteRequest;
#[tokio::main]
async fn main() {
let body = AWSEventBridgeDeleteRequest::new()
.account_id("123456789012".to_string())
.event_generator_name("app-alerts-zyxw3210".to_string())
.region("us-east-1".to_string());
let configuration = datadog::Configuration::new();
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api.delete_aws_event_bridge_source(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Delete an Amazon EventBridge source returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.AWSIntegrationApi(configuration);
const params: v1.AWSIntegrationApiDeleteAWSEventBridgeSourceRequest = {
body: {
accountId: "123456789012",
eventGeneratorName: "app-alerts-zyxw3210",
region: "us-east-1",
},
};
apiInstance
.deleteAWSEventBridgeSource(params)
.then((data: v1.AWSEventBridgeDeleteResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"