1. Registry
  2. Packages
  3. Datadog Provider
  4. API Docs
  5. AwsWifIdentityMapping
Viewing docs for Datadog v5.17.1
published on Tuesday, Oct 27, 2026 by Pulumi
datadog logo
Viewing docs for Datadog v5.17.1
published on Tuesday, Oct 27, 2026 by Pulumi

    Provides an AWS Workload Identity Federation (WIF) identity mapping. The mapping allows an AWS IAM principal matching arnPattern to authenticate as the Datadog user or service account identified by accountIdentifier. The AWS account in the ARN must already be integrated with Datadog. The identity creating the mapping must have every permission assigned to the target identity. Creating the initial mapping requires API and application credentials with the Workload Identity Federation write permission; a provider already using WIF cannot bootstrap its own mapping. Mapping changes may take several minutes to affect WIF authentication. This resource uses a public beta API and is subject to change.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as datadog from "@pulumi/datadog";
    
    const current = aws.callerIdentity({});
    const readOnly = datadog.getRole({
        filter: "Datadog Read Only Role",
    });
    const terraform = new datadog.ServiceAccount("terraform", {
        email: "terraform-service-account@example.com",
        name: "Terraform service account",
        roles: [readOnly.then(readOnly => readOnly.id)],
    });
    const terraformAwsWifIdentityMapping = new datadog.AwsWifIdentityMapping("terraform", {
        accountIdentifier: terraform.id,
        arnPattern: `arn:aws:sts::${current.accountId}:assumed-role/terraform-runner/*`,
    });
    
    import pulumi
    import pulumi_aws as aws
    import pulumi_datadog as datadog
    
    current = aws.caller_identity()
    read_only = datadog.get_role(filter="Datadog Read Only Role")
    terraform = datadog.ServiceAccount("terraform",
        email="terraform-service-account@example.com",
        name="Terraform service account",
        roles=[read_only.id])
    terraform_aws_wif_identity_mapping = datadog.AwsWifIdentityMapping("terraform",
        account_identifier=terraform.id,
        arn_pattern=f"arn:aws:sts::{current['accountId']}:assumed-role/terraform-runner/*")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/go/aws"
    	"github.com/pulumi/pulumi-datadog/sdk/v5/go/datadog"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		current, err := aws.CallerIdentity(ctx, map[string]interface{}{}, nil)
    		if err != nil {
    			return err
    		}
    		readOnly, err := datadog.GetRole(ctx, &datadog.LookupRoleArgs{
    			Filter: "Datadog Read Only Role",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		terraform, err := datadog.NewServiceAccount(ctx, "terraform", &datadog.ServiceAccountArgs{
    			Email: pulumi.String("terraform-service-account@example.com"),
    			Name:  pulumi.String("Terraform service account"),
    			Roles: pulumi.StringArray{
    				pulumi.String(readOnly.Id),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datadog.NewAwsWifIdentityMapping(ctx, "terraform", &datadog.AwsWifIdentityMappingArgs{
    			AccountIdentifier: terraform.ID(),
    			ArnPattern:        pulumi.Sprintf("arn:aws:sts::%v:assumed-role/terraform-runner/*", current.AccountId),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    using Datadog = Pulumi.Datadog;
    
    return await Deployment.RunAsync(() => 
    {
        var current = Aws.CallerIdentity.Invoke();
    
        var readOnly = Datadog.GetRole.Invoke(new()
        {
            Filter = "Datadog Read Only Role",
        });
    
        var terraform = new Datadog.ServiceAccount("terraform", new()
        {
            Email = "terraform-service-account@example.com",
            Name = "Terraform service account",
            Roles = new[]
            {
                readOnly.Apply(getRoleResult => getRoleResult.Id),
            },
        });
    
        var terraformAwsWifIdentityMapping = new Datadog.AwsWifIdentityMapping("terraform", new()
        {
            AccountIdentifier = terraform.Id,
            ArnPattern = $"arn:aws:sts::{current.AccountId}:assumed-role/terraform-runner/*",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.AwsFunctions;
    import com.pulumi.datadog.DatadogFunctions;
    import com.pulumi.datadog.inputs.GetRoleArgs;
    import com.pulumi.datadog.ServiceAccount;
    import com.pulumi.datadog.ServiceAccountArgs;
    import com.pulumi.datadog.AwsWifIdentityMapping;
    import com.pulumi.datadog.AwsWifIdentityMappingArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var current = AwsFunctions.callerIdentity(Map.ofEntries(
            ));
    
            final var readOnly = DatadogFunctions.getRole(GetRoleArgs.builder()
                .filter("Datadog Read Only Role")
                .build());
    
            var terraform = new ServiceAccount("terraform", ServiceAccountArgs.builder()
                .email("terraform-service-account@example.com")
                .name("Terraform service account")
                .roles(readOnly.id())
                .build());
    
            var terraformAwsWifIdentityMapping = new AwsWifIdentityMapping("terraformAwsWifIdentityMapping", AwsWifIdentityMappingArgs.builder()
                .accountIdentifier(terraform.id())
                .arnPattern(String.format("arn:aws:sts::%s:assumed-role/terraform-runner/*", current.get("accountId")))
                .build());
    
        }
    }
    
    resources:
      terraform:
        type: datadog:ServiceAccount
        properties:
          email: terraform-service-account@example.com
          name: Terraform service account
          roles:
            - ${readOnly.id}
      terraformAwsWifIdentityMapping:
        type: datadog:AwsWifIdentityMapping
        name: terraform
        properties:
          accountIdentifier: ${terraform.id}
          arnPattern: arn:aws:sts::${current.accountId}:assumed-role/terraform-runner/*
    variables:
      current:
        fn::invoke:
          function: aws:callerIdentity
          arguments: {}
      readOnly:
        fn::invoke:
          function: datadog:getRole
          arguments:
            filter: Datadog Read Only Role
    
    terraform {
      required_providers {
        datadog = {
          source = "pulumi/datadog"
        }
      }
    }
    
    data "aws_caller_identity" "current" {
    }
    data "datadog_role" "readOnly" {
      filter = "Datadog Read Only Role"
    }
    
    resource "datadog_service_account" "terraform" {
      lifecycle {
        create_before_destroy = true
      }
      email = "terraform-service-account@example.com"
      name  = "Terraform service account"
      roles = [data.datadog_role.readOnly.id]
    }
    resource "datadog_aws_wif_identity_mapping" "terraform" {
      lifecycle {
        create_before_destroy = true
      }
      account_identifier = datadog_service_account.terraform.id
      arn_pattern        ="arn:aws:sts::${data.aws_caller_identity.current.account_id}:assumed-role/terraform-runner/*"
    }
    

    Create AwsWifIdentityMapping Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AwsWifIdentityMapping(name: string, args: AwsWifIdentityMappingArgs, opts?: CustomResourceOptions);
    @overload
    def AwsWifIdentityMapping(resource_name: str,
                              args: AwsWifIdentityMappingArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def AwsWifIdentityMapping(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              account_identifier: Optional[str] = None,
                              arn_pattern: Optional[str] = None)
    func NewAwsWifIdentityMapping(ctx *Context, name string, args AwsWifIdentityMappingArgs, opts ...ResourceOption) (*AwsWifIdentityMapping, error)
    public AwsWifIdentityMapping(string name, AwsWifIdentityMappingArgs args, CustomResourceOptions? opts = null)
    public AwsWifIdentityMapping(String name, AwsWifIdentityMappingArgs args)
    public AwsWifIdentityMapping(String name, AwsWifIdentityMappingArgs args, CustomResourceOptions options)
    
    type: datadog:AwsWifIdentityMapping
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "datadog_aws_wif_identity_mapping" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args AwsWifIdentityMappingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AwsWifIdentityMappingArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AwsWifIdentityMappingArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AwsWifIdentityMappingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AwsWifIdentityMappingArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var awsWifIdentityMappingResource = new Datadog.AwsWifIdentityMapping("awsWifIdentityMappingResource", new()
    {
        AccountIdentifier = "string",
        ArnPattern = "string",
    });
    
    example, err := datadog.NewAwsWifIdentityMapping(ctx, "awsWifIdentityMappingResource", &datadog.AwsWifIdentityMappingArgs{
    	AccountIdentifier: pulumi.String("string"),
    	ArnPattern:        pulumi.String("string"),
    })
    
    resource "datadog_aws_wif_identity_mapping" "awsWifIdentityMappingResource" {
      lifecycle {
        create_before_destroy = true
      }
      account_identifier = "string"
      arn_pattern        = "string"
    }
    
    var awsWifIdentityMappingResource = new AwsWifIdentityMapping("awsWifIdentityMappingResource", AwsWifIdentityMappingArgs.builder()
        .accountIdentifier("string")
        .arnPattern("string")
        .build());
    
    aws_wif_identity_mapping_resource = datadog.AwsWifIdentityMapping("awsWifIdentityMappingResource",
        account_identifier="string",
        arn_pattern="string")
    
    const awsWifIdentityMappingResource = new datadog.AwsWifIdentityMapping("awsWifIdentityMappingResource", {
        accountIdentifier: "string",
        arnPattern: "string",
    });
    
    type: datadog:AwsWifIdentityMapping
    properties:
        accountIdentifier: string
        arnPattern: string
    

    AwsWifIdentityMapping Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AwsWifIdentityMapping resource accepts the following input properties:

    AccountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    ArnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    AccountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    ArnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    account_identifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    arn_pattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier String
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    arnPattern String
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    arnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    account_identifier str
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    arn_pattern str
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier String
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    arnPattern String
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AwsWifIdentityMapping resource produces the following output properties:

    AccountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    Id string
    The provider-assigned unique ID for this managed resource.
    AccountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    Id string
    The provider-assigned unique ID for this managed resource.
    account_uuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    id string
    The provider-assigned unique ID for this managed resource.
    accountUuid String
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    id String
    The provider-assigned unique ID for this managed resource.
    accountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    id string
    The provider-assigned unique ID for this managed resource.
    account_uuid str
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    id str
    The provider-assigned unique ID for this managed resource.
    accountUuid String
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing AwsWifIdentityMapping Resource

    Get an existing AwsWifIdentityMapping resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AwsWifIdentityMappingState, opts?: CustomResourceOptions): AwsWifIdentityMapping
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            account_identifier: Optional[str] = None,
            account_uuid: Optional[str] = None,
            arn_pattern: Optional[str] = None) -> AwsWifIdentityMapping
    func GetAwsWifIdentityMapping(ctx *Context, name string, id IDInput, state *AwsWifIdentityMappingState, opts ...ResourceOption) (*AwsWifIdentityMapping, error)
    public static AwsWifIdentityMapping Get(string name, Input<string> id, AwsWifIdentityMappingState? state, CustomResourceOptions? opts = null)
    public static AwsWifIdentityMapping get(String name, Output<String> id, AwsWifIdentityMappingState state, CustomResourceOptions options)
    resources:  _:    type: datadog:AwsWifIdentityMapping    get:      id: ${id}
    import {
      to = datadog_aws_wif_identity_mapping.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    AccountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    ArnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    AccountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    AccountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    ArnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    account_identifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    account_uuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    arn_pattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier String
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    accountUuid String
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    arnPattern String
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier string
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    accountUuid string
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    arnPattern string
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    account_identifier str
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    account_uuid str
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    arn_pattern str
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.
    accountIdentifier String
    The email or handle of the Datadog user or service account that the AWS principal authenticates as. For a Terraform-managed service account, prefer the stable UUID exported by datadog_service_account.id; Datadog accepts it as the service account identifier. Datadog normalizes an email to the account's handle, so the handle form is the only value that survives pulumi import unchanged — importing a mapping configured by email produces a diff on this attribute, which forces replacement. String length must be at least 1.
    accountUuid String
    The UUID of the Datadog user or service account resolved from accountIdentifier.
    arnPattern String
    The AWS caller ARN pattern allowed to authenticate. Currently, only the aws partition is supported. For role-based authentication, use the STS assumed-role ARN returned by aws sts get-caller-identity, not the IAM role ARN shown in the AWS console. A pattern may contain one wildcard only, as a trailing /* after a specific resource, for example arn:aws:sts::123456789012:assumed-role/terraform-runner/*. String length must be at least 1.

    Import

    The pulumi import command can be used, for example:

    $ pulumi import datadog:index/awsWifIdentityMapping:AwsWifIdentityMapping terraform "00000000-0000-0000-0000-000000000000"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Datadog pulumi/pulumi-datadog
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the datadog Terraform Provider.
    datadog logo
    Viewing docs for Datadog v5.17.1
    published on Tuesday, Oct 27, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial