Note : This endpoint is in public beta and is subject to change.
If you have any feedback, contact Datadog support .
POST https://api.ap1.datadoghq.com/api/v2/cloud_auth/aws/persona_mapping https://api.ap2.datadoghq.com/api/v2/cloud_auth/aws/persona_mapping https://api.datadoghq.eu/api/v2/cloud_auth/aws/persona_mapping https://api.ddog-gov.com/api/v2/cloud_auth/aws/persona_mapping https://api.us2.ddog-gov.com/api/v2/cloud_auth/aws/persona_mapping https://api.datadoghq.com/api/v2/cloud_auth/aws/persona_mapping https://api.us3.datadoghq.com/api/v2/cloud_auth/aws/persona_mapping https://api.us5.datadoghq.com/api/v2/cloud_auth/aws/persona_mapping
Overview Create an AWS cloud authentication persona mapping. This endpoint associates an AWS IAM principal with a Datadog user.
Request Body Data (required)
Expand All
Data for creating an AWS cloud authentication persona mapping
Attributes for creating an AWS cloud authentication persona mapping
account_identifier [required ]
Datadog account identifier (email or handle) mapped to the AWS principal
AWS IAM ARN pattern to match for authentication
Type identifier for AWS cloud authentication persona mapping
Allowed enum values: aws_cloud_auth_config
{
"data" : {
"attributes" : {
"account_identifier" : "test@test.com" ,
"arn_pattern" : "arn:aws:iam::123456789012:user/testuser"
},
"type" : "aws_cloud_auth_config"
}
} Response Created
Response containing a single AWS cloud authentication persona mapping
Expand All
Data for AWS cloud authentication persona mapping response
Attributes for AWS cloud authentication persona mapping response
account_identifier [required ]
Datadog account identifier (email or handle) mapped to the AWS principal
AWS IAM ARN pattern to match for authentication
Unique identifier for the persona mapping
Type identifier for AWS cloud authentication persona mapping
Allowed enum values: aws_cloud_auth_config
{
"data" : {
"attributes" : {
"account_identifier" : "test@test.com" ,
"account_uuid" : "12bbdc5c-5966-47e0-8733-285f9e44bcf4" ,
"arn_pattern" : "arn:aws:iam::123456789012:user/testuser"
},
"id" : "c5c758c6-18c2-4484-ae3f-46b84128404a" ,
"type" : "aws_cloud_auth_config"
}
} Bad Request
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Forbidden
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Conflict
API error response.
Expand All
A human-readable explanation specific to this occurrence of the error.
Non-standard meta-information about the error
References to the source of the error.
A string indicating the name of a single request header which caused the error.
A string indicating which URI query parameter caused the error.
A JSON pointer to the value in the request document that caused the error.
Status code of the response.
Short human-readable summary of the error.
{
"errors" : [
{
"detail" : "Missing required attribute in body" ,
"meta" : {},
"source" : {
"header" : "Authorization" ,
"parameter" : "limit" ,
"pointer" : "/data/attributes/title"
},
"status" : "400" ,
"title" : "Bad Request"
}
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Curl command curl -X POST "https://api.ap1.datadoghq.com "https://api.ap2.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.us2.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v2/cloud_auth/aws/persona_mapping " \
-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_identifier": "test@test.com",
"arn_pattern": "arn:aws:iam::123456789012:user/testuser"
},
"type": "aws_cloud_auth_config"
}
}
EOF
"""
Create an AWS cloud authentication persona mapping returns "Created" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.cloud_authentication_api import CloudAuthenticationApi
from datadog_api_client.v2.model.aws_cloud_auth_persona_mapping_create_attributes import (
AWSCloudAuthPersonaMappingCreateAttributes ,
)
from datadog_api_client.v2.model.aws_cloud_auth_persona_mapping_create_data import AWSCloudAuthPersonaMappingCreateData
from datadog_api_client.v2.model.aws_cloud_auth_persona_mapping_create_request import (
AWSCloudAuthPersonaMappingCreateRequest ,
)
from datadog_api_client.v2.model.aws_cloud_auth_persona_mapping_type import AWSCloudAuthPersonaMappingType
body = AWSCloudAuthPersonaMappingCreateRequest (
data = AWSCloudAuthPersonaMappingCreateData (
attributes = AWSCloudAuthPersonaMappingCreateAttributes (
account_identifier = "test@test.com" ,
arn_pattern = "arn:aws:iam::123456789012:user/testuser" ,
),
type = AWSCloudAuthPersonaMappingType . AWS_CLOUD_AUTH_CONFIG ,
),
)
configuration = Configuration ()
configuration . unstable_operations [ "create_aws_cloud_auth_persona_mapping" ] = True
with ApiClient ( configuration ) as api_client :
api_instance = CloudAuthenticationApi ( api_client )
response = api_instance . create_aws_cloud_auth_persona_mapping ( body = body )
print ( response )
Instructions First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
# Create an AWS cloud authentication persona mapping returns "Created" response
require "datadog_api_client"
DatadogAPIClient . configure do | config |
config . unstable_operations [ "v2.create_aws_cloud_auth_persona_mapping" . to_sym ] = true
end
api_instance = DatadogAPIClient :: V2 :: CloudAuthenticationAPI . new
body = DatadogAPIClient :: V2 :: AWSCloudAuthPersonaMappingCreateRequest . new ({
data : DatadogAPIClient :: V2 :: AWSCloudAuthPersonaMappingCreateData . new ({
attributes : DatadogAPIClient :: V2 :: AWSCloudAuthPersonaMappingCreateAttributes . new ({
account_identifier : "test@test.com" ,
arn_pattern : "arn:aws:iam::123456789012:user/testuser" ,
}),
type : DatadogAPIClient :: V2 :: AWSCloudAuthPersonaMappingType :: AWS_CLOUD_AUTH_CONFIG ,
}),
})
p api_instance . create_aws_cloud_auth_persona_mapping ( body )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
// Create an AWS cloud authentication persona mapping returns "Created" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main () {
body := datadogV2 . AWSCloudAuthPersonaMappingCreateRequest {
Data : datadogV2 . AWSCloudAuthPersonaMappingCreateData {
Attributes : datadogV2 . AWSCloudAuthPersonaMappingCreateAttributes {
AccountIdentifier : "test@test.com" ,
ArnPattern : "arn:aws:iam::123456789012:user/testuser" ,
},
Type : datadogV2 . AWSCLOUDAUTHPERSONAMAPPINGTYPE_AWS_CLOUD_AUTH_CONFIG ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
configuration . SetUnstableOperationEnabled ( "v2.CreateAWSCloudAuthPersonaMapping" , true )
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewCloudAuthenticationApi ( apiClient )
resp , r , err := api . CreateAWSCloudAuthPersonaMapping ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `CloudAuthenticationApi.CreateAWSCloudAuthPersonaMapping`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `CloudAuthenticationApi.CreateAWSCloudAuthPersonaMapping`:\n%s\n" , responseContent )
}
Instructions First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
// Create an AWS cloud authentication persona mapping returns "Created" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.CloudAuthenticationApi ;
import com.datadog.api.client.v2.model.AWSCloudAuthPersonaMappingCreateAttributes ;
import com.datadog.api.client.v2.model.AWSCloudAuthPersonaMappingCreateData ;
import com.datadog.api.client.v2.model.AWSCloudAuthPersonaMappingCreateRequest ;
import com.datadog.api.client.v2.model.AWSCloudAuthPersonaMappingResponse ;
import com.datadog.api.client.v2.model.AWSCloudAuthPersonaMappingType ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
defaultClient . setUnstableOperationEnabled ( "v2.createAWSCloudAuthPersonaMapping" , true );
CloudAuthenticationApi apiInstance = new CloudAuthenticationApi ( defaultClient );
AWSCloudAuthPersonaMappingCreateRequest body =
new AWSCloudAuthPersonaMappingCreateRequest ()
. data (
new AWSCloudAuthPersonaMappingCreateData ()
. attributes (
new AWSCloudAuthPersonaMappingCreateAttributes ()
. accountIdentifier ( "test@test.com" )
. arnPattern ( "arn:aws:iam::123456789012:user/testuser" ))
. type ( AWSCloudAuthPersonaMappingType . AWS_CLOUD_AUTH_CONFIG ));
try {
AWSCloudAuthPersonaMappingResponse result =
apiInstance . createAWSCloudAuthPersonaMapping ( body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println (
"Exception when calling CloudAuthenticationApi#createAWSCloudAuthPersonaMapping" );
System . err . println ( "Status code: " + e . getCode ());
System . err . println ( "Reason: " + e . getResponseBody ());
System . err . println ( "Response headers: " + e . getResponseHeaders ());
e . printStackTrace ();
}
}
}
Instructions First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
// Create an AWS cloud authentication persona mapping returns "Created" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_cloud_authentication ::CloudAuthenticationAPI ;
use datadog_api_client ::datadogV2 ::model ::AWSCloudAuthPersonaMappingCreateAttributes ;
use datadog_api_client ::datadogV2 ::model ::AWSCloudAuthPersonaMappingCreateData ;
use datadog_api_client ::datadogV2 ::model ::AWSCloudAuthPersonaMappingCreateRequest ;
use datadog_api_client ::datadogV2 ::model ::AWSCloudAuthPersonaMappingType ;
#[tokio::main]
async fn main () {
let body =
AWSCloudAuthPersonaMappingCreateRequest ::new ( AWSCloudAuthPersonaMappingCreateData ::new (
AWSCloudAuthPersonaMappingCreateAttributes ::new (
"test@test.com" . to_string (),
"arn:aws:iam::123456789012:user/testuser" . to_string (),
),
AWSCloudAuthPersonaMappingType ::AWS_CLOUD_AUTH_CONFIG ,
));
let mut configuration = datadog ::Configuration ::new ();
configuration . set_unstable_operation_enabled ( "v2.CreateAWSCloudAuthPersonaMapping" , true );
let api = CloudAuthenticationAPI ::with_config ( configuration );
let resp = api . create_aws_cloud_auth_persona_mapping ( body ). await ;
if let Ok ( value ) = resp {
println! ( " {:#?} " , value );
} else {
println! ( " {:#?} " , resp . unwrap_err ());
}
}
Instructions First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" cargo run
/**
* Create an AWS cloud authentication persona mapping returns "Created" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
configuration . unstableOperations [ "v2.createAWSCloudAuthPersonaMapping" ] = true ;
const apiInstance = new v2 . CloudAuthenticationApi ( configuration );
const params : v2.CloudAuthenticationApiCreateAWSCloudAuthPersonaMappingRequest =
{
body : {
data : {
attributes : {
accountIdentifier : "test@test.com" ,
arnPattern : "arn:aws:iam::123456789012:user/testuser" ,
},
type : "aws_cloud_auth_config" ,
},
},
};
apiInstance
. createAWSCloudAuthPersonaMapping ( params )
. then (( data : v2.AWSCloudAuthPersonaMappingResponse ) => {
console . log (
"API called successfully. Returned data: " + JSON . stringify ( data )
);
})
. catch (( error : any ) => console . error ( error ));
Instructions First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"